*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;--bg:#171418;--surface:#272128;--ink:#fff0da;--accent:#efbd87;--line:#71574c;--display:Georgia,serif;background:var(--bg);color:var(--ink);font:clamp(17px,1.45vw,21px)/1.65 Georgia,serif}a{color:inherit;text-underline-offset:.24em}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px dashed var(--accent);outline-offset:5px}.skip{position:fixed;top:0;left:1rem;transform:translateY(-160%);z-index:8;background:var(--bg);padding:.6rem}.skip:focus{transform:none}.top{position:sticky;top:0;z-index:4;display:flex;justify-content:space-between;align-items:center;padding:.65rem clamp(1rem,4vw,4rem);gap:1em;background:var(--bg);color:var(--ink);border-bottom:1px solid var(--line);font:700 .78rem/1.25 system-ui}.top progress{position:absolute;bottom:-1px;left:0;width:100%;height:3px;appearance:none;border:0;background:transparent;accent-color:var(--accent)}progress::-webkit-progress-bar{background:transparent}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}h1,h2{font-family:var(--display);line-height:.98;letter-spacing:-.045em;margin:.25em 0 .4em;text-wrap:balance}h1{font-size:clamp(3.1rem,7.6vw,8rem)}h2{font-size:clamp(2.5rem,5.5vw,5rem)}p,li{max-width:68ch}.tag{font:750 .73rem/1.5 system-ui;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.dek{font-size:1.2em}.hero{position:relative;isolation:isolate;display:grid;min-height:min(830px,91svh);align-items:end;overflow:hidden;background:#151418;color:#fff7e9;--accent:#ffe0ab}.hero figure{position:absolute;inset:0;margin:0;z-index:-3}.hero figure img{width:100%;height:100%;object-fit:cover;object-position:var(--focus,center);transform:scale(1.08) translateY(calc(var(--pan,0)*1px))}.hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#131016f5 0%,#131016a6 33%,transparent 80%)}.air{position:absolute;inset:-12%;z-index:-2;pointer-events:none;background:radial-gradient(ellipse at 21% 72%,#eebc7738,transparent 48%);transform:translateY(calc(var(--pan,0)*-1.8px))}.hero-copy{padding:clamp(1.25rem,6vw,6rem);max-width:1100px}.hero-copy p{margin:.5rem 0}.legend-title{font-style:italic;font-weight:bold}.enter{display:inline-block;margin-top:1rem;padding:.45rem .85rem;border:1px solid currentColor;font:700 .8rem/1.4 system-ui}.room{max-width:1100px;margin:0 auto;padding:clamp(2.5rem,8vw,7rem) clamp(1.25rem,5vw,5rem);position:relative}.room + .room{border-top:1px solid var(--line)}.opening>p:not(.tag):first-of-type{font-size:1.18em}.scene{max-width:none;padding-inline:max(clamp(1.25rem,5vw,5rem),calc((100% - 940px)/2));background:var(--surface);overflow:hidden}.scene>h2{max-width:850px}.proof a{display:inline-block;margin-top:.4rem}.instrument{margin:2rem 0;max-width:760px;min-inline-size:0;padding:1rem;border:1px solid var(--line);background:var(--bg)}legend{padding:0 .55rem;font:800 .85rem/1.4 system-ui}.instrument-art{overflow:hidden;background:var(--surface);height:clamp(110px,23vw,205px);display:grid;place-items:center}.instrument-art svg{width:100%;height:100%;display:block}.instrument-art path,.mirage-window{transition:transform .55s ease,opacity .45s ease,filter .45s ease;transform-origin:center}.settings{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.85rem}.settings button{font:750 .83rem/1.4 system-ui;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:.55rem .8rem;min-height:44px}.settings button[aria-pressed=true]{background:var(--accent);color:var(--bg);border-color:var(--accent)}.reading{font-size:.91em;margin-bottom:0}.waterline{opacity:.82}.instrument[data-state="0"] .waterline,.instrument:not([data-state]) .waterline{transform:translateY(34px)}.instrument[data-state="1"] .waterline{transform:translateY(-9px)}.instrument[data-state="2"] .waterline{transform:translateY(-36px)}.fracture,.jump{opacity:0}.instrument[data-state="1"] .fracture,.instrument[data-state="1"] .jump{opacity:1}.instrument[data-state="2"] .slab{transform:translate(65px,34px) rotate(8deg)}.mirage-window{width:100%;height:100%;overflow:hidden}.mirage-window img{width:100%;height:100%;object-fit:cover;object-position:50% 38%}.instrument[data-state="1"] .mirage-window{transform:scaleY(.18) scaleX(1.18);filter:hue-rotate(27deg)}.instrument[data-state="2"] .mirage-window{opacity:.06;transform:scaleY(.04)}.filaments{filter:drop-shadow(0 0 7px #b5ff55)}.instrument[data-state="1"] .filaments{opacity:.16}.instrument[data-state="2"] .filaments{opacity:.74}.instrument[data-state="1"] .wire{stroke-dasharray:68 28}.instrument[data-state="2"] .wire{stroke:#fff}.portraits{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;align-items:start}.portraits details,.dossier details,.proof details{border:1px solid var(--line);background:var(--surface);padding:1rem;margin:.5rem 0}.portraits summary:before{content:"◇";display:block;color:var(--accent);font-size:1.45em;margin-bottom:.25rem}summary{font-weight:bold}summary::marker{color:var(--accent)}.end{padding:2.5rem clamp(1.25rem,5vw,5rem);border-top:1px solid var(--line);font-size:.9em}.end nav{display:flex;flex-wrap:wrap;gap:1.25rem;justify-content:space-between}.atlas{max-width:1250px;margin:auto;padding:clamp(1.25rem,6vw,6rem)}.atlas-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:2.5rem 0}.atlas-links a{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);text-decoration:none}.atlas-links img{width:100%;height:auto;aspect-ratio:1.25;object-fit:cover}.atlas-links span{padding:.7rem}.atlas svg{width:100%;height:auto;border:1px solid var(--line)}.atlas svg text{font:700 18px system-ui;fill:#fff2d5;paint-order:stroke;stroke:#1f2527;stroke-width:4px}.atlas svg a:hover circle,.atlas svg a:focus-visible circle{stroke:#fff;stroke-width:4px}
.tide{--bg:#e9dfcb;--surface:#c8d6cb;--ink:#172f32;--accent:#2e575b;--line:#617d78;--display:Baskerville,Georgia,serif;--focus:48% 55%}.tide .hero-copy{align-self:end;margin-left:auto;text-align:right}.tide .hero-copy p{margin-left:auto}.tide .water{border-radius:50% 46% 0 0 / 4vw 3vw 0 0}.tide .opening{max-width:870px}.tide .gallery details{border-radius:45% 45% 3px 3px / 1.2rem 1.2rem 0 0}
.bell{--bg:#e5e2d8;--surface:#f0ece2;--ink:#252930;--accent:#77413a;--line:#72727a;--display:Palatino,Georgia,serif;--focus:47% 50%}.bell .hero{align-items:center;min-height:76svh}.bell .hero:after{background:linear-gradient(90deg,#11151ce9 0%,#151a21a8 47%,transparent 86%)}.bell .hero h1{max-width:10ch}.bell .proof{display:grid;grid-template-columns:1fr 1.3fr;gap:0 2rem}.bell .proof .instrument{grid-column:2;grid-row:1/span 5}.bell .silence{background:#30333a;color:#fbf2e3;--accent:#eac5a8;padding-block:clamp(3rem,13vw,11rem)}
.mirror{--bg:#10091a;--surface:#241132;--ink:#fff4fc;--accent:#ff91e0;--line:#8e5299;--display:'Courier New',monospace;--focus:55% 44%}.mirror .hero{align-items:center;min-height:92svh}.mirror .hero:after{background:linear-gradient(90deg,#11071be8,#11071bb0 43%,#11071b20 80%)}.mirror .hero h1{max-width:11ch;text-shadow:3px 2px #883571,-2px -1px #117a89}.mirror .scene{box-shadow:inset 0 0 60px #5d287444}.mirror .gallery details{border-style:dashed}.mirror .opening{max-width:860px;border-left:1px solid var(--line)}
.wood{--bg:#f4e9ce;--surface:#e0e6c9;--ink:#293727;--accent:#47633a;--line:#79825e;--display:Baskerville,Georgia,serif}.wood .hero{min-height:0;display:grid;grid-template-columns:1fr 1fr;align-items:center;background:var(--surface);color:var(--ink);--accent:#47633a}.wood .hero figure{position:relative;grid-column:2;grid-row:1;z-index:0;aspect-ratio:1.05;overflow:hidden;border-radius:45% 0 0 45%}.wood .hero:after,.wood .air{display:none}.wood .hero-copy{grid-column:1;grid-row:1;padding-right:1rem}.wood .hero h1{font-style:italic;font-size:clamp(3rem,7vw,7rem)}.wood .opening{max-width:860px;background:#f9f0dc;border:1px solid var(--line);margin:2rem auto;border-radius:0 3rem 0 3rem}.wood .scene .instrument{border-radius:1rem}.wood .gallery .portraits{grid-template-columns:1fr}
.storm{--bg:#1a2334;--surface:#273955;--ink:#fff1cf;--accent:#ffcf72;--line:#cb9f62;--display:Impact,'Arial Black',sans-serif;--focus:58% 44%}.storm .hero{min-height:84svh;border-bottom:8px solid #ffcf72}.storm h1,.storm h2{text-transform:uppercase;letter-spacing:-.025em}.storm .hero h1{font-style:italic;text-shadow:4px 5px #102844;max-width:11ch}.storm .room{border-inline:2px solid var(--line)}.storm .room:nth-child(even){background-image:radial-gradient(#ffce7033 1px,transparent 1px);background-size:7px 7px}.storm .room .tag{display:inline-block;border:1px solid var(--line);background:var(--accent);color:var(--bg);padding:.3rem .6rem;transform:skew(-6deg)}.storm .scene{max-width:1100px;padding-inline:clamp(1.25rem,5vw,5rem)}
@media(max-width:700px){.portraits{grid-template-columns:1fr;gap:0}.hero{min-height:78svh}.hero figure img{object-position:var(--focus,center)}.bell .proof{display:block}.wood .hero{grid-template-columns:1fr}.wood .hero figure,.wood .hero-copy{grid-column:1;grid-row:auto}.wood .hero figure{aspect-ratio:1.65;border-radius:0 0 35% 18%}.wood .opening{margin:1rem}.atlas-links{grid-template-columns:repeat(2,minmax(0,1fr))}.atlas svg text{font-size:23px}.storm .room{border-inline:0}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.hero figure img,.air{transform:none!important}}
.object-plate{float:right;width:min(36%,240px);margin:0 0 1rem 1.7rem;padding:.75rem;text-align:center;background:var(--surface);border:3px double var(--line);color:var(--ink);font-size:.83em;line-height:1.4}.object-plate svg{display:block;width:100%;height:auto;max-height:140px}.object-plate figcaption{padding:.35rem .45rem}.room:after{content:"";display:block;clear:both}.tide .object-plate{border-radius:46% 46% 1rem 1rem}.bell .object-plate{border-width:1px 5px 1px 5px}.mirror .object-plate{border-style:dashed;box-shadow:4px 4px #6e235f}.wood .object-plate{transform:rotate(2deg);border-radius:0 1rem}.storm .object-plate{transform:rotate(-3deg);box-shadow:5px 5px #111927}
@media(max-width:700px){.object-plate{float:none;width:min(100%,260px);margin:1rem auto 1.5rem}}
