/* V16: clarity, direct access and a genuinely vertical mobile visit. */
.home-nav{align-items:center;letter-spacing:.08em}.home-nav nav{display:flex;gap:28px;font-size:11px}.home-nav nav a{min-height:44px;display:flex;align-items:center;font-weight:400}.home-nav a:focus-visible,.explore-cta:focus-visible{outline:2px solid #e9c193;outline-offset:5px}
#intro{max-width:35vw;top:29%}#intro p{max-width:350px;color:#ead9c7;font-size:14px}#intro h1{font-size:clamp(42px,4.8vw,76px)}.explore-cta{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;min-height:48px;padding:10px 20px;background:#f1e6d6;color:#352519;font-size:12px;margin-top:16px;pointer-events:auto}.explore-cta:hover{background:#fff3e4}#pointerHint{display:block;font-size:10px;color:#c5ab94;margin-top:20px}#controls{display:none}
.object-directory{max-width:1800px;margin:64px auto 0;width:calc(100% - 64px)}.directory-heading{display:flex;justify-content:space-between;gap:24px;align-items:end}.directory-heading h2{font:40px/1.1 Georgia,serif;letter-spacing:-.03em;margin:0}.directory-heading>p{font-size:12px;color:#b8a58c;line-height:1.6}
.object-directory .room-index{width:100%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:24px;padding:0 0 28px}.room-index a{display:flex;flex-direction:column;align-items:start;gap:6px;padding:12px;min-width:0;border:1px solid #79553755;transition:background .3s}.room-index a:hover,.room-index a.is-active{background:#483123}.room-index a span{font-size:13px;color:#f2ddc1}.room-index small{font-size:9px;line-height:1.5;color:#bca186}.directory-object{width:100%;height:130px;display:block;margin-bottom:14px;overflow:hidden}.room-index a:focus-visible{outline:2px solid #e6c599}.room-bottom{align-items:center;line-height:1.7}.room-bottom a{min-height:44px;display:flex;align-items:center}
#mobile-studio{display:none}
.scene-object.is-active .lens-flash{animation:lens-visible 1s ease-out both}.scene-object.is-active .fizzi-bubble{animation:bubble-visible 1.25s ease-out var(--delay) both}.scene-object[data-id="focus"].is-active .object-pixels{animation:focus-visible 1.6s ease-in-out both;filter:brightness(1.12)}.scene-object[data-id="gloomy"].is-active .object-pixels{transform:translateY(-4px) rotate(-1.5deg)}
@keyframes lens-visible{0%,15%,100%{opacity:0}25%{opacity:1}40%{opacity:.55}70%{opacity:0}}
@keyframes bubble-visible{0%{opacity:0;transform:translate(0,0)}15%,50%{opacity:1}100%{opacity:0;transform:translate(var(--drift),-70px)}}
@keyframes focus-visible{0%,100%{transform:rotate(0)}22%{transform:translateY(-4px) rotate(5deg)}55%{transform:translateY(-2px) rotate(-3deg)}80%{transform:rotate(1.5deg)}}
@media(max-width:1100px){.object-directory .room-index{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){
 .home-nav{top:12px;left:20px;right:20px;font-size:10px;letter-spacing:.03em}.home-nav nav{gap:15px;font-size:10px}.home-nav nav a:first-child{display:none}#intro{top:12%;left:24px;right:24px;max-width:none}#intro h1{font-size:39px;margin:12px 0}#intro p{font-size:12px;line-height:1.5;max-width:285px}#intro .eyebrow{font-size:8px}.explore-cta{margin-top:10px;padding:8px 15px;font-size:11px;min-height:44px}#pointerHint{font-size:9px;margin-top:12px}
 #room-window{display:none}#zoom-room{display:none}.room-tools>div{width:auto}#room-hint{font-size:11px;min-height:0}.room-tools{margin-bottom:24px}.room-tools button{min-height:44px}
 #mobile-studio{display:block;padding:0 18px}.mobile-room-panel{margin:0 0 38px;border-bottom:1px solid #68482e}.mobile-room-panel h3{font:10px Arial,sans-serif;letter-spacing:.13em;color:#bd9b76;margin:0 0 14px;text-transform:uppercase}.mobile-room-view{display:block;width:100%;height:auto;max-height:450px;background:#291c12;overflow:hidden;touch-action:pan-y pinch-zoom}.mobile-room-view .object-label{display:none}.mobile-room-links{display:flex;gap:12px}.mobile-room-links a{display:flex;justify-content:space-between;flex:1;min-width:0;gap:12px;align-items:center;min-height:60px;font-size:14px}.mobile-room-links a:focus-visible{outline:2px solid #e9c193}.mobile-room-links a span:last-child{color:#c29d78}
 .object-directory{width:calc(100% - 36px);margin-top:55px}.directory-heading{display:block}.directory-heading h2{font-size:32px}.directory-heading>p{font-size:11px;margin-top:18px}.object-directory .room-index{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.room-index a{padding:12px}.directory-object{height:120px}.room-index a span{font-size:12px}.room-index a:last-child{grid-column:1/-1;display:grid;grid-template-columns:100px 1fr;align-items:center;column-gap:20px}.room-index a:last-child svg{grid-row:1/4;height:100px}.room-bottom{display:block}.room-bottom>a:first-child{max-width:250px;margin-bottom:10px}
}
@media(prefers-reduced-motion:reduce){.scene-object .object-pixels{animation:none!important;transform:none!important}.scene-object .object-effect{display:none}}
.is-static #intro{display:block}
/* Portrait correction: one recomposed room, never a strip of landscape crops. */
.mobile-welcome{display:none}.portrait-room{display:block;width:100%;height:auto;overflow:hidden}.portrait-link{cursor:pointer;outline:none}.portrait-link:focus-visible .portrait-hit{stroke:#ffe0ac;stroke-width:4;stroke-dasharray:8 8}.portrait-marker{pointer-events:none}.portrait-caption{font-size:11px;line-height:1.7;color:#c9b196;margin:18px 0 0}.portrait-room .object-pixels{pointer-events:none}#intro h1{font-size:clamp(36px,4.2vw,62px)}
@media(max-width:700px){.mobile-welcome{display:block;padding:0 24px 34px;background:#20150f}.welcome-nav{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:74px;font-size:10px;letter-spacing:.04em}.welcome-nav a{display:flex;align-items:center;min-height:44px}.mobile-welcome>.eyebrow{margin:22px 0 15px;font-size:8px;letter-spacing:.1em}.mobile-welcome h1{font-size:37px;line-height:1.07;margin:0 0 22px;letter-spacing:-.035em}.mobile-welcome h1 em{color:#c7a283;font-weight:400}.mobile-welcome>p:not(.eyebrow){font-size:13px;line-height:1.65;color:#dac8b6;max-width:390px}.mobile-welcome .welcome-studio{margin-top:18px}.welcome-scroll{display:block;font-size:9px;line-height:1.6;margin-top:20px;color:#b99879}.mobile-welcome .explore-cta{min-height:48px;margin-top:8px;padding:12px 18px}#stage #intro,.is-static #stage #intro{display:none}#stage .home-nav{display:none}#mobile-studio{padding:0 12px}.portrait-caption{padding:0 8px}.object-directory{margin-top:42px}}
/* Mobile first contact: real interactive Focus, then the introduction. */
#mobile-focus-hint,.focus-scroll{display:none}
@media(max-width:700px){
 #journey{height:100svh}#stage{position:relative}
 .mobile-welcome{min-height:85svh;padding:65px 24px!important;display:flex;flex-direction:column;justify-content:center}.mobile-welcome>.eyebrow{order:2;margin:0 0 25px}.mobile-welcome h1{order:1}.mobile-welcome>p:not(.eyebrow){order:3}.mobile-welcome>.explore-cta{order:4;align-self:start}.welcome-scroll{display:none}
 #mobile-focus-hint{display:block;position:absolute;z-index:5;left:0;right:0;bottom:19%;text-align:center;pointer-events:none;font-size:10px;letter-spacing:.08em;color:#ead9c7;transition:opacity .6s}#mobile-focus-hint.used{opacity:0}
 .focus-scroll{display:block;position:absolute;z-index:6;bottom:26px;left:calc(50% - 22px);width:44px;height:44px;text-align:center;font-size:24px}.footer{display:none}
 .portrait-room .scene-object[data-id="gloomy"].is-active .object-pixels{animation:portrait-card 1.6s ease both;filter:brightness(1.25)}
 .portrait-room .scene-object[data-id="tv"].is-active .tv-light{filter:brightness(1.5);animation:tv-wake .4s ease-out both}
 .room-tools{position:relative;display:flex;flex-wrap:wrap;gap:14px;padding-bottom:12px}.room-tools>span{flex-basis:100%}
}
@keyframes portrait-card{0%,100%{transform:translateY(0) rotate(0)}30%,65%{transform:translateY(-16px) rotate(-4deg)}}
@media(prefers-reduced-motion:reduce){#mobile-focus-hint{transition:none}}
@media(max-width:700px){#mobile-focus-hint{bottom:11%}}
/* Short pinned mobile reveal, with native document scrolling. */
@media(max-width:700px){#journey{height:240svh}#stage{position:sticky;top:0}.is-static #journey{height:100svh}}
/* The introduction stays inside the moving scene; no empty mobile interlude. */
#studio-transition{z-index:2;pointer-events:none}
@media(max-width:700px){
 #journey{height:300svh}
 #stage .mobile-welcome{position:absolute;z-index:5;inset:auto 0 8%;min-height:0;padding:36px 24px!important;background:linear-gradient(180deg,transparent,#1b100bd9 22%,#1b100bea 80%,transparent);opacity:0;pointer-events:none}
 #stage .mobile-welcome .explore-cta{pointer-events:auto}
 #stage .mobile-welcome h1{font-size:34px;max-width:340px;margin:0 0 16px;text-shadow:0 2px 20px #140b08}
 #stage .mobile-welcome>.eyebrow{margin:0 0 14px}
 #stage .mobile-welcome>p:not(.eyebrow){font-size:13px;line-height:1.55;margin:6px 0;color:#f1e2d2}
 #stage .mobile-welcome .welcome-studio{margin-top:12px}
 #stage .mobile-welcome>.explore-cta{margin-top:18px}
 .is-static #stage{height:auto;min-height:100svh}
 .is-static #stage .mobile-welcome{position:relative;inset:auto;padding-top:150px!important;opacity:1;transform:none!important;pointer-events:auto}
 .is-static #journey{height:auto}
}
@media(prefers-reduced-motion:reduce){#studio-transition{display:none}}
/* One pinned room: existing scene nodes share the transition's exact viewport. */
#journey{height:694svh}
#stage>#studio-transition{object-fit:cover;background:#170b08}
#stage #atelier{position:absolute;inset:0;padding:0;background:transparent;z-index:7;pointer-events:none;--studio-opacity:0;--title-opacity:0;--tools-opacity:0}
#stage #room-window{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;background:#170b08;opacity:var(--studio-opacity);pointer-events:none;touch-action:pan-y pinch-zoom}
#stage #room-canvas{width:max(100%,177.77778svh);aspect-ratio:16/9;flex:none}
#stage #room-window.is-zoomed #room-canvas{width:max(100%,177.77778svh);transform:scale(1.45)}
#stage #atelier[data-interactive="true"] #room-window{pointer-events:auto}
#stage .atelier-heading{position:absolute;z-index:3;left:0;right:0;top:50%;transform:translateY(-50%);margin:0 auto;padding:40px;display:block;opacity:var(--title-opacity);text-shadow:0 2px 18px #100804;background:linear-gradient(90deg,#170d08e8,#170d08a8 65%,transparent);pointer-events:none}
#stage .atelier-heading .room-intro{margin-top:18px;color:#ecddc8}
#stage .room-tools{position:absolute;z-index:4;bottom:22px;left:0;right:0;margin:0 auto;padding:12px 16px;background:#211810df;opacity:var(--tools-opacity);pointer-events:none}
#stage #atelier[data-interactive="true"] .room-tools{pointer-events:auto}
#stage .room-tools button{background:#211810}
#stage #mobile-studio{opacity:var(--studio-opacity);pointer-events:none}
#stage #atelier[data-interactive="true"] #mobile-studio{pointer-events:auto}
#stage .portrait-caption{display:none}
#stage.studio-active>.shade,#stage.studio-active>.footer,#stage.studio-active>.progress-track{opacity:0;pointer-events:none}
.studio-directory{position:relative;z-index:8;background:#211810;padding:1px 0 32px;color:#ecddc8}
@media(max-width:700px){
 #journey{height:413svh}
 #stage #room-window{display:none}
 #stage #mobile-studio{position:absolute;inset:0;padding:0;display:grid;place-items:center;overflow:hidden;background:#170b08;touch-action:pan-y pinch-zoom}
 #stage .portrait-room{width:max(100%,56.280svh);height:auto;max-height:none;flex:none}
 #stage .atelier-heading{width:100%;padding:28px 24px}
 #stage .room-tools{bottom:10px;padding:8px 12px;gap:6px;flex-direction:row;align-items:center;flex-wrap:wrap}
 #stage .room-tools>span{flex-basis:100%;font-size:10px}
 #stage .room-tools button{min-height:44px}
}
.is-static #journey{height:100svh}
.is-static #stage{height:100svh}
.is-static #stage .mobile-welcome{display:none}
/* Entry only: original wordmark, no simulated progress. */
#entry-loader{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;background:#170e0a;pointer-events:auto}
.entry-mark{position:relative;width:clamp(170px,25vw,310px);overflow:hidden}
.entry-mark img{display:block;width:100%;height:auto}
.entry-mark span{position:absolute;left:-25%;top:0;width:22%;height:100%;background:linear-gradient(90deg,transparent,#f39352ee,#ad78e9ee,transparent);mix-blend-mode:screen;transform:skewX(-15deg);animation:entry-sweep 1.05s ease-in-out infinite}
@keyframes entry-sweep{to{left:115%}}
html.entry-loading{overflow:hidden}
html.entry-loading #stage{visibility:hidden}
@media(prefers-reduced-motion:reduce){.entry-mark span{animation:none;display:none}}

.entry-mark img{animation:entry-logo 1.05s cubic-bezier(.2,.7,.3,1) both}@keyframes entry-logo{from{opacity:.45;transform:translateY(5px) scale(.96)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.entry-mark img{animation:none}}
#stage #room-window,#stage #mobile-studio{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
/* Compact editorial caption for the second studio passage only. */
#stage .atelier-heading{left:5%;right:auto;top:auto;bottom:22%;transform:none;width:min(440px,42vw);margin:0;padding:22px 26px;border-left:1px solid #d9aa7755;background:linear-gradient(90deg,#170d087d, #170d0833 75%,transparent);text-shadow:0 2px 12px #100804}
#stage .atelier-heading #atelier-title{font-size:clamp(28px,2.65vw,40px);line-height:1.08}
#stage .atelier-heading .room-intro{margin:12px 0 0;font-size:12px;line-height:1.5}
#stage .atelier-heading .room-kicker{margin-bottom:12px}
@media(max-width:700px){
 #stage .atelier-heading{left:22px;right:22px;bottom:24%;width:auto;max-width:300px;padding:16px 18px;background:linear-gradient(90deg,#170d0894,#170d0844 80%,transparent)}
 #stage .atelier-heading #atelier-title{font-size:29px;max-width:245px;line-height:1.07}
 #stage .atelier-heading .room-intro{font-size:11px;margin-top:10px;max-width:240px}
}
#stage #atelier[data-interactive="false"] .room-tools{left:5%;right:auto;width:auto;max-width:440px;background:transparent;padding:0;gap:10px;text-shadow:0 2px 10px #100804}
#stage #atelier[data-interactive="false"] .room-tools button{background:#21181066;border-color:#ecddc844}
@media(max-width:700px){#stage #atelier[data-interactive="false"] .room-tools{left:22px;right:22px;width:auto;bottom:24px;max-width:300px}}
