
@font-face{font-family:"Inter Tight";src:url("/assets/fonts/inter.woff2") format("woff2");font-weight:500 700;font-display:swap}
@font-face{font-family:"Inter";src:url("/assets/fonts/inter.woff2") format("woff2");font-weight:400 600;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("/assets/fonts/jbmono.woff2") format("woff2");font-weight:400 500;font-display:swap}
/* =========================================================
   TEAMLESS / Marketing memory
   Design tokens
   ========================================================= */
:root{
  --bg:#090D0A;
  --bg-2:#0C110D;
  --panel:#0F1410;
  --panel-2:#141A15;
  --panel-3:#192019;
  --text:#F1F3EE;
  --text-2:#C8CEC5;
  --muted:#8E978E;
  --dim:#5D665D;
  --lime:#B9FF50;
  --lime-ink:#0A1004;
  --lime-08:rgba(185,255,80,.08);
  --lime-14:rgba(185,255,80,.14);
  --lime-30:rgba(185,255,80,.30);
  --orange:#FF815C;
  --orange-10:rgba(255,129,92,.10);
  --orange-30:rgba(255,129,92,.32);
  --line:rgba(200,220,200,.14);
  --line-2:rgba(200,220,200,.26);
  --line-3:rgba(200,220,200,.40);

  --f-display:"Inter Tight","Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --f-body:"Inter",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
  --f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;

  --pad:clamp(20px,4.2vw,64px);
  --max:1360px;
  --nav-h:68px;
  --r:6px;
  --ease:cubic-bezier(.2,.7,.2,1);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 12px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:var(--f-body);font-size:17px;line-height:1.55;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;text-rendering:optimizeLegibility;
}
img,svg{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:600}
ul,ol,dl,dd{margin:0;padding:0}
ul,ol{list-style:none}
::selection{background:var(--lime);color:var(--lime-ink)}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--lime);color:var(--lime-ink);padding:10px 14px;font-weight:600;text-decoration:none;border-radius:2px}
.skip:focus{top:12px}

/* ---------- primitives ---------- */
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;line-height:1.5;font-weight:400}
.mono-n{font-family:var(--f-mono);font-size:13px;letter-spacing:.02em}
.lime{color:var(--lime)}
.orange{color:var(--orange)}
.muted{color:var(--muted)}
.dim{color:var(--dim)}
.soft{color:#A9B1A7}

.h-display{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(40px,5.3vw,80px);line-height:.98;letter-spacing:-.04em;
}
.h2{
  font-family:var(--f-display);font-weight:600;
  font-size:clamp(32px,3.9vw,60px);line-height:1.02;letter-spacing:-.035em;
  text-wrap:balance;
}
.h3{font-family:var(--f-display);font-weight:600;font-size:clamp(21px,1.8vw,26px);line-height:1.15;letter-spacing:-.02em}
.lede{font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:var(--text-2);max-width:58ch}
.body-s{font-size:15px;line-height:1.55;color:var(--text-2)}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 22px;border:1px solid var(--line-2);border-radius:2px;
  font-family:var(--f-body);font-size:15px;font-weight:500;letter-spacing:-.005em;
  text-decoration:none;color:var(--text);background:transparent;
  transition:background .2s var(--ease),border-color .2s var(--ease),color .2s var(--ease);
}
.btn svg{width:16px;height:16px;flex:none}
.btn:hover{border-color:var(--line-3);background:rgba(241,243,238,.04)}
.btn-primary{background:var(--lime);border-color:var(--lime);color:var(--lime-ink);font-weight:600}
.btn-primary:hover{background:#CBFF78;border-color:#CBFF78}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px;white-space:nowrap}

.chip{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--f-mono);font-size:12px;letter-spacing:.02em;
  padding:5px 9px;border:1px solid var(--line-2);border-radius:3px;color:var(--text-2);
  background:rgba(241,243,238,.02);white-space:nowrap;
}
.chip.l{border-color:var(--lime-30);color:var(--lime);background:var(--lime-08)}
.chip.o{border-color:var(--orange-30);color:var(--orange);background:var(--orange-10)}

.illus{
  font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);border:1px dashed var(--line-2);padding:3px 8px;border-radius:2px;white-space:nowrap;
}

/* section scaffolding */
.sec{position:relative;padding:clamp(72px,8vw,120px) 0}
.sec-alt{background:var(--bg-2)}
.sec-grid-bg{
  background-image:
    linear-gradient(to right,rgba(200,220,200,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(200,220,200,.045) 1px,transparent 1px);
  background-size:88px 88px;background-position:center top;
}
.sec-head{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding-top:18px;border-top:1px solid var(--line);margin-bottom:clamp(40px,5vw,72px);
  color:var(--muted);
}
.sec-head .idx{color:var(--text-2)}
.sec-head .idx b{color:var(--lime);font-weight:400}
.sec-intro{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(28px,5vw,96px);align-items:end;margin-bottom:clamp(48px,6vw,88px)}
.sec-intro .lede{justify-self:start}
.pull{
  font-family:var(--f-display);font-weight:600;letter-spacing:-.03em;line-height:1.05;
  font-size:clamp(28px,3.4vw,52px);max-width:22ch;text-wrap:balance;
}

/* reveal: only the elements that tell a story */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal.in{opacity:1;transform:none}
.no-js .reveal{opacity:1;transform:none}

/* =========================================================
   NAV
   ========================================================= */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:100;height:var(--nav-h);
  background:rgba(9,13,10,.0);border-bottom:1px solid transparent;
  transition:background .3s var(--ease),border-color .3s var(--ease),backdrop-filter .3s;
}
.nav.scrolled{background:rgba(9,13,10,.86);border-bottom-color:var(--line);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.nav-in{height:100%;display:flex;align-items:center;gap:32px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--f-display);font-weight:600;font-size:19px;letter-spacing:-.02em}
.brand-mark{width:30px;height:30px}
.nav-links{display:flex;gap:28px;margin-left:auto}
.nav-links a{font-size:14px;color:var(--text-2);text-decoration:none;position:relative;padding:6px 0}
.nav-links a:hover,.nav-links a.active{color:var(--text)}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--lime)}
.nav-cta{display:flex;align-items:center;gap:18px}
.nav-login{font-size:14px;color:var(--text-2);text-decoration:none}
.nav-login:hover{color:var(--text)}
.nav-toggle{display:none;width:44px;height:44px;margin-left:auto;align-items:center;justify-content:center;flex-direction:column;gap:6px;border:1px solid var(--line-2);border-radius:2px}
.nav-toggle span{display:block;width:18px;height:1.5px;background:var(--text);transition:transform .25s var(--ease)}
.nav-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.75px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.75px) rotate(-45deg)}
.mnav{position:fixed;inset:var(--nav-h) 0 0 0;background:var(--bg);z-index:99;padding:28px var(--pad);display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line)}
.mnav[hidden]{display:none}
.mnav a{font-family:var(--f-display);font-size:30px;font-weight:600;letter-spacing:-.03em;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line)}
.mnav .btn{margin-top:24px;font-family:var(--f-body);font-size:16px;letter-spacing:0;border-bottom:1px solid var(--lime)}
.mnav .mnav-login{font-size:18px;color:var(--text-2);font-family:var(--f-body);letter-spacing:0;font-weight:400;border:0}

/* =========================================================
   01 HERO
   ========================================================= */
.hero{position:relative;padding:calc(var(--nav-h) + clamp(48px,7vw,104px)) 0 0;min-height:100vh;display:flex;flex-direction:column}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:clamp(32px,4vw,72px);align-items:center;flex:1}
.eyebrow{display:flex;align-items:center;gap:12px;color:var(--lime);margin-bottom:28px}
.eyebrow .sq{width:8px;height:8px;background:var(--lime);display:inline-block}
.hero h1{max-width:14ch}
.hero h1 .lime{display:inline}
.hero .lede{margin-top:30px;max-width:50ch}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}

.hero-vis{position:relative;height:clamp(520px,44vw,640px)}
.hero-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}
.hero-lines path{fill:none;stroke:var(--lime);stroke-width:1.25;stroke-linecap:round}
.hero-lines path.ghost{stroke:var(--line-2);stroke-dasharray:3 5}
.hfrag{
  position:absolute;width:30%;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:14px 15px 13px;transition:border-color .6s var(--ease),background .6s var(--ease),transform .6s var(--ease);
}
.hfrag .k{color:var(--muted);display:flex;justify-content:space-between;gap:8px}
.hfrag p.t{font-size:14px;line-height:1.4;margin:8px 0 10px;color:var(--text)}
.hfrag .src{font-family:var(--f-mono);font-size:11px;color:var(--dim);letter-spacing:.02em}
.hfrag.lit{border-color:var(--lime-30);background:linear-gradient(var(--lime-08),var(--lime-08)),var(--panel)}
.hfrag.lit .k span:first-child{color:var(--lime)}
@media (prefers-reduced-motion:no-preference){
  .hfrag{animation:drift 9s ease-in-out infinite alternate}
  .hfrag:nth-child(3){animation-delay:-2s}.hfrag:nth-child(4){animation-delay:-4s}
  .hfrag:nth-child(5){animation-delay:-6s}.hfrag:nth-child(6){animation-delay:-1s}.hfrag:nth-child(7){animation-delay:-5s}
  .hero-vis.linked .hfrag{animation-play-state:paused}
}
@keyframes drift{from{transform:translate(0,0)}to{transform:translate(0,-6px)}}
.hf-0{left:0;top:0}
.hf-1{left:70%;top:5%}
.hf-2{left:69%;top:39%}
.hf-3{left:70%;top:74%}
.hf-4{left:1%;top:71%}
.hf-5{left:2%;top:36%}
.hcore{
  position:absolute;left:50%;top:51%;transform:translate(-50%,-50%) scale(.96);width:30%;min-width:150px;
  border:1px dashed var(--line-2);border-radius:var(--r);padding:16px;background:var(--bg);
  text-align:left;transition:all .8s var(--ease);opacity:.7;
}
.hcore strong{display:block;font-family:var(--f-display);font-size:18px;line-height:1.15;letter-spacing:-.02em;margin:8px 0 10px}
.hcore .mono{font-size:11px}
.hero-vis.linked .hcore{border-style:solid;border-color:var(--lime);opacity:1;transform:translate(-50%,-50%) scale(1);box-shadow:0 0 0 6px var(--lime-08)}
.hcore .hc-count{color:var(--dim);transition:color .6s}
.hero-vis.linked .hcore .hc-count{color:var(--lime)}
.vis-tag{position:absolute;right:0;bottom:-34px}
.hero-strip{
  display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;
  margin-top:clamp(56px,6vw,88px);padding-top:18px;padding-bottom:22px;border-top:1px solid var(--line);color:var(--muted);
}
.hero-strip .lime-dot::before{content:"";display:inline-block;width:6px;height:6px;background:var(--lime);margin-right:10px;vertical-align:1px}

/* =========================================================
   02 FRAGMENTED CAMPAIGN
   ========================================================= */
.fragsec{position:relative;background:var(--bg)}
.frag-track{position:relative}
.frag-track.sticky-mode{height:340vh}
.frag-stage{padding:clamp(96px,10vw,150px) 0}
.sticky-mode .frag-stage{position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));padding:24px 0;display:flex;align-items:center;overflow:hidden}
.sticky-mode .frag-stage>.wrap{width:100%}
.frag-layout{display:grid;grid-template-columns:minmax(0,.66fr) minmax(0,1.6fr);gap:clamp(32px,4vw,72px);align-items:center}
.frag-copy .h2{font-size:clamp(32px,3.4vw,54px)}
.frag-copy .h2 .soft{display:block}
.step-count b{font-weight:400;color:var(--dim);transition:color .4s}
.step-count b.on{color:var(--lime)}
.step-count .sep{display:inline-block;width:28px}
.frag-steps{margin-top:32px;border-top:1px solid var(--line)}
.frag-steps li{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line);color:var(--dim);font-size:15px;line-height:1.45;transition:color .4s var(--ease)}
.frag-steps li .mono{font-size:11px;padding-top:3px}
.frag-steps li.on{color:var(--text)}
.frag-steps li.on .mono{color:var(--lime)}
.frag-steps li.cur{color:var(--text)}
.frag-foot{margin-top:28px}
.frag-foot .mono{color:var(--lime);margin-bottom:6px}
.frag-foot p.big{font-family:var(--f-display);font-size:clamp(20px,1.8vw,26px);letter-spacing:-.02em;line-height:1.2}

.quad{
  position:relative;display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,1.2fr) minmax(0,1fr);
  grid-template-rows:auto minmax(200px,auto) auto;
}
.quad-svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.quad-svg path{fill:none;stroke:var(--lime);stroke-width:1;opacity:.8}
.qcard{position:relative;z-index:2;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 16px;min-height:150px;display:flex;flex-direction:column;transition:border-color .5s var(--ease)}
.qcard .mono{color:var(--muted)}
.qcard h3{font-family:var(--f-display);font-size:clamp(22px,2vw,30px);letter-spacing:-.025em;line-height:1.05;margin:10px 0 12px}
.qcard .qmeta{margin-top:auto;color:var(--text-2);font-size:15px}
.qcard .qnote{color:var(--dim);font-size:13px;margin-top:4px}
.qcard .chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.qcard .chips .chip{font-size:11px;padding:4px 7px}
.qcard.on{border-color:var(--lime-30)}
.q-strat{grid-column:1;grid-row:1}
.q-exec{grid-column:3;grid-row:1}
.q-perf{grid-column:3;grid-row:3}
.q-learn{grid-column:1;grid-row:3}
.dash3{display:flex;align-items:flex-end;gap:10px;margin-top:auto}
.dash3 div{flex:1}
.dash3 i{display:block;background:var(--line-2);border-radius:1px}
.dash3 span{display:block;font-family:var(--f-mono);font-size:10px;color:var(--muted);margin-top:6px;letter-spacing:.06em}
.dash3 .d1 i{height:34px}.dash3 .d2 i{height:22px}.dash3 .d3 i{height:46px;background:var(--orange-30)}
.qlink{position:relative;z-index:2;display:flex;align-items:center;justify-content:center}
.ql-top{grid-column:2;grid-row:1}
.ql-bottom{grid-column:2;grid-row:3}
.ql-left{grid-column:1;grid-row:2}
.ql-right{grid-column:3;grid-row:2}
.qlink .ln{position:absolute;background-image:linear-gradient(to right,var(--line-3) 50%,transparent 50%);background-size:8px 1px;height:1px;left:0;right:0;top:50%}
.qlink.v .ln{width:1px;height:auto;left:50%;right:auto;top:0;bottom:0;background-image:linear-gradient(to bottom,var(--line-3) 50%,transparent 50%);background-size:1px 8px}
.qlink .lnl{position:absolute;background:var(--lime);height:1.5px;left:0;right:0;top:50%;transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}
.qlink.v .lnl{width:1.5px;height:auto;left:50%;right:auto;top:0;bottom:0;transform:scaleY(0);transform-origin:top}
.ql-bottom .lnl{transform-origin:right}
.ql-left .lnl{transform-origin:bottom}
.qlink.on .lnl{transform:none}
.qlink .lbl{position:relative;z-index:1;font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;background:var(--bg);padding:4px 8px;color:var(--orange);transition:color .4s}
.qlink.v .lbl{transform:translateX(0)}
.qlink .lbl .ok{display:none}
.qlink.on .lbl{color:var(--lime)}
.qlink.on .lbl .nl{display:none}
.qlink.on .lbl .ok{display:inline}

.mcore{grid-column:2;grid-row:2;position:relative;z-index:3;align-self:center;margin:18px 10px;
  border:1px dashed var(--orange-30);border-radius:var(--r);padding:16px;min-height:200px;background:var(--bg);
  transition:border-color .6s var(--ease),box-shadow .6s var(--ease);
}
.mcore .mc-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--orange);opacity:.85;transition:opacity .5s;padding:16px}
.mcore .mc-full{opacity:0;transition:opacity .6s var(--ease)}
.mcore.on{border-style:solid;border-color:var(--lime);box-shadow:0 0 0 6px var(--lime-08),0 30px 80px -30px rgba(185,255,80,.25)}
.mcore.on .mc-empty{opacity:0}
.mcore.on .mc-full{opacity:1}
.mc-head{display:flex;justify-content:space-between;color:var(--lime)}
.mc-head .dim{color:var(--muted)}
.mc-title{font-family:var(--f-display);font-weight:600;font-size:17px;letter-spacing:-.015em;margin:6px 0 10px}
.mc-rows>div{display:grid;grid-template-columns:96px 1fr;gap:8px;padding:5px 0;border-top:1px solid var(--line);opacity:.25;transition:opacity .5s var(--ease)}
.mc-rows>div.on{opacity:1}
.mc-rows dt{font-family:var(--f-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--lime);padding-top:2px}
.mc-rows dd{font-size:12.5px;line-height:1.35;color:var(--text-2)}

/* =========================================================
   03 MISSING DECISION RECORD
   ========================================================= */
.miss-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.25fr);gap:clamp(36px,6vw,110px);align-items:start}
.miss-intro{position:sticky;top:calc(var(--nav-h) + 40px)}
.miss-intro .lede{margin-top:28px}
.qtable{border-top:1px solid var(--line-2)}
.qtable .qhead{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;padding:12px 0;color:var(--muted);border-bottom:1px solid var(--line-2)}
.qtable li{display:grid;grid-template-columns:1.25fr 1fr;gap:24px;padding:20px 0;border-bottom:1px solid var(--line);align-items:baseline}
.qtable .q{font-family:var(--f-display);font-size:clamp(19px,1.7vw,24px);letter-spacing:-.02em;line-height:1.2}
.qtable .w{font-family:var(--f-mono);font-size:13px;color:var(--orange);letter-spacing:.01em}
.qtable li:last-child .q{color:var(--lime)}
.rec-split{display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(64px,8vw,120px);border:1px solid var(--line)}
.rec-split>div{padding:clamp(24px,3vw,44px)}
.rec-split>div+div{border-left:1px solid var(--lime-30);background:var(--lime-08)}
.rec-split .big{font-family:var(--f-display);font-size:clamp(26px,2.8vw,42px);letter-spacing:-.03em;line-height:1.05;margin:14px 0 10px}
.rec-split .mono{color:var(--muted)}
.rec-split>div+div .mono{color:var(--lime)}

/* =========================================================
   04 CAMPAIGN RECORD LOOP
   ========================================================= */
.loop-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(32px,5vw,88px);align-items:center}
.loop-wrap{position:relative;width:100%;max-width:560px;aspect-ratio:1;margin:0 auto}
.loop-svg{position:absolute;inset:0;width:100%;height:100%}
.loop-svg .trk{fill:none;stroke:var(--line-3);stroke-width:1;stroke-dasharray:1 5}
.loop-svg .prg{fill:none;stroke:var(--lime);stroke-width:1.5;transition:stroke-dashoffset 1s var(--ease)}
.loop-svg .dot{fill:var(--lime)}
.loop-svg .tick{stroke:var(--line-3);stroke-width:1}
.lnode{
  position:absolute;transform:translate(-50%,-50%);z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:4px;
  background:var(--bg-2);border:1px solid var(--line-2);border-radius:3px;padding:12px 16px;min-width:132px;
  transition:border-color .3s,background .3s,color .3s;
}
.lnode .mono{font-size:11px;color:var(--muted)}
.lnode .nm{font-family:var(--f-display);font-weight:600;font-size:19px;letter-spacing:-.02em}
.lnode:hover{border-color:var(--line-3)}
.lnode[aria-selected="true"]{border-color:var(--lime);background:var(--lime-08)}
.lnode[aria-selected="true"] .mono{color:var(--lime)}
.ln-0{left:50%;top:10.7%}.ln-1{left:89.3%;top:50%}.ln-2{left:50%;top:89.3%}.ln-3{left:10.7%;top:50%}
.loop-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;width:46%}
.loop-center .big{font-family:var(--f-display);font-size:clamp(17px,1.5vw,21px);color:var(--text-2);letter-spacing:-.03em;line-height:1.08;margin-top:10px}
.loop-center .mono{color:var(--muted)}
.stage-panel{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);min-height:520px;display:flex;flex-direction:column}
.sp-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 22px;border-bottom:1px solid var(--line);color:var(--muted)}
.sp-body{padding:26px 22px 22px}
.sp-q{font-family:var(--f-display);font-size:clamp(24px,2.4vw,34px);letter-spacing:-.03em;line-height:1.08;margin:8px 0 22px}
.sp-fields>div{display:grid;grid-template-columns:minmax(120px,.38fr) 1fr;gap:16px;padding:11px 0;border-top:1px solid var(--line)}
.sp-fields dt{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);padding-top:3px}
.sp-fields dd{font-size:15px;line-height:1.45;color:var(--text)}
.sp-fields .from{display:inline-block;margin-top:6px}
.sp-anim .sp-fields>div{animation:rowin .5s var(--ease) both}
@keyframes rowin{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.loop-auto{display:flex;align-items:center;gap:10px;margin-top:auto;padding:14px 22px;border-top:1px solid var(--line);color:var(--muted)}
.loop-auto button{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);border:1px solid var(--line-2);padding:6px 10px;border-radius:2px}
.loop-auto button:hover{border-color:var(--line-3)}

.inherit{margin-top:clamp(64px,8vw,112px);display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,.5fr) minmax(0,1fr);align-items:center;gap:0}
.inh-card{border:1px solid var(--line);border-radius:var(--r);background:var(--panel);padding:20px 22px}
.inh-card.next{border-color:var(--lime-30)}
.inh-card .mono{color:var(--muted);display:flex;justify-content:space-between;gap:10px}
.inh-card h4{font-family:var(--f-display);font-size:21px;letter-spacing:-.02em;margin:10px 0 12px;line-height:1.2}
.inh-card ul li{font-size:14px;color:var(--text-2);padding:7px 0;border-top:1px solid var(--line);display:flex;gap:10px}
.inh-card ul li::before{content:"";flex:none;width:6px;height:6px;margin-top:7px;background:var(--lime)}
.inh-card.next ul li::before{background:var(--lime)}
.inh-card ul li.unc::before{background:var(--orange)}
.inh-pipe{position:relative;height:2px;margin:0 -1px}
.inh-pipe i{position:absolute;inset:0;background:var(--lime);transform-origin:left;transform:scaleX(0);transition:transform 1.2s var(--ease)}
.inherit.in .inh-pipe i{transform:none}
.inh-pipe span{position:absolute;left:50%;top:-30px;transform:translateX(-50%);white-space:nowrap;color:var(--lime);font-size:11px}
.inh-caption{margin-top:28px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:baseline}

/* =========================================================
   05 DECISION MOMENT
   ========================================================= */
.app{border:1px solid var(--line-2);border-radius:8px;background:var(--panel);overflow:hidden}
.app-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid var(--line);background:var(--bg-2);color:var(--muted)}
.app-bar .crumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.app-bar .crumbs b{color:var(--text);font-weight:400}
.app-cols{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr) minmax(0,1.05fr)}
.dcol{padding:22px 22px 24px;min-width:0}
.dcol+.dcol{border-left:1px solid var(--line)}
.col-k{display:flex;align-items:center;gap:10px;color:var(--muted);margin-bottom:12px}
.col-k .n{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:1px solid var(--line-2);font-size:10px;border-radius:2px}
.dcol h3{font-family:var(--f-display);font-size:20px;letter-spacing:-.02em;line-height:1.2;margin-bottom:18px}
.stats{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
.stats>div{display:grid;grid-template-columns:72px 1fr;align-items:baseline;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.stats dt{font-family:var(--f-display);font-size:32px;letter-spacing:-.04em;font-weight:600;line-height:1}
.stats dd{font-size:14px;color:var(--text-2);line-height:1.35}
.notes{margin-top:18px}
.notes .mono{color:var(--muted);margin-bottom:8px}
.notes blockquote{margin:0 0 8px;padding:10px 12px;border-left:2px solid var(--line-3);background:rgba(241,243,238,.025);font-size:14px;color:var(--text-2);line-height:1.4}
.notes .theme{margin-top:12px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.memlist>li{padding:11px 0;border-top:1px solid var(--line)}
.memlist .mk{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:5px}
.memlist .mk .mono{font-size:11px;color:var(--lime)}
.memlist .mk .src{font-family:var(--f-mono);font-size:11px;color:var(--dim)}
.memlist p{font-size:14.5px;line-height:1.45;color:var(--text)}
.memlist li.contra .mk .mono{color:var(--orange)}
.memlist li.chg .mk .mono{color:var(--text-2)}
.evdrawer{margin-top:14px;border:1px solid var(--lime-30);border-radius:4px;background:var(--bg-2);overflow:hidden}
.evdrawer[hidden]{display:none}
.evdrawer .evh{padding:10px 12px;border-bottom:1px solid var(--line);color:var(--lime);display:flex;justify-content:space-between}
.evtable{width:100%;border-collapse:collapse;font-size:13px}
.evtable th,.evtable td{text-align:left;padding:8px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.evtable th{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:400}
.evtable td:first-child{font-family:var(--f-mono);font-size:12px;color:var(--text-2);white-space:nowrap}
.evtable .ty{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase}
.motion{counter-reset:m;border-top:1px solid var(--line)}
.motion li{counter-increment:m;display:grid;grid-template-columns:26px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.4;transition:background .4s}
.motion li::before{content:counter(m,decimal-leading-zero);font-family:var(--f-mono);font-size:11px;color:var(--lime);padding-top:3px}
.motion li.changed{background:var(--lime-08)}
.motion b{font-weight:600;color:var(--lime)}
.why{margin-top:12px;color:var(--muted);font-size:11px;line-height:1.6}
.ctls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.ctl{min-height:44px;border:1px solid var(--line-2);border-radius:2px;font-size:14px;font-weight:500;transition:all .2s}
.ctl:hover{border-color:var(--line-3);background:rgba(241,243,238,.04)}
.ctl.accept{background:var(--lime);color:var(--lime-ink);border-color:var(--lime);font-weight:600}
.ctl.accept:hover{background:#CBFF78}
.ctl[aria-pressed="true"]:not(.accept),.ctl[aria-expanded="true"]{border-color:var(--lime);color:var(--lime)}
.cpanel{margin-top:12px;border:1px solid var(--line-2);border-radius:4px;padding:14px;background:var(--bg-2)}
.cpanel[hidden]{display:none}
.cpanel legend,.cpanel .mono{color:var(--muted);margin-bottom:10px;padding:0}
.cpanel fieldset{border:0;margin:0;padding:0}
.opt{display:flex;gap:10px;align-items:flex-start;padding:7px 0;font-size:14px;cursor:pointer}
.opt input{accent-color:var(--lime);margin-top:4px}
.cpanel .chips{display:flex;flex-wrap:wrap;gap:8px}
.cpanel .chipbtn{font-family:var(--f-mono);font-size:12px;border:1px solid var(--line-2);padding:7px 10px;border-radius:3px;color:var(--text-2)}
.cpanel .chipbtn:hover,.cpanel .chipbtn[aria-pressed="true"]{border-color:var(--orange);color:var(--orange)}
.cpanel .btn{margin-top:12px;min-height:40px;font-size:14px}
.dstatus{margin-top:14px;color:var(--muted);min-height:20px;font-size:11px}
.dstatus.ok{color:var(--lime)}
.dstatus.no{color:var(--orange)}
.dflow{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid var(--line);background:var(--bg-2)}
.dflow li{position:relative;padding:16px 18px;color:var(--dim);font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;transition:color .4s}
.dflow li+li{border-left:1px solid var(--line)}
.dflow li::before{content:"";position:absolute;left:0;top:-1px;height:2px;width:100%;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.dflow li.on{color:var(--text)}
.dflow li.on::before{transform:none}
.dflow li .s{display:block;margin-top:6px;font-family:var(--f-body);font-size:13px;letter-spacing:0;text-transform:none;color:var(--muted)}
.dec-pull{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end}

/* =========================================================
   06 USE CASES
   ========================================================= */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--line-2);overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{position:relative;padding:16px 22px 16px 0;margin-right:22px;color:var(--muted);font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-align:left}
.tab .c{color:var(--dim);margin-right:8px}
.tab:hover{color:var(--text-2)}
.tab[aria-selected="true"]{color:var(--text)}
.tab[aria-selected="true"] .c{color:var(--lime)}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--lime)}
.uc-panel{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1.6fr);gap:clamp(28px,4vw,72px);padding-top:clamp(32px,4vw,56px)}
.uc-panel[hidden]{display:none}
.uc-side p.big{font-family:var(--f-display);font-size:clamp(24px,2.2vw,32px);letter-spacing:-.025em;line-height:1.1;margin-bottom:14px}
.uc-side .body-s{max-width:36ch}
.uc-rows>li{display:grid;grid-template-columns:56px minmax(0,1fr) minmax(0,.62fr);gap:20px;padding:22px 0;border-top:1px solid var(--line);position:relative}
.uc-rows>li:last-child{border-bottom:1px solid var(--line)}
.uc-rows>li::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:0;background:var(--lime);transition:width .5s var(--ease)}
.uc-rows>li:hover::before{width:100%}
.uc-rows .n{font-family:var(--f-mono);font-size:12px;color:var(--dim);padding-top:5px}
.uc-rows h3{font-family:var(--f-display);font-size:clamp(19px,1.6vw,23px);letter-spacing:-.02em;line-height:1.2;margin-bottom:8px}
.uc-rows p{font-size:15px;color:var(--text-2);line-height:1.5;max-width:60ch}
.uc-rows .bf{display:flex;flex-wrap:wrap;gap:6px;align-content:flex-start;padding-top:4px}
.uc-rows .bf .mono{width:100%;font-size:10.5px;color:var(--muted);margin-bottom:2px}
.uc-rows .bf .chip{font-size:11px;padding:4px 7px}
.uc-common{margin-top:clamp(48px,6vw,80px);padding:clamp(24px,3vw,40px);border:1px solid var(--lime-30);background:var(--lime-08);display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;border-radius:var(--r)}
.uc-common .mono{color:var(--lime)}
.uc-common p.big{font-family:var(--f-display);font-size:clamp(22px,2.2vw,32px);letter-spacing:-.025em;line-height:1.15}

.ask{margin-top:8px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);overflow:hidden}
.ask-top{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;color:var(--muted);align-items:center}
.ask-qs{display:flex;flex-wrap:wrap;gap:8px;padding:16px 18px;border-bottom:1px solid var(--line)}
.askq{font-size:13.5px;border:1px solid var(--line-2);border-radius:3px;padding:8px 11px;color:var(--text-2);text-align:left;line-height:1.3}
.askq:hover{border-color:var(--line-3);color:var(--text)}
.askq[aria-pressed="true"]{border-color:var(--lime);color:var(--lime);background:var(--lime-08)}
.ask-a{padding:20px 18px 22px;min-height:260px}
.ask-a .qline{font-family:var(--f-display);font-size:20px;letter-spacing:-.02em;margin-bottom:14px}
.ask-a .ans{font-size:15.5px;line-height:1.55;color:var(--text);max-width:68ch}
.ask-a .ans sup{font-family:var(--f-mono);font-size:10px;color:var(--lime);margin-left:2px}
.ask-a .conf{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.ask-ev{margin-top:16px;border-top:1px solid var(--line)}
.ask-ev li{display:grid;grid-template-columns:28px 120px 1fr auto;gap:12px;align-items:baseline;padding:9px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--text-2)}
.ask-ev .i{font-family:var(--f-mono);font-size:11px;color:var(--lime)}
.ask-ev .ty{font-family:var(--f-mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ask-ev .c{font-family:var(--f-mono);font-size:11px;color:var(--dim)}
.ask-anim{animation:rowin .45s var(--ease) both}

/* evidence type colors (shared) */
.ty-fact{color:var(--text)!important}
.ty-dec{color:var(--lime)!important}
.ty-int{color:#C9D7B8!important}
.ty-con{color:var(--orange)!important}

/* =========================================================
   07 PERSONAS
   ========================================================= */
.pers{display:grid;grid-template-columns:minmax(0,.36fr) minmax(0,1fr);gap:clamp(24px,4vw,64px)}
.ptabs{display:flex;flex-direction:column;border-top:1px solid var(--line-2)}
.ptab{display:grid;grid-template-columns:30px 1fr;gap:8px;text-align:left;padding:18px 0;border-bottom:1px solid var(--line);color:var(--muted);position:relative}
.ptab .n{font-family:var(--f-mono);font-size:11px;padding-top:4px}
.ptab .nm{font-family:var(--f-display);font-size:19px;letter-spacing:-.015em;line-height:1.2;color:var(--text-2)}
.ptab .rl{display:block;font-family:var(--f-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;margin-top:6px;color:var(--dim)}
.ptab:hover .nm{color:var(--text)}
.ptab[aria-selected="true"] .nm{color:var(--text)}
.ptab[aria-selected="true"] .n,.ptab[aria-selected="true"] .rl{color:var(--lime)}
.ptab[aria-selected="true"]::before{content:"";position:absolute;left:-14px;top:18px;bottom:18px;width:2px;background:var(--lime)}
.pview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(20px,3vw,44px)}
.pcopy .pmsg{font-family:var(--f-display);font-weight:600;font-size:clamp(28px,3vw,44px);letter-spacing:-.035em;line-height:1.02;margin-bottom:22px;text-wrap:balance}
.pcopy .pprob{border-left:2px solid var(--orange);padding-left:14px;margin-bottom:22px}
.pcopy .pprob .mono{color:var(--orange);margin-bottom:6px}
.pcopy .pprob p{font-size:16px;color:var(--text)}
.pcopy .pneeds .mono{color:var(--muted);margin-bottom:8px}
.pcopy .pneeds li{font-size:15px;color:var(--text-2);padding:8px 0;border-top:1px solid var(--line);display:flex;gap:10px}
.pcopy .pneeds li::before{content:"";flex:none;width:5px;height:5px;background:var(--lime);margin-top:9px}
.pmem{border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);overflow:hidden;align-self:start}
.pmem-top{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;color:var(--muted)}
.pmem-q{padding:16px;border-bottom:1px solid var(--line)}
.pmem-q .mono{color:var(--lime);margin-bottom:6px}
.pmem-q p{font-family:var(--f-display);font-size:19px;letter-spacing:-.02em;line-height:1.2}
.pmem-rows>div{padding:12px 16px;border-bottom:1px solid var(--line);opacity:.32;transition:opacity .4s var(--ease),background .4s var(--ease);position:relative}
.pmem-rows>div:last-child{border-bottom:0}
.pmem-rows>div.hi{opacity:1;background:var(--lime-08)}
.pmem-rows>div.hi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--lime)}
.pmem-rows .mono{font-size:10.5px;color:var(--muted);margin-bottom:4px}
.pmem-rows .hi .mono{color:var(--lime)}
.pmem-rows p{font-size:14px;line-height:1.4;color:var(--text)}
.pmem-rows .note{display:none;margin-top:6px;font-size:12.5px;color:var(--lime);font-family:var(--f-mono);letter-spacing:.01em}
.pmem-rows .hi .note{display:block}
.prov{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:4px}
.prov .chip{font-size:10.5px;padding:3px 6px}
.prov .arr{color:var(--dim);font-family:var(--f-mono);font-size:11px}
.pers-foot{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line)}
.pers-foot>div{padding:22px 24px}
.pers-foot>div+div{border-left:1px solid var(--line)}
.pers-foot .mono{color:var(--lime);margin-bottom:8px}
.pers-foot p{font-size:15px;color:var(--text-2)}

/* =========================================================
   08.1 TRUSTWORTHY MEMORY: lifecycle
   ========================================================= */
.lc-track{display:grid;grid-template-columns:repeat(6,1fr);position:relative;margin-bottom:36px}
.lc-track::before{content:"";position:absolute;left:0;right:0;top:15px;height:1px;background:var(--line-2)}
.lc-st{position:relative;padding-top:38px;padding-right:12px}
.lc-st::before{content:"";position:absolute;left:0;top:9px;width:13px;height:13px;border:1px solid var(--line-3);background:var(--bg);transform:rotate(45deg);transition:all .4s var(--ease)}
.lc-st .mono{display:block;color:var(--dim);transition:color .4s}
.lc-st .d{display:block;font-size:13px;color:var(--dim);margin-top:6px;line-height:1.4;max-width:22ch;transition:color .4s}
.lc-st.past::before{background:var(--line-3)}
.lc-st.past .mono{color:var(--muted)}
.lc-st.cur::before{background:var(--lime);border-color:var(--lime);box-shadow:0 0 0 5px var(--lime-14)}
.lc-st.cur .mono{color:var(--lime)}
.lc-st.cur .d{color:var(--text-2)}
.lc-st.cur.warn::before{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 5px var(--orange-10)}
.lc-st.cur.warn .mono{color:var(--orange)}
.lc-fill{position:absolute;left:0;top:15px;height:1px;background:var(--lime);width:0;transition:width .8s var(--ease)}
.lc-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.8fr);gap:clamp(24px,3vw,48px);align-items:start}
.lc-card{border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);overflow:hidden;transition:border-color .5s}
.lc-card[data-state="contested"]{border-color:var(--orange-30)}
.lc-card[data-state="superseded"],.lc-card[data-state="retired"]{border-color:var(--line)}
.lc-head{padding:18px 20px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.lc-head .mono{color:var(--muted)}
.lc-claim{font-family:var(--f-display);font-size:clamp(22px,2.2vw,30px);letter-spacing:-.025em;line-height:1.12;margin-top:8px;transition:color .4s,text-decoration-color .4s;text-decoration:line-through;text-decoration-color:transparent;text-decoration-thickness:1.5px}
.lc-card[data-state="superseded"] .lc-claim,.lc-card[data-state="retired"] .lc-claim{color:var(--muted);text-decoration-color:var(--orange)}
.lc-badge{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:5px 9px;border:1px solid var(--lime);color:var(--lime);border-radius:2px;white-space:nowrap;transition:all .4s}
.lc-badge.warn{border-color:var(--orange);color:var(--orange)}
.lc-badge.grey{border-color:var(--line-3);color:var(--muted)}
.lc-new{display:none;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--lime-08)}
.lc-new.show{display:block;animation:rowin .5s var(--ease) both}
.lc-new .mono{color:var(--lime);margin-bottom:6px}
.lc-new p{font-family:var(--f-display);font-size:20px;letter-spacing:-.02em;line-height:1.2}
.lc-log{padding:6px 20px 12px}
.lc-log li{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.45;color:var(--text-2)}
.lc-log li:last-child{border-bottom:0}
.lc-log li .mono{font-size:10.5px;padding-top:3px}
.lc-log li.sup .mono{color:var(--lime)}
.lc-log li.con .mono{color:var(--orange)}
.lc-log li.ctx .mono{color:var(--muted)}
.lc-log li.enter{animation:rowin .5s var(--ease) both}
.lc-log li.hidden{display:none}
.lc-ctrl{display:flex;gap:8px;padding:14px 20px;border-top:1px solid var(--line);align-items:center;flex-wrap:wrap}
.lc-ctrl button{font-family:var(--f-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-2);padding:8px 12px;border-radius:2px;color:var(--text-2)}
.lc-ctrl button:hover:not(:disabled){border-color:var(--line-3);color:var(--text)}
.lc-ctrl button:disabled{opacity:.35;cursor:default}
.lc-ctrl .lc-pos{margin-left:auto;color:var(--muted)}
.keeps{border-top:1px solid var(--line-2)}
.keeps .mono.h{color:var(--muted);padding:12px 0;border-bottom:1px solid var(--line)}
.keeps li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--dim);transition:color .4s}
.keeps li i{width:12px;height:12px;border:1px solid var(--line-3);margin-top:5px;position:relative;transition:all .4s}
.keeps li.on{color:var(--text)}
.keeps li.on i{border-color:var(--lime);background:var(--lime)}
.keeps-note{margin-top:22px;padding:18px;border:1px dashed var(--line-2);border-radius:4px}
.keeps-note p{font-size:15px;color:var(--text-2)}
.keeps-note p strong{color:var(--text);font-weight:600}

/* =========================================================
   08.2 TRUSTWORTHY MEMORY: evidence chain
   ========================================================= */
.chain{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;align-items:stretch;position:relative}
.cnode{position:relative;padding:20px 18px 20px;border-radius:4px;display:flex;flex-direction:column;min-height:300px;background:var(--panel);transition:box-shadow .4s,transform .4s}
.cnode+.cnode{margin-left:34px}
.cnode+.cnode::before{content:"";position:absolute;left:-34px;top:50%;width:34px;height:1px;background:var(--line-3)}
.cnode+.cnode::after{content:"";position:absolute;left:-9px;top:calc(50% - 4px);border:4px solid transparent;border-left:6px solid var(--line-3)}
.cnode .ct{font-family:var(--f-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:8px;margin-bottom:14px}
.cnode .ct svg{width:14px;height:14px;flex:none}
.cnode .cb{font-size:15.5px;line-height:1.45;color:var(--text)}
.cnode .cm{margin-top:auto;padding-top:16px;font-family:var(--f-mono);font-size:11px;line-height:1.6;color:var(--muted);letter-spacing:.01em}
.cnode .cm b{color:var(--text-2);font-weight:400}
.c-fact{border:1px solid var(--line-3)}
.c-fact .ct{color:var(--text)}
.c-fact .cb{font-family:var(--f-mono);font-size:14px;line-height:1.5}
.c-int{border:1px dashed var(--line-3);background:transparent}
.c-int .ct{color:#C9D7B8}
.c-int .cb{font-style:italic;color:var(--text-2)}
.c-hyp{border:1px dashed var(--orange-30);background:transparent}
.c-hyp .ct{color:var(--orange)}
.c-dec{border:1px solid var(--line-2);border-left:3px solid var(--lime)}
.c-dec .ct{color:var(--lime)}
.c-lrn{border:1px solid var(--lime);background:var(--lime-08)}
.c-lrn .ct{color:var(--lime)}
.c-lrn .cb{font-family:var(--f-display);font-size:17px;letter-spacing:-.015em;line-height:1.3}
.chain.trace .cnode{box-shadow:0 0 0 1px var(--lime)}
.chain.trace .cnode+.cnode::before{background:var(--lime)}
.chain.trace .cnode+.cnode::after{border-left-color:var(--lime)}
.cnode.tracing{transform:translateY(-4px)}
.chain-foot{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}
.chain-foot p{color:var(--text-2);font-size:15px;max-width:72ch}
.ev-pulls{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,64px);margin-top:clamp(56px,7vw,96px)}

/* =========================================================
   09.1 WHAT GETS STRONGER OVER TIME: compounding memory
   ========================================================= */
.cmp{position:relative}
.cmp-svg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;z-index:1}
.cmp-svg path{fill:none;stroke-width:1.25}
.cmp-svg path.sup{stroke:var(--lime)}
.cmp-svg path.con{stroke:var(--orange);stroke-dasharray:4 4}
.cmp-obj{position:relative;z-index:2;max-width:620px;margin:0 auto clamp(90px,10vw,140px);border:1px solid var(--lime);border-radius:var(--r);background:var(--panel);box-shadow:0 0 0 6px var(--lime-08)}
.cmp-obj .oh{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;color:var(--lime)}
.cmp-obj .oh .muted{color:var(--muted)}
.cmp-obj h3{font-family:var(--f-display);font-size:clamp(24px,2.4vw,32px);letter-spacing:-.03em;line-height:1.1;padding:16px 18px 6px}
.cmp-obj .os{padding:0 18px 14px;color:var(--text-2);font-size:14.5px}
.cmp-ev{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}
.cmp-ev li{padding:12px 14px;border-right:1px solid var(--line);font-size:13px;opacity:.25;transition:opacity .5s}
.cmp-ev li:last-child{border-right:0}
.cmp-ev li.on{opacity:1}
.cmp-ev .mono{font-size:10px;display:block;margin-bottom:3px}
.cmp-ev .sup .mono{color:var(--lime)}
.cmp-ev .con .mono{color:var(--orange)}
.cmp-meta{display:grid;grid-template-columns:1.4fr 1fr;border-top:1px solid var(--line)}
.cmp-meta>div{padding:12px 18px}
.cmp-meta>div+div{border-left:1px solid var(--line)}
.cmp-meta .mono{color:var(--muted);font-size:10.5px;margin-bottom:6px}
.cmp-meta .chips{display:flex;flex-wrap:wrap;gap:6px}
.cmp-meta .chip{font-size:11px;padding:3px 7px}
.ticks{position:relative;z-index:2;display:grid;grid-template-columns:repeat(42,minmax(0,1fr));gap:4px;align-items:end;height:120px;border-bottom:1px solid var(--line-2)}
.tick{position:relative;height:var(--h,40%);background:var(--line);border-radius:1px 1px 0 0;transition:background .5s,height .8s var(--ease)}
.tick.hl{background:var(--line-3)}
.tick.sup.on{background:var(--lime)}
.tick.con.on{background:var(--orange)}
.tick-labels{position:relative;display:grid;grid-template-columns:repeat(42,minmax(0,1fr));gap:4px;margin-top:10px;height:18px}
.tick-labels span{font-family:var(--f-mono);font-size:10.5px;color:var(--muted);white-space:nowrap;letter-spacing:.02em}
.tick-labels span.k{color:var(--text-2)}
.tick-labels span.ks{color:var(--lime)}
.tick-labels span.kc{color:var(--orange)}
.ticks-cap{display:flex;justify-content:space-between;gap:20px;margin-top:22px;color:var(--muted);flex-wrap:wrap}

.plan{margin-top:clamp(72px,8vw,120px);border:1px solid var(--line-2);border-radius:8px;overflow:hidden;background:var(--panel)}
.plan-bar{padding:12px 18px;border-bottom:1px solid var(--line);background:var(--bg-2);display:flex;justify-content:space-between;gap:12px;color:var(--muted);flex-wrap:wrap}
.plan-bar b{color:var(--text);font-weight:400}
.plan-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.plan-brief{padding:22px 22px 26px}
.plan-brief h3{font-family:var(--f-display);font-size:24px;letter-spacing:-.025em;margin:6px 0 18px}
.plan-brief .mono{color:var(--muted)}
.pf>div{display:grid;grid-template-columns:120px 1fr;gap:14px;padding:11px 0;border-top:1px solid var(--line);font-size:14.5px}
.pf dt{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:2px}
.pf dd{color:var(--text)}
.pf .cursor{display:inline-block;width:8px;height:16px;background:var(--lime);vertical-align:-3px;margin-left:2px}
@media (prefers-reduced-motion:no-preference){.pf .cursor{animation:blink 1.1s steps(1) infinite}}
@keyframes blink{50%{opacity:0}}
.plan-side{border-left:1px solid var(--line);padding:22px;background:var(--bg-2)}
.plan-side>.mono{color:var(--lime);margin-bottom:12px}
.surf{border:1px solid var(--lime-30);border-radius:4px;background:var(--panel)}
.surf h4{font-family:var(--f-display);font-size:18px;letter-spacing:-.015em;padding:14px 14px 4px;line-height:1.2}
.surf .st{padding:0 14px 12px;display:flex;gap:6px;flex-wrap:wrap}
.surf .st .chip{font-size:10.5px;padding:3px 6px}
.surf .why2{border-top:1px solid var(--line);padding:12px 14px}
.surf .why2 .mono{font-size:10.5px;color:var(--muted);margin-bottom:6px}
.surf .why2 li{font-size:13.5px;color:var(--text-2);padding:4px 0;display:flex;gap:8px}
.surf .why2 li .m{font-family:var(--f-mono);font-size:11px;color:var(--lime);flex:none;padding-top:2px}
.surf .why2 li.x .m{color:var(--orange)}
.surf .acts{display:flex;gap:6px;padding:12px 14px;border-top:1px solid var(--line);flex-wrap:wrap}
.surf .acts span{font-family:var(--f-mono);font-size:11px;border:1px solid var(--line-2);padding:5px 8px;border-radius:2px;color:var(--text-2)}
.surf .acts span:first-child{border-color:var(--lime);color:var(--lime)}
.cmp-close{margin-top:clamp(56px,7vw,96px);display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:end}

/* =========================================================
   09.2 WHAT GETS STRONGER OVER TIME: search vs memory
   ========================================================= */
.svm-q{display:flex;align-items:center;gap:14px;padding:16px 20px;border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);margin-bottom:18px;font-family:var(--f-display);font-size:clamp(18px,1.8vw,24px);letter-spacing:-.02em}
.svm-q svg{width:20px;height:20px;flex:none;color:var(--muted)}
.svm{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.svm-col{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.svm-col.mem{border-color:var(--lime-30)}
.svm-h{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;color:var(--muted)}
.svm-col.mem .svm-h{color:var(--lime)}
.docs li{padding:14px 18px;border-bottom:1px solid var(--line)}
.docs li:last-child{border-bottom:0}
.docs .fn{font-family:var(--f-mono);font-size:13px;color:var(--text);display:flex;justify-content:space-between;gap:10px}
.docs .fn span{color:var(--dim);font-size:11px}
.docs p{font-size:14px;color:var(--muted);margin-top:5px;line-height:1.45}
.docs .hit{color:var(--text-2);background:rgba(241,243,238,.08);padding:0 2px}
.svm-foot{padding:12px 18px;border-top:1px solid var(--line);color:var(--muted);font-size:13px}
.mans li{display:grid;grid-template-columns:118px 1fr;gap:14px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:14.5px;line-height:1.45;color:var(--text)}
.mans li:last-child{border-bottom:0}
.mans .mono{font-size:10.5px;color:var(--lime);padding-top:3px}
.mans li.c .mono{color:var(--orange)}
.mans li .s{display:block;font-family:var(--f-mono);font-size:11px;color:var(--dim);margin-top:3px}
.understands{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line)}
.understands li{padding:18px 18px 18px 0;border-bottom:1px solid var(--line);display:flex;gap:14px;align-items:baseline}
.understands li .mono{color:var(--lime);font-size:11px}
.understands li span.t{font-family:var(--f-display);font-size:19px;letter-spacing:-.015em}

/* =========================================================
   10 ACROSS THE STACK
   ========================================================= */
.stack{border-top:1px solid var(--line-2);position:relative}
.srow{display:grid;grid-template-columns:minmax(150px,.7fr) minmax(0,1.1fr) 72px minmax(0,1.2fr);gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line)}
.srow .sn{font-family:var(--f-display);font-size:20px;letter-spacing:-.02em}
.srow .so{font-size:15px;color:var(--muted)}
.srow .so b{color:var(--text-2);font-weight:500}
.srow .sk{font-size:15px;color:var(--text);line-height:1.45}
.srow .sk .mono{display:block;font-size:10.5px;color:var(--lime);margin-bottom:3px}
.srow .tap{position:relative;height:100%;min-height:40px}
.srow .tap::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.srow .tap::after{content:"";position:absolute;right:0;top:calc(50% - 3px);width:7px;height:7px;background:var(--lime);transform:scale(0);transition:transform .4s .5s}
.stack.in .srow .tap::before{transform:none}
.stack.in .srow .tap::after{transform:scale(1)}
.stack.in .srow:nth-child(2) .tap::before{transition-delay:.1s}.stack.in .srow:nth-child(3) .tap::before{transition-delay:.2s}
.stack.in .srow:nth-child(4) .tap::before{transition-delay:.3s}.stack.in .srow:nth-child(5) .tap::before{transition-delay:.4s}
.stack.in .srow:nth-child(6) .tap::before{transition-delay:.5s}.stack.in .srow:nth-child(7) .tap::before{transition-delay:.6s}
.shead{color:var(--muted)}
.shead .tap::before,.shead .tap::after{display:none}
.srow.tl{border:1px solid var(--lime);background:var(--lime-08);padding:22px 20px;margin-top:20px;border-radius:var(--r)}
.srow.tl .sn{color:var(--lime);display:flex;align-items:center;gap:10px}
.srow.tl .sn svg{width:22px;height:22px}
.srow.tl .so{color:var(--text);font-size:16px}
.incumbent{margin-top:clamp(56px,7vw,100px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:center}
.inc-eq{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-family:var(--f-mono);font-size:13px}
.inc-eq .b{border:1px dashed var(--orange-30);color:var(--orange);padding:10px 12px;border-radius:3px}
.inc-eq .op{color:var(--dim)}
.inc-eq .r{border:1px solid var(--line-2);color:var(--text-2);padding:10px 12px;border-radius:3px}

/* =========================================================
   11 MEMORY WITHOUT LIBRARIAN WORK
   ========================================================= */
.lib{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:18px;align-items:stretch}
.lib-old{border:1px dashed var(--line-2);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;opacity:.9}
.lib-old .mono{color:var(--muted);display:flex;justify-content:space-between;gap:10px}
.lib-old .mono .orange{color:var(--orange)}
.lib-old h3{font-family:var(--f-display);font-size:26px;letter-spacing:-.025em;margin:20px 0 14px}
.lib-old .blank{flex:1;min-height:220px;border:1px solid var(--line);border-radius:3px;padding:14px;color:var(--dim);font-size:15px;position:relative}
.lib-old .blank .cur{display:inline-block;width:2px;height:18px;background:var(--text-2);vertical-align:-3px}
@media (prefers-reduced-motion:no-preference){.lib-old .blank .cur{animation:blink 1.1s steps(1) infinite}}
.lib-old .cap{margin-top:14px;font-size:14px;color:var(--muted)}
.lib-new{border:1px solid var(--lime-30);border-radius:var(--r);background:var(--panel);overflow:hidden}
.lib-new .lh{padding:14px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:10px;color:var(--lime)}
.lib-new .lh .muted{color:var(--muted)}
.assembled{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.assembled li{display:flex;gap:10px;align-items:baseline;padding:9px 18px;border-top:1px solid var(--line);font-size:14px;color:var(--text-2)}
.assembled li:nth-child(-n+2){border-top:0}
.assembled li:nth-child(odd){border-right:1px solid var(--line)}
.assembled li .ck{font-family:var(--f-mono);font-size:11px;color:var(--lime)}
.assembled li .src{margin-left:auto;font-family:var(--f-mono);font-size:10.5px;color:var(--dim);white-space:nowrap}
.judg{padding:18px}
.judg>.mono{color:var(--orange);margin-bottom:12px}
.jq{border:1px solid var(--line-2);border-radius:4px;padding:14px;margin-bottom:10px}
.jq p{font-size:15px;line-height:1.45}
.jq p .mono{display:block;color:var(--muted);font-size:10.5px;margin-bottom:6px}
.jq .opts{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.jq .opts button{font-size:13.5px;border:1px solid var(--line-2);padding:7px 12px;border-radius:2px;color:var(--text-2)}
.jq .opts button:hover{border-color:var(--line-3);color:var(--text)}
.jq .opts button[aria-pressed="true"]{border-color:var(--lime);color:var(--lime);background:var(--lime-08)}
.jq.done{border-color:var(--lime-30)}
.jq .rec{display:none;margin-top:10px;font-family:var(--f-mono);font-size:11px;color:var(--lime)}
.jq.done .rec{display:block}
.lib-close{margin-top:clamp(48px,6vw,80px);display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.lib-close>div{padding:22px 24px 0 0}
.lib-close .mono{color:var(--lime);margin-bottom:8px}
.lib-close p{font-size:15px;color:var(--text-2)}

/* =========================================================
   12 WHY NOW
   ========================================================= */
.wn-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(32px,5vw,88px);align-items:center}
.forces li{display:grid;grid-template-columns:44px 1fr;gap:14px;padding:22px 0;border-top:1px solid var(--line)}
.forces li:last-child{border-bottom:1px solid var(--line)}
.forces .mono{color:var(--lime);padding-top:5px}
.forces h3{font-family:var(--f-display);font-size:22px;letter-spacing:-.02em;margin-bottom:6px}
.forces p{font-size:15px;color:var(--text-2)}
.gap-chart{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:var(--panel)}
.gap-chart .gh{display:flex;justify-content:space-between;gap:12px;color:var(--muted);margin-bottom:12px}
.gap-chart svg{width:100%;height:auto}
.gap-chart .g-out{fill:none;stroke:var(--text);stroke-width:2}
.gap-chart .g-ret{fill:none;stroke:var(--orange);stroke-width:2;stroke-dasharray:6 5}
.gap-chart .g-area{fill:url(#gapfill)}
.gap-chart .g-ax{stroke:var(--line-2);stroke-width:1}
.gap-chart text{font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;fill:var(--muted)}
.gap-chart .tl{fill:var(--lime)}
.gap-chart .draw{stroke-dasharray:var(--len);stroke-dashoffset:var(--len);transition:stroke-dashoffset 1.8s var(--ease)}
.gap-chart.in .draw{stroke-dashoffset:0}
.gap-chart .g-ret.draw{stroke-dasharray:var(--len)}
.gap-chart.in .g-ret.draw{stroke-dasharray:6 5}
.gap-chart .g-area,.gap-chart .gl{opacity:0;transition:opacity 1s 1.4s}
.gap-chart.in .g-area,.gap-chart.in .gl{opacity:1}
.wn-tension{margin-top:clamp(56px,7vw,96px);font-family:var(--f-display);font-weight:600;letter-spacing:-.035em;line-height:1.02;font-size:clamp(30px,4vw,60px);max-width:24ch;text-wrap:balance}

/* =========================================================
   13 ABOUT / WHY TEAMLESS
   ========================================================= */
.about-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,110px);align-items:start}
.about-copy p{font-size:clamp(17px,1.35vw,19px);line-height:1.6;color:var(--text-2);margin-bottom:18px;max-width:54ch}
.about-copy p strong{color:var(--text);font-weight:600}
.namehero{font-family:var(--f-display);font-weight:600;font-size:clamp(34px,4.4vw,68px);letter-spacing:-.04em;line-height:.98;margin:clamp(72px,9vw,128px) 0 clamp(48px,6vw,80px);max-width:20ch;text-wrap:balance}
.roster{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:var(--panel)}
.roster .rh{display:flex;justify-content:space-between;gap:10px;color:var(--muted);margin-bottom:16px}
.rrow{display:grid;grid-template-columns:120px 1fr;gap:12px;align-items:center;height:30px}
.rrow .rl{font-family:var(--f-mono);font-size:11px;color:var(--muted);letter-spacing:.04em}
.rlane{position:relative;height:10px}
.rlane i{position:absolute;top:0;height:10px;border-radius:1px;background:var(--line-3);transform-origin:left;transform:scaleX(0);transition:transform .9s var(--ease)}
.rlane i.gone{background:rgba(255,129,92,.45)}
.roster.in .rlane i{transform:none}
.rrow.rec{margin-top:14px;padding-top:14px;border-top:1px dashed var(--line-2);height:auto}
.rrow.rec .rl{color:var(--lime)}
.rrow.rec .rlane i{left:0;right:0;background:var(--lime);height:3px;top:3px;transition-duration:2.4s}
.rx{display:grid;grid-template-columns:120px repeat(4,1fr);margin-top:10px;font-family:var(--f-mono);font-size:10.5px;color:var(--dim)}
.rx span:first-child{grid-column:2}
.quote{margin:0;padding:clamp(28px,3vw,44px);border-left:3px solid var(--lime);background:var(--panel)}
.quote p{font-family:var(--f-display);font-size:clamp(24px,2.6vw,38px);letter-spacing:-.025em;line-height:1.15;font-weight:500}
.quote footer{margin-top:18px;color:var(--muted)}
.about-carry{margin-top:clamp(40px,5vw,64px);font-size:clamp(18px,1.5vw,21px);color:var(--text-2);max-width:56ch}
.about-carry strong{color:var(--text);font-weight:600}

/* =========================================================
   14 FINAL CTA / REQUEST ACCESS
   ========================================================= */
.final{position:relative;padding:clamp(110px,13vw,200px) 0 clamp(80px,9vw,140px);overflow:hidden}
.final-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;opacity:.5}
.final-in{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:clamp(32px,5vw,96px);align-items:end}
.final h2{font-family:var(--f-display);font-weight:600;font-size:clamp(40px,6vw,96px);letter-spacing:-.045em;line-height:.95;text-wrap:balance}
.final .sub{margin-top:24px;font-size:clamp(19px,1.6vw,23px);color:var(--text-2)}
.form{border:1px solid var(--line-2);border-radius:var(--r);background:var(--panel);padding:22px}
.form .mono.h{color:var(--lime);margin-bottom:16px}
.fld{display:block;margin-bottom:12px}
.fld span{display:block;font-family:var(--f-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}
.fld input,.fld select{width:100%;min-height:46px;padding:0 12px;background:var(--bg);border:1px solid var(--line-2);border-radius:2px;color:var(--text);font-size:15px;appearance:none;-webkit-appearance:none}
.fld select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat}
.fld input:focus,.fld select:focus{border-color:var(--lime);outline:none;box-shadow:0 0 0 3px var(--lime-14)}
.fld input[aria-invalid="true"]{border-color:var(--orange)}
.form .btn{width:100%;margin-top:6px}
.form .fmsg{margin-top:12px;font-size:14px;min-height:20px}
.form .fmsg.err{color:var(--orange)}
.form .fmsg.ok{color:var(--lime)}
.final-links{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}

.foot{border-top:1px solid var(--line);padding:36px 0 44px;color:var(--muted)}
.foot .fine{font-size:13px;color:var(--dim)}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1180px){
  .nav-links{gap:20px}
  .chain{grid-template-columns:1fr 1fr 1fr}
  .cnode+.cnode{margin-left:0}
  .chain{gap:34px 30px}
  .cnode+.cnode::before,.cnode+.cnode::after{display:none}
  .understands{grid-template-columns:1fr 1fr}
}
@media (max-width:1024px){
  :root{--nav-h:62px}
  .nav-links,.nav-login{display:none}
  .nav-cta{margin-left:auto}
  .nav-toggle{display:flex;margin-left:0}
  .hero{min-height:auto}
  .hero-grid{grid-template-columns:1fr}
  .hero h1{max-width:14ch}
  .hero-vis{height:560px;margin-top:20px}
  .frag-layout{grid-template-columns:1fr}
  .sec-intro{grid-template-columns:1fr;align-items:start}
  .miss-grid{grid-template-columns:1fr}
  .miss-intro{position:static}
  .loop-grid{grid-template-columns:1fr}
  .stage-panel{min-height:0}
  .app-cols{grid-template-columns:1fr 1fr}
  .dcol.col-prop{grid-column:1/-1;border-left:0;border-top:1px solid var(--line)}
  .uc-panel{grid-template-columns:1fr}
  .pers{grid-template-columns:1fr}
  .ptabs{flex-direction:row;overflow-x:auto;border-top:0;border-bottom:1px solid var(--line-2);scrollbar-width:none}
  .ptabs::-webkit-scrollbar{display:none}
  .ptab{min-width:220px;border-bottom:0;padding:14px 16px 16px 0}
  .ptab[aria-selected="true"]::before{left:0;right:16px;top:auto;bottom:-1px;width:auto;height:2px}
  .lc-grid{grid-template-columns:1fr}
  .wn-grid,.about-grid,.final-in,.dec-pull,.cmp-close,.incumbent{grid-template-columns:1fr}
  .lib{grid-template-columns:1fr}
  .srow{grid-template-columns:minmax(130px,.7fr) minmax(0,1fr) 40px minmax(0,1.1fr);gap:14px}
}
@media (max-width:860px){
  .plan-grid{grid-template-columns:1fr}
  .plan-side{border-left:0;border-top:1px solid var(--line)}
  .svm{grid-template-columns:1fr}
  .pview{grid-template-columns:1fr}
  .pers-foot{grid-template-columns:1fr}
  .pers-foot>div+div{border-left:0;border-top:1px solid var(--line)}
  .lib-close{grid-template-columns:1fr}
  .ev-pulls{grid-template-columns:1fr}
  .chain{grid-template-columns:1fr 1fr}
  .stack .shead{display:none}
  .srow{grid-template-columns:1fr;gap:6px;padding:18px 0}
  .srow .tap{display:none}
  .srow.tl{padding:18px}
  .rec-split{grid-template-columns:1fr}
  .rec-split>div+div{border-left:0;border-top:1px solid var(--lime-30)}
}
@media (max-width:760px){
  body{font-size:16px}
  .sec-head{flex-direction:column;align-items:flex-start;gap:4px}
  .hero-vis{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .hfrag,.hcore{position:relative;left:auto!important;top:auto!important;width:auto;transform:none!important}
  .hfrag{padding:12px}
  .hfrag p.t{font-size:13px}
  .hfrag .k{font-size:10.5px}
  .hcore{grid-column:1/-1;order:10;margin-top:20px;min-width:0}
  .hero-vis.linked .hcore{transform:none!important}
  .hf-0{order:1}.hf-1{order:2}.hf-5{order:3}.hf-2{order:4}.hf-4{order:5}.hf-3{order:6}
  .vis-tag{position:static;grid-column:1/-1;justify-self:end;order:11}
  .hero-strip{flex-direction:column;gap:8px}
  .hide-sm{display:none}

  /* fragmented: vertical sequence */
  .quad{display:flex;flex-direction:column}
  .q-strat{order:1}.ql-top{order:2}.q-exec{order:3}.ql-right{order:4}.q-perf{order:5}.ql-bottom{order:6}.q-learn{order:7}.ql-left{order:8}.mcore{order:9}
  .qcard{min-height:0}
  .qlink{height:58px}
  .qlink .ln{width:1px;height:auto;left:24px;right:auto;top:0;bottom:0;background-image:linear-gradient(to bottom,var(--line-3) 50%,transparent 50%);background-size:1px 8px}
  .qlink .lnl{width:1.5px;height:auto;left:24px;right:auto;top:0;bottom:0;transform:scaleY(0);transform-origin:top!important}
  .qlink.on .lnl{transform:none}
  .qlink{justify-content:flex-start;padding-left:40px}
  .mcore{margin:18px 0 0}
  .mc-rows>div{grid-template-columns:88px 1fr}
  .quad-svg{display:none}

  .app-cols{grid-template-columns:1fr}
  .dcol+.dcol{border-left:0;border-top:1px solid var(--line)}
  .dflow{grid-template-columns:1fr}
  .dflow li+li{border-left:0;border-top:1px solid var(--line)}
  .dflow li::before{width:2px;height:100%;top:0;transform:scaleY(0);transform-origin:top}
  .dflow li.on::before{transform:none}
  .uc-rows>li{grid-template-columns:36px 1fr}
  .uc-rows .bf{grid-column:2}
  .uc-common{grid-template-columns:1fr;gap:12px}
  .ask-ev li{grid-template-columns:24px 1fr;gap:4px 10px}
  .ask-ev li .ty,.ask-ev li .c{grid-column:2}
  .lc-track{grid-template-columns:repeat(3,1fr);row-gap:22px}
  .lc-track::before,.lc-fill{display:none}
  .lc-log li{grid-template-columns:1fr;gap:4px}
  .chain{grid-template-columns:1fr;gap:0}
  .cnode{min-height:0}
  .cnode+.cnode{margin-top:34px}
  .cnode+.cnode::before{display:block;left:28px;top:-34px;width:1px;height:34px}
  .cnode+.cnode::after{display:block;left:24px;top:-9px;border:4px solid transparent;border-top:6px solid var(--line-3)}
  .chain.trace .cnode+.cnode::after{border-top-color:var(--lime);border-left-color:transparent}
  .chain-foot{grid-template-columns:1fr}
  .cmp-ev{grid-template-columns:1fr 1fr}
  .cmp-ev li:nth-child(2){border-right:0}
  .cmp-ev li:nth-child(n+3){border-top:1px solid var(--line)}
  .cmp-meta{grid-template-columns:1fr}
  .cmp-meta>div+div{border-left:0;border-top:1px solid var(--line)}
  .ticks{grid-template-columns:repeat(14,minmax(0,1fr));height:auto;row-gap:10px;border-bottom:0}
  .tick{height:34px!important;border-radius:1px}
  .tick-labels{display:none}
  .tick::after{content:attr(data-n);position:absolute;left:0;right:0;bottom:-15px;text-align:center;font-family:var(--f-mono);font-size:9px;color:var(--dim)}
  .tick.k::after{color:var(--text-2)}
  .ticks{padding-bottom:16px}
  .pf>div{grid-template-columns:1fr;gap:4px}
  .assembled{grid-template-columns:1fr}
  .assembled li:nth-child(odd){border-right:0}
  .assembled li:nth-child(2){border-top:1px solid var(--line)}
  .understands{grid-template-columns:1fr}
  .mans li{grid-template-columns:1fr;gap:4px}
  .rrow{grid-template-columns:86px 1fr}
  .rx{grid-template-columns:86px repeat(4,1fr)}
  .sp-fields>div{grid-template-columns:1fr;gap:4px}
  .inherit{grid-template-columns:1fr}
  .inh-pipe{height:64px;width:2px;margin:0 0 0 28px}
  .inh-pipe i{transform-origin:top;transform:scaleY(0)}
  .inh-pipe span{left:18px;top:50%;transform:translateY(-50%)}
  .lnode{min-width:0;padding:8px 10px}
  .lnode .nm{font-size:15px}
  .lnode .mono{font-size:10px}
  .loop-center{width:44%}
  .loop-center .big{font-size:17px}
}
@media (max-width:420px){
  .hfrag p.t{font-size:12.5px}
  .hfrag .src{display:none}
  .nav-cta .btn-sm{padding:0 12px;font-size:13px}
  .brand{font-size:17px}
  .ticks{grid-template-columns:repeat(7,minmax(0,1fr))}
  .lc-track{grid-template-columns:repeat(2,1fr)}
  .ctls{grid-template-columns:1fr 1fr}
  .tab{padding-right:16px;margin-right:16px}
}

/* reduced motion: everything lands in its final state */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;transition-delay:0ms!important}
  .reveal{opacity:1;transform:none}
}
.hero-lines path.ghost{transition:opacity 1s var(--ease)}
.hero-vis.linked .hero-lines path.ghost{opacity:0}
.hfrag .k{flex-wrap:wrap;column-gap:8px}
.hfrag .k span:last-child{color:var(--dim)}

.sticky-mode .sec-head{margin-bottom:22px}
.sticky-mode .frag-steps{margin-top:22px}
.sticky-mode .frag-steps li{padding:9px 0}

/* =========================================================
   SHARED LATE-STAGE RULES
   03 category statement, 08/09 chapter sub-heads, 08.1 lifecycle hierarchy,
   14 form states, footer. Kept last so they override the section rules above.
   ========================================================= */
/* category statement (used once) */
.sor{margin-top:clamp(56px,7vw,104px);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--lime-30)}
.sor-k{color:var(--lime);margin-bottom:18px}
.sor-line{font-family:var(--f-display);font-weight:600;letter-spacing:-.035em;line-height:1.02;font-size:clamp(32px,4.4vw,68px);max-width:20ch;text-wrap:balance}
.sor-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,4vw,64px);margin-top:clamp(28px,3vw,44px);max-width:1000px}
.sor-grid p{font-size:clamp(16px,1.25vw,18px);line-height:1.5;color:var(--text-2)}
.sor-grid p .mono{display:block;margin-bottom:8px;color:var(--muted)}
.sor-grid p .mono.lime{color:var(--lime)}

/* chapters with subsections */
.chapter-lede{font-family:var(--f-display);font-size:clamp(20px,1.9vw,27px);letter-spacing:-.02em;line-height:1.25;color:var(--text-2);max-width:46ch;margin-bottom:clamp(48px,6vw,80px)}
.sub-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:14px;border-top:1px dashed var(--line-2);margin-bottom:clamp(28px,3vw,44px);color:var(--lime)}
.sub-head .mono{color:var(--lime)}
.sub-gap{margin-top:clamp(88px,10vw,150px)}
.und-k{margin-top:clamp(48px,6vw,80px);color:var(--muted)}
.und-k + .understands{margin-top:14px}

/* lifecycle: four primary states, two quiet bookends */
.lc-track{grid-template-columns:.55fr 1fr 1fr 1fr 1fr .5fr}
.lc-track::before{left:var(--l0,0);right:auto;width:var(--len,100%)}
.lc-fill{left:var(--l0,0)}
.lc-st.minor::before{width:9px;height:9px;top:11px;left:2px}
.lc-st.minor .mono{font-size:10.5px}
.lc-st:not(.minor) .mono{font-size:12.5px}
.lc-ctrl button.is-playing{border-color:var(--lime);color:var(--lime)}

/* form */
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form{position:relative}
.form .fmsg.notice{color:var(--text-2);border:1px solid var(--line-2);padding:10px 12px;border-radius:2px}
.form .fmsg a{color:var(--lime)}
.form button[disabled]{opacity:.6;cursor:progress}

/* footer */
.foot-grid{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.foot-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.foot-tag{font-size:15px;color:var(--text-2);max-width:30ch}
.foot-col{display:flex;flex-direction:column;gap:10px}
.foot-col .mono{color:var(--muted);margin-bottom:4px}
.foot-col a{font-size:14.5px;color:var(--text-2);text-decoration:none;width:fit-content}
.foot-col a:hover{color:var(--text)}
.foot .fine{margin-top:40px;padding-top:20px;border-top:1px solid var(--line)}
@media (max-width:860px){
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:1/-1}
  .sor-grid{grid-template-columns:1fr}
}
@media (max-width:760px){
  .lc-track{grid-template-columns:repeat(3,1fr)}
  .sub-head{flex-direction:column;align-items:flex-start;gap:8px}
}
@media (max-width:420px){
  .lc-track{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:no-preference){
  .pf .cursor,.lib-old .blank .cur{animation-iteration-count:8}
}
.pcopy .pwho{font-size:14.5px;color:var(--muted);margin:-8px 0 22px;max-width:44ch}

/* =========================================================
   GRAND PAGE SPLIT V2
   ========================================================= */

/* Homepage hero: thesis first, no competing visual */
.hero-centered{
  min-height:100svh;
  padding:calc(var(--nav-h) + clamp(70px,10vw,150px)) 0 clamp(56px,7vw,100px);
  display:flex;
  align-items:center;
}
.hero-center{
  width:100%;
  display:flex;
  justify-content:center;
}
.hero-centered .hero-copy{
  width:min(100%,980px);
  margin:0 auto;
  text-align:center;
}
.hero-centered .eyebrow{justify-content:center}
.hero-centered h1{
  max-width:18ch;
  margin:0 auto;
  font-size:clamp(54px,7.6vw,112px);
  line-height:.94;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.hero-centered .lede{
  max-width:66ch;
  margin:32px auto 0;
  font-size:clamp(18px,1.6vw,23px);
}
.hero-centered .cta-row{justify-content:center}
.hero-audience{
  margin-top:44px;
  color:var(--muted);
}

/* Homepage now uses the fragmented-campaign visual once, without a 340vh scroll track. */
.hero-centered + .fragsec .frag-stage{
  padding-top:clamp(90px,10vw,150px);
  padding-bottom:clamp(90px,10vw,150px);
}

/* Homepage summaries */
.home-stage-grid,
.home-card-grid,
.home-proof-grid{
  margin-top:46px;
  display:grid;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.home-stage-grid,
.home-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.home-proof-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.home-stage-grid article,
.home-card-grid article,
.home-proof-grid article{
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:26px;
}

.home-stage-grid article{min-height:190px}
.home-card-grid article{min-height:270px}
.home-proof-grid article{min-height:260px}

.home-stage-grid .mono,
.home-card-grid .mono,
.home-proof-grid .mono{
  color:var(--lime);
  display:block;
  margin-bottom:22px;
}

.home-stage-grid h3,
.home-card-grid h3,
.home-proof-grid h3{
  font-family:var(--f-display);
  font-size:clamp(22px,2vw,30px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.home-card-grid article > p:last-child,
.home-proof-grid article > p:last-child{
  color:var(--text-2);
  margin-top:18px;
}

.route-more{
  display:flex;
  margin-top:34px;
}

.home-final{
  min-height:auto;
  padding:clamp(100px,12vw,180px) 0;
}
.home-final-in{
  max-width:1100px;
}
.home-final .mono{
  margin-bottom:24px;
}
.home-final h2{
  max-width:14ch;
}
.home-final .sub{
  max-width:58ch;
}

/* Product hero */
.product-hero{
  padding-top:calc(var(--nav-h) + clamp(70px,9vw,130px));
  padding-bottom:clamp(90px,10vw,150px);
}
.product-hero-copy{
  max-width:1120px;
}
.product-hero h1{
  max-width:16ch;
  font-size:clamp(52px,6.8vw,104px);
  line-height:.95;
  letter-spacing:-.05em;
  text-wrap:balance;
}
.product-hero .lede{
  max-width:60ch;
  margin-top:30px;
}

.home-product-actions{
  gap:12px;
  flex-wrap:wrap;
}

.product-flow-section{
  padding-top:0;
}

.product-flow-intro{
  margin-bottom:clamp(34px,4vw,52px);
}

.product-flow-media{
  margin:0;
  border:1px solid var(--line-2);
  border-radius:2px;
  overflow:hidden;
  background:var(--bg);
}

.product-flow-media video{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  object-fit:contain;
  background:var(--bg);
}

.product-flow-media video:focus-visible{
  outline:2px solid var(--lime);
  outline-offset:-2px;
}

.product-flow-meta{
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:14px 16px;
  border-top:1px solid var(--line);
  color:var(--muted);
}

.product-flow-meta span:last-child{
  text-align:right;
}

@media(max-width:640px){
  .product-flow-meta{
    flex-direction:column;
    gap:4px;
  }

  .product-flow-meta span:last-child{
    text-align:left;
  }
}

@media(max-width:1024px){
  .hero-centered{min-height:auto}
  .hero-centered h1{max-width:18ch}
  .home-stage-grid,
  .home-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .home-proof-grid{grid-template-columns:1fr}
}

@media(max-width:640px){
  .hero-centered{
    padding-top:calc(var(--nav-h) + 70px);
    padding-bottom:70px;
  }
  .hero-centered h1{
    font-size:clamp(46px,14vw,68px);
  }
  .home-stage-grid,
  .home-card-grid{grid-template-columns:1fr}
  .home-stage-grid article,
  .home-card-grid article,
  .home-proof-grid article{min-height:0}
}


/* =========================================================
   GRAND ROUTE PAGES V2
   ========================================================= */

.route-page-hero{
  padding-top:calc(var(--nav-h) + clamp(72px,9vw,132px));
  padding-bottom:clamp(82px,9vw,132px);
  overflow:hidden;
}

.route-page-copy{
  max-width:1120px;
}

.route-page-hero h1{
  max-width:17ch;
  font-size:clamp(52px,6.8vw,104px);
  line-height:.95;
  letter-spacing:-.05em;
  text-wrap:balance;
}

.route-page-hero .lede{
  max-width:64ch;
  margin-top:30px;
  font-size:clamp(18px,1.55vw,23px);
}

.route-axis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  margin-top:clamp(64px,7vw,100px);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.route-axis article{
  min-height:230px;
  padding:24px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  display:flex;
  flex-direction:column;
}

.route-axis .mono{
  color:var(--lime);
  margin-bottom:auto;
  padding-bottom:34px;
}

.route-axis h2{
  font-family:var(--f-display);
  font-size:clamp(22px,2vw,29px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.route-axis p{
  color:var(--text-2);
  margin-top:12px;
  font-size:14px;
  line-height:1.5;
}

.role-axis article:nth-child(3) .mono{
  color:var(--orange);
}

/* Give full decision/persona libraries room after the thesis-led hero. */
.route-page-hero + .sec{
  border-top:1px solid var(--line);
}

/* The recovered interactive sections are page content now, not homepage chapters. */
#use-cases > .wrap > .sec-head .idx,
#teams > .wrap > .sec-head .idx{
  color:var(--lime);
}

@media(max-width:1024px){
  .route-axis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .route-page-hero{
    padding-top:calc(var(--nav-h) + 70px);
    padding-bottom:70px;
  }

  .route-page-hero h1{
    font-size:clamp(46px,14vw,68px);
  }

  .route-axis{
    grid-template-columns:1fr;
    margin-top:54px;
  }

  .route-axis article{
    min-height:0;
  }
}


/* =========================================================
   MARKETING MEMORY + ABOUT V2
   ========================================================= */

.memory-hero,
.about-page-hero{
  padding-top:calc(var(--nav-h) + clamp(78px,10vw,150px));
  padding-bottom:clamp(92px,10vw,150px);
}

.memory-hero-copy,
.about-page-copy{
  max-width:1120px;
}

.memory-hero h1,
.about-page-hero h1{
  max-width:17ch;
  font-size:clamp(52px,6.8vw,104px);
  line-height:.95;
  letter-spacing:-.05em;
  text-wrap:balance;
}

.memory-hero .lede,
.about-page-hero .lede{
  max-width:64ch;
  margin-top:30px;
  font-size:clamp(18px,1.55vw,23px);
}

.definition-band{
  margin-top:clamp(60px,7vw,100px);
  padding:28px 0 0;
  border-top:1px solid var(--lime);
  display:grid;
  grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr);
  gap:32px;
}

.definition-band > p:last-child{
  font-family:var(--f-display);
  font-size:clamp(28px,3vw,46px);
  line-height:1.05;
  letter-spacing:-.03em;
  max-width:29ch;
}

.record-duo{
  margin-top:48px;
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.record-duo article{
  min-height:360px;
  padding:30px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.record-duo article .mono{
  color:var(--muted);
}

.record-duo article.memory-record{
  background:var(--lime-04);
  border-color:var(--lime-30);
}

.record-duo article.memory-record .mono{
  color:var(--lime);
}

.record-duo h3{
  margin-top:44px;
  font-family:var(--f-display);
  font-size:clamp(30px,3.2vw,48px);
  letter-spacing:-.035em;
}

.record-duo article > p:not(.mono){
  color:var(--text-2);
  margin-top:18px;
  max-width:44ch;
}

.record-tags{
  margin-top:46px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.record-tags span{
  border:1px solid var(--line-2);
  padding:7px 9px;
  font-family:var(--f-mono);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
}

.category-pull{
  margin-top:clamp(54px,6vw,84px);
  max-width:26ch;
  font-family:var(--f-display);
  font-size:clamp(30px,4vw,58px);
  line-height:1;
  letter-spacing:-.04em;
}

.memory-loss-grid{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.memory-loss-grid article{
  min-height:270px;
  padding:22px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.memory-loss-grid .mono,
.memory-anatomy .mono,
.principle-grid .mono{
  color:var(--lime);
}

.memory-loss-grid h3,
.memory-anatomy h3,
.memory-properties h3,
.learning-states h3,
.adjacent-grid h3,
.principle-grid h3{
  font-family:var(--f-display);
  font-size:clamp(21px,1.8vw,28px);
  line-height:1.08;
  letter-spacing:-.025em;
}

.memory-loss-grid h3{
  margin-top:40px;
}

.memory-loss-grid p,
.memory-anatomy p,
.memory-properties p,
.learning-states p,
.adjacent-grid p,
.principle-grid p{
  color:var(--text-2);
  margin-top:14px;
}

.memory-anatomy{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.memory-anatomy article{
  min-height:220px;
  padding:24px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.memory-anatomy h3{
  margin-top:34px;
}

.memory-properties{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.memory-properties article{
  min-height:250px;
  padding:20px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.memory-properties h3{
  color:var(--lime);
}

.learning-states{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.learning-states article{
  min-height:260px;
  padding:22px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.learning-states .mono{
  color:var(--lime);
}

.learning-states .state-warn .mono{
  color:var(--orange);
}

.learning-states h3{
  margin-top:36px;
}

.adjacent-grid{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.adjacent-grid article{
  min-height:280px;
  padding:22px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.adjacent-grid .mono{
  color:var(--muted);
  margin-bottom:34px;
}

.why-now-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(400px,.9fr);
  gap:clamp(50px,7vw,110px);
  align-items:start;
}

.why-forces{
  margin-top:42px;
  list-style:none;
  border-top:1px solid var(--line);
}

.why-forces li{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:16px;
  padding:22px 0;
  border-bottom:1px solid var(--line);
}

.why-forces .mono{
  color:var(--lime);
}

.why-forces h3{
  font-family:var(--f-display);
  font-size:22px;
}

.why-forces p{
  color:var(--text-2);
  margin-top:7px;
}

.asymmetry{
  border:1px solid var(--line-2);
  min-height:520px;
  padding:22px;
  display:flex;
  flex-direction:column;
}

.asymmetry-head{
  display:flex;
  justify-content:space-between;
  padding-bottom:20px;
  border-bottom:1px solid var(--line);
}

.asymmetry-lines{
  flex:1;
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:42px;
  padding:40px 0;
}

.a-line{
  position:relative;
}

.a-line span{
  display:block;
  font-family:var(--f-mono);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:9px;
}

.a-line i{
  display:block;
  transform-origin:left;
}

.a-line.output i{
  height:3px;
  width:94%;
  background:var(--lime);
  transform:rotate(-8deg);
}

.a-line.memory i{
  height:1px;
  width:58%;
  background:var(--text-2);
  transform:rotate(-1deg);
}

.a-gap{
  height:118px;
  border-left:1px dashed var(--lime);
  margin-left:58%;
  display:flex;
  align-items:center;
}

.a-gap span{
  margin-left:14px;
  color:var(--lime);
  font-family:var(--f-mono);
  font-size:11px;
  text-transform:uppercase;
}

.asymmetry-axis{
  display:flex;
  justify-content:space-between;
  padding-top:14px;
  border-top:1px solid var(--line);
  font-family:var(--f-mono);
  font-size:10px;
  color:var(--muted);
}

.memory-fit{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);
  gap:clamp(48px,7vw,110px);
  align-items:start;
}

.memory-fit .body-s{
  margin-top:24px;
  color:var(--muted);
}

/* About */

.about-story-grid,
.about-name-grid{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1fr);
  gap:clamp(48px,7vw,120px);
  align-items:start;
}

.about-story-copy{
  font-size:clamp(18px,1.4vw,21px);
  color:var(--text-2);
}

.about-story-copy p + p{
  margin-top:22px;
}

.about-story-copy strong{
  color:var(--text);
  font-weight:600;
}

.founder-signoff{
  margin-top:42px;
  padding-top:22px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.founder-signoff div{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.context-roster{
  border:1px solid var(--line-2);
  padding:22px;
}

.context-head{
  display:flex;
  justify-content:space-between;
  padding-bottom:18px;
  border-bottom:1px solid var(--line);
}

.context-row{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:18px;
  align-items:center;
  padding:17px 0;
  border-bottom:1px solid var(--line);
  font-size:14px;
}

.context-row i{
  height:8px;
  width:var(--w);
  display:block;
  background:var(--text-2);
  opacity:.35;
}

.context-row.record{
  color:var(--lime);
}

.context-row.record i{
  background:var(--lime);
  opacity:1;
}

.about-quote{
  margin:clamp(70px,8vw,120px) 0 0;
  max-width:1100px;
  border-left:2px solid var(--lime);
  padding-left:clamp(24px,3vw,46px);
}

.about-quote p{
  font-family:var(--f-display);
  font-size:clamp(34px,4.8vw,72px);
  line-height:1;
  letter-spacing:-.04em;
}

.about-quote footer{
  margin-top:22px;
  color:var(--muted);
}

.principle-grid{
  margin-top:48px;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}

.principle-grid article{
  min-height:300px;
  padding:22px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.principle-grid h3{
  margin-top:40px;
}

@media(max-width:1180px){
  .memory-loss-grid,
  .learning-states,
  .adjacent-grid,
  .principle-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .memory-properties{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:1024px){
  .definition-band,
  .why-now-layout,
  .memory-fit,
  .about-story-grid,
  .about-name-grid{
    grid-template-columns:1fr;
  }

  .record-duo{
    grid-template-columns:1fr;
  }

  .memory-anatomy{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .memory-hero,
  .about-page-hero{
    padding-top:calc(var(--nav-h) + 70px);
    padding-bottom:70px;
  }

  .memory-hero h1,
  .about-page-hero h1{
    font-size:clamp(46px,14vw,68px);
  }

  .memory-loss-grid,
  .memory-anatomy,
  .memory-properties,
  .learning-states,
  .adjacent-grid,
  .principle-grid{
    grid-template-columns:1fr;
  }

  .record-duo article,
  .memory-loss-grid article,
  .memory-anatomy article,
  .memory-properties article,
  .learning-states article,
  .adjacent-grid article,
  .principle-grid article{
    min-height:0;
  }

  .asymmetry{
    min-height:420px;
  }

  .founder-signoff{
    align-items:flex-start;
    flex-direction:column;
  }

  .context-row{
    grid-template-columns:110px 1fr;
  }
}

/* =========================================================
   GRAND ACCESS + LEGAL
   ========================================================= */

.grand-access-page{
  padding-top:calc(var(--nav-h) + clamp(72px,9vw,132px));
  min-height:calc(100svh - var(--nav-h));
}

.access-layout{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(460px,1fr);
  gap:clamp(54px,7vw,120px);
  align-items:start;
  margin-top:34px;
}

.access-intro .h-display{
  max-width:11ch;
  font-size:clamp(52px,6.8vw,100px);
}

.access-intro .lede{
  margin-top:28px;
  max-width:52ch;
}

.access-steps{
  margin-top:clamp(52px,6vw,82px);
  border-top:1px solid var(--line);
}

.access-steps li{
  display:grid;
  grid-template-columns:52px 1fr;
  gap:16px;
  padding:20px 0;
  border-bottom:1px solid var(--line);
}

.access-steps .mono{
  color:var(--lime);
}

.access-steps strong{
  display:block;
  font-family:var(--f-display);
  font-size:18px;
  line-height:1.2;
}

.access-steps p{
  margin-top:6px;
  color:var(--muted);
  font-size:14px;
}

.access-form-card .form,
.access-form-card .served{
  border:1px solid var(--line-2);
  background:var(--panel);
  padding:clamp(24px,3vw,38px);
}

.access-form-card .form h2,
.access-form-card .served h2{
  font-family:var(--f-display);
  font-size:clamp(28px,2.8vw,40px);
  line-height:1.05;
  letter-spacing:-.03em;
}

.access-form-card .form .sub{
  color:var(--text-2);
  margin-top:8px;
  margin-bottom:28px;
  font-size:15px;
}

.access-form-card .fgrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px 16px;
}

.access-form-card .f{
  display:flex;
  flex-direction:column;
  gap:7px;
}

.access-form-card .f.full{
  grid-column:1/-1;
}

.access-form-card .f label{
  font-size:14px;
  font-weight:600;
}

.access-form-card .f label small{
  color:var(--muted);
  font-weight:400;
}

.access-form-card .f input,
.access-form-card .f textarea{
  width:100%;
  min-height:52px;
  padding:12px 14px;
  border:1px solid var(--line-2);
  border-radius:2px;
  background:var(--bg);
  color:var(--text);
}

.access-form-card .f textarea{
  min-height:130px;
  resize:vertical;
}

.access-form-card .f input::placeholder,
.access-form-card .f textarea::placeholder{
  color:var(--dim);
}

.access-form-card .f input:hover,
.access-form-card .f textarea:hover{
  border-color:var(--line-3);
}

.access-form-card .f input:focus,
.access-form-card .f textarea:focus{
  outline:2px solid var(--lime);
  outline-offset:1px;
  border-color:transparent;
}

.access-form-card .f [aria-invalid="true"]{
  border-color:var(--orange);
}

.access-form-card .err,
.access-form-card .fail{
  color:var(--orange);
  font-size:13px;
}

.access-form-card .hint-sm{
  color:var(--muted);
  font-size:12px;
}

.access-form-card .hp{
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
}

.access-form-card .form-foot{
  margin-top:26px;
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 22px;
}

.access-form-card .form-foot .btn{
  min-width:190px;
}

.access-form-card .form-foot p{
  flex:1;
  min-width:220px;
  color:var(--muted);
  font-size:13px;
}

.access-form-card .link,
.access-form-card .served-link a{
  text-decoration:underline;
  text-decoration-color:var(--line-3);
  text-underline-offset:4px;
}

.access-form-card .sum,
.access-banner{
  margin-bottom:18px;
  padding:12px 14px;
  border:1px solid var(--orange-30);
  background:var(--orange-10);
  color:var(--orange);
  font-size:14px;
}

.access-form-card .sum ul{
  list-style:disc;
  margin:6px 0 0 18px;
}

.access-form-card .done{
  display:none;
}

.access-form-card .form.sent .done{
  display:block;
}

.access-form-card .form.sent .fbody{
  display:none;
}

.access-form-card .done p,
.access-form-card .served p{
  color:var(--text-2);
  margin-top:10px;
}

.access-form-card .done .proto{
  color:var(--muted);
  font-size:13px;
  margin-top:18px;
  padding-top:14px;
  border-top:1px solid var(--line);
}

.access-form-card .ok-mark{
  width:42px;
  height:42px;
  margin-bottom:26px;
}

.access-form-card .served-link{
  margin-top:24px !important;
}

/* Legal */

.grand-legal-page{
  padding-top:calc(var(--nav-h) + clamp(72px,9vw,132px));
}

.legal-shell{
  max-width:940px;
}

.grand-legal-page .h-display{
  margin-top:20px;
  max-width:13ch;
}

.legal-meta{
  margin-top:24px;
  color:var(--muted);
  font-family:var(--f-mono);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.grand-legal-page .rvblock{
  margin-top:38px;
  padding:16px 18px;
  border:1px solid var(--orange-30);
  background:var(--orange-10);
  color:var(--text-2);
  font-size:14px;
}

.grand-legal-page .rv{
  color:var(--orange);
  font-style:normal;
}

.grand-prose{
  margin-top:clamp(62px,7vw,100px);
  max-width:820px;
}

.grand-prose h2{
  margin-top:64px;
  margin-bottom:18px;
  padding-top:28px;
  border-top:1px solid var(--line);
  font-family:var(--f-display);
  font-size:clamp(26px,3vw,40px);
  line-height:1.05;
  letter-spacing:-.03em;
}

.grand-prose > h2:first-child{
  margin-top:0;
}

.grand-prose p,
.grand-prose li{
  color:var(--text-2);
  font-size:16px;
  line-height:1.7;
}

.grand-prose p + p{
  margin-top:18px;
}

.grand-prose ul{
  list-style:disc;
  margin:18px 0 0 22px;
}

.grand-prose li + li{
  margin-top:9px;
}

.grand-prose a{
  text-decoration:underline;
  text-decoration-color:var(--line-3);
  text-underline-offset:4px;
}

.grand-prose .tbl{
  margin-top:26px;
  overflow-x:auto;
  border:1px solid var(--line);
}

.grand-prose table{
  width:100%;
  border-collapse:collapse;
  min-width:680px;
}

.grand-prose th,
.grand-prose td{
  padding:14px 16px;
  text-align:left;
  vertical-align:top;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  font-size:14px;
  line-height:1.55;
}

.grand-prose th{
  color:var(--text);
  font-family:var(--f-mono);
  font-size:11px;
  letter-spacing:.05em;
  text-transform:uppercase;
}

.grand-prose td{
  color:var(--text-2);
}

@media(max-width:1024px){
  .access-layout{
    grid-template-columns:1fr;
  }

  .access-intro .h-display{
    max-width:14ch;
  }
}

@media(max-width:640px){
  .grand-access-page,
  .grand-legal-page{
    padding-top:calc(var(--nav-h) + 70px);
  }

  .access-form-card .fgrid{
    grid-template-columns:1fr;
  }

  .access-form-card .form-foot .btn{
    width:100%;
  }

  .access-intro .h-display{
    font-size:clamp(46px,14vw,68px);
  }
}


.founder-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
