/* Full-colour Holi scene with the photographed plate composited above it. */
.home-assembly{--assembly-ink:#fff6e9;--assembly-gold:#ffca70;position:relative;height:445svh;background:#10091c;color:var(--assembly-ink)}
.home-assembly .stage{position:sticky;top:var(--header,84px);height:calc(100svh - var(--header,84px));min-height:540px;overflow:hidden;background:#10091c;isolation:isolate}
.home-assembly .assembly-colours{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#10091c70,transparent 55%),url('/assets/ricksha-holi-background.webp') center/cover no-repeat;pointer-events:none}
.home-assembly .intro{position:absolute;top:23%;left:5vw;width:29%;z-index:2;pointer-events:none;text-shadow:0 2px 30px #0c061bbb}
.home-assembly h1{font-family:'Barlow Condensed',Impact,'Arial Narrow',sans-serif;text-transform:uppercase;font-size:clamp(44px,5.7vw,92px);line-height:.97;letter-spacing:-.015em;margin:0;font-weight:800}
.home-assembly h1 em{font:inherit;color:var(--assembly-gold)}
.home-assembly .scene{position:absolute;inset:0 0 14% 28%;overflow:hidden}
.home-assembly .scene canvas{display:block;width:100%;height:100%}
.home-assembly .poster{position:absolute;left:15%;top:0;width:70%;height:100%;max-width:none;object-fit:contain}
.home-assembly [hidden]{display:none!important}

.home-assembly .controls{position:absolute;left:5vw;right:5vw;bottom:5%;z-index:3}
.home-assembly .controls-top{display:flex;justify-content:flex-end;align-items:center}
.home-assembly .assembly-actions{display:flex;align-items:center;gap:28px;font-size:1rem}.home-assembly .assembly-actions a{white-space:nowrap;text-underline-offset:4px;color:#fff6e9;text-shadow:0 2px 8px #07020d}

.home-assembly .loading{position:absolute;bottom:0;left:10%;right:10%;color:#fff6e9;background:#10091ce6;border-radius:8px;text-align:center;margin:0;padding:12px;font-size:.875rem;z-index:4}
.home-assembly a:focus-visible{outline:3px solid var(--assembly-gold);outline-offset:5px}
.home-assembly .assembly-nojs{position:absolute;right:5vw;bottom:30%;z-index:5}.home-assembly .assembly-nojs a{text-decoration:underline}
html:not(.js) .home-assembly{height:auto}html:not(.js) .home-assembly .stage{position:relative;top:0}
@media(max-width:1000px) and (min-width:701px){.home-assembly h1{font-size:clamp(42px,6vw,60px)}.home-assembly .intro{top:25%;width:30%}.home-assembly .scene{left:24%}}
@media(max-width:700px){
 .home-assembly .stage{min-height:540px}.home-assembly .assembly-colours{background-position:center;background-size:100% 100%}
 .home-assembly .intro{left:6vw;top:6%;width:88%;text-align:center}
 .home-assembly h1{font-size:clamp(38px,10.5vw,64px);line-height:.98}.home-assembly h1 em{display:block}
 .home-assembly .scene{inset:19% -7% 15%}
 .home-assembly .controls{left:5vw;right:5vw;bottom:4%}.home-assembly .controls-top{justify-content:center}
 .home-assembly .assembly-actions{gap:18px;font-size:.875rem}
}
@media(max-height:650px) and (min-width:701px){.home-assembly .stage{min-height:450px}.home-assembly h1{font-size:clamp(42px,5vw,64px)}.home-assembly .scene{bottom:16%}}
@media(prefers-reduced-motion:reduce){.home-assembly .scene canvas{filter:none}}
