@import url('./tokens.css');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.85 var(--body)}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:5px}button,input,select{font:inherit;color:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default}a,button{transition:background var(--speed),color var(--speed)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}::selection{background:var(--ink);color:var(--paper)}.wrap{max-width:var(--max);padding:0 var(--gutter);margin:auto}.mono,.eyebrow,.tag,.btn,nav,.wordmark,table th,.stat strong,.footer,pre,.tabs,.case-id,.copy-status{font-family:var(--mono)}.muted{color:var(--muted)}.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;display:flex;gap:16px;align-items:center;margin:0 0 24px}.eyebrow:before{content:'';height:6px;width:6px;background:currentColor}.rule{border-top:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:500}h1.en{font:500 clamp(48px,6.5vw,100px)/.98 var(--mono);letter-spacing:-.065em;margin-bottom:28px}h2{font-size:clamp(30px,4vw,56px);line-height:1.2;letter-spacing:-.04em;margin-bottom:24px}h3{font-size:22px;line-height:1.5}p{margin-bottom:20px}.lead{font-size:22px;line-height:1.65;max-width:680px}.section{padding:var(--section) 0}.section-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:40px}.section-head p{max-width:420px;margin-bottom:6px;color:var(--muted);font-size:15px}.header{border-bottom:1px solid var(--line);background:var(--paper)}.header .wrap{display:flex;justify-content:space-between;align-items:center;min-height:76px;gap:24px}.wordmark{text-decoration:none;font-size:14px;line-height:1.25;letter-spacing:-.04em;display:flex;align-items:center;gap:12px}.mark{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--ink);font-size:15px}.header nav{display:flex;gap:28px;font-size:11px}.header nav a{text-decoration:none;padding:12px 0}.header nav a:hover,.header nav a[aria-current]{text-decoration:underline}.menu{display:none}.hero{padding:80px 0 48px}.hero-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}.hero-copy{max-width:660px}.hero .lead{font-size:24px}.hero-copy>.muted{max-width:480px;font-size:15px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:24px;text-decoration:none;min-height:46px;padding:11px 20px;border:1px solid var(--ink);background:transparent;font-size:12px;line-height:1.6}.btn:hover{background:var(--ink);color:var(--paper)}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:var(--paper);color:var(--ink)}.text-link{font:12px var(--mono)}.globe-frame{align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0}.ascii{font:clamp(7px,.85vw,12px)/1.2 var(--mono);white-space:pre;text-align:center;margin:0;overflow:hidden;user-select:none}.globe-meta{display:flex;justify-content:space-between;font:10px var(--mono);color:var(--muted);border-top:1px solid var(--line);padding-top:14px;margin-top:20px}.hero-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid var(--line);margin-top:64px;padding-top:20px;font:11px var(--mono);color:var(--muted)}.feature{background:var(--ink);color:var(--paper)}.feature :focus-visible{outline-color:var(--paper)}.feature .muted,.feature .section-head p{color:#b7bab0}.feature .eyebrow{color:#b7bab0}.feature-grid{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(230px,1fr);gap:40px}.video-frame{aspect-ratio:16/9;background:#30332b;border:1px solid #55594c;position:relative;overflow:hidden}.video-frame video{width:100%;height:100%;object-fit:contain;display:block}.media-note{font-size:12px;color:#b7bab0;padding-top:12px}.ledger{border-top:1px solid #565950}.ledger-item{padding:18px 0;border-bottom:1px solid #565950}.ledger-item dt{font:10px var(--mono);color:#b7bab0;letter-spacing:.08em;margin-bottom:8px}.ledger-item dd{margin:0;font-size:14px;line-height:1.8}.feature .btn{border-color:var(--paper);color:var(--paper)}.feature .btn:hover{background:var(--paper);color:var(--ink)}.feature h2{font-family:var(--mono);font-size:clamp(40px,5vw,72px)}.tag{display:inline-flex;border:1px solid var(--control-line);padding:3px 8px;font-size:10px;line-height:1.6;gap:6px}.feature .tag{border-color:#969b89}.workflow-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.workflow{padding:28px 24px 28px 0;display:flex;flex-direction:column}.workflow+.workflow{padding-left:24px;border-left:1px solid var(--line)}.workflow .mono{font-size:11px;color:var(--muted);margin-bottom:34px}.workflow h3{margin-bottom:12px}.workflow p{font-size:14px;color:var(--muted);flex:1}.workflow .output{font:11px var(--mono);padding-top:24px}.workflow a{font-size:12px;margin-top:16px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap}td,th{padding:18px 18px 18px 0;border-bottom:1px solid var(--line);vertical-align:top}tbody tr:last-child td{border-bottom:1px solid var(--ink)}.method-table td:first-child{min-width:160px}.method-table tr:last-child{background:var(--wash)}.table-note{font-size:12px;color:var(--muted);margin-top:16px}.tabs{display:flex;gap:0;flex-wrap:wrap;border-bottom:1px solid var(--ink);margin-bottom:24px}.tabs button{border:0;background:none;padding:14px 22px;font-size:12px;min-height:46px;border-bottom:3px solid transparent}.tabs button[aria-selected=true]{border-bottom-color:var(--ink);background:var(--wash)}.capability td:first-child{min-width:190px}.capability td:nth-child(2){min-width:140px;white-space:nowrap}.capability details{min-width:190px}.capability summary{font-size:13px}.capability details p{font-size:13px;color:var(--muted);padding-top:12px}.legend{font-size:12px;color:var(--muted);margin-bottom:24px}.process{display:grid;grid-template-columns:repeat(5,1fr);gap:24px;border-top:1px solid var(--ink);padding-top:24px}.process .mono{font-size:12px}.process h3{font:20px var(--mono);margin:24px 0 12px}.process p{font-size:14px;color:var(--muted)}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);border-left:1px solid var(--line)}.case-card{padding:26px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;display:flex;flex-direction:column}.case-id{display:flex;justify-content:space-between;align-items:center;font-size:11px;gap:12px;margin-bottom:28px}.case-card h3{margin-bottom:14px}.case-card h3 a{text-decoration:none}.case-card h3 a:hover{text-decoration:underline}.case-card p{color:var(--muted);font-size:14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.case-card .tags{margin-top:auto}.tags{display:flex;gap:6px;flex-wrap:wrap}.case-card .text-link{margin-top:26px;display:inline-block}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}.stat{padding:32px 20px 32px 0}.stat+.stat{border-left:1px solid var(--line);padding-left:32px}.stat strong{font-size:64px;line-height:1.2;font-weight:400;display:block;letter-spacing:-.07em}.stat span{font:11px var(--mono)}.stat p{font-size:13px;color:var(--muted);margin:12px 0 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:64px}.start-panel{background:var(--wash);border:1px solid var(--line);padding:32px}.code{background:var(--ink);color:var(--paper);padding:24px;white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.9 var(--mono)}.copy-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:12px}.copy-status{font-size:11px;color:var(--muted)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;padding:20px 0;list-style:none;display:flex;justify-content:space-between;gap:20px}summary::-webkit-details-marker{display:none}summary:after{content:'+';font-family:var(--mono)}details[open]>summary:after{content:'−'}details>p{color:var(--muted);font-size:14px}.footer{border-top:1px solid var(--ink);padding:28px 0;font-size:11px}.footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.footer-links{display:flex;gap:24px}.page-head{padding:64px 0 40px}.page-head h1{font:500 clamp(44px,6vw,80px)/1.05 var(--mono);letter-spacing:-.06em;margin-bottom:24px}.page-head p{max-width:720px;color:var(--muted)}.filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.field{display:flex;flex-direction:column;gap:8px;font-size:12px}.field.grow{flex:1;min-width:200px}input,select{background:transparent;border:1px solid var(--control-line);border-radius:0;padding:12px;min-height:46px;max-width:100%}.results-line{display:flex;justify-content:space-between;gap:24px;font:11px var(--mono);margin:20px 0}.empty{padding:64px 24px;border:1px solid var(--line);text-align:center}.empty p{color:var(--muted)}.detail-meta{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink);border-bottom:1px solid var(--line);margin:32px 0}.detail-meta div{padding:20px 16px 20px 0}.detail-meta dt{font:11px var(--mono);color:var(--muted)}.detail-meta dd{margin:10px 0 0;font-size:14px}.prose{max-width:820px}.prose p,.prose li{line-height:1.9}.prose li{margin-bottom:12px}.availability{border:1px solid var(--line);padding:24px;background:var(--wash);margin-top:32px}.spec-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.swatch{height:100px;border:1px solid var(--control-line);padding:12px;font:12px var(--mono);display:flex;align-items:flex-end}.skip{position:absolute;left:20px;top:-100px;background:var(--ink);color:var(--paper);padding:12px;z-index:99}.skip:focus{top:8px}.noscript{padding:24px}.hidden,[hidden]{display:none!important}.audit-link{overflow-wrap:anywhere;font-size:12px}.page-body{padding-bottom:80px}
.mechanism-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--ink);margin-bottom:40px}.mechanism-strip>div{padding:24px 24px 16px 0}.mechanism-strip>div+div{border-left:1px solid var(--line);padding-left:24px}.mechanism-strip span{font:11px var(--mono);color:var(--muted)}.mechanism-strip h3{font-size:20px;margin:18px 0 12px}.mechanism-strip p{font-size:14px;color:var(--muted)}.matrix-intro{font-size:14px;color:var(--muted);max-width:820px;margin-bottom:24px}.project-matrix{min-width:920px;table-layout:fixed}.project-matrix th:first-child{width:22%}.project-matrix thead th{vertical-align:bottom;padding:18px 16px;font-size:12px;color:var(--ink);border-top:1px solid var(--ink)}.project-matrix th span{display:block;font:11px var(--mono);color:var(--muted);margin-top:10px}.project-matrix tbody th{padding:22px 16px;font-family:var(--body);color:var(--ink);font-size:14px;white-space:normal}.project-matrix td{padding:22px 16px}.project-matrix .ours-col{background:var(--wash);border-left:1px solid var(--line);border-right:1px solid var(--line)}.project-matrix thead .ours-col{border-top:3px solid var(--ink)}.matrix-state{font-size:13px;text-decoration:none;display:inline-block}.matrix-state:hover{text-decoration:underline}.matrix-note{display:block;margin-top:10px;font-size:12px;color:var(--muted);line-height:1.8}.matrix-sources p{font-size:13px}.matrix-scroll:focus-visible{outline-offset:2px}@media(max-width:680px){.mechanism-strip{grid-template-columns:1fr}.mechanism-strip>div+div{padding-left:0;border-left:0;border-top:1px solid var(--line)}.project-matrix{min-width:840px}.project-matrix tbody th,.project-matrix td,.project-matrix thead th{padding:16px 12px}.matrix-scroll{border-right:1px solid var(--line)}}
.motion-toggle{font:10px var(--mono);border:0;background:none;color:var(--muted);padding:0 0 8px 12px;min-height:30px}.motion-toggle:hover{color:var(--ink);text-decoration:underline}
.wrap.hero{padding-left:var(--gutter);padding-right:var(--gutter)}.hero-copy{min-width:0}.hero-grid>*{min-width:0}
@media(min-width:1500px){.hero{padding-top:100px}}
@media(max-width:1000px){.feature-grid{grid-template-columns:1.7fr 1fr;gap:24px}.workflow-grid{grid-template-columns:1fr 1fr}.workflow:nth-child(3){border-left:0;padding-left:0;border-top:1px solid var(--line)}.workflow:nth-child(4){border-top:1px solid var(--line)}.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split{gap:32px}.process{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1.2fr 1fr;gap:16px}.header nav{gap:18px}.spec-grid{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.header .wrap{min-height:68px;flex-wrap:wrap;gap:0}.menu{display:inline-flex;font:11px var(--mono);background:none;border:1px solid var(--ink);padding:8px 12px}.header nav{display:none;width:100%;padding:20px 0;flex-wrap:wrap}.header nav.open{display:flex}.hero{padding-top:48px}.hero-grid,.feature-grid,.split{grid-template-columns:1fr}.hero .lead{font-size:21px}.globe-frame{margin-top:32px}.ascii{font-size:8px}.globe-meta{max-width:400px;width:100%;align-self:center}.hero-bottom{margin-top:32px;font-size:10px;flex-wrap:wrap}.section-head{display:block}.section-head p{margin-top:20px}.feature .section-head{margin-bottom:28px}.feature-grid{gap:20px}.workflow-grid,.case-grid{grid-template-columns:1fr}.workflow+.workflow{border-left:0;padding-left:0;border-top:1px solid var(--line)}.workflow .mono{margin-bottom:20px}.process{grid-template-columns:1fr 1fr}.stats{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px solid var(--line);padding-left:0}.stat strong{font-size:52px}.tabs button{padding:14px 12px;font-size:11px}.detail-meta{grid-template-columns:1fr 1fr}.spec-grid{grid-template-columns:1fr}.page-head{padding-top:40px}.footer-links{flex-wrap:wrap}.case-card{padding:24px}.btn{gap:16px}.start-panel{padding:24px}.hero-copy .actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.firewood-preview,.case-artifact-preview{margin:0 0 24px}.firewood-preview img,.case-artifact-preview img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;background:var(--wash)}.firewood-preview figcaption,.case-artifact-preview figcaption{margin-top:8px;color:var(--muted);font:11px/1.6 var(--mono)}

/* Case covers share one frame; placeholders never imply an unpublished screenshot. */
.case-cover{display:block;position:relative;aspect-ratio:16/10;overflow:hidden;background:#242720;color:#f1f2e9;text-decoration:none;margin:-26px -26px 24px;isolation:isolate}
.cover-graphic{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:22px;background:radial-gradient(ellipse at 78% 24%,#687063 0,transparent 46%),repeating-linear-gradient(0deg,transparent 0 19px,#ffffff0c 20px),#242720}
.cover-graphic span{font:10px var(--mono);letter-spacing:.12em;color:#b8c1ad}.cover-graphic b{font:400 clamp(18px,2.2vw,29px)/1.08 var(--mono);letter-spacing:-.05em;max-width:80%;overflow-wrap:anywhere}
.case-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.case-cover:hover img{transform:scale(1.035)}
.cover-label,.cover-arrow{position:absolute;bottom:12px;z-index:1;background:#1d211de8;color:#f4f4eb;font:10px/1.4 var(--mono);padding:7px 9px}.cover-label{left:12px}.cover-arrow{right:12px;font-size:15px}.is-placeholder .cover-graphic b{margin-bottom:38px}
.case-card .case-id{margin-bottom:18px}.case-detail-media{margin-bottom:42px}.detail-placeholder{min-height:260px;padding:32px;display:flex;flex-direction:column;justify-content:space-between;background:radial-gradient(ellipse at 80% 15%,#5a6551,transparent 48%),repeating-linear-gradient(0deg,transparent 0 25px,#ffffff0a 26px),#2a3028;border:1px solid #565950}.detail-placeholder span{font:11px var(--mono);color:#b7bab0}.detail-placeholder strong{font:400 clamp(28px,4vw,48px)/1.2 var(--mono);letter-spacing:-.05em}.detail-placeholder p{font-size:13px;color:#b7bab0;margin:0}.case-detail-media .firewood-preview,.case-detail-media .case-artifact-preview{margin:0}.feature .firewood-preview figcaption,.feature .case-artifact-preview figcaption{color:#b7bab0}
@media(max-width:680px){.case-cover{margin:-24px -24px 24px}.detail-placeholder{min-height:220px;padding:24px}}
@media(prefers-reduced-motion:reduce){.case-cover img{transition:none}}

.case-cover.is-tiny img{transform:scale(2.15);transform-origin:94% 57%}.case-cover.is-tiny:hover img{transform:scale(2.2)}
