.home-showcase{position:relative;height:100svh;min-height:640px;background:var(--bg);color:var(--fg);overflow:hidden;pointer-events:auto}
.home-view .bar{background:transparent;backdrop-filter:none;border-color:var(--line);color:var(--fg)}
.home-view .brand-en,.home-view .bar-nav{color:var(--fg-2)}
.home-view .nav-toggle span{background:var(--fg)}
.home-view .swatches,.home-view .dots,.home-view .hint{visibility:hidden;pointer-events:none}
.home-view #stage{visibility:hidden}
.home-topline{position:absolute;top:100px;left:4.4%;right:4.4%;display:flex;justify-content:space-between;font:11px/1.6 var(--mono);letter-spacing:.08em}
.home-art{position:absolute;left:10%;top:20%;width:57%;height:65%;touch-action:pan-y;cursor:grab;outline-offset:6px}
.home-art:active{cursor:grabbing}
.home-art canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.home-fallback{width:100%;height:100%;object-fit:contain}
.home-art.has-gl .home-fallback{visibility:hidden}
.home-copy{position:absolute;left:61%;right:4%;top:37%;pointer-events:none}
.home-count{font:12px/1.5 var(--mono);margin-bottom:25px}
.home-copy h1{font-size:clamp(42px,5.8vw,96px);font-weight:600;letter-spacing:-.065em;line-height:1.08;word-break:keep-all;overflow-wrap:anywhere}
.home-copy .home-open{display:inline-block;margin-top:28px;font-size:12px;border-bottom:1px solid var(--fg-2);padding-bottom:5px;pointer-events:auto}
.home-bottom{position:absolute;bottom:30px;left:4.4%;right:4.4%;display:flex;align-items:end;justify-content:space-between;gap:20px;font:11px/1.7 var(--mono)}
.home-controls{display:flex;align-items:center;gap:18px}
.home-controls button{border:1px solid var(--line-2);border-radius:50%;width:44px;height:44px;background:transparent;color:inherit;font:20px var(--sans);cursor:pointer;transition:background .18s ease,transform .15s ease}
.home-controls button:active{transform:scale(.95)}
.home-bottom a{border-bottom:1px solid var(--line-2)}
@media(hover:hover) and (pointer:fine){.home-controls button:hover{background:var(--fg);color:var(--bg)}}
@media(max-width:820px){.home-showcase{min-height:690px}.home-topline{top:86px;font-size:9px}.home-topline span:last-child{max-width:135px;text-align:right}.home-art{left:5%;top:19%;width:90%;height:48%}.home-copy{left:7%;right:7%;top:64%;display:grid;grid-template-columns:1fr auto;gap:8px}.home-count{grid-column:1/-1;margin-bottom:0;font-size:10px}.home-copy h1{font-size:clamp(30px,7vw,52px);max-width:80%}.home-copy .home-open{align-self:end;margin:0;white-space:nowrap}.home-bottom{bottom:22px;font-size:9px}.home-bottom>span{max-width:125px}.home-controls{gap:8px}.home-controls button{width:38px;height:38px}}
@media(prefers-reduced-motion:reduce){.home-controls button{transition:none}}

/* Full home viewport lets adjacent sheets enter and curl without a small canvas crop. */
.home-art{left:0;top:0;width:100%;height:100%;touch-action:pan-y}
.home-art .home-fallback{position:absolute;left:9%;top:19%;width:58%;height:66%;object-fit:contain}
.home-copy{transform-origin:0 50%;will-change:transform,opacity}
.home-topline,.home-bottom{z-index:2;pointer-events:none}
.home-topline a,.home-bottom a,.home-bottom button{pointer-events:auto}
@media(max-width:820px){.home-art{left:0;top:0;width:100%;height:100%}.home-art .home-fallback{left:5%;top:19%;width:90%;height:48%}}

/* Native anchor bypasses the slider and works without JavaScript. */
.home-bottom .home-down{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;padding:10px 20px;border:1px solid var(--fg-2);border-radius:28px;background:var(--fg);color:var(--bg);font:13px/1.4 var(--sans);font-weight:600;white-space:nowrap;pointer-events:auto}
.home-down:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(hover:hover) and (pointer:fine){.home-bottom .home-down:hover{background:var(--accent-2)}}
@media(max-width:820px){.home-bottom{display:grid;grid-template-columns:1fr auto;gap:12px;bottom:max(18px,env(safe-area-inset-bottom))}.home-bottom .home-controls{grid-column:1/-1;grid-row:1;justify-content:center}.home-bottom>span{grid-column:1;grid-row:2}.home-bottom .home-down{grid-column:2;grid-row:2;min-height:44px;padding:9px 16px;font-size:12px}}

/* Keep the original exhibition stage only in the six project introductions. */
#stage{visibility:hidden}
body.project-stage-visible:not(.home-view) #stage{visibility:visible}
body:not(.project-stage-visible) .swatches,body:not(.project-stage-visible) .hint{visibility:hidden;pointer-events:none}
#boot{display:none}

/* A missing current texture uses only the fallback, never both image layers. */
.home-art canvas{visibility:hidden}
.home-art.has-gl canvas{visibility:visible}

/* Keep the desktop exhibition beside the project description. */
@media(min-width:821px){#stage{left:44%;width:56%}}
