:root{--paper:#fbfbfa;--ink:#121212;--soft:#fbfbfaa3;--hair:#fbfbfa33;--sans:"Archivo Variable", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--frame-mat:#e5dfd2;--frame-face:#211d18;--frame-highlight:#ffefd357;--frame-lowlight:#000000a8;--frame-contact-shadow:.1rem .2rem .38rem #0000008f;--frame-cast-shadow:.42rem .82rem 1.65rem #00000052;--cast-x:.2rem;--cast-y:.62rem;--cast-blur:.82rem;--cast-opacity:.28;--cast-color:#110c08;--art-brightness:.92;--art-saturation:.94;--art-contrast:.98;--art-softness:.1px;--art-light-opacity:.06;--art-light:linear-gradient(112deg, #7e99a042, transparent 35%), linear-gradient(to bottom, #96582733, #462b1c57);--glass-light:#ffe2b514;--glass-falloff:#ffffff06}body[data-active-room=ravine]{--frame-mat:#cdbb9f;--frame-face:#21150d;--frame-highlight:#ffdaa45c;--frame-contact-shadow:.06rem .16rem .26rem #130b06ad;--frame-cast-shadow:.22rem .5rem .92rem #160c073d;--cast-x:.16rem;--cast-y:.58rem;--cast-blur:.72rem;--cast-opacity:.32;--art-brightness:.84;--art-saturation:.9;--art-contrast:.96;--art-softness:.16px;--art-light-opacity:.085;--art-light:linear-gradient(108deg, #5c869161, transparent 34%), linear-gradient(to bottom, #bc6f2d2e, #4c2a1875);--glass-light:#ffc57e13}body[data-active-room=pacific]{--frame-mat:#ebe8df;--frame-face:#292b2a;--frame-highlight:#fffffa80;--frame-lowlight:#00000080;--frame-contact-shadow:.08rem .16rem .32rem #0000006e;--frame-cast-shadow:.38rem .68rem 1.35rem #1e19143d;--cast-x:.12rem;--cast-y:.38rem;--cast-blur:.66rem;--cast-opacity:.2;--art-brightness:.95;--art-saturation:.96;--art-contrast:.98;--art-softness:.08px;--art-light-opacity:.035;--art-light:linear-gradient(102deg, #d3e4e457, transparent 42%), linear-gradient(to bottom, #ffe7be1f, #675e5238);--glass-light:#fff8e112}body[data-active-room=atlantic]{--frame-mat:#e3d9c8;--frame-face:#2b2119;--frame-highlight:#ffdca866;--frame-contact-shadow:.1rem .22rem .42rem #000000a3;--frame-cast-shadow:.44rem .86rem 1.65rem #0006;--cast-x:.24rem;--cast-y:.7rem;--cast-blur:.9rem;--cast-opacity:.36;--art-brightness:.82;--art-saturation:.9;--art-contrast:.97;--art-softness:.14px;--art-light-opacity:.09;--art-light:linear-gradient(110deg, #577d986b, transparent 38%), linear-gradient(to bottom, #b866331f, #272d3d80);--glass-light:#ffd39914;--glass-falloff:#98bcd609}*{box-sizing:border-box;margin:0}html,body{width:100%;height:100%;color:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#12110f;overflow:hidden}button,select{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}a{color:inherit;text-decoration:none}:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.mono{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem;line-height:1.4}.visually-hidden:not(:focus):not(:active){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip{z-index:30;background:var(--paper);color:var(--ink);padding:.7rem 1rem;position:fixed;top:-5rem;left:1rem}.skip:focus{top:1rem}.rooms{isolation:isolate;position:fixed;inset:0;overflow:hidden}.room-world{--drift-x:0px;--drift-y:0px;--scene-scale:1;aspect-ratio:3/2;width:100%;transform:translate(calc(-50% + var(--drift-x)), calc(-50% + var(--drift-y))) scale(var(--scene-scale));transform-origin:50%;will-change:transform;transition:transform 1.2s cubic-bezier(.22,.76,.22,1);position:absolute;top:50%;left:50%}.room-layer{opacity:0;transition:opacity .9s;position:absolute;inset:0}.room-layer.is-active{opacity:1}.room-layer img{object-fit:fill;width:100%;height:100%}.art-mount{--mat-width:clamp(3px, .42vw, 8px);--frame-width:clamp(2px, .16vw, 4px);z-index:3;box-sizing:content-box;isolation:isolate;box-shadow:0 0 0 var(--mat-width) var(--frame-mat), 0 0 0 calc(var(--mat-width) + var(--frame-width)) var(--frame-face), var(--frame-contact-shadow), var(--frame-cast-shadow);background:0 0;border:0;padding:0;transition:opacity .34s,width .7s cubic-bezier(.22,.76,.22,1),height .7s cubic-bezier(.22,.76,.22,1),left .9s cubic-bezier(.22,.76,.22,1),top .9s cubic-bezier(.22,.76,.22,1);position:absolute;transform:translate(-50%,-50%)}.art-mount:before{content:"";z-index:3;inset:calc(0px - var(--mat-width) - var(--frame-width));pointer-events:none;border-top:1px solid var(--frame-highlight);border-left:1px solid color-mix(in srgb, var(--frame-highlight) 64%, transparent);border-right:1px solid var(--frame-lowlight);border-bottom:1px solid var(--frame-lowlight);position:absolute;box-shadow:inset 0 0 0 1px #ffffff0a}.art-mount:after{content:"";z-index:-1;inset:calc(0px - var(--mat-width) - var(--frame-width));pointer-events:none;background:var(--cast-color);opacity:var(--cast-opacity);filter:blur(var(--cast-blur));transform:translate(var(--cast-x), var(--cast-y)) scale(1.015);position:absolute}.art-mount.is-changing{opacity:0}.art-mat,.art-mat img{width:100%;height:100%;display:block}.art-mat{background:var(--frame-mat);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #12121247,inset 0 .16rem .34rem #00000024}.art-mat img{z-index:0;object-fit:contain;filter:brightness(var(--art-brightness)) saturate(var(--art-saturation)) contrast(var(--art-contrast)) blur(var(--art-softness));position:relative;transform:scale(1.001)}.art-mat:before{content:"";z-index:1;pointer-events:none;background:var(--art-light);mix-blend-mode:soft-light;opacity:var(--art-light-opacity);position:absolute;inset:0}.art-mat:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(116deg, var(--glass-light) 0%, #ffffff03 19%, transparent 34%, transparent 72%, var(--glass-falloff) 100%);mix-blend-mode:screen;position:absolute;inset:0}.room-shade{z-index:4;pointer-events:none;background:linear-gradient(#0000008f,#0000 22%),linear-gradient(#0000 64%,#00000085),radial-gradient(circle,#0000 45%,#0000001f);position:absolute;inset:0}.topbar{z-index:10;justify-content:space-between;align-items:flex-start;padding:clamp(1rem,2.3vw,2rem);display:flex;position:absolute;inset:0 0 auto}.identity{flex-direction:column;gap:.25rem;display:flex}.identity>span:first-child{letter-spacing:.02em;font-size:1rem;font-weight:550}.identity .mono{color:var(--soft)}.top-actions{gap:clamp(1rem,3vw,2.5rem);display:flex}.top-actions button,.top-actions a{border-bottom:1px solid #0000;padding-block-end:.2rem}.top-actions button:hover,.top-actions a:hover{border-color:currentColor}.introduction{z-index:12;width:min(31rem,100vw - 2rem);color:var(--ink);background:#fbfbfaf5;padding:clamp(1.5rem,4vw,3.5rem);transition:opacity .7s,transform .9s cubic-bezier(.22,.76,.22,1),visibility .7s;position:absolute;top:50%;left:clamp(1rem,6vw,6rem);transform:translateY(-48%)}.introduction>.mono:first-child{color:#6d6d6b}.introduction h1{letter-spacing:-.06em;margin-block:1.5rem 1.25rem;font-size:clamp(3.25rem,6.2vw,6.6rem);font-weight:450;line-height:.85}.intro-copy{color:#3b3b39;max-width:25rem;font-size:1.05rem;line-height:1.55}.intro-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.5rem;margin-block-start:2rem;display:flex}.enter{background:var(--ink);min-width:12.5rem;color:var(--paper);justify-content:space-between;padding:.9rem 1rem;display:inline-flex}.intro-tour{color:#3b3b39;border-bottom:1px solid #8c8c8a;padding-block-end:.2rem}.disclosure{color:#8c8c8a;margin-block-start:2.6rem}body:not(.is-intro) .introduction{opacity:0;visibility:hidden;transform:translate(-2rem,-48%)}.room-caption{z-index:8;text-shadow:0 1px 1rem #0009;max-width:28rem;transition:opacity .6s,transform .8s;position:absolute;bottom:clamp(12.5rem,24vh,16rem);left:clamp(1rem,2.3vw,2rem)}.room-caption h2{margin-block:.35rem;font-size:clamp(1.6rem,3vw,2.8rem);font-weight:450}.room-caption>p:last-child{color:#fbfbfac7;line-height:1.45}.is-intro .room-caption{opacity:0;transform:translateY(1rem)}.control-dock{z-index:10;border-top:1px solid var(--hair);background:#0c0c0bf0;grid-template-columns:1.05fr 1.35fr .72fr 1fr auto;min-height:9.2rem;transition:transform .9s cubic-bezier(.22,.76,.22,1),opacity .6s;display:grid;position:absolute;inset:auto 0 0}.is-intro .control-dock{opacity:0;pointer-events:none;transform:translateY(100%)}.control-dock>div{min-width:0;padding:1.1rem clamp(.85rem,2vw,1.8rem)}.control-dock>div+div{border-left:1px solid var(--hair)}.houses{grid-template-columns:repeat(3,1fr);display:grid;padding:0!important}.house{min-width:0;color:var(--soft);border-right:1px solid var(--hair);flex-direction:column;justify-content:space-between;align-items:flex-start;padding:1.1rem clamp(.65rem,1.3vw,1.25rem);transition:color .18s,background .18s;display:flex}.house:last-child{border-right:0}.house:hover,.house.is-active{color:var(--paper);background:#ffffff0f}.house>span:last-child{text-overflow:ellipsis;overflow:hidden}.work-card{grid-template-columns:auto 1fr;align-items:center;gap:1.1rem;display:grid}.work-index{color:var(--soft);text-align:left;flex-direction:column;gap:.25rem;display:flex}.work-index:hover{color:var(--paper)}.work-copy{min-width:0}.work-copy h2{white-space:nowrap;text-overflow:ellipsis;font-size:clamp(1.15rem,1.7vw,1.75rem);font-weight:450;overflow:hidden}.work-copy p{color:var(--soft);white-space:nowrap;text-overflow:ellipsis;margin-block-start:.35rem;overflow:hidden}.scale-card{flex-direction:column;justify-content:center;display:flex}.scale-card label,.dimensions{color:var(--soft)}.scale-card select{width:max-content;color:var(--paper);appearance:auto;background:0 0;border:0;margin-block:.25rem;padding:0 1.5rem 0 0;font-size:1.3rem}.acquisition{flex-direction:column;justify-content:center;gap:.65rem;display:flex}.acquisition p{color:var(--soft)}.acquisition a{justify-content:space-between;gap:2rem;font-size:1.05rem;display:flex}.acquisition a:hover span{transform:translate(.25rem)}.acquisition a span{transition:transform .18s}.steps{grid-template-columns:auto;display:grid;padding:0!important}.steps button{border-bottom:1px solid var(--hair);min-width:4.5rem;padding:.75rem 1rem}.steps button:last-child{border-bottom:0}.steps button:hover{background:var(--paper);color:var(--ink)}.context{z-index:8;color:#fbfbfa94;transition:opacity .5s;position:absolute;bottom:10.2rem;right:clamp(1rem,2.3vw,2rem)}.is-intro .context{opacity:0}.is-close .room-world{--scene-scale:1.62}.is-close .room-caption{opacity:0;transform:translateY(1rem)}.work-dialog{width:min(58rem,100vw - 2rem);max-width:none;height:min(48rem,100dvh - 2rem);max-height:none;color:var(--ink);background:var(--paper);border:0;margin:auto;padding:0}.work-dialog::backdrop{background:#000000b8}.dialog-head{z-index:2;background:var(--paper);border-bottom:1px solid #dededb;justify-content:space-between;align-items:flex-start;padding:1.5rem;display:flex;position:sticky;top:0}.dialog-head p{color:#6d6d6b}.dialog-head h2{margin-block-start:.35rem;font-size:2rem;font-weight:450}.dialog-head button{color:var(--ink);border-bottom:1px solid var(--ink)}.work-dialog ol{padding:0 1.5rem 1.5rem;list-style:none}.work-dialog li{border-bottom:1px solid #dededb}.work-dialog li button{width:100%;color:var(--ink);text-align:left;grid-template-columns:3rem minmax(10rem,1fr) minmax(12rem,auto);align-items:baseline;gap:1rem;padding:.9rem 0;display:grid}.work-dialog li button:hover,.work-dialog li button[aria-current]{color:#005f6b}.work-series{color:#6d6d6b;text-align:right}.no-script{z-index:50;background:var(--paper);color:var(--ink);padding:1rem;position:fixed;inset:auto 1rem 1rem}.no-script a{border-bottom:1px solid;margin-block-start:.5rem;display:inline-block}@media (aspect-ratio<=3/2){.room-world{width:auto;height:100%}}@media (width<=64rem){.control-dock{grid-template-columns:1.05fr 1.4fr .8fr 1fr}.steps{border-top:1px solid var(--hair);border-left:1px solid var(--hair);background:#0c0c0bf0;grid-template-columns:repeat(3,auto);position:absolute;bottom:100%;right:0}.steps button{border-bottom:0;border-right:1px solid var(--hair)}.steps button:last-child{border-right:0}}@media (width<=46rem){.topbar{padding:1rem}.identity .mono{display:none}.top-actions{gap:1rem}.top-actions button{display:none}.art-mat img{filter:none;transform:none}.introduction{padding:1.35rem;top:auto;bottom:1rem;left:1rem;transform:none}.introduction h1{margin-block:1rem;font-size:clamp(3.3rem,17vw,5rem)}.intro-copy{font-size:.95rem}.disclosure{margin-block-start:1.6rem}body:not(.is-intro) .introduction{transform:translateY(2rem)}.room-caption{display:none}.control-dock{min-height:0;backdrop-filter:blur(14px);background:#0c0c0be8;grid-template-columns:minmax(0,1fr) auto auto;padding-block-end:env(safe-area-inset-bottom)}.control-dock>div{min-height:3.65rem;padding:.62rem .75rem}.control-dock>div+div{border-left:0}.houses{border-bottom:1px solid var(--hair);grid-column:1/-1;min-height:2.75rem!important}.house{flex-direction:row;justify-content:center;align-items:center;gap:.45rem;min-height:2.75rem;padding:.55rem .7rem;font-size:.78rem}.house>.mono{display:none}.work-card{border-right:1px solid var(--hair);min-width:0}.scale-card{border-right:1px solid var(--hair);align-items:center;min-width:4.4rem!important}.scale-card label,.dimensions{display:none}.scale-card select{max-width:4.3rem;margin:0;padding-inline-end:.5rem;font-size:.92rem}.acquisition{justify-content:center;align-items:stretch;gap:0;min-width:4.8rem!important}.acquisition p{display:none}.acquisition a{justify-content:center;align-items:center;gap:.35rem;font-size:0}.acquisition a:before{content:"View";font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;font-size:.62rem}.acquisition a span{font-size:1rem}.steps{bottom:100%}.steps button{min-width:2.9rem;min-height:2.75rem;padding:.58rem .68rem;font-size:.7rem}.context{display:none}.work-copy h2{font-size:.96rem}.work-copy p{max-width:9.5rem;margin-block-start:.2rem;font-size:.58rem}.work-index{display:none}.work-card{grid-template-columns:1fr}.work-dialog{width:calc(100vw - 1rem);height:calc(100dvh - 1rem)}.dialog-head{padding:1rem}.work-dialog ol{padding:0 1rem 1rem}.work-dialog li button{grid-template-columns:2.25rem 1fr;gap:.5rem}.work-series{text-align:left;grid-column:2}}@media (width<=25rem){.intro-tour,.work-copy p{display:none}.house{padding-inline:.45rem;font-size:.72rem}.control-dock>div{padding-inline:.58rem}}@media (width<=46rem) and (orientation:portrait){.room-world{width:132vw;height:auto;top:42%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
