/* Home only: a viewport-size window that gently closes as the page scrolls. */
.ag-home .hero-video-section { --hero-header:80px; position:relative; background:var(--ag-paper,#f7f6f0); }
.ag-home .hero-video-stage.hero { width:100%; height:calc(100svh - var(--hero-header)); min-height:400px; margin:0; clip-path:inset(0 round 0); }
.ag-home .hero-video-section.is-scroll-ready { height:calc(160svh - var(--hero-header)); }
.ag-home .is-scroll-ready .hero-video-stage { position:sticky; top:var(--hero-header); }
.ag-home .hero-video-stage .hero-content { min-height:0; height:100%; width:100%; padding:32px 24px 76px; }
.ag-home .hero-video-stage .hero-copy { padding:24px 0; }
.ag-home .hero-video-stage .hero-media { position:absolute; inset:0; height:100%; }
.ag-home .hero-video-stage .hero-media img,.ag-home .hero-film { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; animation:none; }
.ag-home .hero-film { opacity:0; transition:opacity .35s ease; }
.ag-home .hero-video-stage.is-playing .hero-film { opacity:1; }
.ag-home .hero-video-stage .hero-media::after { z-index:1; background:linear-gradient(180deg,rgba(10,18,17,.20),rgba(10,18,17,.48) 48%,rgba(10,18,17,.44)); }
@media(max-width:700px) {
 .ag-home .hero-video-section { --hero-header:60px; }
 .ag-home .hero-video-stage.hero { min-height:380px; }
 .ag-home .hero-video-stage .hero-content { padding:28px 24px 96px; }
 .ag-home .hero-video-stage h1 { font-size:clamp(38px,10.5vw,54px); }
 .ag-home .hero-video-stage .hero-media img,.ag-home .hero-film { object-position:50% center; }
}
@media(max-height:520px) and (min-width:701px) {
 .ag-home .hero-video-stage.hero { min-height:300px; }
 .ag-home .hero-video-stage h1 { font-size:48px; margin-bottom:20px; }
 .ag-home .hero-video-stage .hero-content { padding:16px 80px 60px; }
}
@media(prefers-reduced-motion:reduce) {
 .ag-home .hero-video-section.is-scroll-ready { height:auto; }
 .ag-home .is-scroll-ready .hero-video-stage { position:relative; top:auto; clip-path:none; }
 .ag-home .hero-film { transition:none; }
}

/* Browser-driven clipping avoids a main-thread scroll/read/write loop. */
.ag-home .hero-video-section.is-native-scroll { view-timeline:--hero-scroll block; view-timeline-inset:var(--hero-header) 0; }
.ag-home .is-native-scroll .hero-video-stage { animation:hero-window-close linear both; animation-timeline:--hero-scroll; animation-range:contain; will-change:clip-path; }
@keyframes hero-window-close { from { clip-path:inset(0 round 0); } to { clip-path:inset(24px round 28px); } }
@media(max-width:700px) { @keyframes hero-window-close { from { clip-path:inset(0 round 0); } to { clip-path:inset(12px round 28px); } } }
@media(prefers-reduced-motion:reduce) { .ag-home .is-native-scroll .hero-video-stage { animation:none; will-change:auto; } }
