/* =========================================================
   Serene Sprints — premium site header (shared by every page)
   Scoped to #site-header / #site-announce so older per-page
   header styles can't leak in. Behaviour: /assets/js/site-header.js
   Edit the header here once; every page picks it up.
   ========================================================= */
#site-announce,#site-header{
  --sh-ease:cubic-bezier(.22,.8,.24,1);
  --sh-sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sh-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --sh-grad:linear-gradient(135deg,#6366f1,#8b5cf6);
  --sh-text:#e7e7ec;--sh-muted:#9294a8;--sh-line:rgba(255,255,255,.09);
  font-family:var(--sh-sans);-webkit-font-smoothing:antialiased;box-sizing:border-box
}
#site-announce *,#site-header *{box-sizing:border-box}

/* ---------- announcement strip ---------- */
#site-announce{position:relative;z-index:61;margin:0;background:linear-gradient(90deg,#1e1b4b,#312e81 45%,#4c1d95);color:#e0e7ff;font-size:.8rem;font-weight:500;line-height:1.4;letter-spacing:-.005em}
#site-announce .sa-in{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:.8rem;min-height:38px;padding:.35rem 1rem;text-align:center}
#site-announce .sa-badge{font:600 .6rem/1 var(--sh-mono);letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff;padding:.3rem .45rem;border-radius:5px;flex-shrink:0}
#site-announce a{color:#fff;font-weight:600;text-decoration:none;white-space:nowrap;border-bottom:1px solid rgba(255,255,255,.35)}
#site-announce a:hover{border-color:#fff}

/* ---------- bar ---------- */
#site-header{position:sticky;top:0;z-index:60;margin:0;padding:0;pointer-events:auto;color:var(--sh-text);background:radial-gradient(600px 120px at 15% 0%,rgba(99,102,241,.22),transparent 70%),radial-gradient(500px 120px at 90% 0%,rgba(168,85,247,.16),transparent 70%),rgba(10,10,24,.97);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border:0;transition:background .3s,box-shadow .3s}
#site-header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgba(129,140,248,.6) 30%,rgba(192,132,252,.6) 70%,transparent);pointer-events:none}
#site-header.is-scrolled{background:rgba(10,10,24,.98);box-shadow:0 18px 40px -20px rgba(0,0,0,.6)}
#site-header .hdr-inner,#site-header.is-scrolled .hdr-inner{position:relative;max-width:1240px;margin:0 auto;height:68px;padding:0 clamp(1rem,3vw,2rem);display:flex;align-items:center;gap:2rem;background:transparent;border:0;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:auto}

#site-header .hdr-inner,#site-header.is-scrolled .hdr-inner{background:transparent!important;border-color:transparent!important;box-shadow:none!important}

/* brand */
#site-header .brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;flex-shrink:0;min-width:0;color:#fff}
#site-header .brand-mark{position:relative;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;background:radial-gradient(60px 40px at 50% 0%,rgba(242,194,48,.18),transparent 70%),#000;border:1px solid rgba(242,194,48,.38);box-shadow:0 0 0 1px rgba(0,0,0,.6),0 8px 22px -8px rgba(242,194,48,.45)}
#site-header .ss{display:flex;align-items:center;gap:2px;font:700 1.12rem/1 var(--sh-sans);letter-spacing:0}
#site-header .ss b{font-weight:700;color:#fff}
#site-header .ss b+i+b{color:#f2c230}
#site-header .ss i{display:block;width:1.5px;height:20px;background:#f2c230;border-radius:1px}
#site-header .brand-text{display:flex;flex-direction:column;line-height:1.15}
#site-header .brand-name{font-size:1rem;font-weight:650;letter-spacing:-.02em;color:#fff;white-space:nowrap}
#site-header .brand-tag{display:block;font:500 .58rem/1 var(--sh-mono);letter-spacing:.08em;text-transform:uppercase;color:#8b8da3;margin-top:5px;white-space:nowrap}

/* nav */
#site-header .site-nav{position:static;flex:1;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:0;margin:0;background:none;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;max-height:none;overflow:visible}
#site-header .nav-links{list-style:none;display:flex;flex-direction:row;align-items:center;gap:4px;margin:0 auto;padding:0}
#site-header .nav-links>li{position:relative;margin:0;padding:0;border:0;list-style:none}
#site-header .nav-links>li>a,#site-header .sub-toggle{position:relative;display:inline-flex;align-items:center;gap:.4rem;width:auto;height:40px;font:500 .9rem/1 var(--sh-sans);letter-spacing:-.01em;color:#b4b6c8;text-decoration:none;padding:0 .9rem;border-radius:10px;border:0;background:transparent;cursor:pointer;transition:color .15s,background .15s;white-space:nowrap;justify-content:center}
#site-header .nav-links>li>a:hover,#site-header .sub-toggle:hover,#site-header .has-sub.open>.sub-toggle{color:#fff;background:rgba(255,255,255,.07)}
#site-header .has-sub.is-current>.sub-toggle,#site-header .nav-links>li>a[aria-current="page"]{color:#fff;background:transparent}
#site-header .has-sub.is-current>.sub-toggle::after,#site-header .nav-links>li>a[aria-current="page"]::after{content:"";position:absolute;left:.9rem;right:.9rem;bottom:-14px;height:2px;border-radius:2px;background:linear-gradient(90deg,#818cf8,#c084fc);box-shadow:0 0 12px rgba(129,140,248,.8)}
#site-header .sub-toggle svg{display:block;opacity:.6;transition:transform .25s var(--sh-ease),opacity .2s}
#site-header .has-sub.open .sub-toggle svg{transform:rotate(180deg);opacity:1}
#site-header a:focus-visible,#site-header button:focus-visible{outline:2px solid #a5b4fc;outline-offset:2px}
#site-header .has-sub::after{display:none}

/* actions */
#site-header .hdr-actions{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
#site-header .hdr-wa{display:inline-flex;align-items:center;gap:.5rem;height:40px;padding:0 .9rem;border-radius:10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--sh-text);font:550 .85rem/1 var(--sh-sans);text-decoration:none;transition:border-color .2s,background .2s}
#site-header .hdr-wa svg{color:#4ade80;flex-shrink:0}
#site-header .hdr-wa:hover{border-color:rgba(74,222,128,.6);background:rgba(74,222,128,.08)}
#site-header .hdr-cta{position:relative;display:inline-flex;align-items:center;gap:.55rem;height:40px;padding:0 1.1rem 0 1.2rem;border-radius:10px;border:0;background:var(--sh-grad);color:#fff;font:600 .87rem/1 var(--sh-sans);letter-spacing:-.005em;text-decoration:none;white-space:nowrap;box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 0 0 1px rgba(255,255,255,.08),0 10px 26px -8px rgba(124,58,237,.8);transition:transform .18s,box-shadow .18s}
#site-header .hdr-cta:hover{background:var(--sh-grad);transform:translateY(-1px);box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 0 0 1px rgba(255,255,255,.12),0 14px 34px -8px rgba(124,58,237,1)}
#site-header .hdr-cta svg{color:#fff;transition:transform .18s}
#site-header .hdr-cta:hover svg{transform:translateX(3px)}
#site-header .scroll-progress{position:absolute;left:0;right:auto;top:auto;bottom:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#818cf8,#c084fc);pointer-events:none;z-index:2}

/* ---------- mega panels ---------- */
#site-header .mega{list-style:none;margin:0;position:absolute;top:calc(100% + 8px);left:50%;width:var(--mw,720px);min-width:0;max-width:calc(100vw - 2rem);padding:10px;color:var(--sh-text);background:linear-gradient(180deg,#14142a,#0d0d1c);border:1px solid var(--sh-line);border-radius:20px;box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 50px 90px -30px rgba(0,0,0,.75),0 0 0 1px rgba(0,0,0,.4);opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,8px) scale(.985);transform-origin:50% 0;transition:opacity .2s,transform .25s var(--sh-ease),visibility .2s;z-index:5;text-align:left}
#site-header .mega::before{content:"";position:absolute;left:0;right:0;top:-24px;height:24px}
#site-header .mega-body{display:grid;grid-template-columns:var(--mcols,1fr 1fr 240px);gap:6px}
#site-header .mega-col{padding:.5rem .4rem}
#site-header .mega-lab{font:500 .62rem/1 var(--sh-mono);letter-spacing:.1em;text-transform:uppercase;color:#6f7189;padding:.55rem .7rem .7rem}
#site-header .mlink{display:grid;grid-template-columns:38px 1fr;gap:.8rem;align-items:start;padding:.65rem .7rem;border-radius:12px;text-decoration:none;color:inherit;background:transparent;transition:background .15s}
#site-header .mlink:hover{background:rgba(255,255,255,.05)}
#site-header .mlink[aria-current="page"]{background:rgba(129,140,248,.12)}
#site-header .mi{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:rgba(255,255,255,.05);border:1px solid var(--sh-line);color:#a5b4fc;transition:background .2s,color .2s,border-color .2s,box-shadow .2s}
#site-header .mi svg{width:18px;height:18px}
#site-header .mlink:hover .mi,#site-header .mlink[aria-current="page"] .mi{background:var(--sh-grad);border-color:transparent;color:#fff;box-shadow:0 8px 18px -6px rgba(124,58,237,.8)}
#site-header .mlink b{display:flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:600;color:#fff;letter-spacing:-.01em;line-height:1.3}
#site-header .mlink small{display:block;font-size:.77rem;color:var(--sh-muted);line-height:1.45;margin-top:2px;font-weight:450}
#site-header .mtag-new{font:600 .55rem/1 var(--sh-mono);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#6366f1,#a855f7);padding:.25rem .35rem;border-radius:4px}
#site-header .mega-feature{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:1.2rem;min-height:100%;padding:1.3rem;border-radius:14px;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.1);background:radial-gradient(260px 200px at 100% 0%,rgba(129,140,248,.6),transparent 65%),radial-gradient(240px 180px at 0% 100%,rgba(192,132,252,.4),transparent 65%),#1a1840;transition:transform .25s var(--sh-ease),border-color .25s}
#site-header .mega-feature:hover{transform:translateY(-2px);border-color:rgba(165,180,252,.4)}
#site-header .mega-feature::after{content:"";position:absolute;inset:0;background:radial-gradient(rgba(255,255,255,.09) 1px,transparent 1px) 0 0/18px 18px;-webkit-mask-image:linear-gradient(transparent,#000);mask-image:linear-gradient(transparent,#000);pointer-events:none}
#site-header .mega-feature>*{position:relative}
#site-header .mega-feature .k{font:500 .6rem/1 var(--sh-mono);letter-spacing:.1em;text-transform:uppercase;color:#c7d2fe}
#site-header .mega-feature h4{font:600 1.08rem/1.25 var(--sh-sans);letter-spacing:-.02em;margin:.7rem 0 .45rem;color:#fff}
#site-header .mega-feature p{font-size:.8rem;line-height:1.5;color:#c3c4d6;margin:0}
#site-header .mega-feature .go{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;font-weight:600;color:#fff;white-space:nowrap;flex-shrink:0}
#site-header .mega-feature .go svg{transition:transform .2s}
#site-header .mega-feature:hover .go svg{transform:translateX(3px)}
#site-header .mega-feature .cover{width:72px;border-radius:6px;box-shadow:0 14px 30px -10px rgba(0,0,0,.7);transform:rotate(-4deg);margin-top:.2rem}
#site-header .mega-foot{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:6px;padding:.8rem 1rem;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);font-size:.78rem;color:var(--sh-muted)}
#site-header .mega-foot .live{display:inline-flex;align-items:center;gap:.55rem}
#site-header .mega-foot .live::before{content:"";width:7px;height:7px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.2),0 0 10px rgba(74,222,128,.8)}
#site-header .mega-foot a{color:#fff;font-weight:600;text-decoration:none;white-space:nowrap}
#site-header .mega-foot a:hover{color:#c7d2fe}
@media(min-width:1081px){
  #site-header .nav-links>li.has-sub{position:static}
  #site-header .has-sub.open>.mega{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
}
@media(min-width:1081px) and (hover:hover){
  #site-header .has-sub:hover>.mega{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
  #site-header .has-sub:hover>.sub-toggle{color:#fff;background:rgba(255,255,255,.07)}
  #site-header .has-sub:hover>.sub-toggle svg{transform:rotate(180deg);opacity:1}
}

/* ---------- mobile ---------- */
#site-header .nav-toggle{display:none;width:42px;height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);cursor:pointer;place-items:center;padding:0;margin-left:auto}
#site-header .nav-toggle span,#site-header .nav-toggle span::before,#site-header .nav-toggle span::after{content:"";display:block;width:17px;height:1.7px;background:#fff;border-radius:999px;transition:transform .2s,opacity .2s}
#site-header .nav-toggle span{position:relative}
#site-header .nav-toggle span::before{position:absolute;top:-5px;left:0}
#site-header .nav-toggle span::after{position:absolute;top:5px;left:0}
#site-header .nav-toggle.open span{background:transparent}
#site-header .nav-toggle.open span::before{transform:translateY(5px) rotate(45deg)}
#site-header .nav-toggle.open span::after{transform:translateY(-5px) rotate(-45deg)}
body.nav-open{overflow:hidden}
body.nav-open .wa-float,body.nav-open .mbar,body.nav-open .sticky-buy{display:none!important}
@media(max-width:1279px){
  #site-header .brand-tag{display:none}
  #site-header .nav-links>li>a,#site-header .sub-toggle{padding:0 .7rem}
  #site-header .hdr-wa span{display:none}
  #site-header .hdr-wa{padding:0;width:40px;justify-content:center}
}
@media(max-width:1080px){
  body.nav-open::before{content:"";position:fixed;inset:0;background:rgba(5,5,12,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:55}
  #site-header .nav-toggle{display:grid}
  #site-header .hdr-inner,#site-header.is-scrolled .hdr-inner{height:62px}
  #site-header .site-nav{position:absolute;top:calc(100% + 8px);left:.75rem;right:.75rem;max-height:calc(100dvh - 90px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:1rem;padding:.5rem 1rem 1rem;background:linear-gradient(180deg,#14142a,#0d0d1c);border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 40px 80px -20px rgba(0,0,0,.7);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .25s var(--sh-ease),visibility .2s;pointer-events:auto}
  #site-header .site-nav.open{opacity:1;visibility:visible;transform:none}
  #site-header .nav-links{flex-direction:column;align-items:stretch;gap:0;margin:0}
  #site-header .nav-links>li{border-bottom:1px solid rgba(255,255,255,.08)}
  #site-header .nav-links>li>a,#site-header .sub-toggle{width:100%;height:auto;justify-content:space-between;padding:1rem .3rem;font-size:1.02rem;font-weight:550;border-radius:0;border:0;background:transparent!important;color:#fff}
  #site-header .has-sub.is-current>.sub-toggle::after,#site-header .nav-links>li>a[aria-current="page"]::after{display:none}
  #site-header .mega{position:static;width:auto;max-width:none;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;display:none;padding:0 0 .8rem;border:0;box-shadow:none;border-radius:0;background:transparent}
  #site-header .mega::before{display:none}
  #site-header .has-sub.open>.mega{display:block}
  #site-header .mega-body{grid-template-columns:1fr!important;gap:0}
  #site-header .mega-col{padding:0}
  #site-header .mega-lab{padding:.4rem .3rem .5rem}
  #site-header .mlink{padding:.6rem .3rem}
  #site-header .mega-feature{margin-top:.5rem;padding:1.1rem;gap:.8rem;min-height:0}
  #site-header .mega-feature h4{font-size:.98rem;margin:.4rem 0 .3rem}
  #site-header .mega-feature .cover{display:none}
  #site-header .mega-foot{display:none}
  #site-header .hdr-actions{flex-direction:row}
  #site-header .hdr-cta{flex:1;justify-content:center;height:48px;font-size:.95rem}
  #site-header .hdr-wa{height:48px;width:auto;padding:0 1rem}
  #site-header .hdr-wa span{display:inline}
  #site-announce .sa-long{display:none}
}

/* in-page links (#books, #pricing...) land below the sticky header, not under it */
html{scroll-padding-top:84px}
