/* mantikon.com — the catalogue of decisions.
   System transferred from colossal.com in numbers (see DESIGN.md); colours, type and
   content are ours. Fluid: every measure follows the viewport (gutters, container,
   type), the page is never a column in a margin. One signal colour for what is alive;
   no shadows anywhere. */

@font-face{font-family:'Azeret Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/azeret-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Azeret Mono';font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/azeret-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Azeret Mono';font-style:italic;font-weight:100 900;font-display:swap;src:url(/fonts/azeret-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/sora-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Sora';font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/sora-normal-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --page:#FFFFFF; --panel:#EEF2F5; --field:#0B0F13; --field-2:#121820;
  --ink:#1A222B; --ink-2:#3F4A55; --mute:#66727E; --line:#D7DDE3;
  --on-field:#E9EEF2; --on-field-2:#9AA7B3; --field-line:rgba(255,255,255,.18);
  --go:#2BE07A; --go-deep:#117A42; --go-soft:#DDF7E7;
  --gut:clamp(20px,3.6vw,80px);
  --wrap:min(1840px,100% - 2*var(--gut));
  --fs-label:clamp(11px,.72vw,14px);
  --fs-body:clamp(16px,1.02vw,20px);
  --fs-small:clamp(14px,.9vw,17px);
  --fs-lead:clamp(16px,1.25vw,24px);
  --fs-h2:clamp(40px,5.6vw,112px);
  --fs-state:clamp(24px,2.6vw,50px);
  --fs-h3:clamp(20px,1.9vw,36px);
  --fs-btn:clamp(12px,.75vw,14px);
  --fs-board:clamp(10.5px,.68vw,13px);
  --fs-log:clamp(12.5px,.82vw,15.5px);
  --mono:'Azeret Mono',ui-monospace,'Cascadia Mono',Menlo,monospace;
  --sans:'Sora',system-ui,'Segoe UI',sans-serif;
  --e-display:cubic-bezier(.16,1,.3,1);
  --e-body:cubic-bezier(.25,.46,.45,.94);
  --e-ui:cubic-bezier(.4,0,.2,1);
  --e-move:cubic-bezier(.77,0,.175,1);
  --fill:#fff; --fill-ink:var(--field);
  --d:0s;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-color:var(--ink-2) var(--page)}
body{margin:0;background:var(--page);color:var(--ink);font:400 var(--fs-body)/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--go);color:var(--field)}
:focus-visible{outline:2px solid var(--go-deep);outline-offset:3px;border-radius:2px}
.foot :focus-visible,.hero :focus-visible,.scale :focus-visible,.phero :focus-visible,.index :focus-visible,.board :focus-visible,.lost :focus-visible{outline-color:var(--go)}
a{color:inherit;text-decoration:none}
img,svg,picture{display:block}
p{margin:0 0 1.1em}
h1,h2,h3,h4{margin:0;font-weight:500}
ol,ul{margin:0;padding:0;list-style:none}
b,strong{font-weight:500}
.light,.panel-sec{--fill:var(--ink);--fill-ink:#fff}
.wrap{width:var(--wrap);margin-inline:auto}
.skip{position:absolute;left:var(--gut);top:-60px;z-index:70;background:var(--go);color:var(--field);padding:10px 14px;font:400 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px}
.skip:focus{top:12px}
.pad{padding:clamp(72px,8vw,140px) 0}
.pad-t{padding-top:clamp(40px,5vw,80px)}
.panel-sec{background:var(--panel)}

/* ---- catalogue voice ---- */
.tag{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;padding:.5em .7em .45em;border-radius:3px;white-space:nowrap}
.hatch{flex:0 1 clamp(80px,12vw,260px);height:10px;background:repeating-linear-gradient(115deg,currentColor 0 1px,transparent 1px 5px);opacity:.45}
.sec-head,.tag-row{display:flex;align-items:center;gap:18px;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding-top:28px}
.tag-row{padding-top:0;margin-bottom:clamp(20px,2vw,36px)}
.sec-head .sec-name{margin-left:auto;color:var(--mute);display:inline-flex;align-items:center;gap:8px;transition:color .25s var(--e-ui)}
.sec-name svg{width:clamp(11px,.7vw,14px);height:clamp(11px,.7vw,14px);flex:0 0 auto}
.tag-row .sec-name{display:inline-flex;align-items:center;gap:8px}
.sec-head a.sec-name:hover{color:var(--go-deep)}
.scale .sec-head .sec-name,.phero .sec-name{color:var(--on-field-2)}
.scale .sec-head a.sec-name:hover{color:var(--go)}
.h-mono{font:300 var(--fs-h2)/.98 var(--mono);text-transform:uppercase;letter-spacing:-.025em;margin:0 0 .3em;text-wrap:balance}

/* margin marks, drawn */
.rail{position:absolute;left:clamp(12px,1.6vw,32px);top:0;bottom:0;width:14px;pointer-events:none;color:currentColor;opacity:.5}
.rail i{position:absolute;left:0;width:12px;height:12px;will-change:transform}
.rail .m-sq::before{content:"";position:absolute;inset:3px;background:currentColor}
.rail .m-plus::before,.rail .m-plus::after{content:"";position:absolute;background:currentColor}
.rail .m-plus::before{left:5.5px;top:0;width:1px;height:12px}
.rail .m-plus::after{top:5.5px;left:0;height:1px;width:12px}
@media (max-width:1380px){.rail{display:none}}

/* ---- buttons ---- */
.btn{display:inline-flex;align-items:center;gap:14px;font:400 var(--fs-btn)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:1.1em 1.6em;border-radius:999px;border:1px solid currentColor;color:inherit;background:transparent;cursor:pointer;white-space:nowrap;transition:background-color .25s var(--e-ui),color .25s var(--e-ui),border-color .25s var(--e-ui)}
.btn i{font-style:normal;display:grid;place-items:center;width:14px;height:14px;transition:translate .35s var(--e-display)}
.btn i svg{width:14px;height:14px}
.btn:hover i{translate:3px 0}
.btn--ghost:hover{background:var(--fill);color:var(--fill-ink);border-color:var(--fill)}
.btn--go{background:var(--go);border-color:var(--go);color:var(--field)}
.btn--go:hover{background:#fff;border-color:#fff}
.btn:active{translate:0 1px}
.actions{display:flex;gap:12px;flex-wrap:wrap}
.more{margin:32px 0 0}

/* ---- header ---- */
.top{position:fixed;inset:0 0 auto;z-index:50;height:80px;color:var(--ink);transition:height .5s ease,color .3s var(--e-ui),background-color .3s var(--e-ui)}
.top.on-dark{color:var(--on-field)}
.top.is-scrolled{height:60px;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.top.is-scrolled.on-dark{background:rgba(11,15,19,.78)}
.top-in{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:32px;box-shadow:inset 0 -1px 0 color-mix(in srgb,currentColor 35%,transparent)}
.brand{display:flex;align-items:center;gap:14px;color:inherit}
.brand svg{height:clamp(13px,.9vw,17px);width:auto;fill:currentColor;transition:height .5s ease}
.top.is-scrolled .brand svg{height:clamp(11px,.75vw,14px)}
.brand-sub{font:400 clamp(9.5px,.62vw,12px)/1.25 var(--mono);letter-spacing:.06em;text-transform:uppercase;opacity:.65;padding-left:14px;border-left:1px solid color-mix(in srgb,currentColor 35%,transparent)}
.nav{position:relative;height:100%}
.nav-list{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:auto;justify-content:center;column-gap:clamp(8px,2.2vw,48px);row-gap:1px;height:100%;align-content:center;transition:opacity .3s var(--e-ui),translate .5s var(--e-display)}
.nav-list a{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;padding:.55em .9em;border-radius:999px;display:inline-block;transition:background-color .3s ease,color .3s ease}
.nav-list a b{font-weight:400;opacity:.5;margin-right:.7em}
.nav-list a:hover{background:color-mix(in srgb,currentColor 12%,transparent)}
.nav-list a.is-current{background:var(--ink);color:#fff}
.nav-list a.is-current b{opacity:.6}
.on-dark .nav-list a.is-current{background:#fff;color:var(--field)}
.nav-status{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:48px;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;opacity:0;translate:0 8px;transition:opacity .3s var(--e-ui),translate .5s var(--e-display);pointer-events:none;white-space:nowrap}
.nav-status em{font-style:normal;opacity:.55;margin-right:.7em}
.nav-status i{font-style:normal}
.top.is-scrolled .nav-list{opacity:0;translate:0 -8px;pointer-events:none}
.top.is-scrolled .nav-status{opacity:1;translate:0 0}
.index-btn{display:inline-flex;align-items:center;gap:10px;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid currentColor;border-radius:999px;padding:.8em 1em .8em 1.2em;background:none;color:inherit;cursor:pointer;transition:background-color .3s ease,color .3s ease,border-color .3s ease}
.index-btn i{font-style:normal;display:grid;place-items:center;width:14px;height:14px;border:1px solid currentColor;border-radius:2px;font-size:12px;line-height:1}
.index-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.on-dark .index-btn:hover,.index .index-btn:hover{background:#fff;color:var(--field);border-color:#fff}
@media (max-width:1100px){.nav-list{column-gap:10px}.nav-status{gap:24px}}
@media (max-width:900px){
  .top-in{grid-template-columns:auto 1fr auto;gap:16px}
  .nav{display:none}
  .brand-sub{display:none}
}

/* ---- index overlay ---- */
.index{position:fixed;inset:0;z-index:60;background:var(--field);color:var(--on-field);display:grid;grid-template-rows:auto 1fr auto;padding:0 var(--gut) 24px;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .55s var(--e-move),visibility 0s .55s;overflow:auto}
body.index-open .index{clip-path:inset(0);visibility:visible;transition:clip-path .7s var(--e-move),visibility 0s}
.index-head{height:80px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--field-line);font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.index-list{padding:40px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:0 48px;align-content:start}
.index-list li{display:grid}
.index-list a{display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:baseline;padding:13px 0;border-bottom:1px solid var(--field-line);font:300 clamp(17px,1.8vw,32px)/1.1 var(--mono);text-transform:uppercase;letter-spacing:-.01em;opacity:0;translate:0 14px;transition:opacity .6s var(--e-body) calc(.15s + var(--i)*.04s),translate .7s var(--e-display) calc(.15s + var(--i)*.04s),color .25s var(--e-ui)}
body.index-open .index-list a{opacity:1;translate:0 0}
.index-list a b{font-weight:400;font-size:var(--fs-label);letter-spacing:.08em;color:var(--on-field-2)}
.index-list a i{display:grid;place-items:center;width:14px;height:14px}
.index-list a i svg{width:14px;height:14px}
.index-list a:hover{color:var(--go)}
.index-foot{display:flex;justify-content:space-between;gap:24px;padding-top:16px;border-top:1px solid var(--field-line);font:400 var(--fs-label)/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-field-2)}
body.index-open{overflow:hidden}

/* ---- reveals ---- */
.js .rise{opacity:0;translate:0 40px;transition:opacity .8s var(--e-body) var(--d),translate 1s var(--e-display) var(--d)}
.js .rise.is-in{opacity:1;translate:0 0}
.mask{display:block;clip-path:inset(-.25em -100vw 0 -100vw)}
.mask>span{display:block;translate:0 110%;transition:translate 1.1s var(--e-display) var(--d)}
.js .mask.is-in>span{translate:0 0}
html:not(.js) .mask>span{translate:0 0}

/* ---- hero (home) ---- */
.hero{position:relative;background:var(--field);color:var(--on-field);min-height:100svh;display:grid;grid-template-rows:1fr auto;padding-top:calc(80px + clamp(32px,4vw,64px));overflow:hidden;isolation:isolate}
.hero-bg{position:absolute;inset:-12% 0 -12% 0;z-index:-1;will-change:transform}
.hero-bg img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.72)}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,15,19,.88) 0%,rgba(11,15,19,.58) 40%,rgba(11,15,19,.12) 100%),linear-gradient(0deg,rgba(11,15,19,.88) 0%,rgba(11,15,19,.04) 50%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,5vw,96px);align-items:start}
.hero h1{font:500 56px/1.02 var(--sans);text-transform:uppercase;letter-spacing:-.015em;margin:0 0 .5em;max-width:16ch}
.hero h1 .mask>span{white-space:nowrap}
.lead{font:400 var(--fs-lead)/1.55 var(--sans);color:var(--on-field-2);max-width:48ch;margin:0 0 1.6em}
.light .lead,.panel-sec .lead{color:var(--ink-2)}
.hero-mark{padding:clamp(40px,4vw,72px) 0 clamp(28px,2.4vw,44px);display:grid;gap:16px;align-self:end}
.hero-caption{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-field-2);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.mark-mask{clip-path:inset(-2px -100vw 0 -100vw)}
.mark-mask svg{width:100%;height:auto;fill:#fff}

/* ---- page hero ---- */
.phero{position:relative;background:var(--field);color:var(--on-field);padding:calc(80px + clamp(48px,6vw,110px)) 0 clamp(48px,5vw,96px);overflow:hidden;isolation:isolate}
.phero--img .hero-bg img{filter:saturate(.6) brightness(.5)}
.phero-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,5vw,96px);align-items:end}
.phero h1{font:300 clamp(44px,6.4vw,132px)/.95 var(--mono);text-transform:uppercase;letter-spacing:-.03em;margin:0 0 .3em}
.phero .lead{max-width:56ch;margin-bottom:0}
.phero-fig{justify-self:end;width:100%;max-width:520px}
.phero-fig .ring{margin:0}
.phero--board .board{margin-top:clamp(32px,4vw,64px)}
.glyph.glyph--big{width:min(100%,560px);height:auto;stroke:var(--on-field-2);fill:none;stroke-width:.6;stroke-linejoin:round;stroke-linecap:round}
.mail-big{display:inline-block;font:300 clamp(26px,3vw,58px)/1.05 var(--mono);color:var(--go);letter-spacing:-.02em;border-bottom:1px solid currentColor;padding-bottom:8px;transition:color .25s var(--e-ui)}
.mail-big:hover{color:#fff}
.mail-sub{margin:14px 0 0;font:400 var(--fs-label)/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-field-2)}

/* ---- the board ---- */
.board{background:var(--field-2);border:1px solid var(--field-line);border-radius:20px 20px 0 0;font-family:var(--mono);font-variant-numeric:tabular-nums;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;min-height:clamp(440px,32vw,620px);overflow:hidden;transition:opacity .35s var(--e-ui)}
.board.is-swapping{opacity:.25}
.board-head{display:flex;gap:clamp(12px,1.2vw,22px);align-items:center;padding:1.1em 1.4em;border-bottom:1px solid var(--field-line);font-size:var(--fs-board);letter-spacing:.08em;text-transform:uppercase;color:var(--on-field-2);white-space:nowrap}
.board-head .case{color:var(--on-field);overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}
.board-head .cls{display:none}
.board-head .demo{margin-left:auto;border:1px solid var(--field-line);border-radius:3px;padding:.4em .6em .3em}
.board--wide .board-head .cls{display:inline;color:var(--go)}
.live{color:var(--go);display:inline-flex;align-items:center;gap:7px}
.live i{width:7px;height:7px;border-radius:50%;background:currentColor;animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.25}}
.board-body{display:grid;grid-template-columns:clamp(148px,11vw,220px) minmax(0,1fr);min-width:0}
.board--wide .board-body{grid-template-columns:clamp(180px,14vw,260px) minmax(0,1fr)}
.voices{padding:1.4em 0 1.4em 1.4em;border-right:1px solid var(--field-line);display:grid;align-content:start;gap:1.1em;font-size:var(--fs-board)}
.voices li{display:grid;gap:.55em;letter-spacing:.08em;text-transform:uppercase;color:var(--on-field-2);transition:color .3s var(--e-ui)}
.voices li.is-speaking{color:var(--go)}
.voices .stance{height:3px;background:rgba(255,255,255,.1);position:relative;margin-right:1.4em}
.voices .stance i{position:absolute;inset:0 auto 0 0;width:calc(var(--p,0)*100%);background:currentColor}
.log{padding:1.2em 1.4em;display:grid;align-content:end;gap:.95em;font-size:var(--fs-log);line-height:1.5;color:var(--on-field-2)}
.log li{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:.4em .9em;align-items:baseline;clip-path:inset(0 -100vw -.25em -100vw);transition:opacity .5s var(--e-body)}
.log li>*{translate:0 115%;transition:translate .75s var(--e-display)}
.log li.is-in>*{translate:0 0}
html:not(.js) .log li>*{translate:0 0}
.log b{font-weight:500;color:var(--on-field);font-size:var(--fs-board);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.log em{font-style:normal;font-size:var(--fs-board);letter-spacing:.08em;text-transform:uppercase;color:var(--go);white-space:nowrap}
.log li.is-old{opacity:.45}
.log li.is-old em{color:var(--on-field-2)}
.board-foot{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;padding:1.1em 1.4em;border-top:1px solid var(--field-line);font-size:var(--fs-board);letter-spacing:.08em;text-transform:uppercase;color:var(--on-field-2)}
.board-foot .world{grid-column:1/-1;font-size:.9em;opacity:.7}
.cons-label b{color:var(--on-field);margin-left:.6em}
.cons{height:3px;background:rgba(255,255,255,.1);position:relative}
.cons i{position:absolute;inset:0 auto 0 0;background:var(--go);width:calc(var(--p,0)*100%)}
.verdict{grid-column:1/-1;margin:4px 0 0;display:none;grid-template-columns:auto minmax(0,1fr);gap:.4em 1em;align-items:baseline;font-size:var(--fs-log);line-height:1.5;text-transform:none;letter-spacing:0;color:var(--on-field)}
.verdict b{color:var(--go);font-size:var(--fs-board);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.verdict em{grid-column:2;font-style:normal;color:var(--on-field-2);font-size:var(--fs-board);letter-spacing:.08em;text-transform:uppercase}
.board.is-decided .verdict,html:not(.js) .verdict{display:grid}
.board.is-decided .voices li{color:var(--go)}
.board.is-decided .live{color:var(--on-field-2)}
.board.is-decided .live i{animation:none}

/* ---- 001 consciousness (home) ---- */
.consc{position:relative;padding:0 0 clamp(72px,8vw,140px)}
.consc-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,120px);align-items:end;padding-top:clamp(48px,5vw,96px)}
.ring{width:100%;max-width:min(640px,100%);aspect-ratio:640/500;color:var(--ink);margin:0 0 32px}
.ring--dark{color:var(--on-field)}
.ring svg{width:100%;height:100%;overflow:visible}
.ring .chords line{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--e-display) calc(.1s + var(--i)*.09s);opacity:.55}
.ring.is-in .chords line{stroke-dashoffset:0}
.ring .pulses line{stroke-dasharray:.06 1;stroke-dashoffset:1;color:var(--go-deep);opacity:0;transition:opacity .6s var(--e-body) 1.8s}
.ring--dark .pulses line{color:var(--go)}
.ring.is-in .pulses line{opacity:1;animation:travel calc(2.6s + var(--i)*.3s) linear infinite;animation-delay:calc(1.8s + var(--i)*.35s)}
.ring.is-in .pulses line:nth-child(odd){animation-direction:reverse}
@keyframes travel{to{stroke-dashoffset:-1.06}}
.ring .labels text{font:400 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;fill:var(--mute)}
.ring .core circle{fill:color-mix(in srgb,currentColor 6%,transparent);stroke:currentColor;stroke-width:1;stroke-dasharray:1;pathLength:1;opacity:.9}
.ring .core-a{font:300 12.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;fill:currentColor}
.ring .core-b{font:400 8.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;fill:var(--mute)}
.ring--dark .core-b{fill:var(--on-field-2)}
.ring--dark .labels text{fill:var(--on-field-2)}
.statement{font:500 var(--fs-state)/1.02 var(--sans);text-transform:uppercase;letter-spacing:-.012em;margin:0;max-width:14ch}
.consc h2,.scale h2,.platform h2,.company h2,.news-teaser h2{font:300 var(--fs-h2)/.98 var(--mono);text-transform:uppercase;letter-spacing:-.025em;margin:0 0 .35em;text-wrap:balance}
.consc-copy p{max-width:60ch;color:var(--ink-2)}
.consc-copy .note,.prose .note{color:var(--ink);font-weight:500;border-top:1px solid var(--line);padding-top:18px;margin-top:8px}
.consc-copy .btn{margin-top:12px}

/* ---- records (council, steps, stages) ---- */
.council{padding:0 0 clamp(72px,8vw,140px)}
.council-intro{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,96px);align-items:end;padding:clamp(40px,5vw,80px) 0 40px}
.council h2,.council-intro h2{font:500 clamp(26px,2.9vw,56px)/1.04 var(--sans);text-transform:uppercase;letter-spacing:-.015em;margin:0;text-wrap:balance}
.council-intro p{margin:0;color:var(--ink-2);max-width:46ch}
.scale .council-intro p{color:var(--on-field-2)}
.records{border-top:1px solid var(--ink)}
.scale .records{border-top-color:var(--on-field)}
.records li{display:grid;grid-template-columns:clamp(96px,8vw,150px) minmax(0,1fr) minmax(0,1.4fr) auto;gap:24px;align-items:baseline;padding:clamp(18px,1.6vw,30px) var(--gut);margin:0 calc(-1*var(--gut));border-bottom:1px solid var(--line);transition:background-color .3s ease,opacity .8s var(--e-body) var(--d),translate 1s var(--e-display) var(--d)}
.records li:hover{background:var(--panel)}
.panel-sec .records li:hover{background:#fff}
.scale .records li{border-bottom-color:var(--field-line)}
.scale .records li:hover{background:var(--field-2)}
.records .idx{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;color:var(--mute);transition:color .3s ease}
.records li:hover .idx{color:var(--go-deep)}
.scale .records li:hover .idx{color:var(--go)}
.records h3{font:500 var(--fs-h3)/1.05 var(--sans);text-transform:uppercase;letter-spacing:-.01em}
.records p{margin:0;color:var(--ink-2);font-size:var(--fs-small);line-height:1.55}
.scale .records p{color:var(--on-field-2)}
.records .move,.state{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:3px;padding:.55em .7em .45em;color:var(--mute);white-space:nowrap}
.scale .records .move{border-color:var(--field-line);color:var(--on-field-2)}
.state--on{color:var(--go-deep);border-color:var(--go-deep)}
.records--long li{grid-template-columns:clamp(96px,8vw,150px) minmax(0,1fr) minmax(0,2fr) auto}
.records--roles li{grid-template-columns:clamp(96px,8vw,150px) minmax(0,1fr) minmax(0,1.6fr) minmax(0,1.4fr)}
.records--roles .no{font-size:var(--fs-small);color:var(--mute);line-height:1.55}
.records--roles .no b{display:block;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.5em}
.steps li{grid-template-columns:clamp(96px,8vw,150px) minmax(0,1fr) minmax(0,2fr) auto}
.stages li{grid-template-columns:clamp(96px,8vw,150px) minmax(0,1fr) minmax(0,2fr) auto}

/* ---- 003 scale (dark band) ---- */
.scale{position:relative;background:var(--field);color:var(--on-field);padding:0 0 clamp(72px,8vw,140px)}
.scale.pad{padding:clamp(72px,8vw,140px) 0}
.scale-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:start;padding-top:clamp(40px,5vw,80px)}
.stairs li{display:grid;grid-template-columns:clamp(44px,4vw,72px) minmax(0,1fr);gap:20px;align-items:baseline;padding:.4em 0 .36em;border-bottom:1px solid var(--field-line);font:300 var(--fs)/1 var(--mono);text-transform:uppercase;letter-spacing:-.02em;opacity:.22;translate:-14px 0;transition:opacity .6s var(--e-body),translate .9s var(--e-display)}
.stairs li b{font-weight:400;font-size:var(--fs-label);letter-spacing:.08em;color:var(--on-field-2);transition:color .3s var(--e-ui)}
.stairs li.is-on{opacity:1;translate:0 0}
.stairs li.is-on b{color:var(--go)}
.scale-copy{padding-top:12px}
.scale-copy p{color:var(--on-field-2);max-width:46ch}
.scale .lead{color:var(--on-field-2)}

/* ---- 004 platform (home) ---- */
.platform{background:var(--panel);padding:0 0 clamp(72px,8vw,140px);--fill:var(--ink);--fill-ink:#fff}
.platform h2{padding-top:clamp(40px,5vw,80px);margin-bottom:40px;max-width:14ch}
.organs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink)}
.organ{padding:32px 32px 8px 0;border-right:1px solid var(--line);display:grid;grid-template-rows:auto auto auto 1fr;gap:22px;align-content:start;color:inherit;transition:background-color .3s ease,opacity .8s var(--e-body) var(--d),translate 1s var(--e-display) var(--d)}
.organ+.organ{padding-left:32px}
.organ:last-child{border-right:0;padding-right:0}
a.organ:hover{background:#fff;padding-left:32px;margin-left:-32px;padding-right:32px;margin-right:-32px}
.organ .n{font:300 clamp(44px,5vw,96px)/1 var(--mono);letter-spacing:-.03em}
.glyph{width:clamp(56px,4.5vw,84px);height:clamp(56px,4.5vw,84px);stroke:var(--ink);fill:none;stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round}
.organ h3{font:500 clamp(20px,1.3vw,26px)/1.1 var(--sans);text-transform:uppercase;letter-spacing:-.01em}
.organ p{margin:0;color:var(--ink-2);font-size:var(--fs-small);line-height:1.55}

/* ---- platform page: organ sections ---- */
.organ-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,5vw,96px);align-items:center}
.organ-grid--flip .organ-copy{order:2}
.organ-copy .h-mono{margin-bottom:.2em}

/* ---- prose and columns ---- */
.two-col{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,96px);align-items:start}
.col-head{position:sticky;top:96px}
.prose{max-width:68ch;color:var(--ink-2);font-size:clamp(17px,1.1vw,21px);line-height:1.6}
.scale .prose,.phero .prose{color:var(--on-field-2)}
.prose h2{font:500 clamp(24px,2.2vw,40px)/1.08 var(--sans);text-transform:uppercase;letter-spacing:-.012em;color:var(--ink);margin:1.6em 0 .6em}
.prose h3{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:2em 0 .8em}
.prose ul{padding-left:1.1em;list-style:disc;margin:0 0 1.2em}
.prose li{margin:0 0 .4em}
.prose a{color:var(--go-deep);border-bottom:1px solid color-mix(in srgb,currentColor 40%,transparent);transition:border-color .25s}
.prose a:hover{border-color:currentColor}
.prose .btn{margin-top:8px}
.prose blockquote{margin:1.6em 0;padding:0 0 0 1.4em;border-left:1px solid var(--ink);font:400 clamp(18px,1.3vw,24px)/1.45 var(--sans);color:var(--ink)}
.rules li,.nots li{display:grid;grid-template-columns:clamp(40px,3vw,56px) minmax(0,1fr);gap:20px;padding:clamp(18px,1.6vw,28px) 0;border-bottom:1px solid var(--line);align-items:baseline;font-size:var(--fs-body);line-height:1.55;color:var(--ink-2)}
.rules li:first-child,.nots li:first-child{border-top:1px solid var(--ink)}
.rules li b{font:400 var(--fs-label)/1.6 var(--mono);letter-spacing:.08em;color:var(--mute)}
.rules li strong{color:var(--ink)}
.rules--dark li{color:var(--on-field-2);border-color:var(--field-line)}
.rules--dark li:first-child{border-top-color:var(--on-field)}
.rules--dark li strong{color:var(--on-field)}
.nots li{grid-template-columns:1fr}
.nots li b{font:500 clamp(18px,1.3vw,24px)/1.2 var(--sans);text-transform:uppercase;color:var(--on-field);display:block;margin-bottom:.4em}
.nots li{color:var(--on-field-2);border-color:var(--field-line)}
.nots li:first-child{border-top-color:var(--on-field)}
.nots+.plate{margin-top:40px}

/* ---- spec table ---- */
.spec{width:100%;border-collapse:collapse;font-size:var(--fs-small);line-height:1.5;margin-top:8px}
.spec th{text-align:left;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--on-field-2);padding:0 24px 14px 0;border-bottom:1px solid var(--on-field)}
.spec td{padding:18px 24px 18px 0;border-bottom:1px solid var(--field-line);vertical-align:top;color:var(--on-field-2)}
.spec td:first-child{font:500 var(--fs-body)/1.3 var(--sans);text-transform:uppercase;color:var(--on-field);letter-spacing:-.01em}
.light .spec th{color:var(--mute);border-bottom-color:var(--ink)}
.light .spec td{color:var(--ink-2);border-bottom-color:var(--line)}
.light .spec td:first-child{color:var(--ink)}
.spec .mono{font-family:var(--mono);font-size:.92em}

/* ---- flow diagram (platform) ---- */
.flow{display:grid;gap:0;font-family:var(--mono);max-width:560px}
.flow li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:center;position:relative;padding:0 0 28px 0;opacity:0;translate:-10px 0;transition:opacity .6s var(--e-body) calc(var(--i)*.07s),translate .8s var(--e-display) calc(var(--i)*.07s)}
.flow.is-in li{opacity:1;translate:0 0}
.flow li::before{content:"";position:absolute;left:5px;top:12px;bottom:-4px;width:1px;background:var(--field-line)}
.flow li:last-child::before{display:none}
.flow i{width:11px;height:11px;border:1px solid var(--on-field-2);background:var(--field);position:relative;z-index:1}
.flow li.is-go i{background:var(--go);border-color:var(--go)}
.flow b{display:block;font-weight:400;font-size:clamp(14px,1vw,18px);letter-spacing:.02em;text-transform:uppercase;color:var(--on-field)}
.flow span{display:block;font-size:var(--fs-board);letter-spacing:.06em;text-transform:uppercase;color:var(--on-field-2);margin-top:.35em}
.flow li.is-gate{margin:8px 0 8px;padding:14px 0 14px 28px;border-top:1px dashed var(--go);border-bottom:1px dashed var(--go);margin-bottom:28px}
.flow li.is-gate::before{display:none}
.flow li.is-gate i{position:absolute;left:0}
.flow li.is-gate b{color:var(--go)}

/* ---- plates and shots ---- */
.plate{margin:0}
.plate-face{aspect-ratio:var(--ratio,16/9);border:1px solid currentColor;position:relative;background:repeating-linear-gradient(115deg,color-mix(in srgb,currentColor 16%,transparent) 0 1px,transparent 1px 7px);color:var(--on-field-2);display:flex;flex-direction:column;justify-content:space-between;padding:14px 16px;font:400 var(--fs-label)/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.light .plate-face,.panel-sec .plate-face{color:var(--mute)}
.plate-face::before,.plate-face::after{content:"";position:absolute;width:10px;height:10px;border:1px solid currentColor}
.plate-face::before{left:-1px;top:-1px;border-width:1px 0 0 1px}
.plate-face::after{right:-1px;bottom:-1px;border-width:0 1px 1px 0}
.plate-tag{align-self:flex-start;background:var(--field);color:var(--on-field);padding:.5em .7em .45em;border:1px solid currentColor;border-radius:3px}
.light .plate-tag,.panel-sec .plate-tag{background:#fff;color:var(--ink)}
.plate-sub{align-self:flex-end;max-width:60%;text-align:right}
.shot{margin:0}
.shot img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.shot figcaption{display:flex;justify-content:space-between;gap:16px;padding:12px 0 0;font:400 var(--fs-label)/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);border-top:1px solid var(--line);margin-top:12px}

/* ---- posts ---- */
.news-teaser{padding:0 0 clamp(72px,8vw,140px)}
.posts{border-top:1px solid var(--ink)}
.posts li a{display:grid;grid-template-columns:clamp(110px,10vw,170px) minmax(0,1fr) auto;gap:24px;padding:clamp(20px,1.8vw,32px) var(--gut);margin:0 calc(-1*var(--gut));border-bottom:1px solid var(--line);align-items:baseline;transition:background-color .3s ease}
.posts li a:hover{background:var(--panel)}
.posts time{font:400 var(--fs-label)/1.6 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.posts h3{font:500 var(--fs-h3)/1.08 var(--sans);text-transform:uppercase;letter-spacing:-.012em;transition:color .25s var(--e-ui)}
.posts li a:hover h3{color:var(--go-deep)}
.posts p{margin:.5em 0 0;color:var(--ink-2);font-size:var(--fs-small);max-width:70ch}
.posts .kind{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);border-radius:3px;padding:.55em .7em .45em;color:var(--mute);white-space:nowrap}
.posts--full li a{padding-top:clamp(28px,2.4vw,44px);padding-bottom:clamp(28px,2.4vw,44px)}

/* ---- article ---- */
.article{padding:0 0 clamp(72px,8vw,140px)}
.article-head{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:clamp(24px,5vw,96px);align-items:end;padding:clamp(40px,5vw,80px) 0 40px;border-bottom:1px solid var(--ink);margin-bottom:40px}
.article-meta{display:flex;gap:16px;align-items:center;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0 0 24px}
.article-meta .kind{border:1px solid var(--line);border-radius:3px;padding:.55em .7em .45em}
.article h1{font:500 clamp(30px,3.6vw,68px)/1.02 var(--sans);text-transform:uppercase;letter-spacing:-.015em;max-width:20ch;text-wrap:balance}
.article-summary{margin:0;color:var(--ink-2);font-size:var(--fs-lead);line-height:1.5}
.article-cover{margin:0 0 48px}
.article-body{margin-inline:auto 0;max-width:72ch}
.article-body{margin-left:clamp(0px,16vw,320px)}
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:64px;border-top:1px solid var(--ink)}
.post-nav a{display:grid;gap:8px;padding:24px 0;font:500 var(--fs-h3)/1.1 var(--sans);text-transform:uppercase;letter-spacing:-.01em;transition:color .25s var(--e-ui)}
.post-nav a:last-child{text-align:right}
.post-nav a:hover{color:var(--go-deep)}
.post-nav b{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;color:var(--mute)}

/* ---- company (home) ---- */
.company{position:relative;padding:0 0 clamp(72px,8vw,140px)}
.company-grid{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:clamp(32px,6vw,120px);align-items:start;padding-top:clamp(40px,5vw,80px)}
.company p{color:var(--ink-2);max-width:52ch}
.doors{border-top:1px solid var(--ink);margin-top:14px}
.doors a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:clamp(18px,1.6vw,28px) 0;border-bottom:1px solid var(--line);align-items:baseline;transition:color .25s var(--e-ui)}
.doors a>*{transition:translate .4s var(--e-display)}
.doors a:hover{color:var(--go-deep)}
.doors a:hover>*{translate:12px 0}
.doors a b{font:500 var(--fs-h3)/1.1 var(--sans);text-transform:uppercase;display:block;margin-bottom:6px;color:var(--ink)}
.doors a span{color:var(--mute);font-size:var(--fs-small)}
.doors a i{display:inline-flex;align-items:center;gap:8px;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);white-space:nowrap}
.doors a i svg{width:12px;height:12px}
.doors a:hover i{color:var(--go-deep)}
.prose .doors{margin-top:32px}

/* ---- next row ---- */
.next-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.next-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:baseline;padding:clamp(20px,2vw,32px) 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line);font:500 var(--fs-h3)/1.1 var(--sans);text-transform:uppercase;letter-spacing:-.01em;transition:color .25s var(--e-ui)}
.next-card b{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;color:var(--mute)}
.next-card i{display:grid;place-items:center;width:14px;height:14px}
.next-card i svg{width:14px;height:14px}
.next-card:hover{color:var(--go-deep)}

/* ---- footer ---- */
.foot{background:var(--field);color:var(--on-field);padding:clamp(64px,8vw,120px) 0 28px}
.foot-top{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,96px);align-items:end;padding-bottom:48px;border-bottom:1px solid var(--field-line)}
.foot h2{font:500 clamp(26px,3vw,58px)/1.02 var(--sans);text-transform:uppercase;letter-spacing:-.015em;margin:0 0 .6em;max-width:18ch;text-wrap:balance}
.foot-mail{font:300 clamp(22px,2.6vw,48px)/1.1 var(--mono);color:var(--go);letter-spacing:-.02em;display:inline-block;border-bottom:1px solid currentColor;padding-bottom:6px;transition:color .25s var(--e-ui)}
.foot-mail:hover{color:#fff}
.foot-note{margin:0;color:var(--on-field-2);max-width:40ch}
.foot-cols{display:grid;grid-template-columns:repeat(3,auto) 1fr;gap:48px;padding:40px 0;font:400 var(--fs-label)/2 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.foot-cols div{display:grid;align-content:start}
.foot-cols h3{margin:0 0 8px;font:inherit;color:var(--on-field-2)}
.foot-cols a{transition:color .25s var(--e-ui)}
.foot-cols a:hover{color:var(--go)}
.foot-cols span{color:var(--on-field-2)}
.foot-mark svg{width:100%;height:auto;fill:#fff}
.foot-legal{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding-top:24px;margin-top:40px;border-top:1px solid var(--field-line);font:400 var(--fs-label)/1.6 var(--mono);color:var(--on-field-2);letter-spacing:.04em}

/* ---- 404 ---- */
.lost{min-height:100svh;background:var(--field);color:var(--on-field);display:grid;align-content:center;padding:120px 0 64px}
.lost-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:end}
.lost h1{font:300 clamp(56px,10vw,160px)/.95 var(--mono);letter-spacing:-.03em;margin:0 0 .15em}
.lost .lead{max-width:40ch}

/* ---- the cognitive cycle: five faculties in a row, the outcome returning ---- */
.cycle-wrap{--cyc-ink:var(--ink);--cyc-line:var(--line);--cyc-mute:var(--mute);--cyc-go:var(--go-deep);--cyc-bg:var(--page);color:var(--cyc-ink)}
.cycle-wrap--dark{--cyc-ink:var(--on-field);--cyc-line:var(--field-line);--cyc-mute:var(--on-field-2);--cyc-go:var(--go);--cyc-bg:var(--field)}
.panel-sec .cycle-wrap{--cyc-bg:var(--panel)}
.cycle{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--cyc-ink)}
.cycle li{position:relative;padding:clamp(18px,1.6vw,30px) clamp(16px,1.6vw,32px) clamp(24px,2.2vw,40px) 0;border-right:1px solid var(--cyc-line);opacity:0;translate:0 14px;transition:opacity .7s var(--e-body) calc(var(--i)*.09s),translate .9s var(--e-display) calc(var(--i)*.09s)}
.cycle li:last-child{border-right:0;padding-right:0}
.cycle.is-in li{opacity:1;translate:0 0}
.cycle li>b{display:block;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.1em;color:var(--cyc-go)}
.cycle li h3{margin:clamp(14px,1.4vw,26px) 0 .5em;font:400 clamp(17px,1.45vw,27px)/1.05 var(--mono);text-transform:uppercase;letter-spacing:-.02em;color:var(--cyc-ink)}
.cycle li p{margin:0;font-size:var(--fs-small);line-height:1.55;color:var(--cyc-mute)}
.cycle .cyc-move{display:inline-block;margin-top:1.1em;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--cyc-go);border:1px solid var(--cyc-line);border-radius:3px;padding:.55em .7em .45em}
.cycle li::after{content:"";position:absolute;right:-4.5px;top:clamp(26px,2.4vw,44px);width:8px;height:8px;border-top:1px solid var(--cyc-ink);border-right:1px solid var(--cyc-ink);rotate:45deg;background:var(--cyc-bg)}

.cycle li:last-child::after{display:none}
.cycle-return{position:relative;height:clamp(44px,4vw,72px);margin-top:-1px;border:1px solid var(--cyc-line);border-top:0;border-radius:0 0 16px 16px;display:flex;align-items:flex-end;justify-content:center;transform-origin:50% 0;scale:1 .6;opacity:0;transition:scale .9s var(--e-display) .5s,opacity .7s var(--e-body) .5s}
.cycle.is-in ~ .cycle-return{scale:1 1;opacity:1}
.cycle-return i{position:absolute;left:-5px;top:-1px;width:9px;height:9px;border-top:1px solid var(--cyc-go);border-left:1px solid var(--cyc-go);rotate:45deg}
.cycle-return span{transform:translateY(50%);background:var(--cyc-bg);padding:0 1em;font:400 var(--fs-label)/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--cyc-mute)}


/* ---- the fan of futures ---- */
.futures{margin:0;width:100%;color:var(--ink);--fut-bg:var(--page)}
.panel-sec .futures{--fut-bg:var(--panel)}
.futures--dark{color:var(--on-field);--fut-bg:var(--field)}
.futures svg{width:100%;height:auto;display:block;overflow:visible}
.futures .band rect{fill:color-mix(in srgb,var(--go-deep) 9%,transparent);stroke:var(--go-deep);stroke-width:1;stroke-dasharray:3 4;opacity:0;transition:opacity .8s var(--e-body) .5s}
.futures--dark .band rect{fill:color-mix(in srgb,var(--go) 11%,transparent);stroke:var(--go)}
.futures.is-in .band rect{opacity:.85}
.futures .axis path{stroke:currentColor;stroke-width:1;stroke-dasharray:1;stroke-dashoffset:1;opacity:.35;transition:stroke-dashoffset 1s var(--e-display) .1s}
.futures.is-in .axis path{stroke-dashoffset:0}
.futures .hist{stroke:currentColor;stroke-width:2;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--e-display) .15s}
.futures.is-in .hist{stroke-dashoffset:0}
.futures .lines path{stroke:currentColor;stroke-width:1.2;opacity:.38;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s var(--e-display) calc(.6s + var(--i)*.1s)}
.futures.is-in .lines path{stroke-dashoffset:0}
.futures .chosen{stroke:var(--go-deep);stroke-width:2.6;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.6s var(--e-display) 1.15s}
.futures--dark .chosen{stroke:var(--go)}
.futures.is-in .chosen{stroke-dashoffset:0}
.futures .pulse{stroke:var(--go-deep);stroke-width:3.4;stroke-linecap:round;stroke-dasharray:.05 1;stroke-dashoffset:1;opacity:0;transition:opacity .6s var(--e-body) 2.6s}
.futures--dark .pulse{stroke:#fff}
.futures.is-in .pulse{opacity:.9;animation:travel 3.4s linear infinite 2.6s}
.futures .marks path{stroke:var(--go-deep);stroke-width:1.4}
.futures .marks circle{stroke:var(--go-deep);stroke-width:1.4;fill:var(--fut-bg)}
.futures--dark .marks path,.futures--dark .marks circle{stroke:var(--go)}

.futures .marks g{opacity:0;transition:opacity .6s var(--e-body) 2.1s}
.futures.is-in .marks g{opacity:1}
.futures .nownode{fill:currentColor}
.futures .lab text{font:400 var(--fs-lab,11px) var(--mono);letter-spacing:.09em;text-transform:uppercase;fill:var(--mute)}
.futures .fut-n{display:none}
@media (max-width:900px){.futures .fut-w svg{--fs-lab:15px}}
@media (max-width:620px){.futures .fut-w{display:none}.futures .fut-n{display:block}}
.futures--dark .lab text{fill:var(--on-field-2)}
.futures .lab .lab-go{fill:var(--go-deep)}
.futures--dark .lab .lab-go{fill:var(--go)}
.futures figcaption{margin-top:clamp(14px,1.2vw,22px);font-size:var(--fs-small);line-height:1.5;color:var(--mute);max-width:62ch}
.futures--dark figcaption{color:var(--on-field-2)}

/* ---- console strip (platform) ---- */
.console-strip{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(24px,4vw,72px);align-items:center}
.console-strip h2{font:500 clamp(22px,2.1vw,40px)/1.06 var(--sans);text-transform:uppercase;letter-spacing:-.015em;margin:0 0 .5em}
.console-strip p{margin:0;color:var(--ink-2);font-size:var(--fs-small);line-height:1.55;max-width:72ch}
@media (max-width:900px){.console-strip{grid-template-columns:minmax(0,1fr);gap:24px}.console-strip .btn{justify-self:start}}

/* ---- narrow ---- */
@media (max-width:900px){
  .hero{padding-top:96px}
  .hero-grid,.consc-grid,.council-intro,.scale-grid,.company-grid,.foot-top,.lost-grid,.phero-grid,.two-col,.organ-grid,.article-head{grid-template-columns:minmax(0,1fr);gap:32px}
  .col-head{position:static}
  .organ-grid--flip .organ-copy{order:0}
  .hero h1{max-width:none}
  .phero-fig{justify-self:start;max-width:none}
  .board{min-height:0}
  .board-body,.board--wide .board-body{grid-template-columns:minmax(0,1fr)}
  .voices{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px;padding:14px 18px;border-right:0;border-bottom:1px solid var(--field-line)}
  .voices li{font-size:8.5px;letter-spacing:.05em}
  .voices .stance{margin-right:0}
  .board-head{gap:10px;font-size:9.5px;flex-wrap:wrap;white-space:normal}
  .board-head .round{display:none}
  .log{font-size:12px;gap:11px}
  .log li{grid-template-columns:auto minmax(0,1fr)}
  .log li em{grid-column:2}
  .log li span{grid-column:1/-1}
  .hero-mark{padding:40px 0 28px}
  .ring{max-width:360px;margin-inline:auto}
  .records li,.records--long li,.records--roles li,.steps li,.stages li{grid-template-columns:minmax(0,1fr);gap:8px;padding:18px var(--gut)}
  .records .move,.state{justify-self:start}
  .organs{grid-template-columns:minmax(0,1fr);border-top:0}
  .organ{padding:28px 0 32px;border-right:0;border-top:1px solid var(--ink)}
  .organ+.organ{padding-left:0}
  a.organ:hover{padding-left:0;margin-left:0;padding-right:0;margin-right:0}
  .foot-cols{grid-template-columns:repeat(2,auto);gap:28px}
  .index-list{grid-template-columns:minmax(0,1fr);padding:24px 0}
  .index-list a{grid-template-columns:72px 1fr auto;padding:11px 0}
  .stairs li{grid-template-columns:44px minmax(0,1fr);gap:14px}
  .posts li a{grid-template-columns:minmax(0,1fr);gap:8px}
  .posts .kind{justify-self:start}
  .article-body{margin-left:0}
  .next-row{grid-template-columns:minmax(0,1fr);gap:0}
  .next-card{border-top:0}
  .next-row .next-card:first-child{border-top:1px solid var(--ink)}
  .spec{display:block;overflow-x:auto}
  .plate-sub{max-width:100%}
}
@media (max-width:900px){
  .btn{white-space:normal;text-align:left;line-height:1.35}
  .ring{width:calc(100% - 72px);margin-inline:auto}
  .spec,.spec tbody,.spec tr,.spec td{display:block;width:100%}
  .spec thead{display:none}
  .spec tr{padding:18px 0;border-bottom:1px solid var(--field-line)}
  .light .spec tr{border-bottom-color:var(--line)}
  .spec td{padding:0 0 8px;border:0}
  .spec td:first-child{padding-bottom:10px}
}
@media (max-width:600px){
  .hero h1{letter-spacing:-.01em}
  .hatch{flex-basis:60px}
  .foot-legal{font-size:10px}
  .voices{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ---- reduced motion ---- */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .js .rise,.mask>span,.log li>*,.stairs li,.index-list a,.ring .chords line,.flow li,.cycle li,.cycle-return,.futures *{transition:none}
  .cycle li{opacity:1;translate:0 0}
  .cycle-return{scale:1 1;opacity:1}
  .futures .hist,.futures .chosen,.futures .lines path,.futures .axis path{stroke-dashoffset:0}
  .futures .band rect{opacity:.85}
  .futures .marks g{opacity:1}
  .futures .pulse{display:none}
  .js .rise{opacity:1;translate:0 0}
  .mask>span{translate:0 0}
  .ring .chords line{stroke-dashoffset:0}
  .ring .pulses line,.ring.is-in .pulses line{animation:none;opacity:1}
  .live i{animation:none}
  .stairs li,.flow li{opacity:1;translate:0 0}
  .rail i,.hero-bg{transform:none!important}
}

/* ---- paper card (research hero) ---- */
.paper{display:grid;gap:14px;padding:clamp(20px,2vw,32px);border:1px solid var(--field-line);border-radius:20px 20px 0 0;background:var(--field-2);font-family:var(--mono)}
.paper-kind{font-size:var(--fs-label);letter-spacing:.08em;text-transform:uppercase;color:var(--go)}
.paper b{font:500 clamp(16px,1.15vw,22px)/1.3 var(--sans);color:var(--on-field);text-transform:none}
.paper span{font-size:var(--fs-small);line-height:1.5;color:var(--on-field-2);font-family:var(--sans)}
.paper .btn{justify-self:start;margin-top:6px}

/* ---- cards (home solutions) ---- */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.6vw,28px);margin-top:8px}
.card{display:grid;grid-template-rows:auto auto 1fr auto;gap:12px;align-content:start;padding:clamp(24px,2.2vw,40px);border:1px solid var(--line);border-radius:20px 20px 0 0;color:inherit;background:#fff;transition:border-color .3s var(--e-ui),translate .4s var(--e-display),opacity .8s var(--e-body) var(--d)}
.panel-sec .card{background:#fff}
.card:hover{border-color:var(--ink);translate:0 -4px}
.card-idx{font:400 var(--fs-label)/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.card h3{font:500 var(--fs-h3)/1.08 var(--sans);text-transform:uppercase;letter-spacing:-.012em}
.card p{margin:0;color:var(--ink-2);font-size:var(--fs-small)}
.card .state{justify-self:start}
.more-note{display:block;margin-top:14px;font-size:var(--fs-small);color:var(--mute);max-width:80ch;line-height:1.55}
.more .btn+.more-note{margin-top:18px}

/* ---- facts list (page hero right column) ---- */
.facts{display:grid;gap:18px;font-family:var(--mono)}
.facts li{display:grid;gap:6px;padding:16px 0;border-top:1px solid var(--field-line)}
.facts li:first-child{border-top:1px solid var(--on-field)}
.facts b{font-weight:400;font-size:clamp(13px,.95vw,17px);letter-spacing:.02em;text-transform:uppercase;color:var(--go)}
.facts span{font-family:var(--sans);font-size:var(--fs-small);line-height:1.5;color:var(--on-field-2)}

/* ---- records variants ---- */
.records--four li{grid-template-columns:clamp(96px,8vw,150px) minmax(0,1fr) minmax(0,2fr) auto}
.records--modules li{grid-template-columns:clamp(96px,9vw,160px) minmax(0,1.1fr) minmax(0,2fr) auto}
.records--modules .idx{font-size:clamp(14px,1.1vw,20px);letter-spacing:-.01em;text-transform:none;color:var(--ink)}
.records--modules h3{font:500 clamp(16px,1.1vw,21px)/1.25 var(--sans);text-transform:none;letter-spacing:0;color:var(--ink-2)}
.records--modules p a{color:var(--go-deep);border-bottom:1px solid color-mix(in srgb,currentColor 40%,transparent);white-space:nowrap}
.records h3 a{transition:color .25s var(--e-ui)}
.records h3 a:hover{color:var(--go-deep)}
.organs--three .organ{grid-template-rows:auto auto auto 1fr}

/* ---- next row on dark ---- */
.next-row--dark .next-card{border-top-color:var(--on-field);border-bottom-color:var(--field-line);color:var(--on-field)}
.next-row--dark .next-card b{color:var(--on-field-2)}
.next-row--dark .next-card:hover{color:var(--go)}

@media (max-width:900px){
  .cards{grid-template-columns:minmax(0,1fr)}
  .records--four li,.records--modules li{grid-template-columns:minmax(0,1fr)}
  .facts li:first-child{border-top-color:var(--field-line)}
}

/* ---- display type sizes from its own column, not from the window ----
   A mono heading at 5.6vw puts a 13-letter word at 835px into a 696px column and the
   page grows a horizontal scrollbar. Columns that carry display type become inline-size
   containers and the type is measured against them. (Found by build/probe.mjs, 12.10.) */
.scale-copy,.consc-copy,.col-head,.organ-copy,.hero-copy,.phero-grid>div:first-child{container-type:inline-size}
.scale-copy h2,.consc-copy h2,.col-head .h-mono,.organ-copy .h-mono{font-size:clamp(28px,9.5cqw,112px)}
.phero-grid>div:first-child h1{font-size:clamp(34px,11cqw,132px)}
.scale-copy h2,.consc-copy h2{text-wrap:pretty}

@media (max-width:900px){
  .cycle{grid-template-columns:minmax(0,1fr)}
  .cycle li{border-right:0;border-bottom:1px solid var(--cyc-line);padding:20px 0 24px}
  .cycle li:last-child{border-bottom:0;padding-right:0}
  .cycle li::after{right:auto;left:0;top:auto;bottom:-5px;border-top:0;border-left:0;border-bottom:1px solid var(--cyc-ink);border-right:1px solid var(--cyc-ink)}
  .cycle li p{max-width:46ch}
  .cycle-return{height:40px;border-radius:0 0 12px 12px}
  .futures figcaption{max-width:none}
}
