:root{
  --ink:#070a10; --ink2:#0b0f18; --panel:#101722; --panel2:#16202e; --line:#1d2735;
  --line2:#283446;
  --fg:#eef3f9; --mute:#92a3b9; --faint:#5a6a7e;
  --teal:#5b8def; --teal2:#3a5fc4; --amber:#e0a53a; --violet:#9a86f5; --coral:#e5695f;
  --paper:#eef2f7; --paper-ink:#0c1521; --paper-mute:#46566c; --paper-line:#d3dce7;
  --disp:"Bricolage Grotesque",system-ui,sans-serif;
  --body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,Consolas,monospace;
  --wrap:1160px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--ink);color:var(--fg);font-family:var(--body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--disp);font-weight:700;line-height:1.04;letter-spacing:-0.02em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 26px}
.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal)}
.lede{color:var(--mute);font-size:18px;line-height:1.62}

/* nav */
.nav{position:sticky;top:0;z-index:60;background:rgba(7,10,16,.8);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav-in{max-width:var(--wrap);margin:0 auto;padding:14px 26px;display:flex;align-items:center;gap:26px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:700;font-size:18px}
.brand i{width:11px;height:11px;border-radius:3px;background:linear-gradient(135deg,var(--teal),var(--teal2));box-shadow:0 0 10px rgba(91,141,239,.32);display:inline-block}
.nav-links{display:flex;gap:24px;margin-left:10px}
.nav-links a{font-size:14px;color:var(--mute);transition:color .15s}
.nav-links a:hover,.nav-links a.active{color:var(--fg)}
.nav-cta{margin-left:auto}
.btn{font-family:var(--body);font-weight:600;font-size:14px;border-radius:10px;padding:10px 18px;cursor:pointer;border:1px solid transparent;display:inline-block;transition:transform .12s,filter .15s,background .15s,border-color .15s}
.btn-primary{background:var(--teal);color:#f2f6ff;border-color:var(--teal)}
.btn-primary:hover{transform:translateY(-1px);filter:brightness(1.07)}
.btn-ghost{background:transparent;color:var(--fg);border-color:var(--line2)}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal)}
.nav-toggle{display:none;margin-left:auto;background:none;border:1px solid var(--line2);border-radius:8px;color:var(--fg);padding:7px 11px;font-size:18px;cursor:pointer}

/* hero */
.hero{position:relative;padding:92px 0 78px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(820px 420px at 82% 6%,rgba(91,141,239,.10),transparent 60%),radial-gradient(680px 420px at 6% 96%,rgba(224,165,58,.05),transparent 58%);pointer-events:none}
.hero-grid{position:relative;display:grid;grid-template-columns:1.08fr .92fr;gap:50px;align-items:center}
.hero h1{font-size:clamp(40px,5.6vw,68px);font-weight:800;letter-spacing:-.03em;margin-top:18px}
.hero h1 em{font-style:normal;color:var(--teal)}
.hero .lede{margin:24px 0 30px;max-width:520px}
.hero-cta{display:flex;gap:13px;flex-wrap:wrap}
.hero-note{margin-top:22px;font-family:var(--mono);font-size:12px;color:var(--faint)}

/* page header (sub-pages) */
.phead{position:relative;padding:70px 0 30px;border-bottom:1px solid var(--line);overflow:hidden}
.phead::before{content:"";position:absolute;inset:0;background:radial-gradient(720px 360px at 88% -10%,rgba(91,141,239,.09),transparent 60%);pointer-events:none}
.phead h1{position:relative;font-size:clamp(34px,4.6vw,54px);font-weight:800;letter-spacing:-.03em;margin-top:14px;max-width:840px}
.phead .lede{position:relative;margin-top:18px;max-width:700px}

/* signature BE window */
.sig{background:linear-gradient(180deg,var(--panel),#0d1420);border:1px solid var(--line);border-radius:18px;padding:24px 22px 18px;box-shadow:0 36px 80px -44px #000}
.sig-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px}
.sig-t{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
.sig-v{font-family:var(--mono);font-size:12px;font-weight:600;color:var(--teal);opacity:0;animation:stamp .5s ease 1.5s forwards}
@keyframes stamp{to{opacity:1}}
.ci{transform:scaleX(0);transform-origin:54% 50%;animation:draw 1s cubic-bezier(.4,0,.2,1) .5s forwards}
@keyframes draw{to{transform:scaleX(1)}}
.pe{opacity:0;animation:fade .4s ease 1.35s forwards}
@keyframes fade{to{opacity:1}}
.sig-f{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--faint);margin-top:9px}

/* credibility */
.cred{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink2)}
.cred-in{padding:24px 0;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap}
.cred-l{font-family:var(--mono);font-size:12px;color:var(--mute);max-width:300px;line-height:1.5}
.cred-n{display:flex;gap:24px;flex-wrap:wrap}
.cred-n span{font-family:var(--disp);font-weight:600;font-size:15px;color:var(--faint)}

/* generic section */
.sec{padding:90px 0;position:relative}
.sec h2{font-size:clamp(28px,3.7vw,44px);font-weight:700;letter-spacing:-.025em;max-width:760px;margin-top:14px}
.sec .lede{margin-top:16px;max-width:660px}
.sec-head{margin-bottom:42px}

/* manual reality */
.manual{background:linear-gradient(180deg,rgba(224,165,58,.05),transparent);border:1px solid #3a3020;border-radius:18px;padding:34px 32px}
.manual h2{font-size:clamp(26px,3.4vw,40px)}
.mlist{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:14px 30px;margin-top:24px}
.mlist li{display:flex;gap:11px;font-size:14.5px;color:var(--mute);line-height:1.5}
.mlist li b{color:var(--fg);font-weight:600}
.mx{color:var(--amber);flex:none;font-family:var(--mono)}
.turn{margin-top:26px;font-size:16px;color:var(--fg);border-left:2px solid var(--teal);padding-left:16px;max-width:680px}

/* pillars (home) */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:8px}
.pillar{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;padding:24px;background:linear-gradient(180deg,var(--panel),#0d1420);box-shadow:0 30px 70px -50px #000;transition:transform .2s,border-color .2s}
.pillar:hover{transform:translateY(-4px);border-color:var(--teal)}
.pillar .pn{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.pillar h3{font-size:20px;margin:12px 0 8px}
.pillar p{font-size:14px;color:var(--mute);line-height:1.6}
.pillar .go{margin-top:auto;padding-top:16px;font-family:var(--mono);font-size:12px;color:var(--teal)}

/* feature row */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;padding:44px 0;border-top:1px solid var(--line)}
.feat:nth-child(even) .feat-media{order:-1}
.feat h3{font-size:25px;font-weight:700;letter-spacing:-.02em;margin:12px 0 12px}
.feat p{color:var(--mute);font-size:15px;line-height:1.62}
.feat-media{min-height:200px}

/* swap device */
.swap{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:18px}
.swap>div{padding:16px 18px}
.swap .by{background:linear-gradient(180deg,rgba(224,165,58,.06),transparent);border-right:1px solid var(--line)}
.swap .up{background:linear-gradient(180deg,rgba(91,141,239,.07),transparent)}
.swap .lab{font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;margin-bottom:8px}
.swap .by .lab{color:var(--amber)}
.swap .up .lab{color:var(--teal)}
.swap p{font-size:13px;color:var(--mute);line-height:1.55;margin:0}
.swap .up p{color:var(--fg)}

/* media bits */
.media-card{background:linear-gradient(180deg,var(--panel),#0d1420);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 30px 70px -46px #000}
.doc-mini{display:flex;flex-direction:column;gap:8px}
.doc-row{display:flex;align-items:center;gap:11px;border:1px solid var(--line2);border-radius:10px;padding:11px 13px;background:var(--panel2)}
.doc-row .ic{width:26px;height:32px;border-radius:4px;border:1px solid var(--teal);flex:none;position:relative;background:rgba(91,141,239,.08)}
.doc-row .ic::after{content:"";position:absolute;left:5px;right:5px;top:7px;height:2px;background:var(--teal);box-shadow:0 5px 0 rgba(91,141,239,.5),0 10px 0 rgba(91,141,239,.3)}
.doc-row b{font-size:13px;display:block}
.doc-row span{font-size:11px;color:var(--faint)}
.caps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cap{border:1px solid var(--line2);border-radius:10px;padding:11px 12px;background:var(--panel2)}
.cap b{font-size:12.5px}
.cap span{display:block;font-family:var(--mono);font-size:9.5px;color:var(--teal);margin-top:4px;letter-spacing:.04em}
.barwrap{display:flex;flex-direction:column;gap:10px}
.bar{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--mute)}
.bar .t{width:120px;flex:none}
.bar .track{flex:1;height:9px;background:var(--panel2);border-radius:6px;overflow:hidden}
.bar .fill{height:100%;border-radius:6px;background:linear-gradient(90deg,var(--teal2),var(--teal))}

/* regulators band */
.band{background:linear-gradient(180deg,var(--ink2),var(--ink));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.pill{border:1px solid var(--line2);border-radius:999px;padding:9px 17px;font-family:var(--mono);font-size:12.5px;background:var(--panel2)}
.pill b{color:var(--teal)}

/* pricing light */
.light{background:var(--paper);color:var(--paper-ink)}
.light .eyebrow{color:var(--teal2)}
.light h2{color:var(--paper-ink)}
.light .lede{color:var(--paper-mute)}
.price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:42px auto 0;max-width:760px}
.price{border:1px solid var(--paper-line);border-radius:16px;background:#fff;padding:28px 24px;display:flex;flex-direction:column}
.price.feature{border-color:var(--teal2);box-shadow:0 26px 50px -34px rgba(58,95,196,.5)}
.price .tier{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal2)}
.price .amt{font-family:var(--disp);font-weight:700;font-size:28px;margin:10px 0 4px}
.price .who{font-size:13px;color:var(--paper-mute);min-height:38px}
.price ul{list-style:none;margin:16px 0 22px;display:flex;flex-direction:column;gap:9px}
.price li{font-size:13px;color:#33465c;display:flex;gap:9px}
.price li .ck{color:var(--teal2);flex:none}
.price .btn{margin-top:auto;text-align:center}
.btn-dark{background:var(--paper-ink);color:#fff;border-color:var(--paper-ink)}
.btn-line{background:transparent;color:var(--paper-ink);border-color:var(--paper-line)}

/* faq */
.faq{max-width:820px;margin:38px auto 0;border-top:1px solid var(--line)}
.q{border-bottom:1px solid var(--line)}
.q button{width:100%;text-align:left;background:none;border:none;color:var(--fg);font-family:var(--disp);font-weight:600;font-size:18px;padding:22px 0;cursor:pointer;display:flex;justify-content:space-between;gap:18px;align-items:center}
.q .pl{color:var(--teal);font-size:22px;flex:none;transition:transform .2s}
.q.open .pl{transform:rotate(45deg)}
.q .a{max-height:0;overflow:hidden;transition:max-height .28s ease}
.q .a p{color:var(--mute);font-size:15px;padding:0 0 22px;max-width:680px}

/* cta */
.cta{text-align:center;padding:100px 0}
.cta h2{font-size:clamp(30px,4vw,50px);font-weight:800;letter-spacing:-.03em;max-width:740px;margin:0 auto}
.cta .lede{margin:18px auto 30px;max-width:540px}
.cta-row{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}

/* footer */
.foot{border-top:1px solid var(--line);background:var(--ink2)}
.foot-in{padding:44px 0 34px;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:28px}
.foot p{font-size:13px;color:var(--faint);max-width:300px;margin-top:12px}
.foot h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-bottom:13px}
.foot ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.foot a{font-size:14px;color:var(--faint)}
.foot a:hover{color:var(--fg)}
.foot-base{border-top:1px solid var(--line);padding:18px 0;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-family:var(--mono);font-size:11px;color:var(--faint)}

.reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.6,.2,1),transform .7s cubic-bezier(.2,.6,.2,1)}
.reveal.in{opacity:1;transform:none}

@media(max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:36px}
  .feat{grid-template-columns:1fr;gap:22px;padding:34px 0}
  .feat:nth-child(even) .feat-media{order:0}
  .mlist{grid-template-columns:1fr}
  .price-grid{grid-template-columns:1fr;max-width:420px}
  .pillars{grid-template-columns:1fr}
  .foot-in{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .nav-links,.nav-cta{display:none}
  .nav-toggle{display:block}
  .swap{grid-template-columns:1fr}
  .swap .by{border-right:none;border-bottom:1px solid var(--line)}
  .cred-in{flex-direction:column;align-items:flex-start}
  .mobile-open .nav-links{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--ink);border-bottom:1px solid var(--line);padding:18px 26px}
}
/* media hover-lift */
.feat-media .media-card{transition:transform .25s cubic-bezier(.2,.6,.2,1),border-color .25s}
.feat-media .media-card:hover{transform:translateY(-5px);border-color:var(--line2)}
.doc-row,.cap{transition:border-color .2s,transform .2s}
.doc-row:hover,.cap:hover{border-color:var(--teal)}

/* doc-row stagger on reveal */
.reveal.in .doc-row{opacity:0;animation:rowin .5s ease forwards}
.reveal.in .doc-row:nth-child(1){animation-delay:.05s}
.reveal.in .doc-row:nth-child(2){animation-delay:.14s}
.reveal.in .doc-row:nth-child(3){animation-delay:.23s}
.reveal.in .doc-row:nth-child(4){animation-delay:.32s}
@keyframes rowin{from{opacity:0;transform:translateX(-9px)}to{opacity:1;transform:none}}

/* cost bars grow on reveal */
.bar .fill{width:0;transition:width 1.1s cubic-bezier(.2,.7,.2,1)}

/* hero aurora drift */
.hero::before{animation:aurora 20s ease-in-out infinite alternate}
@keyframes aurora{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-3%,2%,0) scale(1.07)}}

/* living knowledge graph (Obsidian-style force-directed network) */
.opnet-card{position:relative;background:linear-gradient(180deg,var(--panel),#0b111b);border:1px solid var(--line);border-radius:20px;padding:10px 10px 4px;box-shadow:0 44px 100px -54px #000;overflow:hidden;margin-top:8px}
.opnet-card::after{content:"";position:absolute;inset:0;background:radial-gradient(560px 360px at 50% 46%,rgba(91,141,239,.08),transparent 70%);pointer-events:none}
#opnet{position:relative;width:100%}
#opnet svg{width:100%;height:auto;display:block;overflow:visible;cursor:grab}
.opn-edge{stroke:rgba(38,52,78,.62);stroke-width:1;transition:opacity .2s,stroke .2s}
.opn-edge.undir{stroke-dasharray:3 4}
.opn-node{transition:opacity .2s}
.opn-node circle{transition:opacity .2s}
.opn-lbl{font-family:var(--mono);font-size:10px;fill:#8fa0b6;pointer-events:none;transition:opacity .2s}
/* hover focus: dim everything except the hovered node and its neighbours (the Obsidian behaviour) */
#opnet svg.dim .opn-edge:not(.hot){opacity:.12}
#opnet svg.dim .opn-edge.hot{stroke:rgba(91,141,239,.6)}
#opnet svg.dim .opn-node:not(.hot){opacity:.18}
#opnet svg.dim .opn-lbl:not(.hot){opacity:.06}
#opnet svg.dim .opn-packet{opacity:0}
.opn-node.focus circle:last-child{stroke:#5b8def;stroke-width:2;paint-order:stroke}
.opn-pulse{fill:none;stroke:var(--teal);opacity:0}
.opn-packet{fill:#8fb2ff;filter:drop-shadow(0 0 4px rgba(91,141,239,.85))}
.opnet-legend{display:flex;gap:16px 20px;flex-wrap:wrap;justify-content:center;padding:14px 6px 8px;font-family:var(--mono);font-size:11px;color:var(--mute)}
.opnet-legend span{display:flex;align-items:center;gap:7px}
.opnet-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}
.opnet-legend i.flowdot{background:#8fb2ff;box-shadow:0 0 6px rgba(91,141,239,.9)}
.opnet-hint{text-align:center;font-family:var(--mono);font-size:10px;color:var(--faint);padding:0 6px 8px}

/* protocol-to-study build animation */
.buildviz{position:relative}
.buildviz svg{width:100%;height:auto;display:block}
.bz-lbl{font-family:var(--mono);font-size:9px;fill:#8fa0b6}
.bz-doclbl{font-family:var(--mono);font-size:9px;fill:#c7d2e2}
.bz-src{fill:var(--panel2);stroke:var(--line2)}
.bz-srcline{fill:#42506a}
.bz-conn{fill:none;stroke:rgba(91,141,239,.55);stroke-width:1.5;stroke-dasharray:1}
.bz-spine{fill:none;stroke:var(--teal);stroke-width:2;stroke-dasharray:1}
.bz-branch{stroke:rgba(123,143,173,.6);stroke-width:1.3;stroke-dasharray:1}
.bz-leaf{fill:var(--teal);transform-box:fill-box;transform-origin:center}
.bz-root{fill:var(--amber);transform-box:fill-box;transform-origin:center}
.bz-doc{transform-box:fill-box;transform-origin:left center}
.bz-doc rect{fill:var(--panel2);stroke:var(--line2)}
.bz-doc .bz-ic{fill:rgba(91,141,239,.2);stroke:var(--teal)}
.bz-pulse{fill:#8fb2ff;filter:drop-shadow(0 0 3px rgba(91,141,239,.85))}
.buildviz.play .bz-srcline{animation:bzFade .4s ease both}
.buildviz.play .bz-conn{animation:bzDraw .55s ease both}
.buildviz.play .bz-spine{animation:bzDraw .8s ease both}
.buildviz.play .bz-branch{animation:bzDraw .4s ease both}
.buildviz.play .bz-leaf{animation:bzPop .38s cubic-bezier(.2,1.5,.4,1) both}
.buildviz.play .bz-root{animation:bzPop .4s cubic-bezier(.2,1.5,.4,1) both}
.buildviz.play .bz-doc{animation:bzDoc .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes bzFade{from{opacity:0}to{opacity:1}}
@keyframes bzDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes bzPop{from{opacity:0;transform:scale(.15)}to{opacity:1;transform:none}}
@keyframes bzDoc{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.bz-pulse{animation:bzFlow 2.4s linear infinite}
@keyframes bzFlow{0%{transform:translateX(0);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateX(74px);opacity:0}}

/* predictive intelligence media */
.pi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pi-col{border:1px solid var(--line2);border-radius:12px;padding:14px;background:var(--panel2)}
.pi-lab{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);margin-bottom:9px}
.pi-chip{display:inline-block;font-family:var(--mono);font-size:9.5px;padding:2px 9px;border-radius:999px;border:1px solid var(--violet);color:var(--violet);margin-bottom:12px}
.pi-chip.eng{border-color:var(--teal);color:var(--teal)}
.pi-big{font-family:var(--disp);font-weight:700;font-size:32px;letter-spacing:-.02em;line-height:1}
.pi-big.adv{color:var(--violet)}
.pi-sub{font-family:var(--mono);font-size:10.5px;color:var(--mute);margin-top:6px}
.pi-drift{margin-top:12px;border:1px solid var(--line2);border-radius:12px;padding:14px;background:var(--panel2)}
.pi-spark{stroke:var(--teal);stroke-width:2.4;fill:none;stroke-dasharray:300;stroke-dashoffset:300}
.reveal.in .pi-spark{animation:spark 1.25s cubic-bezier(.4,0,.2,1) .5s forwards}
@keyframes spark{to{stroke-dashoffset:0}}
.pi-dot{opacity:0}
.reveal.in .pi-dot{animation:fade .3s ease forwards}
.reveal.in .pi-dot:nth-of-type(1){animation-delay:.72s}
.reveal.in .pi-dot:nth-of-type(2){animation-delay:.98s}
.reveal.in .pi-dot:nth-of-type(3){animation-delay:1.28s}
.pi-flag{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:11px;color:var(--coral);border:1px solid rgba(229,105,95,.3);background:rgba(229,105,95,.08);border-radius:8px;padding:6px 11px;margin-top:12px;opacity:0}
.reveal.in .pi-flag{animation:fade .5s ease 1.55s forwards}
/* ROC / calibration mini-chart */
.roc-svg .roc-diag{stroke:var(--line2);stroke-dasharray:3 4;stroke-width:1;fill:none}
.roc-svg .roc-curve{stroke:var(--teal);stroke-width:2.4;fill:none;stroke-dasharray:260;stroke-dashoffset:260}
.reveal.in .roc-svg .roc-curve{animation:spark 1.3s cubic-bezier(.4,0,.2,1) .4s forwards}
.roc-svg .roc-fill{fill:rgba(91,141,239,.08);opacity:0}
.reveal.in .roc-svg .roc-fill{animation:fade .6s ease 1s forwards}

@media (prefers-reduced-motion:reduce){
  .ci,.pe,.sig-v{animation:none;transform:none;opacity:1}
  .reveal{transition:none;opacity:1;transform:none}
  .reveal.in .doc-row{animation:none;opacity:1}
  .hero::before{animation:none}
  .bar .fill{transition:none}
  .pi-spark,.roc-svg .roc-curve{stroke-dashoffset:0;animation:none}
  .pi-dot,.pi-flag,.roc-svg .roc-fill{opacity:1;animation:none}
  .bz-pulse{animation:none;opacity:0}
  .buildviz.play *{animation:none!important}
  html{scroll-behavior:auto}
}

/* ===== crow mascot ===== */
.brand{gap:9px}
.brand .brw{color:var(--teal)}
.crow-mark{width:27px;height:27px;flex:none;display:inline-block}
.crow-mark .cm-spark{transform-box:fill-box;transform-origin:center;animation:cmTwinkle 2.6s ease-in-out infinite}
@keyframes cmTwinkle{0%,100%{opacity:.45;transform:scale(.75) rotate(0deg)}50%{opacity:1;transform:scale(1.15) rotate(25deg)}}
@media (prefers-reduced-motion:reduce){.crow-mark .cm-spark{animation:none;opacity:1}}

/* ===== hero CroW mascot animation (profile crow: reads, then casts) ===== */
.crowstage{position:relative;background:radial-gradient(120% 120% at 64% 24%,#151f30,#0b111b 68%);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:0 36px 80px -44px #000;overflow:hidden}
.crowstage svg{width:100%;height:auto;display:block;overflow:visible}
.cw{transform-box:fill-box;transform-origin:center bottom;animation:cwBob 4.6s ease-in-out infinite}
@keyframes cwBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.cw-head{transform-box:view-box;transform-origin:150px 150px;animation:cwHead 6.4s cubic-bezier(.5,0,.35,1) infinite}
@keyframes cwHead{0%,10%{transform:rotate(-3deg)}20%{transform:rotate(15deg)}27%{transform:rotate(11deg)}33%{transform:rotate(16deg)}40%{transform:rotate(12deg)}47%{transform:rotate(15deg)}56%{transform:rotate(-12deg)}66%{transform:rotate(-9deg)}80%{transform:rotate(-3deg)}100%{transform:rotate(-3deg)}}
.cw-wing{transform-box:view-box;transform-origin:150px 168px;animation:cwWing 6.4s ease-in-out infinite}
@keyframes cwWing{0%,50%{transform:rotate(0deg)}62%{transform:rotate(-8deg)}82%{transform:rotate(-3deg)}100%{transform:rotate(0deg)}}
.cw-readdoc{transform-box:view-box;transform-origin:250px 208px;animation:cwFloat 4.8s ease-in-out infinite}
@keyframes cwFloat{0%,100%{transform:translateY(0) rotate(4deg)}50%{transform:translateY(-4px) rotate(4deg)}}
.cw-readline{opacity:0;animation:cwRead 6.4s ease-in-out infinite}
@keyframes cwRead{0%,12%{opacity:0;transform:translateY(0)}20%{opacity:.9}47%{opacity:.9;transform:translateY(20px)}53%{opacity:0;transform:translateY(20px)}100%{opacity:0}}
.cw-lid{animation:cwBlink 6.4s steps(1,end) infinite}
@keyframes cwBlink{0%,4%,8%,72%,76%,100%{opacity:0}5%,7%{opacity:1}73%,75%{opacity:1}}
.cw-gem{transform-box:fill-box;transform-origin:center;animation:cwGem 6.4s ease-in-out infinite}
@keyframes cwGem{0%,50%{opacity:.5;transform:scale(.9)}64%{opacity:1;transform:scale(1.16)}100%{opacity:.55;transform:scale(.95)}}
.cw-halo{transform-box:fill-box;transform-origin:center;animation:cwHalo 6.4s ease-in-out infinite}
@keyframes cwHalo{0%,50%{opacity:.06;transform:scale(.8)}64%{opacity:.42;transform:scale(1.5)}100%{opacity:.08;transform:scale(1)}}
.cw-ray{transform-box:view-box;transform-origin:250px 66px;opacity:0;animation:cwRay 6.4s linear infinite}
@keyframes cwRay{0%,52%{opacity:0}62%{opacity:.9}92%{opacity:.9}100%{opacity:0;transform:rotate(300deg)}}
.cw-spark{transform-box:fill-box;transform-origin:center;opacity:0;animation:cwSpark 6.4s ease-in-out infinite}
@keyframes cwSpark{0%,54%{opacity:0;transform:translate(0,0) scale(.3)}64%{opacity:1;transform:translate(5px,-14px) scale(1)}86%{opacity:.6;transform:translate(12px,-34px) scale(.8)}100%{opacity:0;transform:translate(18px,-52px) scale(.3)}}
.cw-doc{transform-box:fill-box;transform-origin:center;opacity:0;animation:cwDoc 6.4s ease-in-out infinite}
@keyframes cwDoc{0%,56%{opacity:0;transform:translate(0,4px) scale(.4)}68%{opacity:1;transform:translate(0,-6px) scale(1)}90%{opacity:1;transform:translate(12px,-38px) scale(1)}100%{opacity:0;transform:translate(18px,-58px) scale(.9)}}

/* ===== graph node detail panel (click to expand) ===== */
.opn-detail{position:absolute;top:12px;right:12px;width:236px;max-width:calc(100% - 24px);background:rgba(11,15,24,.94);border:1px solid var(--line2);border-radius:12px;padding:14px 14px 12px;box-shadow:0 20px 50px -20px #000;opacity:0;transform:translateX(10px);pointer-events:none;transition:opacity .2s,transform .2s;z-index:5}
.opn-detail.open{opacity:1;transform:none;pointer-events:auto}
.opn-x{position:absolute;top:7px;right:10px;background:none;border:none;color:var(--faint);font-size:19px;cursor:pointer;line-height:1}
.opn-x:hover{color:var(--fg)}
.opn-d-type{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase}
.opn-d-title{font-family:var(--disp);font-weight:700;font-size:17px;margin:2px 0 8px;padding-right:16px}
.opn-d-desc{font-size:12px;color:var(--mute);line-height:1.5;margin-bottom:12px}
.opn-d-h{font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-bottom:6px}
.opn-d-list{display:flex;flex-direction:column;gap:4px;max-height:156px;overflow-y:auto}
.opn-d-row{display:flex;align-items:center;gap:7px;width:100%;text-align:left;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:6px 8px;cursor:pointer;color:var(--fg);font-size:12px;transition:border-color .15s}
.opn-d-row:hover{border-color:var(--teal)}
.opn-d-dot{width:8px;height:8px;border-radius:50%;flex:none}
.opn-d-sub{margin-left:auto;font-family:var(--mono);font-size:9px;color:var(--faint);white-space:nowrap}

/* ===== study lifecycle: the CroW sorts the workflow ===== */
.lifewrap{position:relative;background:linear-gradient(180deg,var(--panel),#0b111b);border:1px solid var(--line);border-radius:20px;padding:20px 16px 6px;box-shadow:0 44px 100px -54px #000;overflow:hidden;margin-top:8px}
.lifewrap::after{content:"";position:absolute;inset:0;background:radial-gradient(620px 220px at 50% 20%,rgba(91,141,239,.07),transparent 70%);pointer-events:none}
#lifecycle{position:relative}
#lifecycle svg{width:100%;height:auto;display:block;overflow:visible}
.life-node{transition:fill .3s,stroke .3s}
.life-node.on{fill:#5b8def;stroke:#8fb2ff}
.life-num{font-family:var(--mono);font-size:10px;fill:#5a6a7e;font-weight:600;transition:fill .3s}
.life-num.on{fill:#0b0f18}
.life-lbl{font-family:var(--mono);font-size:10.5px;fill:#5a6a7e;transition:fill .3s}
.life-lbl.on{fill:#c7d2e2}

/* ===== pricing redesign (three balanced tiers + included band) ===== */
.inc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 22px;margin:36px 0 30px;padding:22px 24px;background:#fff;border:1px solid var(--paper-line);border-radius:16px}
.inc{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#33465c}
.inc .ick{color:var(--teal2);flex:none;font-weight:800}
.price{position:relative}
.price .badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--teal2);color:#fff;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:999px;white-space:nowrap;box-shadow:0 6px 16px -6px rgba(58,95,196,.6)}
.price .amt small{font-size:13px;color:var(--paper-mute);font-weight:500;font-family:var(--body)}
.price-grid{grid-template-columns:repeat(3,1fr);max-width:none;align-items:stretch}
.price-foot{text-align:center;color:var(--paper-mute);font-size:13px;margin-top:28px}
@media(max-width:920px){
  .price-grid{grid-template-columns:1fr;max-width:420px}
  .inc-grid{grid-template-columns:1fr;max-width:460px;margin-left:auto;margin-right:auto}
}

.brand .bword{white-space:nowrap}
