/* Fullscreen gallery is scoped to home. Project galleries remain unchanged. */
body.page-home .hero{height:100vh;height:100svh;min-height:0;padding:0;overflow:hidden;isolation:isolate;background:#252822;color:#fff;--hero-gutter:clamp(24px,4vw,64px)}
body.page-home .hero #home-stage{position:absolute;inset:0;width:100%;height:100%;max-width:none;touch-action:pan-y}
#home-stage .stage-link{display:block;position:absolute;inset:0;overflow:hidden}
#home-stage .stage-link:hover{opacity:1}
#home-stage .home-photo-layer{position:absolute;inset:0;overflow:hidden;opacity:0;z-index:0;will-change:opacity}
#home-stage .home-photo-layer.is-current{opacity:1}
#home-stage .home-photo-layer img,#home-stage .home-photo-layer #home-image{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:center;background:transparent;opacity:1;transition:none;transform-origin:center;will-change:transform}
#home-stage .stage-link::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.43),transparent 24%,transparent 57%,rgba(0,0,0,.58))}
.page-home .site-header{background:transparent;color:#fff;padding-inline:clamp(24px,4vw,64px);text-shadow:0 1px 8px #0005}
.page-home.menu-open .site-header{color:var(--text);background:#fff;text-shadow:none}
.page-home .hero :focus-visible{outline-color:#fff}
body.page-home .hero .stage-caption{position:absolute;inset:auto var(--hero-gutter) 112px;width:auto;height:auto;min-height:64px;padding:0;margin:0;z-index:4;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:12px;pointer-events:none}
.page-home .hero #home-title{display:block;position:static;max-width:760px;font:400 clamp(14px,1.25vw,18px)/1.4 var(--sans);letter-spacing:.035em;text-align:center;color:#fff;pointer-events:auto;text-shadow:0 1px 10px #0007}
.page-home .hero #home-counter{position:static;font:300 12px/1.4 var(--sans);color:#fff;font-variant-numeric:tabular-nums}
body.page-home .hero .hero-foot{position:absolute;inset:auto var(--hero-gutter) max(28px,env(safe-area-inset-bottom));width:auto;margin:0;min-height:44px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;z-index:4}
.page-home .hero .hero-foot .socials{position:static;transform:none;color:#fff;justify-content:flex-start;gap:14px}
.page-home .hero .hero-foot .socials a{width:32px;height:44px}
body.page-home .hero .hero-foot .btn-outline{margin:0;width:auto;min-width:144px;min-height:40px;height:auto;padding:8px 16px;border-color:#ffffffa6;color:#fff;font-size:13px;border-radius:13px;background:#0001}
.page-home .hero .hero-foot .btn-outline:hover{background:#fff;color:#20231e}
.hero-playback{justify-self:end;display:grid;place-items:center;width:44px;height:44px;color:#fff;border:1px solid #ffffff70;border-radius:50%}
.hero-playback svg{width:16px;height:16px;fill:currentColor}
.hero-playback .play-mark{display:none}
.hero-playback[aria-pressed=true] .pause-mark{display:none}
.hero-playback[aria-pressed=true] .play-mark{display:block}
.hero-playback[hidden]{display:none}
#home-stage .stage-arrow{width:48px;height:56px;color:#000;background:#ffffffc9;border-radius:3px;opacity:.85;z-index:4}
#home-stage .arrow-prev{left:var(--hero-gutter)}
#home-stage .arrow-next{right:var(--hero-gutter)}
#home-stage .stage-arrow svg{width:25px;height:32px;stroke:#000;stroke-width:1.3}
#home-stage .stage-arrow:hover{opacity:1}
#home-stage .stage-arrow[hidden]{display:none}
@media(max-width:767px){
.page-home .site-header{padding-inline:24px}
body.page-home .hero .stage-caption{bottom:110px;gap:10px;min-height:76px}
.page-home .hero #home-title{font-size:14px;max-width:30ch}
body.page-home .hero .hero-foot{bottom:max(24px,env(safe-area-inset-bottom));gap:10px}
.page-home .hero .hero-foot .socials{gap:4px}
.page-home .hero .hero-foot .socials a{width:26px}
.page-home .hero .hero-foot .socials svg{width:20px;height:20px}
body.page-home .hero .hero-foot .btn-outline{min-width:126px;font-size:12px;padding-inline:10px}
#home-stage .stage-arrow{width:44px;height:48px;background:#ffffffb3}
#home-stage .stage-arrow svg{width:20px;height:26px}
#home-stage .arrow-prev{left:12px}#home-stage .arrow-next{right:12px}
}
@media(max-height:480px) and (orientation:landscape){body.page-home .hero .stage-caption{bottom:78px;min-height:48px;gap:4px}body.page-home .hero .hero-foot{bottom:14px}}
@media(prefers-reduced-motion:reduce){#home-stage .home-photo-layer,#home-stage .home-photo-layer img{will-change:auto}}
