@font-face{font-family:Panchang;src:url('fonts/panchang-light.otf');font-weight:300;font-display:swap}@font-face{font-family:Poppins;src:url('fonts/poppins-regular.ttf');font-display:swap}*{box-sizing:border-box}html,body{margin:0;background:#11100f;color:#dfd8c8;font-family:Poppins,Arial,sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;min-height:44px}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:1px solid #dfd8c8;outline-offset:5px}[hidden]{display:none!important}main{height:100dvh;position:relative;isolation:isolate;touch-action:none}#stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden}#render{width:100%;height:100%;object-fit:contain;transition:opacity .55s;animation:breathe 8s ease-out both}#render.vertical{object-fit:contain}#failure{position:absolute;background:#11100fee;padding:30px;text-align:center}#failure button{display:block;margin:auto}#chrome{position:absolute;inset:0;pointer-events:none;transition:opacity 1s}.top{position:absolute;top:max(28px,env(safe-area-inset-top));left:24px;right:24px;display:flex;justify-content:space-between;align-items:center}.top img{width:118px}.top span{font-size:10px;letter-spacing:.2em}#progress{position:absolute;top:max(14px,calc(env(safe-area-inset-top) + 8px));left:24px;right:24px;display:flex;gap:3px}#progress i{height:1px;background:#ffffff35;flex:1}#progress i.done{background:#dfd8c8}.caption{position:absolute;bottom:max(110px,calc(env(safe-area-inset-bottom) + 85px));left:26px;right:26px}.caption>span,.eyebrow{font-size:10px;letter-spacing:.25em}.caption h1{font-family:Panchang;font-size:clamp(18px,4vw,27px);font-weight:300;margin:10px 0 6px}#explore{pointer-events:auto;padding:0;font-size:9px;letter-spacing:.16em}#explore span{margin-left:14px}.bottom{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:18px;right:18px;display:flex;align-items:center;justify-content:space-between}.bottom button{pointer-events:auto;font-size:9px;letter-spacing:.13em}.bottom span{font-size:7px;letter-spacing:.14em;opacity:.6}.screen{position:absolute;inset:0;background:#11100f;display:flex;flex-direction:column;justify-content:center;padding:max(30px,env(safe-area-inset-top)) 27px max(30px,env(safe-area-inset-bottom));z-index:4}.brand{width:min(280px,75vw);height:auto;margin-bottom:58px}.screen h1,.screen h2{font-family:Panchang;font-weight:300;font-size:clamp(20px,5.5vw,32px);line-height:1.65;letter-spacing:.04em;margin:23px 0 30px}.screen p{font-size:10px;letter-spacing:.17em;margin:0 0 40px}.line{font-size:10px;letter-spacing:.12em;border-bottom:1px solid #dfd8c85c;padding:17px 0;min-height:48px;display:flex;justify-content:space-between;align-items:center}.quiet{font-size:9px;letter-spacing:.18em;margin-top:24px;align-self:flex-start;padding:10px 0}.plane{position:absolute;top:0;bottom:0;width:50%;background:#11100f;transition:transform .9s cubic-bezier(.65,0,.2,1)}.left{left:0}.right{right:0}.entry-content,.entry-note{position:relative}.entry-content{transition:opacity .35s}.entry-note{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));font-size:8px;letter-spacing:.25em;opacity:.45}#entry{background:transparent}#entry.open .left{transform:translateX(-100%)}#entry.open .right{transform:translateX(100%)}#entry.open .entry-content,#entry.open .entry-note{opacity:0}#entry .eyebrow{display:block}.choices{display:flex;flex-direction:column;gap:12px}.choices button{height:90px;position:relative;text-align:left;padding:0;overflow:hidden}.choices img{width:100%;height:100%;object-fit:cover;filter:brightness(.65)}.choices span{position:absolute;left:18px;bottom:18px;font-size:11px;letter-spacing:.18em}#interest h2{margin:15px 0 24px}dialog{border:0;padding:0;background:#11100f;color:#dfd8c8;width:100vw;max-width:none;height:100dvh;max-height:none}dialog::backdrop{background:#11100f}#zoom-stage{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;touch-action:none}#zoom-image{max-width:100%;max-height:100%;object-fit:contain;transform-origin:center;user-select:none;-webkit-user-drag:none}.zoom-controls{position:absolute;top:max(20px,env(safe-area-inset-top));left:20px;right:20px;display:flex;align-items:center;gap:12px;background:#11100fbd;padding:4px}.zoom-controls button{min-width:44px}.zoom-controls span{font-size:11px}#close{margin-left:auto;font-size:10px;letter-spacing:.15em}.zoom-hint{position:absolute;bottom:30px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:.18em;pointer-events:none}@keyframes breathe{from{transform:scale(1)}to{transform:scale(1.025)}}@media(min-width:750px){.screen{padding-left:max(60px,calc((100vw - 650px)/2));padding-right:max(60px,calc((100vw - 650px)/2))}.screen h2,.screen h1{font-size:32px}.choices{flex-direction:row}.choices button{flex:1;height:230px}.caption{left:50px}.top{left:50px;right:50px}#progress{left:50px;right:50px}}@media(orientation:landscape) and (max-height:550px){.caption{bottom:64px}.caption h1{font-size:16px;margin:3px 0}.top{top:20px}.top img{width:90px}.bottom{bottom:8px}.screen{padding:24px 10vw}.brand{width:180px;margin-bottom:12px}.screen h1,.screen h2{font-size:18px;line-height:1.5;margin:10px 0}.choices{flex-direction:row}.choices button{height:90px;flex:1}.quiet{margin-top:8px}.entry-note{right:25px;bottom:24px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}

/* Portrait framing moves the viewport over the untouched official render. */
@media(orientation:portrait){
 #render{object-fit:cover;animation:none}
 #render.horizontal{object-position:var(--pan-start,0%) center;animation:architectural-pan calc(var(--pan-duration,24s) * 1.3) linear 0s infinite alternate both}
 #render.vertical{object-fit:cover;object-position:center;animation:breathe 10s ease-out both}
 #chrome{background:linear-gradient(to bottom,rgba(17,16,15,.48),transparent 17%,transparent 63%,rgba(17,16,15,.72));text-shadow:0 1px 10px #0009}
 .caption{bottom:max(105px,calc(env(safe-area-inset-bottom) + 85px))}
}
@keyframes architectural-pan{0%{object-position:var(--pan-start,0%) center;animation-timing-function:linear}53.846154%{object-position:var(--pan-mid,70%) center;animation-timing-function:cubic-bezier(.333333,.666667,.666667,1)}100%{object-position:var(--pan-end,100%) center}}
@media(orientation:landscape){#render{object-fit:contain;animation:none}}
@media(prefers-reduced-motion:reduce){#render.horizontal{animation:none!important;object-position:50% center}}

/* Entry: supplied portrait video, with a quiet editorial reveal. */
#entry-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:opacity .35s}
.entry-scrim{position:absolute;inset:0;background:linear-gradient(90deg,#11100f70,#11100f20);z-index:1;pointer-events:none}
#entry-dark{position:absolute;inset:0;background:#11100f;opacity:0;transition:opacity .1s linear;z-index:2;pointer-events:none}
#entry-dark.dark{opacity:1}
#entry .plane{z-index:3;background:transparent;pointer-events:none}
#entry .entry-content,#entry .entry-note{z-index:4}
#entry:not(.open) .entry-content>*{opacity:0;animation:entry-reveal .8s ease-out forwards}
#entry:not(.open) .entry-content .brand{animation-delay:3s}
#entry:not(.open) .entry-content h1{animation-delay:4s;text-shadow:0 1px 5px #0008,0 2px 12px #0004}
#entry:not(.open) .entry-content #enter{animation-delay:5s;text-shadow:0 1px 5px #0008,0 2px 10px #0004}
#entry:not(.open) .entry-note{opacity:0;animation:entry-note-reveal .8s ease-out 5.5s forwards}
#entry.open .plane{background:#11100f}
#entry.open #entry-video,#entry.open .entry-scrim,#entry.open #entry-dark{opacity:0}
@keyframes entry-reveal{from{opacity:0;transform:translate(-8px,-5px)}to{opacity:1;transform:translate(0,0)}}
@keyframes entry-note-reveal{from{opacity:0;transform:translate(-6px,-3px)}to{opacity:.65;transform:translate(0,0)}}
@media(prefers-reduced-motion:reduce){#entry:not(.open) .entry-content>*,#entry:not(.open) .entry-note{opacity:1;transform:none}}

#video-play{position:absolute;right:24px;top:max(24px,env(safe-area-inset-top));z-index:5;font-size:9px;letter-spacing:.1em;background:#11100f99;padding:8px 12px;border:1px solid #dfd8c850;border-radius:4px;min-height:44px}

#entry .entry-note{text-shadow:0 1px 5px #0008}
