.walkthrough{background:#080808;isolation:isolate}
.brand{color:#fff;text-decoration:none;display:flex;align-items:center;gap:0}.brand__logo{display:block;width:42px;height:42px;object-fit:contain}
.entrance__logo-link{display:inline-block;margin:0 0 18px}.entrance__logo{display:block;width:96px;height:96px;object-fit:contain}
.introduction{position:fixed;inset:0;z-index:95;display:grid;place-items:center;padding:34px;background:radial-gradient(circle at 50% 42%,#292929 0,#111 40%,#050505 78%);opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}.introduction.is-active{opacity:1;visibility:visible}.introduction::before{content:"";position:absolute;inset:4vh 7vw;border:1px solid #333;pointer-events:none}.introduction__panel{position:relative;width:min(820px,86vw);text-align:center}.introduction__logo{width:72px;height:72px;object-fit:contain;margin:0 auto 14px}.introduction h2{font-size:clamp(46px,7vw,88px);line-height:.84;letter-spacing:-.055em;margin:0 0 26px;font-weight:900}.introduction h2 span{color:#ffd900}.introduction__copy{max-width:760px;margin:0 auto 28px;display:grid;gap:12px}.introduction__copy p{margin:0;color:#d5d5d5;font-family:Georgia,serif;font-size:clamp(14px,1.25vw,18px);line-height:1.52}.introduction__copy strong{color:#fff}.introduction__signature{margin:18px 0 0;color:#777;font-size:9px;font-weight:800;letter-spacing:.18em}
.gallery-track{position:absolute;inset:0 auto 0 0;height:100%;display:flex;will-change:transform}
.summary-slide{font-family:Arial,Helvetica,sans-serif}.summary-slide__copy p{font-family:Arial,Helvetica,sans-serif;font-size:clamp(13px,1.05vw,16px);font-weight:400;line-height:1.55;letter-spacing:.005em}.summary-slide__copy strong{font-weight:800}.summary-slide__thanks{font-family:Arial,Helvetica,sans-serif;font-size:17px;font-style:normal;font-weight:700}
.introduction{overflow:auto}
.introduction.introduction--gallery{display:grid;grid-template-rows:70px minmax(0,1fr) 48px;place-items:stretch;padding:0;background:#080808;overflow:hidden}.introduction--gallery::before{display:none}.introduction__topbar{width:100%}.introduction__menu-space{width:40px}.introduction__museum{position:relative;display:grid;place-items:center;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 50%,#242424,#050505 76%)}.introduction__scene{width:min(100vw,calc((100vh - 118px)*1.5))}.introduction__artwork{position:absolute;z-index:3;left:65%;top:34%;width:27%;aspect-ratio:1;transform:translate(-50%,-50%);display:flex;flex-direction:column;justify-content:center;padding:clamp(16px,2vw,34px);border:clamp(5px,.55vw,9px) solid #171717;background:#080808;color:#fff;box-shadow:0 10px 22px rgba(0,0,0,.42),0 0 0 1px #666;text-align:left}.introduction__kicker{margin:0 0 4px;color:#ffd900;font-size:clamp(7px,.62vw,10px);font-weight:900;letter-spacing:.2em}.introduction__artwork h2{margin:0 0 clamp(10px,1vw,16px);font-size:clamp(20px,2.35vw,36px);line-height:.9;letter-spacing:-.045em}.introduction__artwork>p:not(.introduction__kicker):not(.introduction__signature){margin:0 0 9px;font-family:Georgia,serif;font-size:clamp(8px,.72vw,11px);line-height:1.42;color:#dedede}.introduction__artwork strong{color:#fff}.introduction__artwork .introduction__signature{margin:4px 0 0;color:#ffd900;font-size:clamp(6px,.52vw,8px);font-weight:900;line-height:1.45;letter-spacing:.13em}.introduction__toolbar{display:flex;align-items:center;justify-content:center;background:#0a0a0a;border-top:1px solid #222}.introduction__start{border:0;background:none;color:#fff;font-size:9px;font-weight:800;letter-spacing:.16em;cursor:pointer}.introduction__start span{margin-left:12px;color:#ffd900;font-size:16px}.introduction__start:hover,.introduction__start:focus-visible{color:#ffd900;outline:0}
.introduction.introduction--summary{display:grid;place-items:center;padding:32px;background:#050505;overflow:auto}.introduction--summary::before{display:none}.summary-slide{width:min(1040px,90vw);margin:auto;padding:clamp(22px,3vw,42px);border:1px solid #303030;background:#050505;color:#fff;display:grid;grid-template-columns:minmax(220px,.72fr) minmax(420px,1.28fr);align-items:center;gap:clamp(28px,4vw,58px);text-align:left}.summary-slide__portrait-wrap{display:grid;place-items:center;min-width:0}.summary-slide__portrait{display:block;width:100%;max-height:70vh;object-fit:contain;border:1px solid #343434}.summary-slide__content{min-width:0}.summary-slide__kicker{margin:0 0 5px;color:#ffd900;font-size:10px;font-weight:900;letter-spacing:.25em}.summary-slide h2{margin:0 0 24px;font-size:clamp(44px,6vw,78px);line-height:.85;letter-spacing:-.055em}.summary-slide__copy{max-width:700px;margin:0 0 20px;display:grid;gap:12px}.summary-slide__copy p{margin:0;font-family:Georgia,serif;font-size:clamp(14px,1.15vw,17px);line-height:1.5;color:#d8d8d8}.summary-slide__copy strong{color:#fff}.summary-slide__statement{margin:20px 0 14px;color:#ffd900;font-size:10px;font-weight:900;letter-spacing:.18em}.summary-slide__contact{display:flex;justify-content:flex-start;gap:22px;flex-wrap:wrap}.summary-slide__contact a{color:#fff;font-size:9px;font-weight:800;letter-spacing:.14em}.summary-slide__hashtags{margin:16px 0 0;max-width:720px;color:#777;font-size:8px;font-weight:700;line-height:1.7;letter-spacing:.08em}.summary-slide__thanks{margin:18px 0 16px;font-family:Georgia,serif;font-size:20px;font-style:italic;color:#fff}
.gallery-bay{position:relative;width:100vw;height:100%;flex:none;display:grid;place-items:center;background:#080808;overflow:hidden}
.gallery-bay::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 50% 50%,#242424,#050505 76%)}
.scene-canvas{position:relative;z-index:1;width:min(100vw,calc((100vh - 118px)*1.5));aspect-ratio:3/2;overflow:hidden;background:#111;box-shadow:0 0 60px #000}
.scene-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.scene-background.is-flipped{transform:scaleX(-1)}
.hung-work{position:absolute;z-index:3;left:var(--art-x);top:var(--art-y);transform:translate(-50%,-50%);display:grid;place-items:center;border:clamp(5px,.55vw,9px) solid #171717;padding:clamp(4px,.42vw,7px);background:#f8f6ef;box-shadow:0 10px 22px rgba(0,0,0,.38),0 0 0 1px #666;cursor:zoom-in;transition:transform .4s,box-shadow .3s;transform-origin:center}
.hung-work:hover,.hung-work:focus-visible{transform:translate(-50%,-50%) scale(1.035);box-shadow:0 16px 32px rgba(0,0,0,.5),0 0 0 3px #ffd900;outline:0}
.hung-work.is-square{width:27%;aspect-ratio:1}
.hung-work.is-landscape{width:36%;aspect-ratio:3/2}
.hung-work.is-portrait{width:18%;aspect-ratio:2/3}
.hung-work img{display:block;width:100%;height:100%;object-fit:contain;background:#f8f6ef}
.hung-work.angle-right{transform:translate(-50%,-50%) perspective(900px) rotateY(7deg);transform-origin:left center}.hung-work.angle-right:hover,.hung-work.angle-right:focus-visible{transform:translate(-50%,-50%) perspective(900px) rotateY(7deg) scale(1.035)}
.hung-work.angle-left{transform:translate(-50%,-50%) perspective(900px) rotateY(-7deg);transform-origin:right center}.hung-work.angle-left:hover,.hung-work.angle-left:focus-visible{transform:translate(-50%,-50%) perspective(900px) rotateY(-7deg) scale(1.035)}
.summary-slide,.summary-slide__copy p,.summary-slide__thanks{font-family:Arial,Helvetica,sans-serif}.summary-slide__copy p{font-size:clamp(13px,1.05vw,16px);font-weight:400;line-height:1.55;letter-spacing:.005em}.summary-slide__copy strong{font-weight:800}.summary-slide__thanks{font-size:17px;font-style:normal;font-weight:700}
.scene-caption{position:absolute;z-index:11;right:max(22px,calc((100vw - min(100vw,calc((100vh - 118px)*1.5)))/2 + 22px));bottom:20px;display:flex;align-items:center;gap:24px;min-width:245px;padding:11px 13px;border:1px solid rgba(255,255,255,.24);background:rgba(8,8,8,.82);backdrop-filter:blur(8px);color:#fff;text-align:left;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.24);transition:background .25s,border-color .25s}
.scene-caption:hover,.scene-caption:focus-visible{background:#111;border-color:#ffd900;outline:0}.scene-caption span{display:flex;flex-direction:column;gap:3px}.scene-caption strong{font-size:10px;letter-spacing:.12em}.scene-caption b{font-size:7px;letter-spacing:.14em;color:#aaa}.scene-caption em{margin-left:auto;color:#ffd900;font-size:7px;font-style:normal;font-weight:800;letter-spacing:.14em;white-space:nowrap}
.walkthrough__vignette{position:absolute;z-index:8;inset:0;pointer-events:none;box-shadow:inset 0 0 70px rgba(0,0,0,.38)}
.walkthrough .walk-control{z-index:12;background:rgba(10,10,10,.68);border-color:rgba(255,255,255,.35);color:#fff}.walkthrough .walk-control:hover{background:#ffd900;color:#000}
.walkthrough .progress{z-index:12;color:#fff;text-shadow:0 1px 3px #000}.walkthrough .progress__track{background:rgba(255,255,255,.35)}.walkthrough .progress__track span{background:#ffd900}
.walkthrough .movement-hint{z-index:12;color:#fff;text-shadow:0 1px 4px #000}
.room-title{display:flex;align-items:center;gap:10px}.room-title span{color:#fff;font-weight:600;letter-spacing:.1em}
.directory__grid{display:block}.directory-room{margin:0 0 34px}.directory-room h3{margin:0 0 14px;color:#ffd900;font-size:10px;letter-spacing:.16em}.directory-room h3 span{margin-left:10px;color:#fff;font-weight:600}.directory-room-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:800px){.scene-canvas{width:100vw}.brand__logo{width:38px;height:38px}.entrance__logo{width:76px;height:76px}.introduction{padding:24px}.introduction::before{inset:2vh 4vw}.introduction__panel{width:88vw}.introduction__logo{width:58px;height:58px}.introduction h2{margin-bottom:18px}.introduction__copy{gap:9px;margin-bottom:20px}.introduction__copy p{font-size:13px;line-height:1.4}.hung-work.is-square{width:30%}.hung-work.is-landscape{width:40.5%}.hung-work.is-portrait{width:20%}.scene-caption{right:12px;bottom:74px;min-width:0;padding:9px 10px}.scene-caption em{display:none}.walkthrough .walk-control{top:auto;bottom:18px}.walkthrough__vignette{box-shadow:inset 0 0 35px rgba(0,0,0,.3)}.room-title span{display:none}.directory-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(orientation:portrait) and (max-width:800px){.scene-canvas{width:100vw;height:auto;aspect-ratio:3/2}.gallery-bay{align-content:center}.hung-work{border-width:4px;padding:3px}.movement-hint{display:none}}
@media(max-width:800px){.introduction.introduction--gallery{grid-template-rows:70px minmax(0,1fr) 48px;padding:0}.introduction__scene{width:100vw}.introduction__artwork{left:65%;top:34%;width:30%;padding:10px}.introduction__artwork h2{font-size:clamp(14px,4vw,22px);margin-bottom:7px}.introduction__artwork>p:not(.introduction__kicker):not(.introduction__signature){font-size:clamp(6px,1.65vw,9px);line-height:1.3;margin-bottom:5px}}
@media(max-width:800px){.introduction.introduction--summary{padding:18px}.summary-slide{width:92vw;padding:20px 18px;grid-template-columns:1fr;gap:18px;text-align:center}.summary-slide__portrait{width:min(42vw,170px);max-height:29vh}.summary-slide h2{margin-bottom:16px}.summary-slide__copy{gap:8px;margin:0 auto 14px}.summary-slide__copy p{font-size:13px;line-height:1.4}.summary-slide__statement{margin:14px 0 10px;font-size:8px}.summary-slide__contact{justify-content:center;gap:9px 16px}.summary-slide__thanks{margin:12px 0;font-size:17px}}
@media(max-height:650px){.scene-canvas{width:min(100vw,calc((100vh - 118px)*1.5))}.walkthrough .walk-control{height:48px}}
