
:root{
  --ink:#171814; --muted:#66685f; --paper:#f4f0e7; --paper-2:#ebe4d7; --panel:#fffdf7;
  --line:#cec7ba; --red:#e95d43; --orange:#e79d39; --lime:#afc95f; --teal:#5e9993;
  --shadow:0 18px 55px rgba(33,27,17,.10); --radius:22px; --max:1180px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:inherit}.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;padding:.7rem 1rem;z-index:100}.skip-link:focus{left:8px}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:14px max(22px,calc((100vw - var(--max))/2));background:rgba(244,240,231,.93);backdrop-filter:blur(12px);border-bottom:1px solid rgba(90,80,60,.18)}
.brand{display:flex;align-items:center;gap:.75rem;text-decoration:none;min-width:max-content}.brand b{display:block;letter-spacing:.02em}.brand small{display:block;color:var(--muted);font-size:.72rem}.brand-mark{width:42px;height:42px;border-radius:13px;background:#181914;display:grid;place-items:center;position:relative;box-shadow:inset 0 0 0 1px #2b2d27}.brand-mark i{position:absolute;width:8px;height:8px;border-radius:50%}.brand-mark i:nth-child(1){background:var(--red);left:10px;top:11px}.brand-mark i:nth-child(2){background:var(--orange);right:9px;top:10px}.brand-mark i:nth-child(3){background:var(--lime);left:18px;bottom:8px}.brand-mark:before,.brand-mark:after{content:"";position:absolute;height:1px;background:#ddd7ca;transform-origin:left center}.brand-mark:before{width:17px;left:15px;top:17px;transform:rotate(-3deg)}.brand-mark:after{width:15px;left:14px;top:21px;transform:rotate(52deg)}
.site-nav{display:flex;align-items:center;gap:.1rem;flex-wrap:wrap;justify-content:flex-end}.nav-link{font-size:.82rem;text-decoration:none;color:#55574f;padding:.52rem .62rem;border-radius:10px}.nav-link:hover,.nav-link.active{background:#fffaf0;color:#111;border:1px solid #d8d0c2;padding:calc(.52rem - 1px) calc(.62rem - 1px)}.menu-button{display:none;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:.6rem .8rem}
main{min-height:74vh}.wrap{max-width:var(--max);margin:0 auto;padding:72px 24px}.wrap.tight{max-width:920px}.hero{padding:84px 0 68px;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(circle at 84% 10%,rgba(233,93,67,.14),transparent 27%),radial-gradient(circle at 72% 76%,rgba(175,201,95,.14),transparent 30%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:70px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:#5e5f57}.eyebrow:before{content:"";width:22px;height:2px;background:var(--red)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.04;margin:0 0 .75em}h1{font-size:clamp(3.3rem,7vw,7.4rem);letter-spacing:-.055em}h2{font-size:clamp(2.2rem,4vw,4.2rem);letter-spacing:-.035em}h3{font-size:1.55rem;letter-spacing:-.018em}.lede{font-size:clamp(1.15rem,1.7vw,1.55rem);max-width:760px;color:#3f413b}.fine{font-size:.86rem;color:var(--muted)}.button-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;align-items:center;gap:.45rem;text-decoration:none;border-radius:999px;padding:.82rem 1.15rem;font-weight:760;font-size:.9rem;border:1px solid var(--ink);background:var(--ink);color:#fff}.button.secondary{background:transparent;color:var(--ink);border-color:var(--line)}.button:hover{transform:translateY(-1px)}
.hero-system{position:relative;min-height:430px}.orbit{position:absolute;border:1px solid rgba(23,24,20,.18);border-radius:50%}.orbit.o1{inset:3% 12% 14% 2%}.orbit.o2{inset:18% 1% 2% 18%}.node{position:absolute;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:800;box-shadow:var(--shadow);border:5px solid rgba(255,255,255,.65)}.node.a{width:154px;height:154px;left:3%;top:12%;background:var(--red);color:#fff}.node.b{width:150px;height:150px;right:3%;top:4%;background:var(--orange)}.node.c{width:186px;height:186px;right:13%;bottom:1%;background:var(--lime)}.node.core{width:138px;height:138px;left:34%;top:36%;background:#171814;color:#fff;font-family:Georgia,serif;font-size:1.5rem}.connector{position:absolute;height:2px;background:#2e302b;transform-origin:left center;opacity:.45}.connector.c1{width:135px;left:27%;top:34%;transform:rotate(-11deg)}.connector.c2{width:140px;left:48%;top:33%;transform:rotate(-21deg)}.connector.c3{width:118px;left:49%;top:57%;transform:rotate(32deg)}.connector.c4{width:160px;left:25%;top:57%;transform:rotate(64deg)}
.statement{font-family:Georgia,serif;font-size:clamp(2rem,4.5vw,4.6rem);line-height:1.08;letter-spacing:-.035em;max-width:1080px}.statement em{font-style:normal;background:linear-gradient(transparent 65%,rgba(233,93,67,.25) 65%)}
.grid{display:grid;gap:22px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:rgba(255,253,247,.8);border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:0 8px 28px rgba(44,35,22,.045)}.card.dark{background:#171814;color:#f4f0e7;border-color:#171814}.card.accent{background:#f0d063;border-color:#d3b653}.card p:last-child{margin-bottom:0}.kicker{font-size:.72rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:1.1rem}.dark .kicker{color:#c7c2b7}.metric{font-family:Georgia,serif;font-size:3.2rem;line-height:1;margin:.15em 0}.metric-label{color:var(--muted);font-size:.82rem}.dark .metric-label{color:#bbb5aa}.card-link{display:inline-block;margin-top:1rem;font-weight:800;text-underline-offset:4px}.band{background:#191a16;color:#f5f0e6}.band .wrap{padding-top:82px;padding-bottom:82px}.band .lede,.band .fine{color:#c7c2b8}.band .eyebrow{color:#ccc7bc}.band .eyebrow:before{background:var(--lime)}
.pipeline{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:34px}.pipe-step{position:relative;padding:24px 17px;border-radius:18px;background:#262720;border:1px solid #3b3d35;min-height:150px}.pipe-step b{font-family:Georgia,serif;font-size:1.25rem;display:block}.pipe-step span{display:block;color:#bdb8ad;font-size:.82rem;margin-top:.55rem}.pipe-step:not(:last-child):after{content:"→";position:absolute;right:-13px;top:42%;z-index:2;color:#cfc9bd;font-size:1.35rem}.loop-note{margin-top:17px;border:1px dashed #5b5d51;border-radius:15px;padding:14px 18px;color:#d2cdc1;text-align:center;font-size:.86rem}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:34px}.section-head p{max-width:580px;color:var(--muted);margin:0}.rule{height:1px;background:var(--line);margin:54px 0}.quote{border-left:4px solid var(--red);padding-left:24px;font-family:Georgia,serif;font-size:clamp(1.45rem,2.6vw,2.5rem);line-height:1.25}.label{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:.3rem .58rem;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;font-weight:800;background:#fffaf2}.label.red{background:#fee5df;border-color:#efb3a6}.label.green{background:#edf5d2;border-color:#c7d995}.label.dark{background:#23241f;color:#fff;border-color:#23241f}
.figure{border:1px solid var(--line);background:#e8e0d2;border-radius:28px;overflow:hidden;box-shadow:var(--shadow)}.figure img{width:100%;display:block}.figure figcaption{padding:14px 18px;font-size:.78rem;color:var(--muted);background:var(--panel);border-top:1px solid var(--line)}
.layer-stack{display:grid;gap:16px}.layer{display:grid;grid-template-columns:160px 1fr;gap:25px;padding:22px 24px;border:1px solid var(--line);border-radius:17px;background:var(--panel)}.layer b{font-family:Georgia,serif;font-size:1.2rem}.layer.observed{border-left:7px solid var(--teal)}.layer.modelled{border-left:7px solid var(--orange)}.layer.narrated{border-left:7px solid var(--red)}.band .layer{color:var(--ink)}.band .layer p{color:var(--muted)}
.timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.timeline:before{content:"";position:absolute;height:2px;background:var(--line);left:4%;right:4%;top:18px}.moment{position:relative;padding-top:42px}.moment:before{content:"";position:absolute;top:9px;left:0;width:18px;height:18px;border-radius:50%;background:var(--paper);border:5px solid var(--red)}.moment time{font-weight:900;font-size:.78rem;letter-spacing:.08em}.moment p{font-size:.86rem;color:var(--muted)}
.constraints{display:grid;grid-template-columns:1fr 1fr;gap:18px}.constraint{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.constraint .num{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:50%;background:#171814;color:#fff;font-weight:900;margin-bottom:1rem}
.dot-machine{background:#171814;color:#f5f0e6;border-radius:28px;padding:30px;overflow:hidden}.dot-controls{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.5rem 0}.dot-button{cursor:pointer;border:1px solid #55574e;background:#262720;color:#eee9df;border-radius:999px;padding:.6rem .8rem}.dot-button.on{background:var(--orange);color:#171814;border-color:var(--orange)}.gauges{display:grid;grid-template-columns:1fr 1fr;gap:22px}.gauge label{display:flex;justify-content:space-between;font-size:.8rem;color:#c6c1b6}.bar{height:12px;background:#33342e;border-radius:999px;overflow:hidden;margin-top:.5rem}.bar i{display:block;height:100%;width:20%;background:var(--lime);transition:width .35s}.gauge.bad .bar i{background:var(--red)}.story-output{min-height:100px;padding:18px;border:1px solid #3d3f37;border-radius:16px;background:#20211c;color:#d6d1c6}
.lab-shell{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:26px}.controls{background:#171814;color:#f6f1e8;border-radius:24px;padding:26px}.control{margin:0 0 22px}.control label{display:flex;justify-content:space-between;gap:1rem;font-size:.86rem}.control output{color:#f0c864;font-weight:850}.control input[type=range]{width:100%;accent-color:var(--orange)}.control input[type=number],.control select{width:100%;margin-top:.55rem;background:#292a24;color:#fff;border:1px solid #4b4d43;border-radius:10px;padding:.7rem}.run-button{width:100%;border:0;border-radius:12px;padding:.9rem;background:var(--orange);font-weight:900;cursor:pointer}.results{display:grid;gap:18px}.result-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.result-metrics .card{padding:18px}.result-metrics .metric{font-size:2rem}.chart{height:330px;border:1px solid var(--line);background:var(--panel);border-radius:22px;padding:18px;display:flex;gap:7px;align-items:end}.chart-bar{flex:1;min-width:16px;background:linear-gradient(to top,var(--red),var(--orange));border-radius:6px 6px 2px 2px;position:relative;transition:height .35s}.chart-bar span{position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);font-size:.66rem;font-weight:800;white-space:nowrap}.chart-bar small{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);font-size:.64rem;color:var(--muted)}
.paper-item{display:grid;grid-template-columns:120px 1fr auto;gap:25px;padding:27px 0;border-top:1px solid var(--line);align-items:start}.paper-item:last-child{border-bottom:1px solid var(--line)}.paper-no{font-family:Georgia,serif;font-size:2.4rem;color:#aaa396}.paper-status{font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:850;border:1px solid var(--line);padding:.35rem .55rem;border-radius:999px;white-space:nowrap}.paper-links{display:flex;gap:.6rem;flex-wrap:wrap}.paper-links a{font-size:.8rem;font-weight:800}
.process-map{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.process-step{min-height:200px;padding:24px;border-radius:18px;background:var(--panel);border:1px solid var(--line);position:relative}.process-step:not(:last-child):after{content:"→";position:absolute;right:-14px;top:46%;z-index:2;font-size:1.5rem}.process-step b{font-family:Georgia,serif;font-size:1.35rem}.process-step small{display:block;margin-bottom:1.25rem;color:var(--muted);font-weight:800;letter-spacing:.08em}.source-table{width:100%;border-collapse:collapse}.source-table th,.source-table td{text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:18px 12px}.source-table th{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.source-table a{font-weight:800;text-underline-offset:3px}.notice{border:1px solid #d9b75b;background:#fff0b5;padding:18px 20px;border-radius:16px}.site-footer{border-top:1px solid var(--line);max-width:var(--max);margin:0 auto;padding:28px 24px 46px;display:flex;justify-content:space-between;gap:30px;color:var(--muted);font-size:.78rem}.site-footer p{max-width:540px;margin:0}
.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(14px);transition:.55s ease}.js .reveal.visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal{opacity:1;transform:none;transition:none}}
@media(max-width:980px){.menu-button{display:block}.site-nav{display:none;position:absolute;left:18px;right:18px;top:70px;background:var(--panel);padding:10px;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.site-nav.open{display:grid;grid-template-columns:1fr 1fr}.hero-grid,.lab-shell{grid-template-columns:1fr}.hero-system{min-height:380px;max-width:620px}.grid.three{grid-template-columns:1fr 1fr}.pipeline{grid-template-columns:1fr}.pipe-step{min-height:auto}.pipe-step:not(:last-child):after{content:"↓";right:50%;top:auto;bottom:-22px}.result-metrics{grid-template-columns:1fr 1fr}.process-map{grid-template-columns:1fr 1fr}.process-step:not(:last-child):after{display:none}}
@media(max-width:650px){.wrap{padding:52px 18px}.hero{padding:50px 0}.hero-grid{gap:30px}.hero-system{min-height:320px;transform:scale(.86);transform-origin:center}.grid.three,.grid.two,.constraints{grid-template-columns:1fr}.timeline{grid-template-columns:1fr}.timeline:before{left:8px;top:0;bottom:0;width:2px;height:auto}.moment{padding:0 0 10px 42px}.moment:before{left:0;top:3px}.layer{grid-template-columns:1fr;gap:7px}.gauges{grid-template-columns:1fr}.paper-item{grid-template-columns:65px 1fr}.paper-status{grid-column:2}.process-map{grid-template-columns:1fr}.source-table,.source-table tbody,.source-table tr,.source-table td{display:block}.source-table thead{display:none}.source-table tr{padding:16px 0;border-top:1px solid var(--line)}.source-table td{border:0;padding:4px 0}.site-footer{display:block}.site-footer p+p{margin-top:10px}.chart{height:290px;padding:12px}.chart-bar span{font-size:.58rem}.brand small{display:none}}
.site-version{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:.42rem .62rem;border:1px solid var(--line);border-radius:999px;background:var(--panel);font-size:.75rem;font-weight:700;letter-spacing:.08em;color:var(--muted)}
@media(max-width:980px){.site-version{margin-left:auto}.menu-button{margin-left:0}}

/* v05 contrast hardening: dark surfaces explicitly define descendant text. */
.dot-machine,
.dot-machine h1,
.dot-machine h2,
.dot-machine h3,
.dot-machine p,
.dot-machine .lede,
.dot-machine .eyebrow,
.dot-machine .fine { color:#f5f0e6; }
.dot-machine .lede { color:#c7c2b8; }
.dot-machine .eyebrow { color:#aaa69c; }
.dot-machine .eyebrow:before { background:var(--red); }
.dot-machine .story-output { color:#d6d1c6; }
.controls,
.controls h1,
.controls h2,
.controls h3,
.controls p,
.controls .lede,
.controls .eyebrow,
.controls .fine { color:#f6f1e8; }
.card.dark h1,.card.dark h2,.card.dark h3,.card.dark p,.card.dark .lede,.card.dark .fine { color:#f4f0e7; }
.band .card:not(.dark) h1,.band .card:not(.dark) h2,.band .card:not(.dark) h3,.band .card:not(.dark) p { color:var(--ink); }
.band .card:not(.dark) .fine,.band .card:not(.dark) .lede { color:var(--muted); }
