@import url('/fonts/fonts.css');
:root{color-scheme:dark;--ink:#102438;--blue:#16324e;--paper:#d9e8f2;--muted:#b8cfdf;--gold:#ffd66b;font:16px/1.6 'Avenir Next','Segoe UI',sans-serif;background:var(--ink);color:var(--paper)}
*{box-sizing:border-box}body{margin:0}a{color:var(--gold);text-underline-offset:.2em}a:hover{text-decoration-thickness:2px}a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}::selection{background:var(--gold);color:var(--ink)}
.site-head{max-width:1300px;margin:auto;padding:24px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px}.site-brand{color:var(--paper);text-decoration:none;font:700 30px/1 'Darker Grotesque',sans-serif;letter-spacing:.04em}.site-head nav{display:flex;gap:24px;flex-wrap:wrap;align-items:center}.site-head nav a{font-size:14px;color:var(--paper)}
main{max-width:1300px;margin:auto;padding:24px 32px 80px}h1{font:700 clamp(2.8rem,5.5vw,5.4rem)/.96 'Darker Grotesque','Avenir Next',sans-serif;letter-spacing:-.02em;max-width:12ch;margin:0 0 28px;text-wrap:balance}h2{font:700 clamp(1.7rem,3vw,2.7rem)/1.1 'Darker Grotesque',sans-serif;margin:50px 0 20px;text-wrap:balance}h3{font-size:20px;margin:28px 0 12px}p{max-width:70ch;margin:0 0 20px}.lead{font-size:20px;color:var(--muted);max-width:42ch}.hero{display:grid;grid-template-columns: .9fr 1.1fr;gap:40px;align-items:center;min-height:620px}.hero figure{margin:0;min-width:0}.hero img{display:block;width:100%;height:auto}.hero figcaption{font-size:14px;color:var(--muted);margin-top:16px}.start{display:inline-flex;align-items:center;min-height:52px;padding:12px 24px;color:var(--ink);background:var(--gold);text-decoration:none;border-radius:4px;font-weight:600}.start:hover{background:#ffe399}.quiet{display:block;font-size:14px;color:var(--muted);margin-top:16px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;border-block:1px solid #416480;padding:32px 0;margin:48px 0}.steps h2{font-size:28px;margin:0 0 12px}.steps p{color:var(--muted);margin:0}.proof{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.proof img{display:block;width:100%;height:auto;border-radius:6px}.proof h2{margin-top:0}.reading{max-width:820px;padding-top:48px}.reading h1{font-size:clamp(3rem,6vw,4.6rem);max-width:18ch}.reading img{max-width:100%;height:auto;display:block;margin-block:32px}.reading li{margin-bottom:14px}.reading table{width:100%;border-collapse:collapse;margin:28px 0}.reading th,.reading td{text-align:left;padding:12px 0;border-bottom:1px solid #416480}.notes{border-block:1px solid #416480;padding-block:24px;margin-block:40px}.notes p{margin-bottom:10px}.related{margin-top:50px;padding-top:24px;border-top:1px solid #416480}.site-foot{max-width:1300px;margin:auto;border-top:1px solid #416480;padding:28px 32px 44px;display:flex;flex-wrap:wrap;gap:16px 36px;color:var(--muted);font-size:14px}.site-foot a{color:var(--muted)}.skip{position:absolute;top:-90px;left:20px;padding:12px;background:var(--gold);color:var(--ink)}.skip:focus{top:12px;z-index:5}
@media(max-width:760px){.site-head{padding:20px;align-items:flex-start;flex-wrap:wrap}.site-head nav{gap:16px}.site-brand{font-size:26px}main{padding:24px 20px 60px}.hero{grid-template-columns:1fr;gap:28px;min-height:0}.hero figure{order:1}.hero h1{max-width:14ch;font-size:3.6rem}.lead{font-size:18px}.steps,.proof{grid-template-columns:1fr;gap:28px}.steps{margin:40px 0}.reading{padding-top:24px}.site-foot{padding-inline:20px}.start{width:100%;justify-content:center}}
@media(prefers-reduced-motion:no-preference){.hero img{animation:sheet-in .6s cubic-bezier(.16,1,.3,1) both}@keyframes sheet-in{from{clip-path:inset(0 0 18% 0)}to{clip-path:inset(0)}}}

.proof figure { min-width:0; margin:0; } .proof figcaption { font-size:14px; color:var(--muted); margin-top:12px; } .scope-proof { margin-top:64px; }

/* The public story shares the editor's ink, chalk, measured lines and warm materials. */
:root{scrollbar-color:#648095 var(--ink);caret-color:var(--gold)}
button{font:inherit}button:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.site-head{max-width:1480px;min-height:96px;padding:20px 48px;border-bottom:1px solid #34516a}
.site-brand{display:inline-flex;align-items:center;gap:12px;letter-spacing:.005em;font-size:30px;line-height:1.05;text-transform:none;max-width:100%;overflow-wrap:anywhere}
.site-brand img{flex:none}.site-head nav{gap:28px}.site-head nav a{text-decoration:none}.site-head nav a:hover{text-decoration:underline}
.site-foot .site-brand{font-size:24px;color:var(--paper)}
.landing{max-width:1480px;padding:0 48px 80px}
.room-journey{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.15fr);gap:4vw;position:relative}
.room-story{min-width:0}.room-chapter{min-height:88svh;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:72px 0;scroll-margin-top:30px}
.room-intro{min-height:calc(100svh - 96px);padding-top:48px;padding-bottom:64px}
.room-intro h1{font-size:clamp(3.6rem,6.25vw,6rem);line-height:.98;max-width:11ch;margin:0 0 28px;letter-spacing:-.035em}
/* Greek accents need clearance from the preceding line's descenders. */
:lang(el) .room-intro h1{line-height:1.16}
.room-intro .lead{font-size:clamp(18px,1.55vw,23px);line-height:1.6;margin-bottom:32px}
.room-chapter h2{font-size:clamp(2.5rem,4vw,4.25rem);line-height:1.02;letter-spacing:-.025em;margin:0 0 28px;max-width:15ch}
.room-chapter>p{font-size:18px;line-height:1.75;color:var(--muted);max-width:39ch}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:18px 24px}
.start{gap:20px;min-height:54px;border-radius:3px;font-size:16px;white-space:normal}.start svg{flex:none}
.text-action{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:16px;font-weight:500;text-decoration:none}
.text-action:hover{text-decoration:underline}.text-action svg{flex:none}
.room-chapter .quiet{font-size:13px;max-width:36ch;line-height:1.6;margin:20px 0 0}
.scroll-invitation{display:flex;align-items:center;gap:12px;margin-top:48px;font-size:13px;color:var(--muted);text-decoration:none;max-width:30ch}
.scroll-invitation svg{flex:none}.scroll-invitation:hover{color:var(--gold)}
.room-stage{position:sticky;top:24px;align-self:start;height:calc(100svh - 48px);max-height:880px;min-height:540px;display:flex;flex-direction:column;margin:0;padding:30px 0 20px;min-width:0}
.stage-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-bottom:18px;border-bottom:1px solid #34516a;font-size:14px;color:var(--muted)}
.stage-heading span:last-child{font-family:'Sometype Mono',monospace;font-size:12px;white-space:nowrap}
.room-model{position:relative;flex:1;min-height:0;isolation:isolate}
.room-model canvas,.room-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block}
.room-model canvas{opacity:0;pointer-events:none;touch-action:auto}
.room-poster{opacity:1;object-position:center}
[data-renderer="webgl"] .room-model canvas{opacity:1}[data-renderer="webgl"] .room-poster{opacity:0}
.model-north{position:absolute;right:6px;top:24px;display:grid;justify-items:center;gap:5px;font:12px 'Sometype Mono',monospace;color:var(--muted)}
.stage-meter{height:1px;background:#34516a}.stage-meter span{display:block;background:var(--gold);height:1px;width:calc(var(--room-progress,0)*100%)}
.stage-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;font-size:12px;color:var(--muted)}
.stage-controls>span{max-width:19ch}.stage-controls [role="group"]{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 12px}.stage-controls [hidden]{display:none}
.stage-controls button{background:none;border:0;color:var(--paper);padding:10px 0;min-height:44px;cursor:pointer;font-size:12px;text-underline-offset:5px}
.stage-controls button:hover,.stage-controls button[aria-pressed="true"]{color:var(--gold);text-decoration:underline}
.stage-controls button:disabled{cursor:default;color:#91aabc;text-decoration:none}
.room-stage figcaption{font-size:12px;color:#a9c0d2;max-width:55ch;line-height:1.6}
.measurements{display:flex;flex-wrap:wrap;gap:24px;margin:12px 0 28px;padding:22px 0;border-block:1px solid #34516a;width:100%}
.measurements dt{font-size:12px;color:var(--muted);margin-bottom:8px}.measurements dd{font:24px 'Sometype Mono',monospace;margin:0;color:var(--gold)}.measurements small{font-size:13px}
.room-chapter .furniture-note{font-size:14px;padding-block:22px;border-top:1px solid #34516a;margin-top:12px}
.room-boundaries{display:grid;grid-template-columns:1fr 1.3fr;gap:8vw;padding:64px 0;border-block:1px solid #34516a;margin-top:20px}
.room-boundaries h2{margin:0;max-width:17ch;font-size:clamp(2rem,3vw,3rem)}.room-boundaries p{color:var(--muted);max-width:63ch}
.room-next{padding:100px 0 80px;display:grid;grid-template-columns:1.3fr 1fr;align-items:center;gap:8vw}.room-next h2{font-size:clamp(2.6rem,4vw,4.5rem);margin:0 0 24px;max-width:15ch;letter-spacing:-.025em}.room-next p{color:var(--muted);max-width:45ch;margin-bottom:28px}
.room-promises{list-style:none;padding:0;margin:0}.room-promises li{padding:20px 0;border-bottom:1px solid #34516a;font-size:18px}.room-promises li:first-child{border-top:1px solid #34516a}
.landing>.related{display:flex;flex-wrap:wrap;gap:18px 32px;margin-top:0}.landing>.related p{margin:0}
@media(min-width:1800px){.room-chapter{min-height:820px}}
@media(max-width:1000px){.site-head{padding:20px 28px}.landing{padding-inline:28px}.room-journey{gap:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.room-intro h1{font-size:4.3rem}.room-chapter h2{font-size:3.25rem}.hero-actions{gap:12px 20px}.room-stage{min-height:480px}.stage-controls{align-items:flex-start;padding-top:12px;min-height:90px}.stage-controls [role="group"]{gap:0 8px}.measurements{gap:18px}.measurements dd{font-size:20px}}
@media(max-width:760px){
 .site-head{min-height:0;padding:18px 20px;gap:18px}.site-head nav{gap:12px 20px;width:100%;justify-content:space-between}.site-head nav a{font-size:12px}.site-brand{font-size:27px}.site-brand img{width:32px;height:32px}
 .landing{padding:0 20px 50px}.room-journey{display:flex;flex-direction:column;gap:0}.room-story{display:contents}
 .room-chapter{min-height:0;padding:56px 0}.room-intro{order:0;padding:42px 0 24px}.room-stage{order:1;position:relative;top:auto;height:auto;min-height:0;max-height:none;width:100%;padding:16px 0 8px}
 .room-model{height:360px;flex:none}.room-chapter:not(.room-intro){order:2;padding:64px 0;border-bottom:1px solid #34516a}.room-chapter:last-child{border-bottom:0}
 .room-intro h1{font-size:clamp(3.1rem,11vw,4.75rem);max-width:13ch;line-height:1.02}.room-chapter h2{font-size:clamp(2.5rem,9vw,3.5rem);max-width:18ch}.room-intro .lead{font-size:18px;margin-bottom:26px}.room-chapter>p{font-size:17px;max-width:40ch}
 .hero-actions{width:100%;gap:12px 20px}.hero-actions .start{width:auto;max-width:100%;min-width:175px}.room-intro .quiet{max-width:39ch}.scroll-invitation{margin-top:24px}.stage-heading{font-size:13px}.stage-controls{min-height:70px}.room-stage figcaption{max-width:45ch}
 .room-boundaries{grid-template-columns:1fr;gap:24px;padding:48px 0;margin-top:0}.room-boundaries h2{max-width:22ch}.room-next{grid-template-columns:1fr;gap:40px;padding:64px 0}.room-next h2{font-size:3.25rem}.room-promises li{font-size:16px;padding:16px 0}
 .landing>.related{gap:16px 28px}.site-foot{gap:20px 28px}.site-foot .site-brand{flex-basis:100%}
}
@media(max-width:400px){.room-model{height:310px}.stage-controls{gap:8px}.stage-controls [role="group"]{gap:0 10px}.stage-heading{gap:8px}.measurements{gap:16px}.measurements dd{font-size:18px}}
@media(prefers-reduced-motion:reduce){.room-model canvas{display:none}.room-poster{opacity:1!important}}
