/* ============================================================
   Maven One Health — site design system (v2, "claims floor")
   Dark ledger palette + Bricolage / Instrument / Spline Mono.
   Shared across all mavenonehealth.com pages. Each Netlify site
   deploys from its own directory, so this file is copied per
   site, never linked across domains.
   ============================================================ */

:root{
  --ink:#0B1220;          /* page background */
  --ink-2:#070C16;        /* deeper wells */
  --panel:#101A2C;        /* raised surfaces */
  --panel-2:#0D1626;      /* terminal / trace surface */
  --paper:#E9EDF2;        /* primary text */
  --muted:#8B98AB;        /* secondary text */
  --gold:#E8B84B;         /* money / primary action */
  --gold-deep:#D3A233;
  --teal:#35C4A6;         /* success / brand accent */
  --teal-deep:#22A88C;
  --pend:#F07167;         /* pended / manual touch */
  --line:rgba(233,237,242,0.12);
  --line-strong:rgba(233,237,242,0.22);
  --font-display:'Bricolage Grotesque', system-ui, sans-serif;
  --font-body:'Instrument Sans', system-ui, sans-serif;
  --font-mono:'Spline Sans Mono', ui-monospace, monospace;
  --ease:cubic-bezier(.2,.7,.2,1);
  --r:14px;

  /* theme plumbing (dark defaults) */
  color-scheme:dark;
  --teal-rgb:53,196,166; --gold-rgb:232,184,75; --pend-rgb:240,113,103;
  --paper-rgb:233,237,242; --panel-rgb:16,26,44; --shadow-rgb:0,0,0;
  --shadow-k:1; --glow-k:1;
  --on-accent:#0B1220;                 /* text on gold/teal fills, both themes */
  --gold-fill:#E8B84B; --gold-fill-deep:#D3A233; --teal-fill:#35C4A6; --pend-fill:#F07167;
  --header-bg:rgba(11,18,32,0.72);
  --field-bg:rgba(7,12,22,.6);
  --inset:rgba(7,12,22,.45);
  --well:rgba(0,0,0,.25);
  --thumb:#E9EDF2;
  --logo-filter:none;
}
/* ---------- Light theme: system preference, or the footer toggle ---------- */
@media (prefers-color-scheme: light){
  :root:not([data-theme="dark"]){
    color-scheme:light;
    --ink:#F5F7FA; --ink-2:#E8EDF2; --panel:#FFFFFF; --panel-2:#F2F5F8;
    --paper:#0E1A2B; --muted:#55657A;
    --gold:#94650A; --gold-deep:#7A5306; --teal:#0A7A67; --teal-deep:#086656; --pend:#C0392B;
    --line:rgba(14,26,43,0.12); --line-strong:rgba(14,26,43,0.22);
    --paper-rgb:14,26,43; --panel-rgb:255,255,255; --shadow-rgb:14,26,43;
    --shadow-k:.32; --glow-k:.75;
    --header-bg:rgba(245,247,250,0.85);
    --field-bg:#FFFFFF;
    --inset:rgba(14,26,43,.035);
    --well:rgba(14,26,43,.06);
    --thumb:#FFFFFF;
    --logo-filter:brightness(0) saturate(100%) invert(9%) sepia(20%) saturate(1800%) hue-rotate(185deg);
  }
}
:root[data-theme="light"]{
  color-scheme:light;
  --ink:#F5F7FA; --ink-2:#E8EDF2; --panel:#FFFFFF; --panel-2:#F2F5F8;
  --paper:#0E1A2B; --muted:#55657A;
  --gold:#94650A; --gold-deep:#7A5306; --teal:#0A7A67; --teal-deep:#086656; --pend:#C0392B;
  --line:rgba(14,26,43,0.12); --line-strong:rgba(14,26,43,0.22);
  --paper-rgb:14,26,43; --panel-rgb:255,255,255; --shadow-rgb:14,26,43;
  --shadow-k:.32; --glow-k:.75;
  --header-bg:rgba(245,247,250,0.85);
  --field-bg:#FFFFFF;
  --inset:rgba(14,26,43,.035);
  --well:rgba(14,26,43,.06);
  --thumb:#FFFFFF;
  --logo-filter:brightness(0) saturate(100%) invert(9%) sepia(20%) saturate(1800%) hue-rotate(185deg);
}


*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--ink);
  color:var(--paper);
  font-family:var(--font-body);
  font-size:17px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  position:relative;
}
/* ambient glows + grain */
body::before{
  content:"";
  position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:
    radial-gradient(900px 520px at 8% -10%, rgba(var(--teal-rgb),calc(0.16 * var(--glow-k))), transparent 60%),
    radial-gradient(760px 520px at 100% 20%, rgba(var(--gold-rgb),calc(0.10 * var(--glow-k))), transparent 60%),
    radial-gradient(900px 700px at 50% 110%, rgba(var(--teal-rgb),calc(0.08 * var(--glow-k))), transparent 60%);
}
body::after{
  content:"";
  position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.05;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
img,svg,canvas{ display:block; max-width:100%; }
a{ color:inherit; }
::selection{ background:var(--gold-fill); color:var(--on-accent); }
*:focus-visible{ outline:3px solid var(--teal); outline-offset:2px; border-radius:4px; }

.wrap{ max-width:1120px; margin:0 auto; padding-left:20px; padding-right:20px; }
.wrap-narrow{ max-width:800px; }
@media(min-width:640px){ .wrap{ padding-left:36px; padding-right:36px; } }

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  border-bottom:1px solid var(--line);
  background:var(--header-bg);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:14px; padding-top:14px; padding-bottom:14px;
}
.brand-mark{ display:flex; align-items:center; gap:10px; text-decoration:none; }
.brand-mark img{ width:40px; height:40px; flex-shrink:0; object-fit:contain; filter:var(--logo-filter); }
.brand-mark span{
  font-family:var(--font-display); font-weight:700; font-size:20px;
  letter-spacing:-.01em; color:var(--paper); white-space:nowrap;
}
@media(max-width:400px){ .brand-mark span{ font-size:17px; } .brand-mark img{ width:34px; height:34px; } }
.site-nav{ display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.site-nav a{
  font-family:var(--font-body); font-size:14.5px; font-weight:500; letter-spacing:0;
  color:var(--muted); text-decoration:none;
  padding:6px 0; border-bottom:2px solid transparent;
  transition:color .15s var(--ease), border-color .15s var(--ease);
}
.site-nav a:hover{ color:var(--paper); }
.site-nav a[aria-current="page"]{ color:var(--teal); border-color:var(--teal); }
.site-nav .nav-cta{
  color:var(--on-accent); background:var(--gold-fill); border:none; border-radius:8px;
  padding:9px 14px; font-weight:600;
}
.site-nav .nav-cta:hover{ background:var(--gold-fill-deep); color:var(--on-accent); }
.site-nav .nav-game{ color:var(--gold); border-bottom-color:var(--gold); }
.site-nav .nav-game:hover{ color:var(--paper); border-bottom-color:var(--paper); }
.site-nav .nav-game[aria-current="page"]{ color:var(--gold); border-bottom-color:var(--gold); }

/* Mobile menu: hamburger toggle + stacked nav */
.nav-toggle{
  display:none; width:44px; height:44px; padding:0; margin:0; border:1px solid var(--line); border-radius:10px;
  background:transparent; cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px;
}
.nav-toggle span{ display:block; width:20px; height:2px; background:var(--paper); border-radius:2px; transition:transform .2s var(--ease), opacity .2s var(--ease); }
.nav-toggle:hover, .nav-toggle:focus-visible{ border-color:var(--line-strong); outline:none; }
.nav-toggle:focus-visible{ box-shadow:0 0 0 3px rgba(var(--teal-rgb),.35); }
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
@media(max-width:720px){
  .nav-toggle{ display:flex; }
  .site-nav{
    display:none; position:absolute; left:0; right:0; top:100%;
    flex-direction:column; align-items:stretch; gap:0;
    background:var(--ink); border-bottom:1px solid var(--line); z-index:60;
    padding:6px 20px 18px; box-shadow:0 24px 40px rgba(var(--shadow-rgb),calc(.45 * var(--shadow-k)));
  }
  .site-header.nav-open .site-nav{ display:flex; }
  .site-nav a{ font-size:14px; padding:14px 0; border-bottom:1px solid var(--line); }
  .site-nav a[aria-current="page"]{ border-bottom:1px solid var(--line); }
  .site-nav a[aria-current="page"]::after, .site-nav .nav-game::after{ content:" →"; opacity:.7; }
  .site-nav .nav-game{ border-bottom:1px solid var(--line); }
  .site-nav .nav-cta{ margin-top:14px; text-align:center; padding:14px; font-size:14px; border-bottom:none; }
}

/* ---------- Buttons ---------- */
.cta-row{ display:flex; flex-direction:column; gap:12px; }
@media(min-width:520px){ .cta-row{ flex-direction:row; flex-wrap:wrap; align-items:center; } }
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  font-family:var(--font-body); font-weight:600; font-size:15.5px;
  padding:15px 24px; border-radius:10px; text-decoration:none; cursor:pointer;
  border:1.5px solid transparent; position:relative; overflow:hidden;
  transition:transform .15s var(--ease), background .15s var(--ease), border-color .15s var(--ease), box-shadow .2s var(--ease);
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--gold-fill); color:var(--on-accent); box-shadow:0 10px 30px rgba(var(--gold-rgb),0.18); }
.btn-primary:hover{ background:var(--gold-fill-deep); transform:translateY(-1px); box-shadow:0 14px 34px rgba(var(--gold-rgb),0.28); }
.btn-secondary{ background:transparent; border-color:var(--line-strong); color:var(--paper); }
.btn-secondary:hover{ border-color:var(--paper); transform:translateY(-1px); }
.btn-ghost{ background:transparent; color:var(--teal); padding-left:0; padding-right:0; }
.btn-ghost:hover{ text-decoration:underline; }
.btn .arrow{ transition:transform .2s var(--ease); }
.btn:hover .arrow{ transform:translateX(3px); }

/* ---------- Type ---------- */
.eyebrow{
  font-family:var(--font-body); font-size:12.5px; letter-spacing:.06em;
  text-transform:uppercase; color:var(--teal); margin:0 0 20px;
  display:inline-flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:22px; height:1px; background:var(--teal); }
h1{
  font-family:var(--font-display); font-weight:800;
  font-size:clamp(36px, 6.4vw, 76px); line-height:1.02; letter-spacing:-0.025em;
  margin:0 0 22px; max-width:16ch; text-wrap:balance;
}
h1 em{ font-style:normal; color:var(--gold); }
.subhead{ font-size:clamp(17px, 1.6vw, 20px); color:var(--muted); margin:0 0 30px; max-width:56ch; }
.subhead strong{ color:var(--paper); font-weight:500; }
h2{
  font-family:var(--font-display); font-weight:700;
  font-size:clamp(28px, 4.2vw, 44px); line-height:1.08; letter-spacing:-0.02em; margin:0;
  text-wrap:balance;
}
h2 em{ font-style:normal; color:var(--teal); }
h3{
  font-family:var(--font-display); font-weight:700; font-size:clamp(19px, 2vw, 22px);
  line-height:1.2; margin:0 0 8px; letter-spacing:-0.01em;
}
.lede{ font-size:clamp(17px, 1.5vw, 19px); color:var(--paper); max-width:62ch; margin:0; }
.lede + .lede{ margin-top:16px; }
.lede .num, .num{
  font-family:var(--font-body); font-weight:700; color:var(--gold); font-variant-numeric:tabular-nums;
}
.muted{ color:var(--muted); }
.footnote{
  font-family:var(--font-body); font-size:12px; color:var(--muted);
  margin-top:16px; line-height:1.6; max-width:78ch;
}
.footnote a{ color:var(--muted); }

/* ---------- Rotating headline word ---------- */
.rotator{
  display:inline-grid; grid-template-areas:"stack"; vertical-align:top;
  color:var(--gold); font-style:normal;
}
.rotator > span{
  grid-area:stack; opacity:0; transform:translateY(0.6em) rotateX(-40deg);
  transform-origin:50% 100%;
  transition:opacity .5s var(--ease), transform .6s var(--ease);
  white-space:nowrap;
}
.rotator > span.on{ opacity:1; transform:none; }
.rotator > span.off{ opacity:0; transform:translateY(-0.5em) rotateX(40deg); }
@media(max-width:560px){ .rotator > span{ white-space:normal; } }

/* ---------- Sections ---------- */
section{ padding-top:88px; padding-bottom:8px; }
section.tight{ padding-top:56px; }
.seg{
  display:flex; align-items:baseline; gap:16px;
  border-top:1px solid var(--line); padding-top:26px; margin-bottom:22px;
}
.seg .seg-id{ display:none; }
.seg-kicker{
  font-family:var(--font-body); font-size:12px; letter-spacing:.06em; color:var(--muted);
  text-transform:uppercase; margin:0 0 12px;
}
.two-col{ display:grid; grid-template-columns:1fr; gap:28px; align-items:start; }
@media(min-width:880px){ .two-col{ grid-template-columns:1.05fr 0.95fr; gap:48px; } }
.two-col.sticky-left > :first-child{ position:sticky; top:96px; }
@media(max-width:879px){ .two-col.sticky-left > :first-child{ position:static; } }

/* ---------- Reveal on scroll ---------- */
[data-reveal]{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .8s var(--ease); transition-delay:var(--d, 0ms); }
[data-reveal].in{ opacity:1; transform:none; }

/* ---------- Hero ---------- */
.hero{ padding-top:72px; padding-bottom:20px; }
@media(min-width:880px){ .hero{ padding-top:96px; } }
.hero-grid{ display:grid; grid-template-columns:1fr; gap:36px; }
.audience{ margin:24px 0 0; max-width:62ch; font-size:15px; color:var(--muted); line-height:1.55; }
.audience b{ color:var(--paper); font-weight:600; margin-right:4px; }

/* ---------- Claims floor (hero canvas) ---------- */
.floor{
  margin-top:44px; background:linear-gradient(180deg, var(--panel), var(--panel-2));
  border:1px solid var(--line); border-radius:var(--r); overflow:hidden;
  box-shadow:0 30px 80px rgba(var(--shadow-rgb),calc(0.5 * var(--shadow-k))), inset 0 1px 0 rgba(var(--paper-rgb),0.04);
}
.floor-bar{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:12px 16px; border-bottom:1px solid var(--line);
}
.floor-bar .t-title{
  font-family:var(--font-mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted);
}
.seg-ctl{ display:inline-flex; border:1px solid var(--line-strong); border-radius:999px; padding:3px; gap:2px; background:var(--well); }
.seg-ctl button{
  background:transparent; border:none; color:var(--muted); cursor:pointer;
  font-family:var(--font-body); font-size:11.5px; letter-spacing:0.08em; text-transform:uppercase;
  padding:7px 12px; border-radius:999px; transition:background .2s var(--ease), color .2s var(--ease);
}
.seg-ctl button[aria-pressed="true"]{ background:var(--teal-fill); color:var(--on-accent); font-weight:600; }
.seg-ctl button[data-mode="before"][aria-pressed="true"]{ background:var(--pend-fill); }
.floor canvas{ width:100%; height:300px; }
@media(min-width:720px){ .floor canvas{ height:340px; } }
.floor-read{
  display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line);
}
.floor-read > div{ padding:14px 16px; border-right:1px solid var(--line); }
.floor-read > div:last-child{ border-right:none; }
.floor-read .k{ font-family:var(--font-body); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); display:block; margin-bottom:4px; }
.floor-read .v{ font-family:var(--font-mono); font-weight:600; font-size:clamp(18px,3vw,26px); font-variant-numeric:tabular-nums; }
.floor-read .v.ok{ color:var(--teal); } .floor-read .v.bad{ color:var(--pend); } .floor-read .v.money{ color:var(--gold); }
@media(max-width:560px){ .floor-read .v{ font-size:17px; } .floor-read > div{ padding:12px 10px; } }

/* ---------- Marquee ---------- */
.marquee{
  overflow:hidden; border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  margin-top:64px; padding:16px 0; position:relative;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.marquee-track{ display:flex; gap:0; width:max-content; animation:marquee 38s linear infinite; }
.marquee:hover .marquee-track{ animation-play-state:paused; }
.marquee-track span{
  font-family:var(--font-body); font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--muted); padding:0 22px; white-space:nowrap;
}
.marquee-track span::before{ content:"◆"; color:var(--gold); margin-right:22px; font-size:9px; vertical-align:middle; }
@keyframes marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- Cards ---------- */
.cards{ display:grid; grid-template-columns:1fr; gap:16px; margin-top:8px; }
@media(min-width:760px){ .cards{ grid-template-columns:repeat(3,1fr); } }
.card{
  position:relative; background:var(--panel); border:1px solid var(--line); border-radius:var(--r);
  padding:26px 24px 24px; overflow:hidden;
  transition:transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.card::before{
  content:""; position:absolute; inset:-1px; border-radius:inherit; padding:1px; pointer-events:none;
  background:linear-gradient(140deg, rgba(var(--teal-rgb),.5), transparent 40%, transparent 60%, rgba(var(--gold-rgb),.4));
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite:xor; mask-composite:exclude; opacity:0; transition:opacity .3s var(--ease);
}
.card:hover{ transform:translateY(-4px); box-shadow:0 24px 50px rgba(var(--shadow-rgb),calc(.35 * var(--shadow-k))); }
.card:hover::before{ opacity:1; }
.card .card-num{
  font-family:var(--font-body); font-size:12px; letter-spacing:.06em; color:var(--gold); display:block; margin-bottom:14px;
}
.card h3 s{ text-decoration-color:var(--pend); text-decoration-thickness:3px; color:var(--muted); }
.card p{ margin:0; color:var(--muted); font-size:15.5px; line-height:1.55; }
.card p strong{ color:var(--paper); font-weight:500; }
.card .card-stat{
  margin-top:18px; padding-top:14px; border-top:1px dashed var(--line);
  font-family:var(--font-body); font-size:12.5px; color:var(--muted); line-height:1.5;
}
.card .card-stat b{ color:var(--teal); font-weight:600; font-size:15px; }

/* ---------- Product panels ---------- */
.products{ display:grid; grid-template-columns:1fr; gap:18px; margin-top:8px; }
@media(min-width:860px){ .products{ grid-template-columns:1.1fr .9fr; } }
.product{ text-decoration:none; color:inherit;
  position:relative; border-radius:18px; padding:32px 28px; border:1px solid var(--line);
  background:var(--panel); overflow:hidden; display:flex; flex-direction:column; gap:14px;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.product:hover{ transform:translateY(-3px); box-shadow:0 30px 60px rgba(var(--shadow-rgb),calc(.4 * var(--shadow-k))); }
.product.kestrel{ background:linear-gradient(160deg, rgba(var(--teal-rgb),.14), rgba(var(--teal-rgb),.02) 55%), var(--panel); border-color:rgba(var(--teal-rgb),.45); }
.product.dragonfly{ background:linear-gradient(160deg, rgba(var(--gold-rgb),.13), rgba(var(--gold-rgb),.02) 55%), var(--panel); border-color:rgba(var(--gold-rgb),.4); }
.product .product-label{
  font-family:var(--font-body); font-size:12px; letter-spacing:.06em; text-transform:uppercase; margin:0;
  display:flex; align-items:center; gap:10px;
}
.product.kestrel .product-label{ color:var(--teal); } .product.dragonfly .product-label{ color:var(--gold); }
.product h3{ font-size:clamp(24px, 3vw, 34px); letter-spacing:-.02em; margin:0; }
.product p{ margin:0; color:var(--muted); font-size:16px; }
.product ul{ margin:6px 0 0; padding:0; list-style:none; display:grid; gap:8px; }
.product li{ font-size:15px; color:var(--paper); padding-left:22px; position:relative; }
.product li::before{ content:"✓"; position:absolute; left:0; font-family:var(--font-body); font-weight:600; }
.product.kestrel li::before{ color:var(--teal); } .product.dragonfly li::before{ color:var(--gold); }
.product .card-link{
  margin-top:auto; padding-top:12px; font-family:var(--font-body); font-size:12.5px; letter-spacing:.08em;
  text-transform:uppercase; text-decoration:none; display:inline-flex; gap:8px; align-items:center;
}
.product.kestrel .card-link{ color:var(--teal); } .product.dragonfly .card-link{ color:var(--gold); }
.product .card-link .arrow{ transition:transform .2s var(--ease); }
.product:hover .card-link .arrow{ transform:translateX(4px); }
.product .bird{
  position:absolute; right:-6px; bottom:-38px; pointer-events:none; user-select:none;
  font-family:var(--font-display); font-weight:800; font-size:220px; line-height:1; letter-spacing:-.06em;
  color:currentColor; opacity:.06;
  transition:transform .6s var(--ease), opacity .4s var(--ease);
}
.product.kestrel .bird{ color:var(--teal); } .product.dragonfly .bird{ color:var(--gold); }
.product:hover .bird{ transform:translate(-6px,-8px); opacity:.1; }
.also{
  margin-top:16px; border:1px dashed var(--line-strong); border-radius:var(--r); padding:18px 22px;
  display:flex; flex-wrap:wrap; gap:14px 26px; align-items:center; justify-content:space-between;
}
.also p{ margin:0; color:var(--muted); font-size:15px; max-width:64ch; }
.also p strong{ color:var(--paper); font-weight:500; }
.also .tag{ font-family:var(--font-body); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); }

/* ---------- Founder quote ---------- */
.founder-quote{
  margin:44px 0 6px; padding:30px 28px; border-radius:var(--r);
  background:linear-gradient(120deg, rgba(var(--teal-rgb),.08), transparent 60%), var(--panel-2);
  border:1px solid var(--line); position:relative;
}
.founder-quote::before{
  content:"“"; position:absolute; left:20px; top:-26px; font-family:var(--font-display); font-weight:800;
  font-size:96px; color:var(--gold); line-height:1;
}
.founder-quote::after{
  content:"\201D"; position:absolute; right:22px; bottom:-58px; font-family:var(--font-display); font-weight:800;
  font-size:96px; color:var(--gold); line-height:1;
}
.founder-quote p{ font-family:var(--font-display); font-weight:500; font-size:clamp(19px,2.2vw,24px); line-height:1.35; margin:0 0 12px; letter-spacing:-.01em; }
.founder-quote cite{ display:block; font-family:var(--font-body); font-size:12.5px; color:var(--muted); font-style:normal; letter-spacing:.06em; }

/* ---------- Signature: adjudication trace ---------- */
.trace{
  margin:28px auto 0; background:var(--panel-2); border:1px solid var(--line); border-radius:var(--r);
  overflow:hidden; box-shadow:0 24px 60px rgba(var(--shadow-rgb),calc(0.45 * var(--shadow-k)));
}
.trace-bar{ display:flex; align-items:center; justify-content:space-between; padding:10px 16px; border-bottom:1px solid var(--line); gap:10px; flex-wrap:wrap; }
.trace-bar .t-title{ font-family:var(--font-mono); font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); }
.trace-body{
  padding:20px 18px 22px; font-family:var(--font-mono); font-size:clamp(12px, 2.6vw, 14.5px);
  line-height:1.9; color:var(--paper); min-height:200px;
}
.t-line{ opacity:0; transform:translateY(4px); transition:opacity .35s var(--ease), transform .35s var(--ease); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.t-line.show{ opacity:1; transform:none; }
.t-line.wrap{ white-space:normal; }
.t-dim{ color:var(--muted); }
.t-ok{ color:var(--teal); font-weight:600; }
.t-money{ color:var(--gold); font-weight:600; }
.t-warn{ color:var(--pend); font-weight:600; }
.t-note{ color:var(--muted); font-size:.9em; padding-left:22px; }
.t-final{ margin-top:10px; padding-top:12px; border-top:1px dashed var(--line); font-weight:600; }
.t-replay{
  background:none; border:1px solid var(--line); border-radius:6px; font-family:var(--font-body);
  font-size:11.5px; letter-spacing:0.08em; color:var(--muted); cursor:pointer; text-transform:uppercase; padding:5px 9px;
}
.t-replay:hover{ color:var(--paper); border-color:var(--line-strong); }

/* ---------- Exposure calculator ---------- */
.calc{
  margin-top:8px; border:1px solid var(--line); border-radius:18px; overflow:hidden;
  background:var(--panel); display:grid; grid-template-columns:1fr;
}
@media(min-width:860px){ .calc{ grid-template-columns:1fr 1fr; } }
.calc-in{ padding:28px 26px; border-bottom:1px solid var(--line); }
@media(min-width:860px){ .calc-in{ border-bottom:none; border-right:1px solid var(--line); } }
.calc-out{ padding:24px 26px 26px; background:linear-gradient(160deg, rgba(var(--gold-rgb),.10), transparent 60%), var(--panel-2); display:flex; flex-direction:column; justify-content:center; gap:0; }
.field{ margin-bottom:22px; }
.field label{ display:flex; justify-content:space-between; align-items:baseline; font-family:var(--font-body); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; }
.field label output{ color:var(--paper); font-weight:600; font-size:15px; letter-spacing:0; text-transform:none; }
input[type=range]{ -webkit-appearance:none; appearance:none; width:100%; height:6px; border-radius:99px; background:linear-gradient(90deg, var(--teal) var(--p,50%), rgba(var(--paper-rgb),.14) var(--p,50%)); outline:none; }
input[type=range]::-webkit-slider-thumb{ -webkit-appearance:none; width:22px; height:22px; border-radius:50%; background:var(--thumb); border:3px solid var(--teal-fill); box-shadow:0 4px 14px rgba(var(--shadow-rgb),calc(.4 * var(--shadow-k))); cursor:grab; }
input[type=range]::-moz-range-thumb{ width:18px; height:18px; border-radius:50%; background:var(--thumb); border:3px solid var(--teal-fill); cursor:grab; }
.calc-out .big{ font-family:var(--font-display); font-weight:600; font-size:clamp(40px, 6vw, 66px); line-height:1; color:var(--gold); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.calc-out .big-label{ font-family:var(--font-body); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; display:block; }
.calc-out .sub{ font-family:var(--font-display); font-weight:600; font-size:clamp(22px,3vw,30px); color:var(--teal); font-variant-numeric:tabular-nums; }
.calc-out p{ margin:0; color:var(--muted); font-size:14.5px; }

.calc-out .row{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; padding:10px 0; border-top:1px dashed var(--line); font-size:14px; color:var(--muted); }
.calc-out .row:first-child{ border-top:none; padding-top:0; }
.calc-out .row b{ font-family:var(--font-display); font-weight:600; font-size:16px; color:var(--paper); font-variant-numeric:tabular-nums; white-space:nowrap; }
.calc-out .row.big-row{ display:block; padding:16px 0 14px; }
.calc-out .row.big-row .big-label{ margin-bottom:6px; }
.calc-out .row.big-row .big{ font-size:clamp(36px, 4.4vw, 56px); white-space:nowrap; }
.calc-out .big .ap{ font-size:.5em; color:var(--muted); margin-right:6px; vertical-align:.15em; }
.calc-out .row.est .ap{ color:var(--muted); font-weight:400; margin-right:4px; }
.calc-out .row.est b{ color:var(--teal); }
.calc-out .row sup{ font-size:.7em; margin-left:2px; }
.calc-out .row small{ display:block; font-size:12.5px; color:var(--muted); opacity:.85; margin-top:2px; }
.source-line + .lede{ margin-top:18px; }
.source-line{ margin:14px 0 0; font-size:13.5px; color:var(--muted); max-width:62ch; }
.source-line a{ color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.source-line a:hover{ color:var(--paper); }
.calc-out .after{ margin:14px 0 12px; color:var(--paper); font-size:15px; }
.field .hint{ margin:8px 0 0; font-size:13px; color:var(--muted); }
.field:last-child{ margin-bottom:0; }
sup a{ color:var(--muted); text-decoration:none; }
sup a:hover{ color:var(--teal); }
.sources{ margin-top:22px; }
.sources span{ display:block; }
.sources span + span{ margin-top:4px; }
.sources sup{ margin-right:4px; }
.sources:target, .sources span:target{ color:var(--paper); }

/* ---------- Stat wall ---------- */
.stats{ display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-top:8px; }
@media(min-width:760px){ .stats{ grid-template-columns:repeat(4,1fr); } }
.stat{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r); padding:26px 22px;
  transition:transform .3s var(--ease), border-color .3s var(--ease);
}
.stat:hover{ transform:translateY(-3px); border-color:var(--line-strong); }
.stat .kicker{ display:block; font-family:var(--font-body); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); margin-bottom:8px; min-height:1.2em; }
.stat .n{ display:block; font-family:var(--font-display); font-weight:600; font-size:clamp(38px, 5vw, 58px); line-height:1; color:var(--teal); font-variant-numeric:tabular-nums; letter-spacing:-.02em; margin-bottom:12px; }
.stat.gold .n{ color:var(--gold); }
.stat .l{ font-size:14.5px; color:var(--muted); line-height:1.45; }
.stat.wide{ grid-column:span 2; }

/* ---------- Heatmap (claims evidence) ---------- */
.heat{
  background:var(--panel-2); border:1px solid var(--line); border-radius:var(--r); padding:20px 20px 16px;
}
.heat h4{ margin:0 0 2px; font-family:var(--font-display); font-size:17px; }
.heat .h-sub{ margin:0 0 14px; color:var(--muted); font-size:13.5px; }
.heat-grid{ display:grid; grid-template-columns:120px repeat(5, 1fr) 60px; gap:5px; align-items:center; font-family:var(--font-mono); font-size:12px; }
@media(max-width:520px){ .heat-grid{ grid-template-columns:84px repeat(5,1fr) 46px; font-size:10.5px; } }
.heat-grid .hd{ color:var(--muted); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; text-align:center; }
.heat-grid .site{ color:var(--paper); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.heat-grid .tot{ color:var(--muted); text-align:right; }
.heat-grid .c{
  height:36px; border-radius:6px; display:flex; align-items:center; justify-content:center;
  background:rgba(var(--teal-rgb), var(--a, .05)); color:var(--paper); font-variant-numeric:tabular-nums;
  transform:scale(.6); opacity:0; transition:transform .5s var(--ease), opacity .5s var(--ease); transition-delay:var(--d,0ms);
}
.heat-grid .c.hi{ color:var(--on-accent); font-weight:600; }
.heat.in .heat-grid .c{ transform:none; opacity:1; }
.heat .dir{
  margin-top:14px; padding-top:12px; border-top:1px dashed var(--line); font-family:var(--font-mono); font-size:12px; color:var(--muted); display:flex; gap:10px; flex-wrap:wrap; align-items:center;
}
.heat .dir .pill{ border:1px solid var(--pend); color:var(--pend); border-radius:999px; padding:2px 9px; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; }
.heat .dir .pill.ok{ border-color:var(--teal); color:var(--teal); }

/* ---------- Directory decay grid ---------- */
.decay{ background:var(--panel-2); border:1px solid var(--line); border-radius:var(--r); padding:22px; }
.decay-grid{ display:grid; grid-template-columns:repeat(10,1fr); gap:7px; margin:14px 0 18px; }
.decay-grid i{
  aspect-ratio:1; border-radius:50%; background:var(--teal-fill); display:block;
  transition:background .5s var(--ease), transform .5s var(--ease), opacity .5s var(--ease);
}
.decay-grid i.stale{ background:var(--pend-fill); transform:scale(.72); opacity:.75; }
.decay-read{ display:flex; justify-content:space-between; align-items:baseline; gap:12px; font-family:var(--font-mono); font-size:12.5px; color:var(--muted); flex-wrap:wrap; }
.decay-read b{ color:var(--pend); font-size:22px; font-weight:600; }
.decay-read b.ok{ color:var(--teal); }

/* ---------- Pipeline demo (Dragonfly) ---------- */
.pipe{ background:var(--panel-2); border:1px solid var(--line); border-radius:18px; padding:22px; overflow:hidden; }
.pipe-top{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.pipe-steps{ display:flex; gap:6px; flex-wrap:wrap; }
.pipe-steps span{
  font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
  border:1px solid var(--line); border-radius:999px; padding:5px 10px; transition:all .3s var(--ease);
}
.pipe-steps span.active{ color:var(--on-accent); background:var(--gold-fill); border-color:var(--gold-fill); }
.pipe-steps span.done{ color:var(--teal); border-color:var(--teal); }
.pipe-stage{ position:relative; display:grid; grid-template-columns:1fr; gap:12px; }
@media(min-width:760px){ .pipe-stage{ grid-template-columns:1fr 60px 1fr; align-items:center; } }
.src{ display:grid; gap:10px; }
.rec{
  background:var(--panel); border:1px solid var(--line); border-radius:10px; padding:12px 14px;
  font-family:var(--font-mono); font-size:12.5px; line-height:1.5; transition:transform .7s var(--ease), opacity .6s var(--ease);
}
.rec .src-tag{ display:block; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:4px; }
.rec .bad{ color:var(--pend); text-decoration:underline dotted; }
.pipe.merged .src .rec{ transform:translateX(40px) scale(.92); opacity:.35; }
.pipe-arrow{ display:none; font-family:var(--font-mono); color:var(--muted); text-align:center; font-size:22px; }
@media(min-width:760px){ .pipe-arrow{ display:block; } }
.master{
  background:linear-gradient(160deg, rgba(var(--teal-rgb),.16), transparent 70%), var(--panel);
  border:1px solid rgba(var(--teal-rgb),.5); border-radius:12px; padding:16px 18px;
  font-family:var(--font-mono); font-size:13px; line-height:1.6; opacity:.25; transform:scale(.97);
  transition:opacity .6s var(--ease), transform .6s var(--ease);
}
.pipe.merged .master{ opacity:1; transform:none; }
.master .src-tag{ display:block; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--teal); margin-bottom:6px; }
.master .ok{ color:var(--teal); font-weight:600; }
.master .row{ display:flex; justify-content:space-between; gap:12px; border-top:1px dashed var(--line); padding-top:6px; margin-top:6px; color:var(--muted); font-size:12px; }

/* ---------- Pricing playground (Kestrel) ---------- */
.play{ background:var(--panel-2); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 30px 80px rgba(var(--shadow-rgb),calc(.45 * var(--shadow-k))); }
.play-ctl{ padding:18px 20px; border-bottom:1px solid var(--line); display:grid; gap:14px; }
.chips{ display:flex; gap:8px; flex-wrap:wrap; }
.chips button{
  background:transparent; border:1px solid var(--line-strong); color:var(--paper); cursor:pointer;
  font-family:var(--font-body); font-size:12px; letter-spacing:.06em; padding:9px 13px; border-radius:999px;
  transition:all .2s var(--ease);
}
.chips button:hover{ border-color:var(--paper); }
.chips button[aria-pressed="true"]{ background:var(--teal-fill); border-color:var(--teal-fill); color:var(--on-accent); font-weight:600; }
.play .field{ margin:0; }
.play .field.hidden{ display:none; }
.play-out{ padding:20px 20px 22px; font-family:var(--font-mono); font-size:clamp(12px, 2.4vw, 14px); line-height:1.9; min-height:290px; }
.play-foot{ display:flex; justify-content:space-between; align-items:center; gap:10px; flex-wrap:wrap; padding:10px 16px; border-top:1px solid var(--line); }

/* ---------- Feature tiles ---------- */
.tiles{ display:grid; grid-template-columns:1fr; gap:14px; margin-top:8px; }
@media(min-width:620px){ .tiles{ grid-template-columns:1fr 1fr; } }
@media(min-width:960px){ .tiles{ grid-template-columns:repeat(3,1fr); } }
.tile{
  background:var(--panel); border:1px solid var(--line); border-radius:var(--r); padding:22px 22px 20px;
  transition:transform .3s var(--ease), border-color .3s var(--ease);
}
.tile:hover{ transform:translateY(-3px); border-color:var(--line-strong); }
.tile .tile-id{ font-family:var(--font-body); font-size:11.5px; letter-spacing:.06em; color:var(--gold); display:block; margin-bottom:12px; }
.tile h3{ font-size:18px; margin-bottom:8px; }
.tile p{ margin:0; color:var(--muted); font-size:15px; line-height:1.55; }
.tile .say{ margin-top:12px; padding-top:10px; border-top:1px dashed var(--line); font-size:14px; color:var(--paper); font-style:italic; }

/* ---------- Feature list (sub-pages) ---------- */
/* ---------- Callout band ---------- */
.callout{
  margin-top:8px; border:1px solid var(--line-strong); border-left:4px solid var(--gold); border-radius:var(--r);
  padding:26px 28px; background:linear-gradient(90deg, rgba(var(--gold-rgb),.10), transparent 60%), var(--panel);
  display:flex; gap:24px; align-items:center; justify-content:space-between; flex-wrap:wrap;
}
.callout p{ margin:0; font-size:clamp(17px, 1.6vw, 20px); color:var(--muted); max-width:58ch; line-height:1.45; }
.callout p strong{ display:block; color:var(--paper); font-family:var(--font-display); font-weight:700; font-size:clamp(20px, 2vw, 26px); letter-spacing:-.01em; margin-bottom:4px; }
.callout .btn{ flex-shrink:0; }

.feat-group{ margin-top:8px; }
.feat{ display:grid; grid-template-columns:1fr; gap:8px 32px; padding:22px 0; border-top:1px solid var(--line); }
@media(min-width:760px){ .feat{ grid-template-columns:minmax(220px,.8fr) 1.4fr; } }
.feat:last-child{ border-bottom:1px solid var(--line); }
.feat h3{ font-size:19px; margin:0 0 4px; }
.feat .benefit{ margin:0; color:var(--teal); font-size:15px; font-weight:500; line-height:1.45; }
.feat .detail{ margin:0; color:var(--muted); font-size:15.5px; line-height:1.55; }
.feat .detail strong{ color:var(--paper); font-weight:500; }
.feat-nav{ display:flex; gap:8px; flex-wrap:wrap; margin:0 0 8px; }
.feat-nav a{
  font-family:var(--font-body); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted);
  border:1px solid var(--line); border-radius:999px; padding:6px 11px; text-decoration:none; transition:all .2s var(--ease);
}
.feat-nav a:hover{ color:var(--paper); border-color:var(--line-strong); }

/* ---------- Big CTA ---------- */
.cta-panel{
  margin-top:8px; border-radius:22px; padding:44px 30px; text-align:center;
  background:linear-gradient(160deg, rgba(var(--teal-rgb),.18), rgba(var(--gold-rgb),.12)), var(--panel);
  border:1px solid var(--line-strong); position:relative; overflow:hidden;
}
.cta-panel::before{
  content:""; position:absolute; inset:-40%; pointer-events:none;
  background:conic-gradient(from 180deg at 50% 50%, transparent 0 70%, rgba(var(--teal-rgb),.18) 85%, transparent 100%);
  animation:spin 22s linear infinite;
}
@keyframes spin{ to{ transform:rotate(360deg); } }
.cta-panel > *{ position:relative; }
.cta-panel h2{ font-size:clamp(30px, 5vw, 52px); margin-bottom:14px; }
.cta-panel p{ color:var(--muted); max-width:52ch; margin:0 auto 26px; font-size:17px; }
.cta-panel .cta-row{ justify-content:center; }

/* ---------- Footer ---------- */
footer.wrap{ border-top:1px solid var(--line); margin-top:96px; padding-top:34px; padding-bottom:50px; }
.foot-grid{ display:flex; justify-content:space-between; gap:24px; flex-wrap:wrap; align-items:flex-start; }
footer .brand-mark span{ font-size:16px; }
footer .brand-mark img{ width:28px; height:28px; }
footer .tag{ font-size:14px; color:var(--muted); margin:10px 0 0; max-width:34ch; }
footer .foot-nav{ display:flex; gap:18px; flex-wrap:wrap; }
footer .foot-nav a{ font-family:var(--font-body); font-size:12.5px; color:var(--muted); text-decoration:none; }
footer .foot-nav a:hover{ color:var(--paper); }
footer .legal{ margin-top:26px; font-family:var(--font-body); font-size:11.5px; color:var(--muted); }

@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{ animation-duration:0.001ms !important; transition-duration:0.001ms !important; animation-iteration-count:1 !important; }
  [data-reveal]{ opacity:1; transform:none; }
  .marquee-track{ animation:none; flex-wrap:wrap; width:auto; }
  .heat-grid .c{ transform:none; opacity:1; }
}

/* ---------- Demo request form (Netlify) ---------- */
.demo-form{ max-width:820px; margin:0 auto 14px; }
.demo-fields{ display:grid; grid-template-columns:1fr; gap:10px; }
@media(min-width:760px){ .demo-fields{ grid-template-columns:1fr 1fr 1.2fr auto; } }
.demo-fields input{
  font:inherit; font-size:15.5px; color:var(--paper); background:var(--field-bg);
  border:1px solid var(--line-strong); border-radius:10px; padding:14px 16px; min-width:0;
  transition:border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.demo-fields input::placeholder{ color:var(--muted); }
.demo-fields input:focus{ outline:none; border-color:var(--teal); box-shadow:0 0 0 3px rgba(var(--teal-rgb),.2); }
.demo-fields .btn{ white-space:nowrap; }
.demo-form .hp{ position:absolute; left:-10000px; top:auto; width:1px; height:1px; overflow:hidden; }
.demo-form .fine{ margin:14px 0 0; font-size:12.5px; color:var(--muted); text-align:center; max-width:none; }
.demo-form .fine a{ color:var(--muted); text-decoration:underline; text-underline-offset:3px; }
.demo-form .fine a:hover{ color:var(--paper); }

/* ---------- FAQ ---------- */
.faq{ margin-top:8px; border-top:1px solid var(--line); }
.faq details{ border-bottom:1px solid var(--line); }
.faq summary{
  cursor:pointer; list-style:none; padding:18px 44px 18px 0; position:relative;
  font-family:var(--font-display); font-weight:700; font-size:18px; letter-spacing:-.01em;
}
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{
  content:"+"; position:absolute; right:4px; top:14px; font-family:var(--font-body); font-size:22px; color:var(--teal);
  transition:transform .25s var(--ease);
}
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq details p{ margin:0; padding:0 0 20px; color:var(--muted); font-size:16px; max-width:70ch; }

/* ---------- Theme toggle (footer) ---------- */
.theme-toggle{ display:flex; align-items:center; gap:6px; margin-top:14px; font-size:12.5px; color:var(--muted); }
.theme-toggle span{ margin-right:4px; }
.theme-toggle button{
  font:inherit; color:var(--muted); background:transparent; border:1px solid var(--line); border-radius:999px;
  padding:4px 11px; cursor:pointer; transition:color .15s var(--ease), border-color .15s var(--ease), background .15s var(--ease);
}
.theme-toggle button:hover{ color:var(--paper); border-color:var(--line-strong); }
.theme-toggle button[aria-pressed="true"]{ color:var(--paper); border-color:var(--teal); background:rgba(var(--teal-rgb),.10); }
.theme-toggle button:focus-visible{ outline:2px solid var(--teal); outline-offset:2px; }
