/* ============================================================
   Paygasus shared chrome — framework-agnostic nav + footer.
   Embedded by BOTH the new Next app (served at root) and the legacy
   PHP site (root) on the same origin. Everything is scoped under
   .pg-chrome so it cannot collide with Bootstrap or app styles.
   Fonts are self-hosted from /fonts/ so the chrome looks
   identical wherever it renders.
   ============================================================ */

/* ---- fonts (subset needed by the chrome only) ---- */
@font-face{font-family:"PG Plex Sans";src:url("../fonts/font-24.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"PG Plex Sans";src:url("../fonts/font-26.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"PG Plex Sans";src:url("../fonts/font-28.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap;}
@font-face{font-family:"PG Plex Mono";src:url("../fonts/font-30.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"PG Plex Mono";src:url("../fonts/font-32.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"PG Tiempos";src:url("../fonts/tiempos-headline-regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"PG Tiempos";src:url("../fonts/tiempos-headline-medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap;}
@font-face{font-family:"PG Tiempos";src:url("../fonts/tiempos-headline-regular-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap;}
@font-face{font-family:"PG Tiempos";src:url("../fonts/tiempos-headline-medium-italic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap;}

/* ---- tokens + reset (scoped) ---- */
.pg-chrome,.pg-chrome *,.pg-chrome *::before,.pg-chrome *::after{box-sizing:border-box;}
.pg-chrome{
  --pg-ink:#111110;--pg-ink2:#2a2925;--pg-muted:#5a5852;--pg-muted2:#8a8880;
  --pg-rule:rgba(17,17,16,.12);--pg-rule-soft:rgba(17,17,16,.06);
  --pg-bg:#FAFAF7;--pg-bgdeep:#14130F;--pg-brand:#0d6efd;--pg-branddeep:#0a58ca;
  --pg-paper:#ECEAE3;
  --pg-sans:"PG Plex Sans",-apple-system,BlinkMacSystemFont,"Helvetica Neue",Arial,sans-serif;
  --pg-serif:"PG Tiempos","Times New Roman",Georgia,serif;
  --pg-mono:"PG Plex Mono",ui-monospace,Menlo,monospace;
  --pg-max:1240px;--pg-gut:clamp(1.25rem,4vw,2.5rem);
  font-family:var(--pg-sans);color:var(--pg-ink);font-size:17px;line-height:1.5;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
}
.pg-chrome a{color:inherit;text-decoration:none;}
.pg-chrome button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
.pg-chrome ul{list-style:none;margin:0;padding:0;}
.pg-chrome img,.pg-chrome svg{display:block;max-width:100%;}
.pg-container{max-width:var(--pg-max);margin:0 auto;padding-left:var(--pg-gut);padding-right:var(--pg-gut);}

/* ============================================================
   HEADER
   ============================================================ */
.pg-chrome-header{position:sticky;top:0;z-index:1000;background:rgba(250,250,247,.92);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px);}

/* utility bar */
.pg-util{border-bottom:1px solid var(--pg-rule-soft);}
.pg-util .pg-container{display:flex;align-items:center;justify-content:flex-end;gap:1.5rem;height:40px;}
.pg-util a,.pg-util button{font-size:.8125rem;font-weight:500;text-transform:uppercase;letter-spacing:.08em;color:var(--pg-muted);display:inline-flex;align-items:center;gap:.4rem;transition:color .2s;}
.pg-util a:hover,.pg-util button:hover{color:var(--pg-ink);}
.pg-util svg{width:14px;height:14px;}
.pg-lang{position:relative;}
.pg-lang-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:9rem;background:#fff;border:1px solid var(--pg-rule);box-shadow:0 16px 40px -18px rgba(17,17,16,.3);padding:.35rem;display:none;}
.pg-lang.open .pg-lang-menu{display:block;}
.pg-lang-menu a{display:block;padding:.5rem .65rem;text-transform:none;letter-spacing:0;font-size:.9rem;}
.pg-lang-menu a:hover{background:var(--pg-bg);color:var(--pg-brand);}
@media(max-width:991px){.pg-util{display:none;}}

/* main bar */
.pg-bar{border-bottom:1px solid var(--pg-rule);}
.pg-bar .pg-container{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;height:4.5rem;}
.pg-wordmark{font-family:var(--pg-serif);font-size:1.5rem;font-weight:500;letter-spacing:-.02em;color:var(--pg-ink);white-space:nowrap;}
/* brand logo (nav) — selectors scoped under .pg-chrome so they beat the
   .pg-chrome img reset (class+element) on the display toggle. */
.pg-brand{display:inline-flex;align-items:center;flex:0 0 auto;}
.pg-chrome .pg-logo{width:auto;}
.pg-chrome .pg-logo-full{display:block;height:30px;}
.pg-chrome .pg-logo-mark{display:none;height:36px;}
@media(max-width:991px){.pg-chrome .pg-logo-full{display:none;}.pg-chrome .pg-logo-mark{display:block;}}

/* desktop nav */
.pg-nav{display:flex;align-items:stretch;gap:.15rem;}
@media(max-width:991px){.pg-nav{display:none;}}
.pg-nav-item{position:relative;display:flex;align-items:center;}
/* scoped under .pg-chrome to beat `.pg-chrome button{font:inherit}` (0,1,1) */
.pg-chrome .pg-nav-link{display:inline-flex;align-items:center;gap:.3rem;height:4.5rem;padding:0 .85rem;font-family:var(--pg-serif);font-size:1.125rem;font-weight:500;letter-spacing:-.01em;color:var(--pg-ink);transition:color .2s;}
.pg-nav-link:hover,.pg-nav-item:hover>.pg-nav-link,.pg-nav-item.open>.pg-nav-link{color:var(--pg-brand);}
.pg-caret{width:13px;height:13px;transition:transform .2s;}
.pg-nav-item:hover .pg-caret,.pg-nav-item.open .pg-caret{transform:rotate(180deg);}

/* dropdown / mega panels */
.pg-panel{position:absolute;top:calc(100% - 1px);opacity:0;visibility:hidden;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease,visibility .18s;background:#fff;border:1px solid var(--pg-rule);box-shadow:0 24px 60px -24px rgba(17,17,16,.28);z-index:50;}
.pg-nav-item:hover>.pg-panel,.pg-nav-item.open>.pg-panel{opacity:1;visibility:visible;transform:translateY(0);}
.pg-panel-left{left:0;}
.pg-panel-center{left:50%;transform:translate(-50%,4px);}
.pg-nav-item:hover>.pg-panel-center,.pg-nav-item.open>.pg-panel-center{transform:translate(-50%,0);}
.pg-eyebrow{font-family:var(--pg-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.16em;color:var(--pg-muted2);margin:0 0 .85rem .7rem;}

/* simple dropdown (Unattended / Resources) */
.pg-menu{min-width:16rem;padding:.5rem;}
.pg-menu a{display:block;padding:.55rem .7rem;transition:background .12s,color .12s;}
.pg-menu a .t{font-family:var(--pg-serif);font-size:1.0625rem;line-height:1.2;color:var(--pg-ink);}
.pg-menu a:hover{background:rgba(17,17,16,.045);}
.pg-menu a:hover .t{color:var(--pg-brand);}

/* full-bleed mega panel (Payments / Networking) — remixv2-style:
   spans the header width, content centered in .pg-container, with a left
   feature card + link columns. Items show a serif title + muted description. */
.pg-nav-item--wide{position:static;}
/* Full-bleed: use position:fixed so the panel's containing block is the header
   (its backdrop-filter establishes the CB) rather than any `position:relative`
   ancestor — notably the app-level `[class^="pg-"]{position:relative}` rule.
   This makes the panel span the full header width in both the Next app and the
   legacy PHP site. */
.pg-mega-wrap{position:fixed;left:0;right:0;border-left:0;border-right:0;border-top:1px solid var(--pg-rule);}
/* own inner wrapper (not .pg-container — that would inherit `.pg-bar .pg-container`
   flexbox/height since the fixed panel is still a DOM descendant of .pg-bar) */
.pg-mega-inner{max-width:var(--pg-max);margin:0 auto;padding-left:var(--pg-gut);padding-right:var(--pg-gut);}
.pg-mega-grid{display:grid;gap:2.25rem;padding:2.25rem 0 2.5rem;}
.cols-4 .pg-mega-grid{grid-template-columns:1.35fr 1fr 1fr 1fr 1fr;}
.cols-3 .pg-mega-grid{grid-template-columns:1.35fr 1fr 1fr 1fr;}
.pg-mega-col .pg-eyebrow{margin-left:.7rem;}
.pg-mega-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px;}
.pg-mega-item{display:block;padding:.5rem .7rem;transition:background .12s;}
.pg-mega-item:hover{background:rgba(17,17,16,.045);}
.pg-mega-item .t{display:block;font-family:var(--pg-serif);font-size:1.0625rem;line-height:1.2;color:var(--pg-ink);}
.pg-mega-item:hover .t{color:var(--pg-brand);}
.pg-mega-item .d{display:block;margin-top:.15rem;font-size:.8rem;line-height:1.4;color:var(--pg-muted);}

/* left feature card */
.pg-mega-feature{display:flex;flex-direction:column;background:var(--pg-paper);border:1px solid var(--pg-rule);padding:1.5rem;transition:border-color .18s;}
.pg-mega-feature:hover{border-color:rgba(13,110,253,.4);}
.pg-mega-feature .pg-eyebrow{margin:0 0 .65rem;color:var(--pg-brand);}
.pg-mega-feature .feat-t{margin:0;font-family:var(--pg-serif);font-size:1.3rem;line-height:1.2;color:var(--pg-ink);}
.pg-mega-feature .feat-b{margin:.6rem 0 0;font-size:.875rem;line-height:1.55;color:var(--pg-muted);}
.pg-mega-feature .feat-link{margin-top:auto;padding-top:1.1rem;display:inline-flex;align-items:center;gap:.4rem;font-weight:600;font-size:.875rem;color:var(--pg-brand);}
.pg-mega-feature .feat-link span{display:inline-block;transition:transform .2s;}
.pg-mega-feature:hover .feat-link span{transform:translateX(4px);}

/* narrow desktop: tighten the grid so the panel stays comfortable */
@media(max-width:1180px){
  .pg-mega-grid{gap:1.5rem;}
  .cols-4 .pg-mega-grid{grid-template-columns:1.2fr 1fr 1fr 1fr 1fr;}
}

/* CTA button */
.pg-cta{display:inline-flex;align-items:center;gap:.45rem;padding:.7rem 1.4rem;background:var(--pg-brand);color:#fff;font-weight:600;font-size:.9375rem;border:1px solid var(--pg-brand);transition:background .2s;white-space:nowrap;}
.pg-cta:hover{background:var(--pg-branddeep);border-color:var(--pg-branddeep);}
@media(max-width:991px){.pg-bar-cta{display:none;}}

/* hamburger */
.pg-burger{display:none;width:28px;height:28px;color:var(--pg-ink);}
@media(max-width:991px){.pg-burger{display:inline-flex;align-items:center;justify-content:center;}}

/* mobile drawer */
.pg-drawer{display:none;position:fixed;left:0;right:0;top:4.5rem;bottom:0;background:var(--pg-bg);overflow-y:auto;z-index:999;}
.pg-drawer.open{display:block;}
.pg-drawer .pg-container{padding-top:.5rem;padding-bottom:2rem;}
.pg-acc{border-bottom:1px solid var(--pg-rule);}
.pg-acc>button,.pg-acc>a{display:flex;width:100%;align-items:center;justify-content:space-between;padding:1.05rem 0;font-family:var(--pg-serif);font-size:1.125rem;font-weight:500;letter-spacing:-.01em;color:var(--pg-ink);text-align:left;}
.pg-acc-panel{display:none;padding-bottom:.75rem;}
.pg-acc.open .pg-acc-panel{display:block;}
.pg-acc.open .pg-caret{transform:rotate(180deg);}
.pg-acc-panel a{display:block;padding:.6rem 0 .6rem .85rem;font-family:var(--pg-serif);font-size:1.0625rem;color:var(--pg-ink2);}
.pg-acc-sub{margin:.9rem 0 .1rem .85rem;font-family:var(--pg-mono);font-size:.64rem;text-transform:uppercase;letter-spacing:.16em;color:var(--pg-muted2);}
.pg-acc-sub:first-child{margin-top:.25rem;}
.pg-acc-panel a:hover{color:var(--pg-brand);}
.pg-drawer .pg-cta{display:flex;justify-content:center;width:100%;margin-top:1.5rem;}
.pg-drawer-contact{display:flex;justify-content:space-between;gap:1rem;margin-top:1.25rem;font-size:.95rem;color:var(--pg-muted);}
.pg-drawer-contact a{display:inline-flex;align-items:center;gap:.45rem;}

/* active state */
.pg-nav-link.is-active{color:var(--pg-brand);}
.pg-mega-item.is-active .t,.pg-menu a.is-active .t{color:var(--pg-brand);}

/* ============================================================
   LOGIN MODAL
   ============================================================ */
.pg-modal{display:none;position:fixed;inset:0;z-index:1100;align-items:center;justify-content:center;padding:1.5rem;background:hsla(230,75%,15%,.25);backdrop-filter:blur(6px);}
.pg-modal.open{display:flex;}
.pg-modal-card{width:100%;max-width:26rem;background:#fff;border:1px solid var(--pg-rule);box-shadow:0 30px 80px -30px rgba(17,17,16,.5);}
.pg-modal-head{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--pg-rule);}
.pg-modal-head h2{margin:0;font-family:var(--pg-serif);font-size:1.4rem;font-weight:500;}
.pg-modal-close{font-size:1.5rem;line-height:1;color:var(--pg-muted);}
.pg-modal-body{padding:1.5rem;}
.pg-field{margin-bottom:1rem;}
.pg-field label{display:block;margin-bottom:.35rem;font-size:.9rem;font-weight:500;}
.pg-field input{width:100%;padding:.75rem;border:1px solid var(--pg-rule);background:var(--pg-bg);font-size:1rem;}
.pg-field input:focus{outline:2px solid var(--pg-brand);outline-offset:-1px;border-color:var(--pg-brand);}
.pg-modal-body .pg-cta{width:100%;justify-content:center;margin-top:.5rem;}

/* ============================================================
   FOOTER
   ============================================================ */
.pg-chrome-footer{position:relative;background:var(--pg-bgdeep);color:var(--pg-paper);border-top:1px solid rgba(236,234,227,.14);}

/* --- brand-statement band --- */
.pg-foot-top{padding:4.75rem 0 3.25rem;}
.pg-foot-top .pg-container{display:grid;grid-template-columns:1fr auto;align-items:end;column-gap:3rem;row-gap:1.5rem;}
.pg-foot-accent{grid-column:1 / -1;width:46px;height:2px;background:var(--pg-brand);margin-bottom:1.6rem;}
.pg-foot-eyebrow{grid-column:1 / -1;margin:0;font-family:var(--pg-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--pg-muted2);}
.pg-foot-statement{margin:0;max-width:19ch;font-family:var(--pg-serif);font-weight:500;font-size:clamp(2.1rem,4.6vw,3.7rem);line-height:1.04;letter-spacing:-.022em;color:#FAFAF7;}
.pg-foot-statement em{font-style:italic;}
.pg-foot-cta{justify-self:end;align-self:end;display:inline-flex;align-items:baseline;gap:.55rem;font-family:var(--pg-sans);font-weight:600;font-size:1.0625rem;color:#FAFAF7;padding-bottom:.4rem;border-bottom:1px solid rgba(236,234,227,.34);transition:color .2s,border-color .2s;white-space:nowrap;}
.pg-foot-cta .arr{color:var(--pg-brand);}
.pg-foot-cta:hover{color:#fff;border-color:var(--pg-brand);}
@media(prefers-reduced-motion:no-preference){.pg-foot-cta .arr{transition:transform .2s;}.pg-foot-cta:hover .arr{transform:translateX(5px);}}

/* --- stats band --- */
.pg-stats{border-top:1px solid rgba(236,234,227,.12);border-bottom:1px solid rgba(236,234,227,.12);}
.pg-stats .pg-container{display:grid;grid-template-columns:repeat(4,1fr);}
.pg-stat{padding:2.1rem .25rem;}
.pg-stat+.pg-stat{border-left:1px solid rgba(236,234,227,.1);padding-left:2.1rem;}
.pg-stat .fig{font-family:var(--pg-serif);font-weight:500;font-size:clamp(2.2rem,2.9vw,2.95rem);line-height:1;letter-spacing:-.02em;color:#FAFAF7;}
.pg-stat .unit{font-family:var(--pg-mono);font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--pg-muted2);margin-left:.4rem;vertical-align:.18em;}
.pg-stat .lab{margin:.85rem 0 0;font-family:var(--pg-mono);font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--pg-muted2);}
@media(max-width:767px){.pg-stats .pg-container{grid-template-columns:repeat(2,1fr);}.pg-stat:nth-child(odd){border-left:0;padding-left:.25rem;}.pg-stat:nth-child(n+3){border-top:1px solid rgba(236,234,227,.1);}.pg-stat .fig{font-size:2rem;}}

/* --- main grid --- */
.pg-foot-main{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.5rem;padding:4rem 0 3.25rem;}
@media(max-width:991px){.pg-foot-main{grid-template-columns:1fr 1fr;gap:2.75rem 2rem;}}
@media(max-width:560px){.pg-foot-main{grid-template-columns:1fr;gap:2.25rem;}}
.pg-foot-brand{max-width:27rem;}
.pg-foot-brand .pg-wordmark{font-family:var(--pg-serif);font-size:1.6rem;font-weight:500;letter-spacing:-.02em;color:#FAFAF7;white-space:nowrap;}
.pg-foot-brand .blurb{margin:1.05rem 0 0;font-size:.95rem;line-height:1.65;color:#b8b6ae;}
.pg-foot-contact{margin-top:1.5rem;display:flex;flex-direction:column;gap:.3rem;font-family:var(--pg-mono);font-size:.8rem;color:var(--pg-muted2);}
.pg-foot-col-contact .pg-foot-contact{margin-top:0;}
.pg-foot-contact a{color:var(--pg-muted2);transition:color .2s;}
.pg-foot-contact a:hover{color:var(--pg-paper);}
.pg-foot-contact .addr{font-family:var(--pg-sans);font-style:normal;line-height:1.55;margin-top:.5rem;color:#b8b6ae;}
.pg-foot-col h3{margin:0 0 1.15rem;font-family:var(--pg-mono);font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--pg-muted2);font-weight:500;}
.pg-foot-col li+li{margin-top:.7rem;}
.pg-foot-col a{font-size:.95rem;color:var(--pg-paper);transition:color .2s;}
.pg-foot-col a:hover{color:var(--pg-brand);}

/* --- legal --- */
.pg-foot-legal{border-top:1px solid rgba(236,234,227,.12);}
.pg-foot-legal .pg-container{display:flex;flex-wrap:wrap;gap:.6rem 1.5rem;align-items:center;justify-content:space-between;padding:1.6rem 0;font-size:.78rem;color:var(--pg-muted2);}
.pg-foot-legal a{color:var(--pg-muted2);transition:color .2s;}
.pg-foot-legal a:hover{color:var(--pg-paper);}
.pg-foot-legal .tag{font-family:var(--pg-mono);text-transform:uppercase;letter-spacing:.16em;}
@media(max-width:767px){.pg-foot-top{padding:3.25rem 0 2.5rem;}.pg-foot-top .pg-container{grid-template-columns:1fr;align-items:start;}.pg-foot-cta{justify-self:start;}.pg-foot-statement{max-width:none;}}
