/* RMJ Nexus Global — shared site header & footer.
   Used by the v2 site and by the programs/ pages (login, registration, payment, my account).
   Every rule is scoped to .site-header / .site-footer so it cannot leak into page content. */
.site-header,.site-footer{
  --c-ink:#0b1f3a; --c-blue:#1076bc; --c-blue-d:#0a5a95; --c-sky:#29a9e0; --c-line:#dce6f0; --c-mist:#f3f7fb;
  font-family:'Instrument Sans',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-align:left;
}
.site-header *,.site-header *::before,.site-header *::after,
.site-footer *,.site-footer *::before,.site-footer *::after{box-sizing:border-box}
.site-header a,.site-footer a{text-decoration:none}
.site-header img,.site-footer img{display:block;max-width:100%}
.site-header ul,.site-footer ul{list-style:none;margin:0;padding:0}
.site-header svg.i{width:1.25em;height:1.25em;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.site-header .container,.site-footer .container{width:min(1180px,100% - 2rem);max-width:none;margin-inline:auto;padding-inline:0}

/* ---------- header ---------- */
.site-header{position:sticky;top:0;z-index:1030;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-bottom:1px solid var(--c-line)}
.site-header .nav{display:flex;flex-wrap:nowrap;align-items:center;gap:1.5rem;min-height:72px;padding:0;margin-block:0}
.site-header .brand{display:block;line-height:0}
.site-header .brand img{height:44px;width:auto}
.site-header .nav-links{display:flex;gap:.25rem;margin-left:auto;align-items:center}
.site-header .nav-links a{padding:.5rem .8rem;border-radius:999px;color:var(--c-ink);font-weight:500;font-size:.98rem;line-height:1.5}
.site-header .nav-links a:hover{background:var(--c-mist);color:var(--c-blue)}
.site-header .nav-links a[aria-current="page"]{color:var(--c-blue);background:#e9f4fb}
.site-header .nav-cta{display:flex;gap:.5rem;margin-left:.5rem}
.site-header .hbtn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1.05rem;border-radius:999px;font-weight:600;font-size:.92rem;line-height:1.2;border:1.5px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .2s,border-color .2s,color .2s;white-space:nowrap}
.site-header .hbtn:hover{transform:translateY(-1px)}
.site-header .hbtn-ghost{border-color:var(--c-line);color:var(--c-ink);background:#fff}
.site-header .hbtn-ghost:hover{border-color:var(--c-blue);color:var(--c-blue)}
.site-header .hbtn-primary{background:linear-gradient(135deg,var(--c-sky),var(--c-blue));color:#fff;box-shadow:0 10px 24px -10px rgba(16,118,188,.7)}
.site-header .hbtn-primary:hover{color:#fff;box-shadow:0 14px 28px -10px rgba(16,118,188,.8)}
.site-header .nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--c-line);border-radius:12px;width:44px;height:44px;padding:0;cursor:pointer;color:var(--c-ink);align-items:center;justify-content:center}
.site-header :focus-visible{outline:3px solid var(--c-sky);outline-offset:2px;border-radius:6px}
/* desktop: the drawer wrapper disappears and its children sit in the header row */
.site-header .nav-drawer{display:contents}
.site-header .nav-drawer-head,.site-header .nav-backdrop{display:none}
html.nav-lock{overflow:hidden}

/* mobile / tablet: slide-in sidebar from the right */
@media (max-width:1020px){
  .site-header{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none} /* a backdrop-filter would trap the fixed drawer inside the header */
  .site-header .nav-toggle{display:flex}
  .site-header .nav-drawer{
    display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;z-index:2;
    width:min(86vw,340px);padding:0 1.25rem 1.5rem;overflow-y:auto;overscroll-behavior:contain;
    background:#fff;box-shadow:-24px 0 60px -24px rgba(11,31,58,.45);
    transform:translateX(100%);visibility:hidden;
    transition:transform .32s cubic-bezier(.4,0,.2,1),visibility 0s linear .32s;
  }
  .site-header .nav.open .nav-drawer{transform:none;visibility:visible;transition:transform .32s cubic-bezier(.4,0,.2,1),visibility 0s}
  .site-header .nav-drawer-head{display:flex;align-items:center;justify-content:space-between;min-height:72px;border-bottom:1px solid var(--c-line);font-weight:700;font-size:1.05rem;color:var(--c-ink)}
  .site-header .nav-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-.5rem;padding:0;background:none;border:0;border-radius:12px;color:var(--c-ink);cursor:pointer}
  .site-header .nav-close:hover{background:var(--c-mist)}
  .site-header .nav-links{flex-direction:column;align-items:stretch;gap:.15rem;margin:1rem 0 0}
  .site-header .nav-links a{padding:.8rem .9rem;border-radius:12px;font-size:1.05rem}
  .site-header .nav-cta{flex-direction:column;gap:.6rem;margin:auto 0 0;padding-top:1.5rem}
  .site-header .nav-cta .hbtn{width:100%;padding:.8rem 1rem;font-size:1rem}
  .site-header .nav-backdrop{
    display:block;position:fixed;inset:0;z-index:1;background:rgba(6,21,43,.55);
    opacity:0;visibility:hidden;transition:opacity .3s ease,visibility 0s linear .3s;
  }
  .site-header .nav.open .nav-backdrop{opacity:1;visibility:visible;transition:opacity .3s ease}
}
@media (prefers-reduced-motion:reduce){
  .site-header .nav-drawer,.site-header .nav-backdrop{transition:none!important}
}

/* ---------- footer ---------- */
.site-footer{background:#06152b;color:#8fa9c4;font-size:.97rem}
.site-footer .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:2rem;padding-block:3.5rem 2.5rem}
.site-footer h4{color:#fff;font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1.3;margin:0 0 1rem}
.site-footer a{color:#8fa9c4}
.site-footer a:hover{color:#fff}
.site-footer li{margin:.4rem 0}
.site-footer .foot-brand img{height:48px;width:auto;margin-bottom:1rem}
.site-footer .foot-brand p{margin:0 0 .5rem;max-width:22rem;color:#8fa9c4;font-size:inherit}
.site-footer .foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-block:1.2rem;display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;font-size:.88rem}
@media (max-width:900px){.site-footer .foot-grid{grid-template-columns:1fr 1fr}.site-footer .foot-brand{grid-column:1/-1}}
@media (max-width:520px){.site-footer .foot-grid{grid-template-columns:1fr}}

/* floating WhatsApp button (v2 site only; programs/ keeps its own chat widget) */
.wa{position:fixed;right:18px;bottom:18px;z-index:1020;width:54px;height:54px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 10px 24px -8px rgba(0,0,0,.4);color:#fff}
.wa:hover{color:#fff;transform:scale(1.06)}
.wa svg{width:28px;height:28px;fill:#fff}
