/* E9 Genomics / Urchin -- flagship design language v3, "Deep field".
   The whole site lives on deep teal; sage type; one yellow-green band for the proof.
   Fraunces display, Instrument Sans body. No section titles, no rules, no chrome. */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,600;1,9..144,300;1,9..144,500&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap');
:root{
  --ground:#1b3034;--ground-2:#243c41;--paper:#eef3e6;--brand:#35595f;--brand-2:#2a474c;
  --ink:#d7e1ca;--head:#eef3e6;--accent:#d4e09b;--accent-ink:#d4e09b;--line:rgba(224,233,212,.14);--line-dark:rgba(224,233,212,.14);
  --display:'Fraunces',Georgia,serif;--display-w:500;--display-track:-.025em;
  --sans:'Instrument Sans',-apple-system,Helvetica,Arial,sans-serif;--mono:var(--sans);
  --h1:clamp(3.6rem,8.4vw,7.8rem);--h2:clamp(2.4rem,4.8vw,4.4rem);--h3:clamp(1.5rem,2.1vw,1.9rem);--lede:clamp(1.12rem,1.5vw,1.32rem);--body:1.06rem;--small:.94rem;
  --statement:clamp(3rem,7.2vw,6.6rem);--huge:clamp(6rem,18vw,15rem);--numeral:3.2rem;--mail:clamp(2rem,5.2vw,4.8rem);
  --gap:clamp(24px,3vw,44px);--section-y:clamp(88px,10vw,150px);--maxw:1240px;--measure:58ch;--gutter:clamp(20px,5vw,48px);--ease:cubic-bezier(.16,1,.3,1);--r:4px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--ground);color:var(--ink);font-family:var(--sans);font-size:var(--body);line-height:1.55;-webkit-font-smoothing:antialiased}
img,svg,canvas{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1em}
h1,h2,h3{font-family:var(--display);font-weight:var(--display-w,400);margin:0 0 .45em;color:var(--head);letter-spacing:var(--display-track,-.01em)}
h1{font-size:var(--h1);line-height:.98;text-wrap:balance}
h2{font-size:var(--h2);line-height:1.02;text-wrap:balance;max-width:22ch}
h3{font-size:var(--h3);line-height:1.15}
.lede{font-size:var(--lede);line-height:1.45;max-width:var(--measure)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter)}
section{padding:var(--section-y) 0}
::selection{background:var(--accent);color:var(--brand)}
:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px}
.mark{font-family:var(--display);font-weight:var(--display-w,400);font-size:1.6rem;line-height:1;display:inline-flex;align-items:baseline;gap:.35rem;color:var(--head)}
.mark i{width:.44rem;height:.44rem;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent);transform:translateY(-.55rem)}
.mark span{font-family:var(--sans);font-size:.8rem;font-weight:500;opacity:.8;transform:translateY(-.05rem)}
.nav{position:sticky;top:0;z-index:50;background:var(--nav-bg,var(--ground))}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.nav-links{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:30px;font-weight:500;font-size:.98rem}
.btn{display:inline-flex;align-items:center;font-family:var(--sans);font-weight:600;font-size:1rem;padding:15px 24px;border-radius:var(--r);background:var(--brand);color:var(--ground);transition:transform .3s var(--ease),background .3s var(--ease)}
.btn:hover{transform:translateY(-2px)}
.btn.on-accent{background:var(--accent);color:var(--brand)}
.tlink{font-weight:600;border-bottom:2px solid currentColor;padding-bottom:2px}
.hero .wrap{display:grid;grid-template-columns:minmax(0,5.2fr) minmax(0,6.8fr);gap:clamp(24px,4vw,64px);align-items:center}
.hero-cta{display:flex;flex-wrap:wrap;align-items:center;gap:26px}
.hero-fig{position:relative;min-width:0}
.statement-q{font-family:var(--display);font-weight:var(--display-w,400);font-size:var(--statement);line-height:1;margin:0 0 .5em;letter-spacing:var(--display-track,-.01em);text-wrap:balance}
.statement-q mark{background:none;color:var(--accent)}
.statement-lede{font-size:var(--lede);line-height:1.5;max-width:60ch;margin:0}
.caps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);margin-top:clamp(36px,5vw,64px)}
.cap .num{display:block;font-family:var(--display);font-weight:var(--display-w,400);font-size:var(--numeral);line-height:1;color:var(--accent-ink);margin-bottom:22px}
.cap p{margin:0}
.trace .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:center}
.trace-notes{list-style:none;margin:28px 0 0;padding:0}
.trace-notes li{padding:12px 0;display:grid;grid-template-columns:32px 1fr;gap:12px;font-size:var(--small)}
.trace-notes li b{font-family:var(--display);font-weight:var(--display-w,400);color:var(--accent);font-size:1.1em}
.tg-fig{min-width:0}
.readout{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,5vw,64px);align-items:end}
.huge{font-family:var(--display);font-weight:var(--display-w,400);font-size:var(--huge);line-height:.8;letter-spacing:-.03em;margin:0;font-variant-numeric:tabular-nums;color:var(--head)}
.huge .plus{color:var(--accent-ink)}
.readout .unit{font-size:var(--lede);font-weight:600;max-width:24ch;margin:28px 0 12px;line-height:1.3}
.readout .note{max-width:44ch;margin:0}
.figcap{font-size:var(--small);margin:14px 0 0;opacity:.8}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tile-gap,0);margin-top:clamp(40px,6vw,80px)}
.tile{display:flex;flex-direction:column;padding:30px 26px 26px;transition:background .3s var(--ease),transform .3s var(--ease)}
.tile .n{font-family:var(--display);font-weight:var(--display-w,400);font-size:clamp(2.6rem,4.4vw,4rem);line-height:1;display:block;color:var(--head)}
.tile .u{font-weight:600;margin:14px 0 8px;display:block}
.tile .l{font-size:var(--small);line-height:1.45;display:block}
.tile .go{margin-top:auto;padding-top:22px;font-weight:600;font-size:var(--small);align-self:flex-start;border-bottom:2px solid currentColor}
.pr-grid{list-style:none;margin:clamp(36px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tile-gap,0);counter-reset:pr}
.pr-grid li{counter-increment:pr;padding:36px 32px}
.pr-grid li::before{content:counter(pr,decimal-leading-zero);display:block;font-family:var(--display);font-weight:var(--display-w,400);font-size:var(--numeral);line-height:1;color:var(--accent-ink);margin-bottom:22px}
.pr-grid h3{max-width:16ch}
.pr-grid p{margin:0;max-width:40ch}
.people{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap);margin-top:clamp(36px,5vw,64px)}
.person .who{font-family:var(--display);font-weight:var(--display-w,400);font-size:clamp(2rem,3.4vw,3rem);line-height:1;color:var(--head)}
.person .role{font-weight:600;color:var(--accent-ink);margin:10px 0 16px}
.person p{margin:0;max-width:44ch}
.lineage{display:flex;flex-wrap:wrap;gap:12px 40px;margin-top:clamp(36px,5vw,56px);font-weight:600}
.contact .mail{display:inline-block;font-family:var(--display);font-weight:var(--display-w,400);font-size:var(--mail);line-height:1;letter-spacing:-.02em;margin:10px 0 30px}
.contact-meta{margin:0;line-height:1.7}
.contact-meta a{border-bottom:2px solid currentColor}
footer{padding:64px 0 34px;font-size:var(--small)}
.foot-grid{display:grid;grid-template-columns:minmax(0,5fr) repeat(3,minmax(0,2fr));gap:var(--gap)}
.foot-grid h4{font-family:var(--sans);font-weight:600;font-size:var(--small);margin:0 0 12px}
.foot-grid ul{list-style:none;margin:0;padding:0}
.foot-grid li{margin-bottom:8px}
.foot-brand p{max-width:34ch;margin-top:14px}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:44px;padding-top:18px;opacity:.75}
.on-dark .fig .cal{background:var(--paper,#eef3e6);color:#35595f}
@media (max-width:900px){
  .hero .wrap,.trace .wrap,.readout,.people{grid-template-columns:1fr}
  .caps-grid{grid-template-columns:1fr}.tiles{grid-template-columns:1fr 1fr}.foot-grid{grid-template-columns:1fr 1fr}
  .nav-links li:not(:last-child){display:none}
}
h1 em,h2 em{font-style:italic;font-weight:300;color:var(--accent)}
.nav-links a{color:var(--head)}.nav .btn{background:var(--accent);color:var(--brand)}
.hero{padding:clamp(40px,6vw,96px) 0 clamp(56px,7vw,110px)}
.hero .lede{color:var(--ink);margin-bottom:1.8em}
.tlink{color:var(--head);border-color:var(--accent)}
.statement{padding:clamp(120px,16vw,220px) 0}
.statement-q{max-width:16ch;color:var(--head)}
.statement-lede{color:var(--ink);margin-top:36px}
.caps{background:var(--ground-2)}
.cap .num{color:var(--accent);font-style:italic;font-weight:300}
.trace-notes li{color:var(--ink)}
.result{background:var(--accent);color:#1b3034}
.result .huge,.result .tile .n,.result .figcap{color:#1b3034}
.result .huge .plus{color:var(--brand)}
.result{--chart-bar:#35595f}
.tiles{gap:6px}
.tile{background:rgba(27,48,52,.07);border-radius:var(--r);color:#1b3034}
.tile:hover{background:#1b3034;color:var(--head);transform:translateY(-3px)}
.tile:hover .n{color:var(--accent)}
.pr-grid{gap:6px}
.pr-grid li{background:var(--ground-2);border-radius:var(--r)}
.pr-grid li::before{color:var(--accent);font-style:italic;font-weight:300}
.team{background:var(--ground-2)}
.person .role{color:var(--accent)}
.lineage{color:var(--ink)}
.contact{padding:clamp(120px,14vw,200px) 0}
.contact .mail{color:var(--accent)}
.contact-meta a{border-color:var(--accent)}
footer{background:#142527;color:var(--ink)}
.foot-grid h4{color:var(--head)}

/* ---- MP-07 entrance pack + MP-F4 char-split ---- */
@keyframes fc-fade-up{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
@keyframes fc-word-reveal{from{opacity:0;transform:translateY(100%);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes fc-scale-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}
@keyframes fc-char{from{transform:translateY(110%)}to{transform:translateY(0)}}
.fc-anim{animation-timing-function:var(--ease);animation-fill-mode:both}
.fc-fade-up{animation-name:fc-fade-up;animation-duration:.9s}
.fc-scale-in{animation-name:fc-scale-in;animation-duration:1s}
.fc-word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.fc-word>span{display:inline-block;animation:fc-word-reveal .8s var(--ease) both}
.split .ch{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.06em}
.split .ch>span{display:inline-block;transform:translateY(110%)}
.split.in .ch>span{animation:fc-char .85s var(--ease) both}
/* below-fold entrances via IntersectionObserver */
.rise{opacity:0;transform:translateY(26px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.rise.in{opacity:1;transform:none}
.rise-d1{transition-delay:.12s}.rise-d2{transition-delay:.24s}.rise-d3{transition-delay:.36s}.rise-d4{transition-delay:.48s}
@media (prefers-reduced-motion:reduce){
  .fc-anim,.fc-word>span,.split .ch>span,.split.in .ch>span{animation:none!important;opacity:1;transform:none!important;filter:none}
  .rise{opacity:1;transform:none;transition:none}
}
html.static-render .fc-anim,html.static-render .fc-word>span,html.static-render .split .ch>span,html.static-render .split.in .ch>span{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
html.static-render .rise{opacity:1!important;transform:none!important}


.chart .bar{transform:scaleY(0);transform-box:fill-box;transform-origin:bottom;transition:transform 1.1s var(--ease)}
.chart .bar.b2{transition-delay:.18s}.chart .bar.b3{transition-delay:.34s}
.chart .val{opacity:0;transition:opacity .5s var(--ease) .9s}
.chart.in .bar{transform:scaleY(1)}
.chart.in .val{opacity:1}
@media (prefers-reduced-motion:reduce){.chart .bar{transform:scaleY(1);transition:none}.chart .val{opacity:1;transition:none}}
html.static-render .chart .bar{transform:scaleY(1)!important}
html.static-render .chart .val{opacity:1!important}


/* ---- the landscape: isometric evidence terrain, searched ---- */
.fig{position:relative;width:100%;aspect-ratio:1.2;min-height:340px;cursor:pointer}
.fig canvas,.fig svg{position:absolute;inset:0;width:100%;height:100%}
.fig svg{overflow:visible;pointer-events:none}
.fig .lead{fill:none;stroke:rgba(224,233,212,.55);stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1s var(--ease)}
.fig .anchor{fill:none;stroke:var(--accent);stroke-width:1.4;opacity:0;transition:opacity .45s var(--ease)}
.fig.lit .lead{stroke-dashoffset:0}
.fig.lit .anchor{opacity:1}
.cal{position:absolute;left:0;top:0;font-size:.76rem;line-height:1;color:var(--brand);background:var(--paper);border:1px solid rgba(53,89,95,.2);border-radius:999px;padding:7px 13px;white-space:nowrap;box-shadow:0 8px 22px rgba(16,34,38,.3);opacity:0;transition:opacity .55s var(--ease)}
.cal.l{transform:translate(-100%,-50%)}
.cal.r{transform:translate(0,-50%)}
.cal.c{transform:translate(-50%,-50%)}
.fig.lit .cal{opacity:1}
.cal.d1{transition-delay:.1s}.cal.d2{transition-delay:.25s}.cal.d3{transition-delay:.4s}
.fig .lead.d1{transition-delay:.1s}.fig .lead.d2{transition-delay:.25s}.fig .lead.d3{transition-delay:.4s}
.axl{position:absolute;left:0;top:0;font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:rgba(224,233,212,.45);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .8s var(--ease)}
.fig.drawn .axl{opacity:1}
.leg{position:absolute;left:0;top:2px;font-size:.76rem;line-height:1.6;color:rgba(224,233,212,.5);opacity:0;transition:opacity .8s var(--ease)}
.fig.lit .leg{opacity:1}
.leg div{display:flex;align-items:center;gap:10px}
.leg i{width:18px;height:11px;border-radius:2px;display:block;flex:none}
.leg .gh{border:1px dashed rgba(224,233,212,.55);background:rgba(224,233,212,.09)}
.leg .ur{border:1px solid var(--accent);background:rgba(212,224,155,.3)}
.leg .on{color:var(--accent)}
@media (prefers-reduced-motion:reduce){.fig{cursor:default}.fig .lead,.fig .anchor,.cal,.axl,.leg{transition:none}}

/* ---- the reasoning-trace graph ---- */
.tg-fig{position:relative}
.tg-canvas{position:relative;width:100%;aspect-ratio:16/11}
.tg-canvas canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.tg-hint{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:rgba(224,233,212,.6);margin:14px 0 0}
.tg-cap{font-size:var(--small);color:rgba(224,233,212,.55);line-height:1.55;max-width:62ch;margin:10px 0 0}
.tg-card{position:absolute;z-index:3;min-width:186px;pointer-events:none;background:var(--brand-2);border:1px solid var(--accent);border-radius:var(--r);padding:11px 13px;opacity:0;transform:translateY(4px);transition:opacity .18s var(--ease),transform .18s var(--ease)}
.tg-card.on{opacity:1;transform:none}
.tg-card b{display:block;font-family:var(--sans);font-weight:500;font-size:13px;line-height:1.3;color:var(--ground);margin-bottom:7px}
.tg-card span{display:block;font-size:11.5px;line-height:1.5;color:rgba(224,233,212,.62)}
.tg-card span i{font-style:normal;color:var(--accent)}


@media (max-width:900px){.fig{aspect-ratio:1;min-height:330px}.cal{font-size:.7rem;padding:6px 10px}.tg-canvas{aspect-ratio:4/3}}
@media (hover:none){.tg-hint{display:none}}
.chart .bar{fill:var(--chart-bar,var(--brand))}
.ink text{font-family:var(--sans);font-size:11px;letter-spacing:.06em;fill:currentColor}
.ink text.dim{opacity:.7}
.ink .hair{stroke:currentColor;opacity:.35;stroke-width:1;fill:none}

/* ---- site-wide additions over the scheme ---- */
.nav-burger{display:none}
.nav-links a{color:var(--head)}
.small{font-size:var(--small);opacity:.85}
.measure{max-width:var(--measure)}
section.tight,section.ruled{padding:var(--section-y) 0}
.on-dark{background:var(--ground-2)}
.grain::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.grain{position:relative;isolation:isolate}
/* the old instrument chrome is retired: frames become plain boxes, ticks and crosshairs vanish */
.frame{position:relative}.frame .tk,.frame .xh,.srule,.runhead{display:none}
.figcap{margin-top:14px}
/* hero, larger figure */
.hero .wrap{grid-template-columns:minmax(0,4.4fr) minmax(0,7.6fr);max-width:1360px}
.hero-fig{margin-right:calc(-1 * clamp(0px,3vw,56px))}
.fig{aspect-ratio:1.12;min-height:380px}
/* case-study readout switcher */
.study{display:none}.study.on{display:grid}
.stats{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.stats li{background:rgba(27,48,52,.07);border-radius:var(--r);padding:18px 22px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:18px;align-items:baseline}
.stats b{font-family:var(--display);font-weight:var(--display-w);font-size:clamp(2rem,3.4vw,3rem);line-height:1;letter-spacing:-.02em}
.stats span{font-weight:500}
.tile{cursor:pointer}
.tile.on{background:#1b3034;color:var(--head)}
.tile.on .n{color:var(--accent)}
.tile.on .go{color:var(--accent)}
/* subpages */
.pagehead{padding:clamp(56px,7vw,110px) 0 clamp(40px,5vw,72px)}
.pagehead h1{font-size:clamp(3rem,6.4vw,6rem);max-width:18ch}
.pagehead .tags,.ledger-row .tags{font-weight:600;color:var(--accent);margin-bottom:18px;display:flex;flex-wrap:wrap;gap:8px 0}
.pagehead .tags span+span::before,.ledger-row .tags span+span::before{content:"·";margin:0 10px;opacity:.5}
.quote{margin:0 0 48px;padding:0;max-width:60ch}
.quote p{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(1.6rem,2.8vw,2.4rem);line-height:1.25;color:var(--head);margin:0 0 .6em}
.quote cite{font-style:normal;font-weight:600;color:var(--accent)}
.strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px}
.strip .cell{background:var(--ground-2);border-radius:var(--r);padding:28px 26px 24px}
.strip .n{font-family:var(--display);font-weight:var(--display-w);font-size:clamp(2.6rem,4.4vw,4rem);line-height:1;display:block;color:var(--head)}
.strip .u{font-weight:600;margin:14px 0 8px;display:block;color:var(--accent)}
.strip .l{font-size:var(--small);line-height:1.45;display:block}
.stripfoot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:var(--small);opacity:.7;margin-top:14px}
.prose{max-width:var(--measure)}
.prose h2{font-size:clamp(1.8rem,2.8vw,2.5rem);margin-top:1.6em}
.prose.paper{max-width:none;display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);column-gap:clamp(28px,5vw,72px);row-gap:0}
.prose.paper h2{grid-column:1;margin:0 0 1.2em;padding-top:.1em}
.prose.paper p,.prose.paper ol,.prose.paper ul{grid-column:2;max-width:var(--measure)}
.prose.paper>p:first-child{grid-column:2}
.prose.paper h2+p,.prose.paper h2+ol{padding-top:.2em}
.prose.paper h2~h2{margin-top:2.2em}
.prose ol,.prose ul{padding-left:1.2em}.prose li{margin-bottom:.5em}
.prevnext{display:flex;justify-content:space-between;gap:20px;padding:32px 0 0;margin-top:56px}
.ledger{display:grid;gap:6px}
.ledger-row{display:grid;grid-template-columns:minmax(0,2.2fr) minmax(0,1.2fr) minmax(0,3.2fr) auto;gap:clamp(16px,3vw,40px);align-items:center;padding:34px 30px;background:var(--ground-2);border-radius:var(--r);transition:background .3s var(--ease),transform .3s var(--ease)}
.ledger-row:hover{background:var(--accent);color:#1b3034;transform:translateY(-3px)}
.ledger-row:hover h3,.ledger-row:hover .big,.ledger-row:hover .tags{color:#1b3034}
.ledger-row h3{margin:0}
.ledger-row .big{font-family:var(--display);font-weight:var(--display-w);font-size:clamp(2.4rem,3.8vw,3.4rem);line-height:1;color:var(--head)}
.ledger-row .big small{display:block;font-family:var(--sans);font-weight:500;font-size:var(--small);margin-top:8px;line-height:1.4}
.ledger-row .sum{margin:0}
.ledger-row .go{white-space:nowrap}
.essay{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(28px,5vw,72px);align-items:start}
.essay h2{margin:0}
.pull{font-family:var(--display);font-weight:300;font-style:italic;font-size:clamp(1.6rem,2.6vw,2.3rem);line-height:1.2;color:var(--head);margin:26px 0 0}
.pull mark{background:none;color:var(--accent)}
.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--gap)}
.figure .num{font-family:var(--display);font-weight:300;font-style:italic;font-size:var(--numeral);line-height:1;color:var(--accent);margin-bottom:22px}
.figure p{margin:0}.figure .diagram{display:none}
ol.principles:not(.pr-grid){list-style:none;margin:0;padding:0;counter-reset:pr;display:grid;gap:6px}
ol.principles:not(.pr-grid) li{counter-increment:pr;display:grid;grid-template-columns:72px minmax(0,3fr) minmax(0,7fr);gap:var(--gap);padding:32px 30px;background:var(--ground-2);border-radius:var(--r);align-items:start}
ol.principles:not(.pr-grid) li::before{content:counter(pr,decimal-leading-zero);font-family:var(--display);font-weight:300;font-style:italic;font-size:1.8rem;color:var(--accent);line-height:1}
ol.principles:not(.pr-grid) h3{margin:0;font-size:1.5rem}ol.principles:not(.pr-grid) p{margin:0}
.team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap)}
.lineage b{color:var(--head)}
.contact-band{padding:clamp(120px,14vw,200px) 0}
.contact-band .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gap);align-items:end}
.contact-band .mail{display:inline-block;font-family:var(--display);font-weight:var(--display-w);font-size:var(--mail);line-height:1;letter-spacing:-.02em;color:var(--accent);margin:10px 0 0}
.contact-band .contact-meta{line-height:1.8}
.plate{overflow-x:auto}.plate>svg{min-width:var(--plate-min,520px)}
.readout>*,.plate{min-width:0}
@media (max-width:900px){
  .hero .wrap{grid-template-columns:1fr}.hero-fig{margin-right:0}.fig{aspect-ratio:1;min-height:340px}
  .prose.paper{display:block;max-width:var(--measure)}.prose.paper h2{margin-top:1.8em}
  .ledger-row{grid-template-columns:1fr;gap:12px}
  ol.principles:not(.pr-grid) li{grid-template-columns:48px 1fr}ol.principles:not(.pr-grid) li p{grid-column:2}
  .team,.essay,.contact-band .wrap{grid-template-columns:1fr}
  .stats li{grid-template-columns:1fr;gap:6px}
  #engagement figure{display:none}.plate>svg{min-width:0}
}
/* v3 fixes */
:root{--h1:clamp(3.4rem,7.4vw,7rem)}
.contact-band .wrap{display:block}
.contact-band .contact-meta{margin-top:36px}
.ink .fill{fill:var(--ink)}.ink .box{stroke:var(--ink)}.ink .link{stroke:var(--ink);opacity:.6}.ink .out{fill:var(--accent);stroke:var(--accent)}
.figcap b{color:var(--accent)}
section.team{display:block}
div.team{background:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.pagehead .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--gap);align-items:end}
.pagehead .tags{grid-column:1/-1}.pagehead h1{grid-column:1;margin:0}.pagehead .lede{grid-column:2;margin:0 0 .4em}
@media (max-width:900px){.pagehead .wrap{display:block}.pagehead h1{margin-bottom:.45em}}
.fig .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:1;transition:opacity .6s var(--ease)}
.fig.drawn .poster{opacity:0}
.result .readout figure{border:1.5px solid #1b3034;border-radius:var(--r);padding:clamp(18px,2.4vw,32px)}
.result .figcap{margin-top:10px}
.result .plate>svg{min-width:0}

/* about + contact v2 (2026-09-22): additive block, nothing above is changed */
.bio{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(28px,5vw,72px);align-items:start}
.bio-photo{margin:0}
.bio-photo img{width:100%;height:auto;display:block;border-radius:var(--r);border:1.5px solid var(--line)}
.bio-photo figcaption{font-size:var(--small);color:var(--ink);margin-top:12px}
.bio h1{font-size:clamp(2.8rem,5.6vw,5rem);max-width:14ch;margin:0 0 .25em}
.bio .role{font-weight:600;color:var(--accent);margin:0 0 28px}
.bio p{max-width:var(--measure)}
.bio .lede a,.bio p a{color:inherit}
.cv{list-style:none;margin:clamp(40px,6vw,72px) 0 0;padding:0;border-top:1px solid var(--line)}
.cv li{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:clamp(16px,3vw,40px);padding:20px 0;border-bottom:1px solid var(--line)}
.cv .k{font-weight:600;color:var(--accent)}
.cv p{margin:0;max-width:60ch}
.links{display:flex;flex-wrap:wrap;gap:12px 28px;margin-top:clamp(28px,4vw,44px)}
.contact h1{margin:0 0 .4em}
.contact .lede{margin-top:6px}
@media (max-width:820px){.bio{grid-template-columns:1fr}.bio-photo{max-width:360px}.cv li{grid-template-columns:1fr;gap:6px}}

/* case-study v2 (2026-09-22): figures pop, prev/next as buttons, masthead + evidence balance. Additive block. */
.pagehead .wrap{align-items:start}
.pagehead .lede{margin-top:1.05em}
[class*="page-case-study-"] .pagehead h1{font-size:clamp(2.6rem,5.2vw,4.8rem);max-width:16ch}
[class*="page-case-study-"] #evidence .wrap{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:clamp(28px,4vw,56px);align-items:start}
[class*="page-case-study-"] .quote{margin:0;max-width:none}
[class*="page-case-study-"] .quote p{font-size:clamp(1.3rem,2vw,1.8rem);line-height:1.3}
[class*="page-case-study-"] .strip{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
[class*="page-case-study-"] .stripfoot{grid-column:1/-1}
#engagement figure .frame{background:none;border:0;padding:0}
#engagement .ink text{font-size:14.5px;font-weight:500;fill:var(--head);letter-spacing:.08em;paint-order:stroke;stroke:var(--ground);stroke-width:5px;stroke-linejoin:round}
#engagement .ink text.dim{fill:var(--accent);opacity:1;font-weight:500}
#engagement .ink .hair{stroke:var(--head);opacity:.6;stroke-width:1.6}
#engagement .ink .link{stroke:var(--accent);opacity:1;stroke-width:2.4;fill:none;stroke-linecap:round}
#engagement .ink .box{stroke:var(--accent);stroke-width:2;fill:none}
#engagement .ink .fill-a{fill:var(--accent);stroke:var(--accent)}
#engagement .ink .out{fill:var(--accent);stroke:var(--accent);stroke-width:3;filter:drop-shadow(0 0 9px rgba(212,224,155,.85))}
#engagement .figcap{font-size:var(--body);opacity:1;margin-top:18px}
.prevnext{gap:16px;padding:0;margin-top:64px;border:0}
.prevnext a{flex:1 1 0;display:block;padding:22px 26px;border:1.5px solid var(--accent);border-radius:var(--r);color:var(--head);transition:background .3s var(--ease),color .3s var(--ease),transform .3s var(--ease)}
.prevnext a .small{display:block;color:var(--accent);font-weight:600;margin-bottom:6px}
.prevnext a h3{margin:0;font-size:clamp(1.3rem,1.9vw,1.7rem)}
.prevnext a:first-child .small::before{content:"\2190\00a0"}
.prevnext a:last-child .small::after{content:"\00a0\2192"}
.prevnext a:hover{background:var(--accent);color:#1b3034;transform:translateY(-3px)}
.prevnext a:hover .small,.prevnext a:hover h3{color:#1b3034}
@media (max-width:900px){[class*="page-case-study-"] #evidence .wrap{display:block}[class*="page-case-study-"] .strip{margin-top:32px}.prevnext{flex-direction:column}}

/* prose sections (2026-09-22): each heading owns its paragraphs; replaces the auto-placed grid */
.prose.paper{display:block;max-width:none}
.prose.paper .sec{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr);column-gap:clamp(28px,5vw,72px);row-gap:0;margin-top:2.4em}
.prose.paper .sec:first-child{margin-top:0}
.prose.paper .sec h2{grid-column:1;margin:0;padding-top:.15em}
.prose.paper .sec>*:not(h2){grid-column:2;max-width:var(--measure)}
.prose.paper .sec>h2+*{margin-top:0}

@media (max-width:820px){.prose.paper .sec{display:block}.prose.paper .sec h2{margin-bottom:.6em}}

/* breadth figure (2026-09-22): depth-vs-breadth chart in the Explore broadly section */
#breadth .essay{grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center}
#breadth .plate{background:none;border:0;padding:0}
#breadth .ink text{font-size:14.5px;font-weight:500;fill:var(--head);letter-spacing:.08em;paint-order:stroke;stroke:var(--ground-2);stroke-width:5px;stroke-linejoin:round}
#breadth .ink text.lab{fill:var(--head);font-weight:600}
#breadth .ink text.lab.on{fill:var(--accent)}
#breadth .ink text.dim.on{fill:var(--accent);opacity:1}
#breadth .ink text.dim{fill:var(--head);opacity:.9;letter-spacing:.02em;font-size:13px;font-weight:400}
#breadth .ink text.axis{fill:var(--head);opacity:.85;font-size:12px;font-weight:500;letter-spacing:.16em}
#breadth .ink text.on{fill:var(--accent);opacity:1}
#breadth .ink .hair{stroke:var(--head);opacity:.75;stroke-width:1.7}
#breadth .zone-x{fill:none;stroke:var(--head);stroke-width:1.9;opacity:.85}
#breadth .zone-g{fill:none;stroke:var(--head);stroke-width:1.9;opacity:.85}
#breadth .zone-u{fill:var(--accent);opacity:.14}
#breadth .zone-outline{fill:none;stroke:var(--accent);stroke-width:2.6;stroke-dasharray:7 7;opacity:1}
#breadth .ink .out{fill:var(--accent);stroke:var(--accent);stroke-width:3;filter:drop-shadow(0 0 9px rgba(212,224,155,.85))}
#breadth .figcap{font-size:var(--body);opacity:1;margin-top:18px;max-width:52ch}
@media (max-width:900px){#breadth .essay{grid-template-columns:1fr}}

/* hero proportions (2026-09-22): wider text column, title one step down so it sets in three lines instead of six */
.hero .wrap{grid-template-columns:minmax(0,5.6fr) minmax(0,6.4fr)}
.hero h1{font-size:clamp(2.8rem,4.9vw,4.5rem);letter-spacing:-.02em;line-height:1.02;max-width:none}
.hero .lede{max-width:44ch}
@media (max-width:900px){.hero .wrap{grid-template-columns:1fr}}

/* case-study spacing + decisions strip (2026-09-23) */
[class*="page-case-study-"] #evidence{padding-bottom:clamp(36px,4.5vw,56px)}
[class*="page-case-study-"] #engagement{padding-top:clamp(40px,5vw,64px)}
.overview-title{margin:0 0 clamp(28px,3.5vw,44px);padding-bottom:18px;border-bottom:1px solid var(--line)}
#decisions .strip .cell{padding:34px 22px 32px}
#decisions .strip .l{line-height:1.6;margin-top:2px}
#decisions .strip .u{margin-bottom:12px}
#decisions .strip .u{white-space:nowrap;font-size:1rem;letter-spacing:-.005em}
