/* ============================================================
   Stacks — universal chrome (header, mega-menu, footer, icons)
   Single source of truth for site-wide navigation styling.
   Linked LAST in each page's <head> so it wins over any leftover
   inline rules. In public-stacks/ this pairs with a PHP header/footer
   include; here it pairs with stacks-chrome.js (which injects the markup).
   ============================================================ */
:root{
  --navy:#003057; --teal:#008298; --cyan:#00C1D0; --amber:#FFB14A; --amber-d:#F59E2E;
  --ink:#0f2233; --gray:#6B7A90; --line:#E6EBF1; --soft:#F5F7FA; --white:#fff;
  --grad:linear-gradient(115deg,#003057 0%,#008298 55%,#00C1D0 100%);
  --grad-soft:linear-gradient(135deg,#EAF6F8 0%,#F3F0FF 100%);
  --shadow:0 1px 3px rgba(16,34,51,.06),0 12px 32px rgba(16,34,51,.08);
  --shadow-lg:0 24px 64px rgba(0,48,87,.14);
}

/* shared buttons (used by chrome + pages) */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-family:inherit;border-radius:10px;padding:13px 22px;font-size:15px;cursor:pointer;border:none;transition:transform .15s,box-shadow .15s,background .15s;text-decoration:none}
.btn-amber{background:var(--amber);color:#3a2600;box-shadow:0 8px 20px rgba(255,177,74,.35)}
.btn-amber:hover{background:var(--amber-d);transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,48,87,.25)}
.btn-ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}

/* shared icon glyphs */
.glyph{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}

/* ── header / nav ── */
header.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif}
.nav-in{max-width:1160px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:70px}
.nav img{height:41px;display:block}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-links>a,.drop-trigger{font-size:15px;font-weight:500;color:var(--ink);text-decoration:none}
.nav-links>a:hover,.drop-trigger:hover{color:var(--teal)}
.nav-links>a.active,.drop-trigger.active{color:var(--teal);font-weight:600}
.nav-cta{display:flex;align-items:center;gap:14px}
.nav-cta .login{font-weight:600;font-size:15px;color:var(--ink);text-decoration:none}
.nav-cta .login:hover{color:var(--teal)}
@media(max-width:860px){.nav-links{display:none}.nav-cta .login{display:none}}

/* mega-menu */
.nav-drop{position:relative;display:flex;align-items:center}
.drop-trigger{display:flex;align-items:center;gap:5px;cursor:pointer}
.caret{font-size:10px;color:var(--gray);transition:transform .2s}
.nav-drop:hover .caret,.nav-drop.open .caret,.nav-drop:focus-within .caret{transform:rotate(180deg);color:var(--teal)}
.mega{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);width:min(560px,calc(100vw - 40px));background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-lg);padding:14px;opacity:0;visibility:hidden;transition:opacity .18s,transform .18s;z-index:60}
.mega::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}
.nav-drop:hover .mega,.nav-drop.open .mega,.nav-drop:focus-within .mega{opacity:1;visibility:visible;transform:translateX(-50%) translateY(6px)}
.mega-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px}
.mega-grid a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;text-decoration:none}
.mega-grid a:hover{background:var(--soft)}
.mega-grid .mi{width:34px;height:34px;border-radius:9px;background:var(--grad);display:grid;place-items:center;flex:none}
.mega-grid .mi .glyph{width:18px;height:18px}
.mega-grid .mt b{display:block;font-size:14px;color:var(--navy);font-family:'Poppins','Inter',sans-serif;font-weight:600;line-height:1.25}
.mega-grid .mt em{font-style:normal;font-size:12px;color:var(--gray)}
.mega-foot{border-top:1px solid var(--line);margin-top:8px;padding-top:4px;text-align:center}
.mega-foot a{font-size:13.5px;font-weight:600;color:var(--teal);display:inline-block;padding:8px;text-decoration:none}
.mega-foot a:hover{text-decoration:underline}

/* mobile nav */
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.hamburger span{width:24px;height:2px;background:var(--navy);border-radius:2px;transition:.25s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.mobile-menu{display:none;flex-direction:column;padding:14px 24px 22px;background:#fff;border-bottom:1px solid var(--line)}
.mobile-menu a{padding:13px 4px;font-size:16px;font-weight:600;color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none}
.mobile-menu a.mm-cta{border:none;margin-top:14px;justify-content:center}
.mobile-menu.open{display:flex}
@media(max-width:860px){.hamburger{display:flex}}

/* ── docs sidebar (help articles) ── */
.side{position:sticky;top:90px;font-size:14px}
.side h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);margin:20px 0 8px;font-family:'Poppins','Inter',sans-serif}
.side h4:first-child{margin-top:0}
.side ul{list-style:none;display:grid;gap:2px;margin:0;padding:0}
.side li a{display:block;padding:6px 10px;border-radius:8px;color:var(--ink);font-weight:500;text-decoration:none}
.side li a:hover{background:var(--soft);text-decoration:none}
.side li a.on{background:var(--grad-soft);color:var(--teal);font-weight:600}

/* ── footer ── */
footer.site{background:var(--soft);border-top:1px solid var(--line);padding:56px 0 30px;margin-top:20px;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;color:var(--ink)}
footer.site .wrap{max-width:1160px;margin:0 auto;padding:0 24px}
.foot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
footer.site img{height:30px;margin-bottom:14px}
footer.site .muted{color:var(--gray);font-size:14px;max-width:280px}
.foot-brand{margin-top:72px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
footer.site .foot-brand img{margin-bottom:0}
footer.site .foot-brand .muted{max-width:none}
footer.site h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--navy);margin-bottom:14px;font-family:'Poppins','Inter',sans-serif}
footer.site ul{list-style:none;display:grid;gap:9px;margin:0;padding:0}
footer.site li a{color:var(--gray);font-size:14px;text-decoration:none}
footer.site li a:hover{color:var(--teal)}
.foot-bot{border-top:1px solid var(--line);margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;color:var(--gray);font-size:13px;flex-wrap:wrap;gap:10px}
@media(max-width:720px){.foot-grid{grid-template-columns:1fr 1fr}}

/* ---- Footer legal row + cookie-settings link ---- */
.foot-legal a{color:var(--gray);text-decoration:none}
.foot-legal a:hover{color:var(--teal)}

/* ---- Cookie consent banner (region-aware, Consent Mode v2) ---- */
.cc-banner[hidden]{display:none}
.cc-banner{position:fixed;left:0;right:0;bottom:0;z-index:1200;transform:translateY(130%);transition:transform .35s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.cc-banner.cc-show{transform:translateY(0);pointer-events:auto}
.cc-in{max-width:1080px;margin:0 auto 16px;padding:16px 20px;background:#fff;border:1px solid var(--line);box-shadow:0 14px 44px rgba(0,48,87,.20);border-radius:14px;display:flex;gap:18px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.cc-txt{font-size:14px;color:#42546a;line-height:1.55;margin:0;flex:1;min-width:250px}
.cc-txt a{color:var(--teal);font-weight:600;text-decoration:none}
.cc-txt a:hover{text-decoration:underline}
.cc-btns{display:flex;gap:10px;flex:none}
.cc-btn{font-family:inherit;font-weight:600;font-size:14px;border-radius:9px;padding:10px 22px;cursor:pointer;border:1px solid transparent;transition:transform .12s,background .12s,border-color .12s}
.cc-accept{background:var(--amber);color:#3a2600}
.cc-accept:hover{background:#F59E2E;transform:translateY(-1px)}
.cc-decline{background:#fff;color:#42546a;border-color:var(--line)}
.cc-decline:hover{border-color:#c3ccd8}
@media(max-width:560px){.cc-in{margin:0;border-radius:14px 14px 0 0}.cc-btns{width:100%}.cc-btn{flex:1}}

/* ---- Long-form legal / policy pages (privacy, terms, cookies) ---- */
.legal{max-width:800px;margin:0 auto;padding:46px 24px 74px;font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}
.legal .crumb{font-size:13px;color:var(--gray);margin-bottom:16px}
.legal .crumb a{color:var(--gray);text-decoration:none}
.legal h1{font-family:'Poppins','Inter',sans-serif;font-size:clamp(30px,5vw,42px);font-weight:800;color:var(--navy);letter-spacing:-.02em;margin:0 0 6px;line-height:1.1}
.legal .updated{color:var(--gray);font-size:14px;border-bottom:1px solid var(--line);padding-bottom:22px;margin-bottom:28px}
.legal .lead{font-size:18px;color:#2b3a4c;line-height:1.7;margin:0 0 20px}
.legal h2{font-family:'Poppins','Inter',sans-serif;font-size:22px;font-weight:700;color:var(--navy);margin:38px 0 10px;letter-spacing:-.01em}
.legal h3{font-family:'Poppins','Inter',sans-serif;font-size:16.5px;font-weight:700;color:var(--navy);margin:24px 0 8px}
.legal p{font-size:16px;line-height:1.72;color:#39485c;margin:0 0 16px}
.legal ul{margin:0 0 18px;padding-left:20px;display:grid;gap:8px}
.legal li{font-size:16px;line-height:1.62;color:#39485c}
.legal li ul{margin:8px 0 0}
.legal a{color:var(--teal);font-weight:500}
.legal strong{color:var(--navy)}
.legal code{background:var(--soft);border:1px solid var(--line);border-radius:5px;padding:1px 6px;font-size:13.5px;color:var(--navy)}
.legal table.ck{width:100%;border-collapse:collapse;margin:6px 0 22px;font-size:14.5px}
.legal table.ck th,.legal table.ck td{text-align:left;padding:11px 13px;border:1px solid var(--line);vertical-align:top}
.legal table.ck th{background:var(--soft);font-family:'Poppins','Inter',sans-serif;color:var(--navy);font-weight:600}
.legal .note{background:var(--soft);border:1px solid var(--line);border-left:3px solid var(--amber);border-radius:10px;padding:16px 18px;margin:8px 0 22px;font-size:15px;color:#39485c;line-height:1.6}
.legal .table-wrap{overflow-x:auto}
/* Shared reading and form layout for the compact service/developer pages. */
body.stx-document{margin:0;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--ink);line-height:1.65}
.stx-document *,.stx-document *::before,.stx-document *::after{box-sizing:border-box}
.stx-document main.wrap{margin:0 auto;padding-left:24px;padding-right:24px}
.stx-document h1,.stx-document h2,.stx-document h3{color:var(--navy);line-height:1.2}
.stx-document h1{font-size:clamp(30px,5vw,44px);letter-spacing:-.025em}
.stx-document h2{margin-top:32px}
.stx-document main a:not(.btn){color:var(--teal);text-underline-offset:3px}
.stx-document main th,.stx-document main td{padding:12px;border-bottom:1px solid var(--line);vertical-align:top}
.stx-document main th{background:var(--soft)}
.stx-document input:not([type=checkbox]):not([type=hidden]),.stx-document select,.stx-document textarea{max-width:100%;border:1px solid #8191a2;border-radius:6px;font:inherit;background:#fff;color:var(--ink)}
.stx-document textarea{resize:vertical}
.stx-document label{font-weight:600}
.stx-document :focus-visible{outline:3px solid var(--teal);outline-offset:3px}
