@layer reset, tokens, base, entrance, space, curation, reflection, rooms, inhabitants, legal, room, states;

@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body, h1, h2, h3, p, ol, ul, figure, blockquote { margin: 0; }
  ol, ul { padding: 0; list-style: none; }
  img { display: block; max-width: 100%; }
  a { color: inherit; text-decoration: none; }
}

@layer tokens {
  :root {
    --black: #080908;
    --black-soft: #0d0e0c;
    --ink: #11120f;
    --graphite: #242521;
    --graphite-light: #343530;
    --concrete: #aaa79f;
    --concrete-light: #cbc7bb;
    --concrete-dark: #74736d;
    --chalk: #e8e5dc;
    --copper-deep: #582a1d;
    --copper: #9b5538;
    --copper-mid: #c77952;
    --copper-bright: #efb287;
    --oxide: #4c756d;
    --line-dark: rgba(16, 17, 15, .27);
    --line-light: rgba(232, 229, 220, .18);
    --font-structural: "Arial Narrow", "Aptos Display", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --font-reflective: Iowan Old Style, Baskerville, "Times New Roman", serif;
    --page-pad: clamp(1.25rem, 5vw, 6rem);
    --header-height: 5rem;
    --open: 0;
    --artifact-light-x: 66%;
    --artifact-light-y: 42%;
  }
}

@layer base {
  html { background: var(--black); }
  body { min-width: 320px; overflow-x: hidden; background: var(--black); color: var(--chalk); font-family: var(--font-structural); font-size: 16px; line-height: 1.4; text-rendering: geometricPrecision; }
  ::selection { background: var(--copper-mid); color: var(--ink); }
  :focus-visible { outline: 2px solid var(--copper-bright); outline-offset: 5px; }
  .skip-link { position: fixed; z-index: 100; top: 1rem; left: 1rem; padding: .75rem 1rem; transform: translateY(-160%); background: var(--chalk); color: var(--black); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
  .skip-link:focus { transform: translateY(0); }
  .visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .section-number, .eyebrow, .project__kind { font-size: clamp(.62rem, .7vw, .75rem); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
  .reflective-copy { font-family: var(--font-reflective); font-size: clamp(1.06rem, 1.55vw, 1.45rem); line-height: 1.42; }
  .content-grid { width: min(78rem, calc(100% - var(--page-pad) * 2)); margin-inline: auto; }

  .site-header { position: fixed; z-index: 60; inset: 0 0 auto; display: grid; grid-template-columns: 1fr 1fr; align-items: center; height: var(--header-height); padding-inline: clamp(1.15rem, 2.5vw, 2.5rem); border-bottom: 1px solid rgba(232,229,220,.13); color: var(--chalk); background: rgba(6,7,6,.94); }
  .wordmark { justify-self: start; display: inline-flex; align-items: baseline; font-size: .9rem; font-weight: 750; letter-spacing: .075em; }
  .wordmark b { margin-inline: .05em; color: var(--copper-bright); font-family: var(--font-structural); font-size: 1.12em; }
  .wordmark sup { margin-left: .12em; font-size: .42rem; }
  .header-note, .index-link { font-size: .63rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
  .index-link { justify-self: end; }
  .index-link span { margin-left: .5rem; opacity: .6; }

  .material-concrete { position: relative; isolation: isolate; color: var(--ink); background: radial-gradient(ellipse at 18% 12%, rgba(255,255,255,.2), transparent 30%), radial-gradient(ellipse at 82% 70%, rgba(34,34,30,.13), transparent 35%), linear-gradient(99deg, rgba(255,255,255,.025), transparent 28% 72%, rgba(0,0,0,.05)), var(--concrete); }
  .material-concrete::before { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; opacity: .66; background: radial-gradient(circle at 20% 35%, rgba(22,22,19,.16) 0 .7px, transparent 1.2px), radial-gradient(circle at 72% 61%, rgba(255,255,255,.22) 0 .7px, transparent 1.4px), repeating-linear-gradient(88deg, transparent 0 109px, rgba(39,38,34,.05) 110px 111px); background-size: 23px 29px, 37px 41px, 100% 100%; mix-blend-mode: multiply; }
  .material-concrete::after { content: ""; position: absolute; z-index: -1; inset: 0; pointer-events: none; box-shadow: inset 0 5rem 9rem rgba(15,15,13,.14), inset 0 -4rem 7rem rgba(255,255,255,.07); }

  .site-footer { display: grid; grid-template-columns: 1fr auto 1fr; gap: 2rem; align-items: end; min-height: 16rem; padding: 3rem var(--page-pad); border-top: 1px solid var(--line-light); background: #060706; }
  .site-footer > div > p, .footer-meta { margin-top: .75rem; color: rgba(232,229,220,.48); font-size: .6rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
  .site-footer nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 1.5rem; font-size: .65rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
  .site-footer nav a { padding-block: .35rem; border-bottom: 1px solid transparent; }
  .site-footer nav a:hover, .site-footer nav a:focus-visible { border-color: var(--copper-mid); }
  .footer-meta { justify-self: end; }
}

@layer entrance {
  .threshold { position: relative; min-height: 100svh; overflow: hidden; isolation: isolate; background: radial-gradient(circle at 65% 32%, #1d1210, transparent 28%), #050605; }
  .threshold::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .28; background: radial-gradient(circle at 18% 32%, rgba(255,255,255,.09) 0 .6px, transparent 1.1px), radial-gradient(circle at 42% 72%, rgba(0,0,0,.8) 0 .8px, transparent 1.4px); background-size: 31px 29px, 43px 37px; }
  .threshold::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(90deg, #050605 0 31%, rgba(5,6,5,.96) 38%, rgba(5,6,5,.48) 54%, transparent 73%), linear-gradient(0deg, rgba(5,6,5,.48), transparent 34%); }
  .threshold__image { position: absolute; z-index: 0; top: var(--header-height); right: 0; bottom: 0; width: min(63vw, 88rem); overflow: hidden; border-left: 1px solid rgba(199,121,82,.18); background: #0b0908; transform: translateX(calc(var(--open) * 1.2rem)); transition: transform 1s cubic-bezier(.2,.76,.2,1); }
  .threshold__image img { width: 100%; height: 100%; object-fit: cover; object-position: 100% center; filter: saturate(.84) contrast(1.04) brightness(.78); transform: scale(calc(1.01 + var(--open) * .02)); transition: transform 1.2s cubic-bezier(.2,.76,.2,1), filter .8s ease; }
  .threshold__wash { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at var(--artifact-light-x) var(--artifact-light-y), rgba(239,178,135,.12), transparent 19%), linear-gradient(90deg, rgba(5,6,5,.98), rgba(5,6,5,.64) 17%, transparent 43%), linear-gradient(0deg, rgba(5,6,5,.48), transparent 37%); }
  .threshold__wash::after { content: ""; position: absolute; inset: 0; opacity: .16; mix-blend-mode: multiply; background: repeating-linear-gradient(92deg, transparent 0 31px, rgba(50,29,22,.22) 32px, transparent 33px 71px); }

  .entrance-copy { position: absolute; z-index: 5; top: 49%; left: var(--page-pad); width: min(39rem, 44vw); transform: translateY(-45%); }
  .entrance-copy .eyebrow { display: flex; gap: 1rem; align-items: center; margin-bottom: clamp(1.5rem, 3.5vh, 2.6rem); color: rgba(239,178,135,.56); }
  .entrance-copy .eyebrow::before { content: ""; width: .34rem; height: .34rem; border: 1px solid var(--copper-mid); border-radius: 50%; box-shadow: .75rem .38rem 0 -.08rem #050605, .75rem .38rem 0 0 var(--copper-mid); }
  .entrance-copy h1 { display: flex; align-items: baseline; white-space: nowrap; color: var(--copper-bright); font-size: clamp(3rem, 5.25vw, 6.2rem); font-weight: 630; line-height: .84; letter-spacing: .105em; text-transform: uppercase; text-shadow: 0 0 2rem rgba(199,121,82,.13); }
  .entrance-copy h1 b { margin-inline: .07em; color: var(--copper-mid); font-size: .78em; font-weight: 520; }
  .entrance-copy__claim { margin-top: clamp(1.65rem, 3.3vh, 2.5rem); color: rgba(232,229,220,.8); font-size: clamp(.9rem, 1.2vw, 1.12rem); font-weight: 650; line-height: 1.65; letter-spacing: .17em; text-transform: uppercase; }
  .entrance-copy__claim span, .entrance-copy__claim strong { display: block; }
  .entrance-copy__claim strong { color: var(--copper-bright); font-weight: inherit; }
  .entrance-copy__signature { margin-top: 1.55rem; padding-top: 1.25rem; border-top: 1px solid rgba(199,121,82,.42); color: rgba(239,178,135,.78); font-size: .64rem; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
  .entrance-copy__support { width: min(28rem, 92%); margin-top: 1rem; color: rgba(232,229,220,.48); font-family: var(--font-structural); font-size: clamp(.72rem, .85vw, .84rem); font-weight: 600; line-height: 1.5; letter-spacing: .055em; }
  .crossing { position: absolute; z-index: 9; bottom: 2.3rem; left: var(--page-pad); display: grid; grid-template-columns: auto auto 5rem; gap: .8rem; align-items: center; min-height: 2.75rem; color: rgba(232,229,220,.82); font-size: .64rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
  .crossing__mark { display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border: 1px solid var(--copper-mid); color: var(--copper-bright); font-family: var(--font-structural); font-size: 1.45rem; }
  .crossing i { width: 5rem; height: 1px; background: linear-gradient(90deg, var(--copper-bright), transparent); transform-origin: left; transition: transform .5s ease; }
  .crossing:hover i, .crossing:focus-visible i { transform: scaleX(1.45); }
}

@layer space {
  .house { min-height: 156svh; overflow: hidden; padding: clamp(8rem, 12vw, 12rem) 0; }
  .house__copy { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(7rem, .45fr) 1.4fr; gap: 4rem 2rem; }
  .house__copy h2 { grid-column: 1 / -1; max-width: 68rem; font-size: clamp(3.2rem, 6.65vw, 7.2rem); font-weight: 720; line-height: .86; letter-spacing: -.06em; text-transform: uppercase; }
  .house__copy .reflective-copy { grid-column: 1 / -1; width: min(28rem, 100%); margin-left: 0; }
  .material-assembly { position: absolute; z-index: 2; right: 2vw; bottom: clamp(5rem, 6vw, 7rem); width: min(48vw, 46rem); margin: 0; filter: drop-shadow(1.6rem 2.2rem 2.8rem rgba(39,38,34,.2)); }
  .material-assembly > img { width: 100%; height: auto; border: 1px solid rgba(16,17,15,.18); }
  .material-legend { position: absolute; z-index: 3; right: 0; bottom: -5.2rem; left: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin: 0; }
  .material-legend div { padding-top: .7rem; border-top: 1px solid rgba(16,17,15,.35); }
  .material-legend dt { font-size: .6rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
  .material-legend dd { margin: .2rem 0 0; font-family: var(--font-structural); font-size: .78rem; }
  .house__quiet { position: absolute; z-index: 4; bottom: clamp(3rem, 6vw, 6rem); left: var(--page-pad); color: rgba(16,17,15,.65); font-size: clamp(.88rem, 1.05vw, 1rem); }
}

@layer curation {
  .curation { position: relative; min-height: 150svh; padding: clamp(8rem, 12vw, 12rem) 0; overflow: hidden; background: radial-gradient(circle at 76% 42%, #211713, transparent 27%), #090a09; }
  .curation::before { content: ""; position: absolute; top: 0; left: 8%; width: 31%; height: 3px; background: linear-gradient(90deg, var(--copper-deep), var(--copper-bright), transparent); }
  .curation__heading { position: relative; z-index: 3; display: grid; grid-template-columns: .4fr 1.3fr .65fr; gap: 2rem; align-items: end; }
  .curation__heading h2 { font-size: clamp(3.2rem, 6.25vw, 6.9rem); font-weight: 710; line-height: .86; letter-spacing: -.058em; text-transform: uppercase; }
  .curation__heading > p:last-child { max-width: 25rem; color: rgba(232,229,220,.6); font-family: var(--font-structural); font-size: .88rem; font-weight: 620; line-height: 1.55; letter-spacing: .025em; }
  .fragment-field { position: relative; width: min(84rem, calc(100% - var(--page-pad) * 2)); min-height: 74rem; margin: clamp(6rem, 11vw, 11rem) auto 0; }
  .fragment { position: absolute; overflow: hidden; border: 1px solid rgba(232,229,220,.14); background: #11120f; box-shadow: 1.8rem 2.3rem 5rem rgba(0,0,0,.35); }
  .fragment figcaption { position: absolute; z-index: 3; right: .8rem; bottom: .7rem; left: .8rem; color: rgba(232,229,220,.65); font-size: .57rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
  .fragment--image { top: 0; left: 4%; width: min(52vw, 42rem); height: 38rem; }
  .fragment--image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,9,8,.88), transparent 42%), linear-gradient(90deg, transparent 58%, rgba(157,87,60,.15)); }
  .fragment--image picture, .fragment--image img { width: 100%; height: 100%; }
  .fragment--image img { object-fit: cover; object-position: center; filter: saturate(.68) contrast(.94) brightness(.72) blur(.45px); transform: scale(1.012); }
  .fragment--signal { top: 15rem; right: 2%; width: min(35vw, 29rem); height: 24rem; }
  .signal-study { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: clamp(.5rem, 1.2vw, 1rem); background: radial-gradient(circle, rgba(157,87,60,.16), transparent 48%), linear-gradient(135deg, #1b1c19, #090a09); }
  .signal-study::before, .signal-study::after { content: ""; position: absolute; border: 1px solid rgba(199,121,82,.32); border-radius: 50%; }
  .signal-study::before { width: 54%; aspect-ratio: 1; }
  .signal-study::after { width: 72%; aspect-ratio: 1; border-color: rgba(199,121,82,.14); }
  .signal-study i { z-index: 2; width: 2px; height: 18%; background: var(--copper-mid); }
  .signal-study i:nth-child(2), .signal-study i:nth-child(6) { height: 38%; }
  .signal-study i:nth-child(3), .signal-study i:nth-child(5) { height: 62%; }
  .signal-study i:nth-child(4) { height: 84%; background: var(--copper-bright); }
  .fragment--object { top: 45rem; right: 16%; width: min(44vw, 36rem); height: 27rem; background: linear-gradient(135deg, #a4a198, #6f6e68); }
  .object-study { position: absolute; inset: 0; overflow: hidden; background: linear-gradient(145deg, rgba(255,255,255,.18), transparent 36%), radial-gradient(circle at 80% 20%, rgba(255,255,255,.16), transparent 28%), radial-gradient(circle at 28% 73%, rgba(31,31,28,.16), transparent 33%); }
  .object-study i { position: absolute; box-shadow: 1rem 1.4rem 2rem rgba(24,23,20,.28); }
  .object-study i:nth-child(1) { left: 11%; bottom: -1%; width: 29%; height: 57%; background: linear-gradient(130deg, #3a3b36, #1c1d1a); transform: rotate(-1.4deg); clip-path: polygon(2% 0, 100% 3%, 97% 100%, 0 96%); }
  .object-study i:nth-child(2) { left: 35%; bottom: 1%; width: 19%; height: 78%; background: linear-gradient(110deg, #55291f, #d3845a 45%, #8b4932 66%, #49241c); transform: rotate(.8deg); }
  .object-study i:nth-child(3) { left: 51%; top: 27%; width: 38%; height: 19%; background: linear-gradient(90deg, #995139, #efb287 44%, #743a2b); transform: rotate(-1.2deg); clip-path: polygon(1% 8%, 100% 0, 97% 94%, 0 100%); }
  .object-study i:nth-child(4) { left: 59%; bottom: -1%; width: 26%; height: 43%; background: linear-gradient(135deg, #d0cdc3, #8d8b84); transform: rotate(1.1deg); clip-path: polygon(4% 0, 97% 3%, 100% 96%, 0 100%); }
  .object-study::after { content: ""; position: absolute; inset: 0; opacity: .48; mix-blend-mode: multiply; background: radial-gradient(circle at 23% 48%, rgba(38,34,29,.42) 0 .7px, transparent 1.4px), radial-gradient(circle at 71% 62%, rgba(78,117,109,.42) 0 .9px, transparent 1.7px), repeating-linear-gradient(103deg, transparent 0 29px, rgba(68,48,38,.11) 30px, transparent 31px 67px); background-size: 21px 25px, 37px 31px, 100% 100%; }
  .fragment-field__note { position: absolute; left: 5%; bottom: 5rem; width: min(25rem, 32vw); color: rgba(232,229,220,.7); }
}

@layer reflection {
  .reflection { min-height: 170svh; display: grid; align-items: center; padding: 9rem 0; overflow: hidden; }
  .reflection__copy { position: relative; z-index: 3; display: grid; grid-template-columns: .34fr 1fr 1fr; gap: 3rem; align-items: start; }
  .reflection__copy .section-number { grid-column: 1; }
  .reflection h2 { grid-column: 2 / -1; max-width: 68rem; font-size: clamp(3.1rem, 6.35vw, 7rem); font-weight: 720; line-height: .86; letter-spacing: -.06em; text-transform: uppercase; }
  .reflection blockquote { grid-column: 2 / -1; max-width: 39rem; margin-top: .5rem; font-family: var(--font-reflective); font-size: clamp(1.55rem, 2.45vw, 2.8rem); line-height: 1.08; letter-spacing: -.025em; }
  .therefore-installation { position: relative; grid-column: 1 / -1; justify-self: center; width: min(52vw, 44rem); margin: 2rem 0 0; box-shadow: 1.5rem 2rem 3.5rem rgba(48,44,38,.18); }
  .therefore-installation > img { width: 100%; height: auto; border: 1px solid rgba(16,17,15,.16); transition: transform .8s cubic-bezier(.22,.8,.25,1); }
  .therefore-coordinates { position: absolute; inset: 0; pointer-events: none; color: rgba(16,17,15,.72); font-size: .58rem; font-weight: 750; letter-spacing: .17em; text-transform: uppercase; }
  .therefore-coordinate { position: absolute; padding: .3rem .45rem; background: rgba(203,199,187,.78); }
  .therefore-coordinate--ground { top: 42%; left: -4.5rem; }
  .therefore-coordinate--relation { top: 15%; right: -3.5rem; }
  .therefore-coordinate--consequence { right: -5.8rem; bottom: 18%; }
  .js .therefore-installation[data-reveal]:not(.is-visible) > img { transform: translateY(.75rem) scale(.992); }
}

@layer rooms {
  .rooms { padding: 9rem var(--page-pad) 12rem; border-top: 1px solid var(--line-dark); overflow: hidden; }
  .rooms__heading { display: grid; grid-template-columns: .45fr 1.2fr .55fr; gap: 2rem; align-items: end; margin-bottom: 5rem; }
  .rooms__heading h2 { font-size: clamp(4rem, 8.5vw, 9rem); font-weight: 720; line-height: .78; letter-spacing: -.07em; text-transform: uppercase; }
  .rooms__heading .reflective-copy { font-size: 1rem; }
  .registry__list { position: relative; z-index: 4; border-top: 1px solid rgba(16,17,15,.48); }
  .registry__list li { position: relative; min-height: 7.2rem; overflow: hidden; border-bottom: 1px solid rgba(16,17,15,.33); }
  .registry__list li > a { position: relative; display: grid; grid-template-columns: 5rem 1fr auto; align-items: center; min-height: 7.2rem; padding: 1.5rem 0; }
  .registry__list li:nth-child(2) { margin-left: 8%; }
  .registry__list li:nth-child(4) { margin-right: 12%; }
  .registry__list li > a:focus-visible { outline-color: var(--copper-deep); outline-offset: -2px; }
  .registry__count, .registry__state { position: relative; z-index: 3; font-size: .63rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
  .registry__name { position: relative; z-index: 3; font-size: clamp(2.1rem, 4vw, 4rem); font-weight: 680; line-height: 1; letter-spacing: -.05em; text-transform: uppercase; }
  .registry__state { text-align: right; }
  .registry__state--live { color: #6d2e1e; }
  .room-trace { position: absolute; z-index: 1; inset: .5rem 9rem .5rem 38%; opacity: 0; transform: translateX(-1rem); transition: opacity .5s ease, transform .65s cubic-bezier(.22,.8,.25,1); pointer-events: none; }
  .registry__list li:hover .room-trace, .registry__list li > a:focus-visible .room-trace { opacity: .55; transform: none; }
  [data-room="visual"] .room-trace { display: grid; grid-template-columns: .7fr 1.3fr; gap: .6rem; padding: .6rem; border-left: 2px solid var(--copper); }
  [data-room="visual"] .room-trace i { border: 1px solid rgba(16,17,15,.25); background: rgba(232,229,220,.11); }
  [data-room="sound"] .room-trace { display: flex; align-items: center; justify-content: center; gap: .45rem; }
  [data-room="sound"] .room-trace i { width: 2px; height: 18%; background: var(--copper-deep); }
  [data-room="sound"] .room-trace i:nth-child(2), [data-room="sound"] .room-trace i:nth-child(4) { height: 45%; }
  [data-room="sound"] .room-trace i:nth-child(3) { height: 72%; background: var(--copper-mid); }
  [data-room="thought"] .room-trace { display: grid; align-content: center; gap: .1rem; border-top: 1px solid rgba(16,17,15,.2); }
  [data-room="thought"] .room-trace i { color: rgba(16,17,15,.45); font-family: var(--font-structural); font-size: .78rem; font-style: normal; }
  [data-room="thought"] .room-trace i:last-child { margin-left: 3rem; }
  [data-room="atelier"] .room-trace i { position: absolute; top: 50%; width: 4rem; height: 4rem; transform: translateY(-50%) rotate(45deg); border: 1px solid rgba(78,117,110,.58); }
  [data-room="atelier"] .room-trace i:nth-child(2) { left: 4rem; width: 8rem; height: 2px; border: 0; background: linear-gradient(90deg, var(--oxide), var(--copper), transparent); }
  [data-room="atelier"] .room-trace i:nth-child(3) { left: 12rem; width: 2px; height: 75%; border: 0; background: rgba(78,117,110,.6); }
  [data-room="label"] .room-trace::before, [data-room="label"] .room-trace::after { content: ""; position: absolute; top: 50%; left: 2rem; width: 13rem; height: 1px; background: rgba(16,17,15,.34); transform: rotate(-12deg); }
  [data-room="label"] .room-trace::after { transform: rotate(12deg); }
  [data-room="label"] .room-trace i { position: absolute; top: calc(50% - .3rem); width: .6rem; height: .6rem; border-radius: 50%; background: var(--copper); }
  [data-room="label"] .room-trace i:nth-child(1) { left: 1.7rem; } [data-room="label"] .room-trace i:nth-child(2) { left: 8rem; top: 27%; } [data-room="label"] .room-trace i:nth-child(3) { left: 8rem; top: 67%; } [data-room="label"] .room-trace i:nth-child(4) { left: 14.6rem; }
}

@layer room {
  .page-room { background: #0c0d0c; }
  .page-room .site-header { background: rgba(8,9,8,.94); }
  .room-main { min-height: 100svh; display: grid; place-items: center; padding: clamp(9rem, 14vw, 13rem) var(--page-pad) 8rem; background: radial-gradient(ellipse at 70% 30%, #24231f, transparent 36%), #0c0d0c; }
  .room-shell { width: min(76rem, 100%); padding-block: 3rem; border-top: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
  .room-shell h1 { max-width: 12ch; margin-top: 2rem; font-size: clamp(3.5rem, 9vw, 9rem); font-weight: 720; line-height: .82; letter-spacing: -.065em; text-transform: uppercase; }
  .room-shell__status { margin-top: 3rem; color: rgba(232,229,220,.58); font-size: .7rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
}

@layer inhabitants {
  .inhabitants { display: grid; grid-template-columns: 1fr 1fr; background: var(--ink); }
  .inhabitants__heading { grid-column: 1 / -1; display: grid; grid-template-columns: .4fr 1.4fr .42fr; gap: 2rem; align-items: end; min-height: 62svh; padding: clamp(5rem, 8vw, 9rem) var(--page-pad); border-bottom: 1px solid var(--line-light); }
  .inhabitants__heading h2 { max-width: 71rem; font-size: clamp(3.1rem, 6.1vw, 6.8rem); font-weight: 710; line-height: .86; letter-spacing: -.06em; text-transform: uppercase; }
  .inhabitants__observation { grid-column: 3; color: rgba(232,229,220,.58); font-size: .95rem; }
  .project { min-width: 0; }
  .project + .project { border-left: 1px solid var(--line-light); }
  .project__visual { position: relative; height: clamp(24rem, 48vw, 46rem); overflow: hidden; background: #090a09; }
  .project__visual::after { content: ""; position: absolute; z-index: 1; inset: 0; pointer-events: none; background: linear-gradient(0deg, var(--ink), transparent 35%), linear-gradient(90deg, rgba(8,9,8,.24), transparent); }
  .project__visual--novalis > img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.68) contrast(1.06) brightness(.77); transform: scale(1.04); transition: transform 1s cubic-bezier(.22,.8,.25,1), filter .7s ease; }
  .project__visual--solanoxx { display: grid; place-items: center; isolation: isolate; background: radial-gradient(circle at 50% 48%, #251612, transparent 26%), radial-gradient(circle at 82% 13%, rgba(157,87,60,.17), transparent 19%), linear-gradient(125deg, #0d0e0c, #050605); }
  .project__visual--solanoxx::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .35; background: repeating-linear-gradient(90deg, transparent 0 57px, rgba(232,229,220,.04) 58px 59px), repeating-linear-gradient(0deg, transparent 0 57px, rgba(232,229,220,.035) 58px 59px); }
  .project__logo { position: relative; z-index: 4; width: min(74%, 34rem); height: auto; object-fit: contain; filter: none; }
  .solanoxx-field { position: absolute; z-index: 2; inset: 9%; display: flex; align-items: center; justify-content: center; gap: clamp(.45rem, 1vw, .9rem); border: 1px solid rgba(196,119,84,.18); border-radius: 50%; }
  .solanoxx-field::before, .solanoxx-field::after { content: ""; position: absolute; border: 1px solid rgba(196,119,84,.18); border-radius: 50%; }
  .solanoxx-field::before { width: 76%; aspect-ratio: 1; }
  .solanoxx-field::after { width: 54%; aspect-ratio: 1; border-color: rgba(239,178,135,.25); }
  .solanoxx-field i { width: 2px; height: 12%; background: var(--copper-mid); box-shadow: 0 0 .7rem rgba(199,121,82,.35); }
  .solanoxx-field i:nth-child(2), .solanoxx-field i:nth-child(6) { height: 24%; }
  .solanoxx-field i:nth-child(3), .solanoxx-field i:nth-child(5) { height: 41%; }
  .solanoxx-field i:nth-child(4) { height: 62%; background: var(--copper-bright); }
  .project__copy { min-height: 30rem; padding: clamp(3rem, 5vw, 6rem); }
  .project h3 { margin-top: 2.5rem; font-size: clamp(3.7rem, 7vw, 7.5rem); font-weight: 720; line-height: .8; letter-spacing: -.07em; text-transform: uppercase; }
  .project__description { max-width: 29rem; margin-top: 2rem; color: rgba(232,229,220,.68); font-family: var(--font-structural); font-size: 1rem; line-height: 1.5; }
  .project__status { display: block; margin-top: 3rem; font-size: .62rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
  .project__status > i { display: inline-block; width: .45rem; height: .45rem; margin-right: .55rem; border-radius: 50%; background: var(--copper-bright); box-shadow: 0 0 12px var(--copper); }
  .project__geometry { position: absolute; z-index: 3; inset: 11% auto auto 9%; width: 12rem; height: 12rem; border-left: 2px solid var(--copper-mid); border-bottom: 2px solid var(--copper-mid); }
  .project__geometry i { position: absolute; border: 1px solid rgba(78,117,110,.7); transform: rotate(45deg); }
  .project__geometry i:nth-child(1) { top: 12%; left: 28%; width: 5rem; height: 5rem; }
  .project__geometry i:nth-child(2) { top: 44%; left: 57%; width: 3rem; height: 3rem; }
  .project__geometry i:nth-child(3) { top: -8%; left: 70%; width: 8rem; height: 1px; border: 0; background: linear-gradient(90deg, var(--copper-mid), transparent); }

  .closing { position: relative; min-height: 86svh; display: grid; grid-template-columns: .45fr 1.2fr .45fr; align-content: center; gap: 3rem; padding: 9rem var(--page-pad); overflow: hidden; background: radial-gradient(circle at 68% 44%, #211511, transparent 25%), #080908; }
  .closing__mark { grid-column: 1 / -1; color: transparent; font-size: clamp(7rem, 19vw, 19rem); font-weight: 750; line-height: .68; letter-spacing: -.09em; text-align: center; -webkit-text-stroke: 1px rgba(196,119,84,.48); }
  .closing h2 { grid-column: 2; max-width: 38rem; font-family: var(--font-reflective); font-size: clamp(2.2rem, 4.3vw, 4.8rem); font-weight: 400; line-height: 1; }
  .closing__joint { position: absolute; right: 8%; bottom: 12%; width: 22%; height: 3px; background: linear-gradient(90deg, transparent, var(--copper-mid)); }
  .closing__joint::after { content: ""; position: absolute; right: 0; bottom: 0; width: 3px; height: 5rem; background: var(--copper-mid); }
}

@layer legal {
  .page-legal { background: #0c0d0c; }
  .page-legal .site-header { background: rgba(8,9,8,.88); backdrop-filter: blur(12px); }
  .page-legal .copper-spine { position: absolute; z-index: 5; top: var(--header-height); right: var(--page-pad); width: 3px; height: 8rem; pointer-events: none; background: linear-gradient(180deg, var(--copper-bright), var(--copper), transparent); }
  .page-legal .copper-spine::after { content: ""; position: absolute; top: 0; right: 0; width: 6rem; height: 3px; background: linear-gradient(90deg, transparent, var(--copper)); }
  .page-legal .copper-spine i { display: none; }
  .legal-main { position: relative; min-height: 100svh; padding: clamp(9rem, 14vw, 13rem) var(--page-pad) 10rem; background: radial-gradient(ellipse at 20% 5%, #24231f, transparent 34%), radial-gradient(ellipse at 83% 28%, #181a17, transparent 31%), #0c0d0c; }
  .legal-main::before { content: ""; position: absolute; inset: 0; opacity: .2; pointer-events: none; background: radial-gradient(circle at 20% 35%, rgba(255,255,255,.16) 0 .7px, transparent 1.2px), radial-gradient(circle at 72% 61%, rgba(0,0,0,.75) 0 .8px, transparent 1.4px); background-size: 29px 31px, 41px 37px; }
  .legal-intro { position: relative; z-index: 3; width: min(76rem, 100%); margin: 0 auto clamp(5rem, 8vw, 8rem); }
  .legal-intro h1 { max-width: 70rem; margin-top: 2rem; overflow-wrap: anywhere; font-size: clamp(3rem, 7.5vw, 7.8rem); font-weight: 720; line-height: .86; letter-spacing: -.06em; text-transform: uppercase; }
  .legal-source-note { max-width: 32rem; margin-top: 2rem; color: rgba(232,229,220,.58); font-family: var(--font-structural); font-size: 1rem; }
  .legal-columns, .legal-pair { position: relative; z-index: 3; display: grid; grid-template-columns: 1fr 1fr; width: min(76rem, 100%); margin-inline: auto; border-top: 1px solid var(--line-light); }
  .legal-column { min-width: 0; padding: clamp(2rem, 4vw, 4rem); }
  .legal-column + .legal-column { border-left: 1px solid var(--line-light); }
  .legal-column__title, .legal-pair__title { margin-bottom: 2.5rem; color: var(--copper-bright); font-size: clamp(1.5rem, 2.5vw, 2.7rem); font-weight: 680; letter-spacing: -.035em; text-transform: uppercase; }
  .legal-column__language, .legal-pair__language { margin-bottom: 1rem; color: rgba(232,229,220,.48); }
  .legal-copy { color: rgba(232,229,220,.74); font-family: var(--font-structural); font-size: clamp(.98rem, 1.2vw, 1.08rem); line-height: 1.62; }
  .legal-copy h3 { margin: 3rem 0 1rem; color: var(--chalk); font-family: var(--font-structural); font-size: 1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
  .legal-copy h3:first-child { margin-top: 0; }
  .legal-copy p + p { margin-top: 1.2rem; }
  .legal-copy a { color: var(--copper-bright); text-decoration: underline; text-underline-offset: .2em; }
  .legal-pair { border-bottom: 1px solid var(--line-light); }
  .legal-pair--intro .legal-copy { color: var(--chalk); font-size: clamp(1.2rem, 2vw, 1.8rem); line-height: 1.35; }
}

@layer states {
  body.is-crossing { --open: 1; }
  .js [data-reveal] { opacity: 0; transform: translateY(2rem); transition: opacity .75s ease, transform .85s cubic-bezier(.22,.8,.25,1); }
  .js [data-reveal].is-visible { opacity: 1; transform: none; }

  @media (hover: hover) and (pointer: fine) {
    .project--novalis:hover .project__visual > img { filter: saturate(.78) contrast(1.08) brightness(.86); transform: scale(1.1); }
    .project--solanoxx:hover .solanoxx-field { opacity: .92; transform: scaleX(1.035); }
  }

  @media (hover: none), (pointer: coarse) {
    .room-trace { opacity: .16; transform: none; }
    .registry__list li > a:focus .room-trace { opacity: .5; }
  }

  @media (max-width: 760px) {
    :root { --header-height: 4.35rem; --page-pad: 1.2rem; }
    .site-header { grid-template-columns: 1fr auto; padding-inline: 1.15rem; }
    .header-note { display: none; }

    .threshold::after { background: linear-gradient(0deg, #050605 0 25%, rgba(5,6,5,.94) 43%, rgba(5,6,5,.34) 68%, transparent 84%), linear-gradient(90deg, rgba(5,6,5,.78), transparent 58%); }
    .threshold__image { top: var(--header-height); right: 0; bottom: auto; width: 100%; height: 43svh; border-left: 0; }
    .threshold__image img { object-position: 100% center; filter: saturate(.82) contrast(1.03) brightness(.72); }
    .threshold__wash { background: linear-gradient(0deg, #050605 0 8%, rgba(5,6,5,.68) 39%, transparent 70%), linear-gradient(90deg, rgba(5,6,5,.78), transparent 42%); }
    .entrance-copy { top: auto; bottom: 8.1rem; left: 1.2rem; width: calc(100% - 2.4rem); transform: none; }
    .entrance-copy .eyebrow { margin-bottom: 1rem; }
    .entrance-copy h1 { font-size: clamp(2.7rem, 13.2vw, 4.1rem); letter-spacing: .075em; }
    .entrance-copy__claim { margin-top: 1.15rem; font-size: .8rem; line-height: 1.55; }
    .entrance-copy__signature { margin-top: .9rem; padding-top: .85rem; font-size: .57rem; }
    .entrance-copy__support { width: min(23rem, 96%); margin-top: .75rem; font-size: .72rem; line-height: 1.4; }
    .crossing { bottom: 1.45rem; left: 1.2rem; }

    .house { min-height: 154svh; padding: 7.5rem 0 12rem; }
    .house__copy { grid-template-columns: 1fr; gap: 2.3rem; }
    .house__copy h2, .house__copy .reflective-copy { grid-column: 1; }
    .house__copy h2 { font-size: clamp(2.75rem, 12.4vw, 4.7rem); }
    .house__copy .reflective-copy { margin-left: 0; }
    .material-assembly { right: 1.2rem; bottom: 12rem; width: calc(100% - 2.4rem); filter: drop-shadow(.9rem 1.2rem 1.5rem rgba(39,38,34,.18)); }
    .material-legend { right: 0; bottom: -5rem; left: 0; gap: .55rem; }
    .material-legend dt { font-size: .53rem; }
    .material-legend dd { font-size: .75rem; }
    .house__quiet { right: auto; bottom: 2.4rem; left: 1.2rem; max-width: 14rem; }

    .curation { min-height: auto; padding-block: 7rem 8rem; }
    .curation__heading { grid-template-columns: 1fr; align-items: start; }
    .curation__heading h2 { font-size: clamp(3rem, 13.5vw, 5rem); }
    .fragment-field { display: grid; gap: 1.2rem; min-height: 0; margin-top: 5rem; }
    .fragment { position: relative; inset: auto; width: 100%; }
    .fragment--image { height: 29rem; }
    .fragment--signal { width: 82%; height: 18rem; margin-left: auto; }
    .fragment--object { width: 88%; height: 21rem; }
    .fragment-field__note { position: relative; inset: auto; width: min(20rem, 88%); margin: 2rem 0 0 auto; }

    .reflection { min-height: auto; padding-block: 8rem; }
    .reflection__copy { grid-template-columns: 1fr; gap: 2.5rem; }
    .reflection__copy .section-number, .reflection h2, .reflection blockquote, .therefore-installation { grid-column: 1; }
    .reflection h2 { font-size: clamp(2.85rem, 12.7vw, 4.8rem); }
    .reflection blockquote { max-width: 19rem; font-size: clamp(1.7rem, 7.2vw, 2.5rem); }
    .therefore-installation { width: calc(100% - 1.2rem); margin-top: 1rem; }
    .therefore-coordinates { font-size: .5rem; letter-spacing: .13em; }
    .therefore-coordinate--ground { top: 42%; left: -.6rem; }
    .therefore-coordinate--relation { top: 12%; right: -.6rem; }
    .therefore-coordinate--consequence { right: -.6rem; bottom: 14%; }

    .rooms { padding: 7rem 1.2rem 8rem; }
    .rooms__heading { grid-template-columns: 1fr; align-items: start; margin-bottom: 3.5rem; }
    .rooms__heading h2 { font-size: clamp(3.8rem, 17vw, 5.8rem); }
    .registry__list li, .registry__list li:nth-child(2), .registry__list li:nth-child(4) { min-height: 6.5rem; margin: 0; }
    .registry__list li > a { grid-template-columns: 2.5rem 1fr; gap: .25rem; min-height: 6.5rem; padding: 1.15rem 0; }
    .registry__state { grid-column: 2; margin-top: .5rem; text-align: left; }
    .room-trace { inset: .5rem 0 .5rem 45%; }

    .inhabitants { grid-template-columns: 1fr; }
    .inhabitants__heading { grid-column: 1; grid-template-columns: 1fr; min-height: 66svh; align-items: start; }
    .inhabitants__heading h2 { font-size: clamp(2.85rem, 12.8vw, 4.8rem); }
    .inhabitants__observation { grid-column: 1; align-self: end; }
    .project + .project { border-top: 1px solid var(--line-light); border-left: 0; }
    .project__visual { height: 67svh; }
    .project__logo { width: min(82%, 30rem); }
    .project__copy { min-height: 27rem; padding: 3rem 1.2rem 5rem; }
    .project h3 { font-size: clamp(3.8rem, 17vw, 6rem); }

    .closing { grid-template-columns: 1fr; min-height: 78svh; }
    .closing__mark, .closing h2 { grid-column: 1; }
    .closing h2 { max-width: 19rem; }
    .site-footer { grid-template-columns: 1fr auto; align-content: end; min-height: 20rem; }
    .site-footer nav { grid-column: 1 / -1; grid-row: 1; justify-content: flex-start; }

    .page-legal .copper-spine { right: 1.2rem; height: 5rem; }
    .legal-main { padding-top: 8rem; }
    .legal-intro h1 { font-size: clamp(2.8rem, 13vw, 4.5rem); }
    .legal-columns, .legal-pair { grid-template-columns: 1fr; }
    .legal-column { padding: 2.5rem 0; }
    .legal-column + .legal-column { border-top: 1px solid var(--line-light); border-left: 0; }
  }

  @media (max-width: 420px) {
    .crossing { grid-template-columns: auto auto; }
    .crossing i { display: none; }
  }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    .js [data-reveal] { opacity: 1; transform: none; }
    .threshold__image img, .threshold__image { transform: none !important; }
    .therefore-installation > img, .solanoxx-field, .project__visual > img { transform: none !important; }
  }
}
