/* Serene Sprints — Precision design system (shared). Tokens, floating header, footer. */
:root{
  --bg:#ffffff; --bg-2:#f7f7f8; --ink:#0b0b18; --ink-2:#11111f; --ink-3:#191930;
  --text:#17171b; --muted:#5b5d66; --faint:#8b8d96;
  --line:rgba(11,11,24,.09); --line-2:rgba(11,11,24,.16); --line-d:rgba(255,255,255,.10); --line-d2:rgba(255,255,255,.18);
  --accent:#4f46e5; --accent-2:#4338ca; --accent-soft:#eef0ff; --accent-hi:#a5b4fc;
  --muted-d:#9b9ca8; --text-d:#e7e7ec;
  --sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  --nav-height:72px; --r:16px; --r-sm:10px; --ease:cubic-bezier(.22,.8,.24,1); --wrap:1200px;
  --ok:#16a34a; --warn:#d97706; --bad:#dc2626;
  /* legacy aliases used by older markup */
  --paper:var(--bg); --paper-2:var(--bg-2); --ink-deep:#07070f; --white:#fff;
  --gold:var(--accent); --gold-hi:var(--accent-hi); --gold-deep:var(--accent);
  --primary:var(--ink); --primary-dark:var(--ink); --primary-soft:var(--bg-2); --accent-legacy:var(--accent);
  --bg-page:var(--bg); --bg-alt:var(--bg-2); --text-main:var(--text); --text-soft:var(--muted); --border-soft:var(--line);
  --radius-lg:16px; --radius-md:10px; --serif:var(--sans); --grain:none;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:1rem;line-height:1.65;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:hidden;font-feature-settings:"cv11","ss03"}
a{color:inherit}
img{max-width:100%}
::selection{background:var(--accent);color:#fff}
.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}
/*HDR-START*/
    /* ---------- floating header ---------- */
    .site-header{position:sticky;top:0;z-index:60;padding:10px clamp(.6rem,2vw,1.25rem);pointer-events:none}
    .hdr-inner{pointer-events:auto;max-width:1240px;margin:0 auto;height:58px;padding:0 8px 0 14px;display:flex;align-items:center;justify-content:space-between;gap:1rem;border-radius:16px;background:rgba(255,255,255,.78);-webkit-backdrop-filter:saturate(180%) blur(18px);backdrop-filter:saturate(180%) blur(18px);border:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 10px 30px -18px rgba(11,11,24,.25);transition:box-shadow .25s,background .25s}
    .site-header.is-scrolled .hdr-inner{background:rgba(255,255,255,.9);box-shadow:0 1px 0 rgba(255,255,255,.9) inset,0 18px 40px -20px rgba(11,11,24,.35)}
    .site-header .brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;flex-shrink:0;color:var(--ink);min-width:0}
    .brand-mark{width:34px;height:34px;border-radius:10px;background:var(--ink);display:grid;place-items:center;overflow:hidden;flex-shrink:0}
    .brand-mark img{width:76%;height:auto;display:block}
    .brand-text{display:flex;flex-direction:column;line-height:1.15}
    .brand-name{font-size:.92rem;font-weight:650;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
    .brand-tag{font:500 .62rem/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-top:4px;white-space:nowrap}
    .site-nav{display:flex;align-items:center;gap:.5rem}
    .nav-links{list-style:none;display:flex;align-items:center;gap:1px;margin:0;padding:0}
    .nav-links>li{position:relative}
    .nav-links>li>a,.sub-toggle{display:inline-flex;align-items:center;gap:.35rem;font:500 .86rem/1 var(--sans);letter-spacing:-.005em;color:var(--muted);text-decoration:none;padding:.6rem .7rem;border-radius:9px;border:0;background:transparent;cursor:pointer;transition:color .15s,background .15s;white-space:nowrap}
    .nav-links>li>a:hover,.sub-toggle:hover,.has-sub.open>.sub-toggle,.has-sub:focus-within>.sub-toggle{color:var(--ink);background:rgba(11,11,24,.05)}
    .nav-links>li>a[aria-current="page"],.nav-links>li>a.is-active,.has-sub.is-current>.sub-toggle{color:var(--ink);background:rgba(11,11,24,.06)}
    .nav-links a:focus-visible,.sub-toggle:focus-visible,.hdr-cta:focus-visible,.nav-toggle:focus-visible,.btn:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
    .sub-toggle svg{transition:transform .2s}
    .has-sub:hover .sub-toggle svg,.has-sub.open .sub-toggle svg{transform:rotate(180deg)}
    .has-sub::after{content:"";position:absolute;left:0;right:0;top:100%;height:14px}
    .sub{list-style:none;margin:0;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%,6px);min-width:300px;padding:6px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 24px 50px -16px rgba(11,11,24,.3);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s,transform .16s,visibility .16s}
    .has-sub:hover .sub,.has-sub:focus-within .sub,.has-sub.open .sub{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
    .sub a{display:block;padding:.7rem .85rem;border-radius:9px;text-decoration:none;color:inherit;transition:background .15s}
    .sub a:hover{background:var(--bg-2)}
    .sub a[aria-current="page"]{background:var(--accent-soft)}
    .sub b{display:block;font-size:.88rem;font-weight:600;color:var(--ink);letter-spacing:-.01em}
    .sub small{display:block;font-size:.76rem;color:var(--muted);font-weight:450;margin-top:2px;line-height:1.4}
    .hdr-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem .95rem .65rem 1.05rem;border-radius:10px;background:var(--ink);color:#fff;font:550 .84rem/1 var(--sans);text-decoration:none;white-space:nowrap;box-shadow:0 1px 0 rgba(255,255,255,.2) inset;transition:transform .18s,background .18s}
    .hdr-cta:hover{background:var(--ink-3);transform:translateY(-1px)}
    .hdr-cta svg{color:#fff;transition:transform .18s}
    .hdr-cta:hover svg{transform:translateX(3px)}
    .scroll-progress{position:fixed;left:0;top:0;height:2px;width:100%;transform-origin:0 50%;transform:scaleX(0);background:var(--accent);pointer-events:none;z-index:90}
    .nav-toggle{display:none;width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;place-items:center;padding:0}
    .nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{content:"";display:block;width:16px;height:1.6px;background:var(--ink);border-radius:999px;transition:transform .2s,opacity .2s}
    .nav-toggle span{position:relative}
    .nav-toggle span::before{position:absolute;top:-5px}
    .nav-toggle span::after{position:absolute;top:5px}
    .nav-toggle.open span{background:transparent}
    .nav-toggle.open span::before{transform:translateY(5px) rotate(45deg)}
    .nav-toggle.open span::after{transform:translateY(-5px) rotate(-45deg)}
    body.nav-open{overflow:hidden}
    body.nav-open .wa-float,body.nav-open .mbar{display:none!important}
    @media(max-width:1279px){.brand-tag{display:none}}
    @media(max-width:1080px){
      body.nav-open::before{content:"";position:fixed;inset:0;background:rgba(11,11,24,.45);z-index:55}
      .site-header{z-index:60}
      .nav-toggle{display:grid}
      .site-nav{position:absolute;top:calc(100% - 2px);left:clamp(.6rem,2vw,1.25rem);right:clamp(.6rem,2vw,1.25rem);max-height:calc(100dvh - 84px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:1rem;padding:.6rem 1rem 1.2rem;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 30px 60px -20px rgba(11,11,24,.4);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility .2s;pointer-events:auto}
      .site-nav.open{opacity:1;visibility:visible;transform:none}
      .nav-links{flex-direction:column;align-items:stretch;gap:0}
      .nav-links>li>a,.sub-toggle{width:100%;justify-content:space-between;padding:.95rem .25rem;font-size:1.02rem;border-radius:0;border-bottom:1px solid var(--line);background:transparent!important;color:var(--ink)}
      .sub-toggle svg{display:none}
      .has-sub::after{display:none}
      .sub{position:static;transform:none!important;opacity:1;visibility:visible;pointer-events:auto;min-width:0;border:0;box-shadow:none;padding:.2rem 0 .2rem .4rem;background:transparent}
      .hdr-cta{justify-content:center;padding:.95rem 1.2rem;font-size:.95rem}
    }
    /*HDR-END*/
    /* ---------- footer ---------- */
    .footer{background:var(--ink-deep);color:#a4a6b1;margin-top:0;font-size:.9rem;position:relative;border-top:1px solid var(--line-d)}
    .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;padding:4rem 0 2.6rem}
    .foot-brand p{max-width:20rem;margin-top:1.1rem;line-height:1.7;color:#7d7f8b}
    .foot-brand .brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:#fff}
    .foot-brand .brand-mark{background:#fff}
    .foot-brand .brand-name{color:#fff}
    .foot-col h4{font:500 .68rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#6b6d79;margin-bottom:1.2rem}
    .foot-col a{display:block;color:#b4b6c1;text-decoration:none;padding:.3rem 0;transition:color .2s}
    .foot-col a:hover{color:#fff}
    .foot-base{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1.4rem 0 2rem;border-top:1px solid var(--line-d);font:400 .74rem/1.5 var(--mono);color:#6b6d79}
    @media(max-width:860px){.foot-grid{grid-template-columns:1fr 1fr}.foot-brand{grid-column:1/-1}}


/* ===== legacy-page skin: retheme older pages to Precision ===== */
body{font-family:var(--sans)}
h1,h2,h3,h4,.serif,.sans{font-family:var(--sans)!important}
h1,h2,h3,h4{letter-spacing:-.028em}
[data-hero="dark"] .hero,[data-hero="dark"] .blog-hero{background:radial-gradient(900px 480px at 88% -8%,rgba(99,102,241,.42),transparent 62%),radial-gradient(700px 420px at 2% 108%,rgba(139,92,246,.22),transparent 60%),radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px) 0 0/26px 26px,linear-gradient(180deg,#0e0e22,#08080f)!important;border-bottom:1px solid var(--line-d)}
.badge{border-radius:6px!important;font-family:var(--mono)!important;letter-spacing:.08em!important;font-weight:500}
.badge-dot{background:var(--accent-hi)!important}
.eyebrow{font-family:var(--mono)!important;font-style:normal!important;font-size:.72rem!important;letter-spacing:.08em!important;text-transform:uppercase}
code{font-family:var(--mono)}
.btn,.btn-primary,.btn-ghost,.nav-btn{border-radius:11px!important;font-family:var(--sans)}
.card,.summary-card,.blog-card{border-radius:14px}
.dt-hero{background:radial-gradient(900px 480px at 88% -8%,rgba(99,102,241,.42),transparent 62%),radial-gradient(700px 420px at 2% 108%,rgba(139,92,246,.22),transparent 60%),radial-gradient(rgba(255,255,255,.055) 1px,transparent 1px) 0 0/26px 26px,linear-gradient(180deg,#0e0e22,#08080f)!important}
@media(max-width:700px){.data-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}
.hero-grid>*,.hero-inner>*{min-width:0}
@media(max-width:860px){.hero-grid{grid-template-columns:minmax(0,1fr)!important}}
@media(max-width:600px){.stat-boxes{grid-template-columns:repeat(2,minmax(0,1fr))!important}.stat-num{font-size:1.8rem!important}}

/* ---- premium dark surfaces (midnight + aurora) ---- */
.section--ink::before{background:radial-gradient(800px 420px at 85% 0%,rgba(99,102,241,.34),transparent 65%),radial-gradient(600px 380px at 0% 100%,rgba(139,92,246,.18),transparent 62%),radial-gradient(rgba(255,255,255,.07) 1px,transparent 1px) 0 0/26px 26px!important}
.band{background:radial-gradient(700px 300px at 90% 0%,rgba(99,102,241,.32),transparent 62%),linear-gradient(180deg,#0e0e22,#08080f)!important}
