:root{--bg:#0a0d0b;--surface:#101510;--text:#f1f3ed;--muted:#a3aba2;--quiet:#7F897F;--accent:#a8ee54;--ink:#12200a;--max:1080px;--sans:Manrope,Arial,sans-serif;--mono:"DM Mono",monospace;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 var(--sans)}
a{color:inherit}
.wrap{width:min(var(--max),calc(100% - 64px));margin:auto}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between}
.back,.brand{font:600 14px var(--sans);text-decoration:none}
.back{color:var(--muted)}
.source-link{display:inline-flex;align-items:center;gap:10px;margin-top:32px;color:var(--accent);font:600 13px var(--mono);text-decoration:none}.source-link:hover{text-decoration:underline;text-underline-offset:5px}
.brand{font-size:18px;letter-spacing:-.07em}
.brand span,.eyebrow,.label,.outcome b{color:var(--accent)}
.hero{padding:90px 0 110px}
.eyebrow{margin:0 0 24px;font:500 13px var(--mono)}
h1{max-width:960px;margin:0;font:700 clamp(54px,9vw,130px)/.88 var(--sans);letter-spacing:-.09em}
.summary{max-width:650px;margin:43px 0 0;color:var(--muted);font-size:clamp(18px,2.2vw,25px);line-height:1.48;letter-spacing:-.03em}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:86px}
.fact{padding:23px 0}
.fact span{display:block;color:var(--quiet);font:500 12px var(--mono)}
.fact b{display:block;margin-top:8px;font:600 17px var(--sans);letter-spacing:-.03em}
.case{padding:clamp(46px,7vw,90px) 0;background:var(--surface)}
.case-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}
.side{color:var(--accent);font:500 13px var(--mono)}
:is(.fluid-context,.forge-context) .case-grid{grid-template-columns:minmax(0,760px);justify-content:center;gap:18px}:is(.fluid-context,.forge-context) .side{margin:0 0 4px}:is(.fluid-context,.forge-context) h2{max-width:710px}:is(.fluid-context,.forge-context) .block{padding:27px 0;border-top:1px solid var(--tone-border-293229)}:is(.fluid-context,.forge-context) .block:first-of-type{margin-top:42px}:is(.fluid-context,.forge-context) .block + .block{margin-top:0}
h2{margin:0;font:700 clamp(35px,5vw,66px)/1 var(--sans);letter-spacing:-.075em}
.body-copy{max-width:640px;margin:0;color:var(--muted);font-size:18px}
.block{margin-top:46px}
.block h3{margin:0 0 10px;font:600 13px var(--mono);color:var(--text)}
.block p{margin:0;color:var(--muted)}
.stack{padding:105px 0}
.stack p{max-width:920px;margin:23px 0 0;color:var(--text);font:700 clamp(27px,4.4vw,57px)/1.1 var(--sans);letter-spacing:-.065em}
.stack span{color:var(--quiet)}
.outcome{margin-top:54px;padding:30px;background:var(--surface)}
.outcome b{display:block;font:500 12px var(--mono)}
.outcome p{margin:10px 0 0;color:var(--muted)}
.module-section{padding:clamp(72px,9vw,128px) 0;background:var(--media-bg)}.module-heading{max-width:730px}.module-heading h2{margin-top:14px}.module-heading p{max-width:650px;margin:22px 0 0;color:var(--muted);font-size:18px}.module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:54px}.module{min-height:270px;padding:30px;border:1px solid var(--tone-border-263126);background:linear-gradient(145deg,var(--tone-media-121912),var(--media-bg))}.module-index{color:var(--accent);font:500 12px var(--mono)}.module h3{margin:42px 0 12px;font:700 26px/1 var(--sans);letter-spacing:-.055em}.module p{margin:0;color:var(--muted);font-size:15px;line-height:1.7}.module.wide{grid-column:span 2;min-height:0}.module ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0;margin:24px 0 0;list-style:none}.module li{padding-top:14px;border-top:1px solid var(--tone-border-2b372b);color:var(--muted);font-size:14px}.module li b{display:block;margin-bottom:6px;color:var(--text);font:600 12px var(--mono)}
.app-gallery{padding:clamp(72px,9vw,124px) 0;background:var(--media-bg)}.app-shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:20px;margin-top:48px}.app-shot{margin:0;overflow:hidden;border:1px solid var(--tone-border-293329);background:var(--tone-media-111711);box-shadow:0 24px 56px var(--tone-shadow-0005)}.app-shot img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;object-position:top;background:var(--tone-media-edf1fb)}.app-shot figcaption{display:grid;gap:7px;padding:18px 18px 20px}.app-shot figcaption b{color:var(--accent);font:500 12px var(--mono)}.app-shot figcaption span{color:var(--muted);font-size:14px;line-height:1.5}
footer{padding:30px 0 48px;color:var(--quiet);font:500 12px var(--mono)}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}
.nav{height:64px}
.hero{padding:64px 0 75px}
.summary{margin-top:30px;font-size:18px}
.facts{grid-template-columns:1fr;gap:4px;margin-top:52px}
.fact{padding:14px 0}
.case-grid{grid-template-columns:1fr;gap:34px}
.case{padding:58px 0}
.body-copy{font-size:16px}
.stack{padding:76px 0}
.outcome{padding:24px}
h1{font-size:clamp(50px,15vw,82px)}
.module-heading p{font-size:16px}.module-grid{grid-template-columns:1fr;margin-top:38px}.module{min-height:0;padding:25px}.module h3{margin-top:32px}.module.wide{grid-column:auto}.module ul{grid-template-columns:1fr;gap:12px}
.app-gallery{padding:64px 0}.app-shots{grid-template-columns:1fr;gap:24px;margin-top:34px}.app-shot{width:min(100%,460px);margin-inline:auto}.app-shot img{max-height:none}.app-shot figcaption{padding:16px}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Expanded case-study template */
.case-page .hero{padding-bottom:76px}.case-page h2{letter-spacing:-.03em;text-wrap:balance}.case-page p,.case-page li{ text-wrap:pretty}.case-page .section{padding:76px 0}.case-page .section:nth-of-type(even){background:var(--surface)}.case-page .section-head{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px}.case-page .section-head>.side{margin:8px 0 0}.case-page .section-head>div>p{max-width:700px;color:var(--muted);font-size:18px}.constraint-list,.boundary-list,.next-list,.security-list{display:grid;gap:13px;max-width:760px;padding:0;margin:28px 0 0;list-style:none}.constraint-list li,.boundary-list li,.next-list li,.security-list li{padding:16px 18px;border-left:2px solid var(--tone-border-455545);background:var(--tone-media-ffffff03);color:var(--muted)}.diagram-wrap{margin-top:36px;padding:30px;border:1px solid var(--border);background:var(--media-bg)}.diagram-wrap svg{display:block;width:100%;height:auto}.diagram-wrap path{fill:none;stroke:var(--diagram-line);stroke-width:1.5;stroke-dasharray:4 8}.diagram-wrap rect{fill:var(--bg);stroke:var(--border-strong);stroke-width:1.2}.diagram-wrap .hot rect{stroke:var(--accent);fill:var(--tone-text-a8ee540b)}.diagram-wrap text{fill:var(--text);font:500 11px var(--mono);text-anchor:middle}.diagram-wrap .sub{fill:var(--muted);font-size:11px}.diagram-caption{margin:18px 0 0!important;color:var(--quiet)!important;font:500 12px var(--mono)!important}.decision-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:32px}.decision{padding:25px;border:1px solid var(--border);background:var(--tone-media-101510)}.decision h3{margin:19px 0 14px;font:700 24px/1.1 var(--sans);letter-spacing:-.035em}.decision b{display:block;margin-top:16px;color:var(--text);font:500 11px var(--mono)}.decision p{margin:6px 0 0;color:var(--muted);font-size:14px}.failure-table{width:100%;border-collapse:collapse;margin-top:30px;font-size:15px}.failure-table th,.failure-table td{padding:18px;text-align:left;vertical-align:top;border:1px solid var(--border)}.failure-table th{background:var(--tone-media-141c15);color:var(--accent);font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase}.failure-table td{color:var(--muted)}.callout{margin-top:30px;padding:21px 24px;border-left:2px solid var(--accent);background:var(--tone-media-a8ee5409);color:var(--muted);font-size:15px}.case-footer{display:flex;gap:22px;flex-wrap:wrap;padding:54px 0 75px}.case-footer a{color:var(--accent);font:600 13px var(--mono);text-decoration:none}.case-footer a:hover{text-decoration:underline;text-underline-offset:5px}
@media(max-width:700px){.case-page .section{padding:56px 0}.case-page .section-head{grid-template-columns:1fr;gap:16px}.case-page .section-head>div>p{font-size:16px}.diagram-wrap{margin-top:26px;padding:17px;overflow:hidden}.diagram-wrap svg{width:100%}.diagram-wrap text{font-size:11px}.diagram-wrap .sub{font-size:11px}.decision-grid{grid-template-columns:1fr}.failure-table,.failure-table tbody,.failure-table tr,.failure-table th,.failure-table td{display:block;width:100%}.failure-table thead{display:none}.failure-table tr{margin-bottom:14px;border:1px solid var(--border)}.failure-table td{border:0;padding:14px}.failure-table td:first-child{padding-bottom:5px;color:var(--text);font:600 13px var(--mono)}.failure-table td:first-child:before{content:"What goes wrong";display:block;margin-bottom:6px;color:var(--accent);font:500 11px var(--mono)}.failure-table td:nth-child(2):before{content:"What the system does";display:block;margin-bottom:6px;color:var(--accent);font:500 11px var(--mono)}.case-footer{padding:42px 0 58px}}
.note-article{padding:72px 0 120px}.note-article header{max-width:880px}.note-article header h1{max-width:860px;font-size:clamp(48px,7vw,98px);line-height:.92}.note-article .dek{max-width:680px;margin:34px 0 0;color:var(--muted);font-size:clamp(18px,2.2vw,25px);line-height:1.48;letter-spacing:-.03em}.note-body{max-width:720px;margin:82px 0 0}.note-body h2{margin-top:58px;font-size:clamp(31px,4vw,51px)}.note-body p{margin:18px 0;color:var(--muted);font-size:18px}.note-callout{margin:40px 0;padding:26px 28px;border-left:2px solid var(--accent);background:var(--surface);color:var(--text);font:600 18px/1.5 var(--sans)}.note-meta{margin-top:26px;color:var(--quiet);font:500 12px var(--mono)}
.note-exploded{--spread:0;position:relative;height:155vh;margin:58px calc((720px - 100vw)/2) 68px}.note-stage{position:sticky;top:12vh;height:76vh;min-height:460px;max-height:650px;margin:auto;overflow:hidden;border:1px solid var(--tone-border-29332a);background:linear-gradient(135deg,var(--tone-media-0f1510),var(--tone-media-090c0a))}.system-shell{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:190px;height:190px;border:1px solid var(--tone-border-597051);border-radius:50%;box-shadow:0 0 0 16px var(--tone-shadow-rgba16823884025),0 0 60px var(--tone-shadow-rgba1682388407);transform:translate(-50%,-50%)}.system-shell span{color:var(--accent);font:500 11px var(--mono);text-transform:uppercase}.system-shell i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 14px var(--accent)}.note-part{position:absolute;top:50%;left:50%;display:grid;min-width:178px;padding:15px 16px;border:1px solid var(--tag-border);background:var(--tone-media-111711);box-shadow:0 18px 32px var(--tone-shadow-rgba00026);transform:translate(-50%,-50%);transition:transform .08s linear}.note-part b{color:var(--accent);font:500 11px var(--mono)}.note-part strong{margin-top:13px;font:700 21px/1 var(--sans);letter-spacing:-.055em}.note-part small{margin-top:8px;color:var(--muted);font:400 12px var(--mono)}.part-one{transform:translate(calc(-50% + (var(--spread) * -300px)),calc(-50% + (var(--spread) * -112px)))}.part-two{transform:translate(calc(-50% + (var(--spread) * 295px)),calc(-50% + (var(--spread) * -25px)))}.part-three{transform:translate(calc(-50% + (var(--spread) * -38px)),calc(-50% + (var(--spread) * 195px)))}.system-caption{position:absolute;right:clamp(22px,6vw,70px);bottom:30px;max-width:300px;margin:0!important;color:var(--muted);font:500 13px/1.4 var(--mono)!important}.margin-note{position:absolute;top:28px;left:clamp(22px,6vw,70px);margin:0!important;color:var(--tone-text-d4e6c5)!important;font:600 27px/1 Caveat,cursive!important;transform:rotate(-3deg)}.retry-system .system-shell{border-color:var(--tone-border-6e6650)}.retry-system .system-shell span,.retry-system .note-part b{color:var(--tone-text-e1cb7e)}.retry-system .system-shell i{background:var(--tone-media-e1cb7e);box-shadow:0 0 14px var(--tone-shadow-e1cb7e)}.cdc-system .system-shell{border-color:var(--tone-border-50736d)}.cdc-system .system-shell span,.cdc-system .note-part b{color:var(--tone-text-8fdfd3)}.cdc-system .system-shell i{background:var(--tone-media-8fdfd3);box-shadow:0 0 14px var(--tone-shadow-8fdfd3)}
@media(max-width:700px){.note-article{padding:54px 0 82px}.note-body{margin-top:58px}.note-body p{font-size:16px}.note-callout{padding:22px;font-size:17px}.note-exploded{height:auto;margin:48px -20px 58px}.note-stage{position:relative;top:auto;display:grid;gap:12px;height:auto;min-height:0;padding:72px 20px 28px}.system-shell{position:relative;top:auto;left:auto;width:120px;height:120px;margin:0 auto 16px;transform:none}.note-part,.part-one,.part-two,.part-three{position:relative;top:auto;left:auto;min-width:0;transform:none}.system-caption{position:relative;right:auto;bottom:auto;max-width:100%;margin:16px 0 0!important}.margin-note{top:24px;left:20px;font-size:24px}}
