/* Full-screen v14 stage: the scene owns the width, copy occupies its clear upper area. */
.header{position:absolute;inset:0 0 auto;z-index:10}
.hero-scroll.busy-story .hero{width:100%;max-width:none;height:100svh;min-height:720px;display:block;padding:0;position:relative;overflow:hidden}
.hero-scroll.busy-story .hero-copy{position:absolute;top:118px;left:4%;width:92%;text-align:center;z-index:2;will-change:opacity,transform}
.busy-story .hero-copy .eyebrow{font-size:12px;letter-spacing:.12em;margin:0 0 16px;color:var(--muted)}
.hero-scroll.busy-story .hero h1{font-size:clamp(36px,4.2vw,64px);line-height:1.18;letter-spacing:-.045em;margin:0;text-wrap:balance}
.hero-scroll.busy-story .hero .intro{font-size:16px;line-height:1.8;margin:16px auto 0;max-width:640px;text-wrap:balance}
.hero-scroll.busy-story .hero-art{position:absolute;left:50%;bottom:104px;width:min(96vw,1500px,calc((100svh - 315px)*1.779));max-width:none;padding:0;margin:0!important;transform:translateX(-50%)!important}
.busy-story .hero-art:before{display:none}
.hero-scroll.busy-story .hero-canvas{aspect-ratio:854/480;border-radius:0;box-shadow:none;width:100%;height:auto}
.hero-scroll.busy-story .hero-art>img{width:100%;height:auto;margin:0}
.hero-story-caption{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.hero-action{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);z-index:3;white-space:nowrap}
.hero-action:hover{transform:translateX(-50%) translateY(-2px)}
.hero-scroll.busy-story .scroll-cue{right:28px;bottom:45px;font-size:9px;gap:14px}
@media(min-height:650px) and (min-width:900px) and (prefers-reduced-motion:no-preference){
 .hero-scroll.busy-story.sequence-ready{height:360svh}
 .hero-scroll.busy-story.sequence-ready .hero{position:sticky;top:0;padding:0;min-height:100svh}
}
@media(max-width:899px){
 .hero-scroll.busy-story .hero-copy{top:116px;left:6%;width:88%}
 .hero-scroll.busy-story .hero h1{font-size:clamp(30px,5.3vw,44px)}
 .hero-scroll.busy-story .hero-art{width:min(100vw,calc((100svh - 330px)*1.779));bottom:150px}
 .hero-scroll.busy-story .hero .intro{font-size:14px;max-width:440px}
 .hero-action{bottom:72px}
 .hero-scroll.busy-story .scroll-cue{bottom:26px;left:0;right:0;justify-content:center}
}
@media(max-width:760px){
 .hero-scroll.busy-story .hero{min-height:680px}
 .busy-story .hero-copy .eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:18px}
 .hero-scroll.busy-story .hero-copy{top:125px}
 .hero-scroll.busy-story .hero-art{width:100%;bottom:180px}
 .hero-scroll.busy-story .hero .intro{max-width:320px;margin-top:18px}
 .hero-action{bottom:90px}
 .hero-scroll.busy-story .scroll-cue{bottom:36px}
}
@media(max-width:899px) and (min-height:760px) and (prefers-reduced-motion:no-preference){
 .hero-scroll.busy-story.sequence-ready{height:250svh}
 .hero-scroll.busy-story.sequence-ready .hero{position:sticky;top:0;display:block;padding:0;min-height:100svh}
}
/* Short viewports, zoom and reduced motion retain a normal, complete reading order. */
@media(max-height:759px){
 .hero-scroll.busy-story,.hero-scroll.busy-story.sequence-ready{height:auto}
 .hero-scroll.busy-story .hero,.hero-scroll.busy-story.sequence-ready .hero{position:relative;height:auto;min-height:0;display:flex;flex-direction:column;align-items:center;padding:110px 24px 70px}
 .hero-scroll.busy-story .hero-copy{position:relative;top:auto;left:auto;width:100%}
 .hero-scroll.busy-story .hero-art{position:relative;left:auto;bottom:auto;width:min(100%,900px);transform:none!important;margin:24px 0!important}
 .hero-action{position:relative;left:auto;bottom:auto;transform:none;order:3}
 .hero-action:hover{transform:translateY(-2px)}
 .hero-scroll.busy-story .scroll-cue{display:none}
}
@media(prefers-reduced-motion:reduce){.hero-scroll.busy-story .hero-copy{opacity:1!important;transform:none!important;will-change:auto}}

.hero-headline>span{display:inline-block}
.header .nav-cta{white-space:nowrap}
@media(max-width:360px){.header .wordmark{font-size:24px}.header .nav-cta{padding:12px 14px;gap:8px}.header nav{gap:8px}}

/* Original opaque footage: retain every object, floor and contact shadow.
   Feather only the empty outer margins, never segment the characters. */
.hero-scroll.busy-story .hero{
 background:linear-gradient(to bottom,var(--cream) 0px,var(--cream) 70px,#e3d6c3 var(--scene-top-edge,25vh),#e7dac8 var(--scene-mid-edge,55vh),#e4d9c7 var(--scene-bottom-edge,85vh),var(--cream) 100%);
}
.hero-scroll.busy-story .hero-art>.hero-canvas,
.hero-scroll.busy-story .hero-art>img{
 mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 92%,transparent)!important;
 mask-composite:intersect;
 -webkit-mask-image:linear-gradient(to right,transparent,#000 3%,#000 97%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 92%,transparent)!important;
 -webkit-mask-composite:source-in;
 mix-blend-mode:normal!important;
}

/* Compact desktop: finish the scroll sequence before releasing the hero.
   Keep the normal-flow fallback for very short/zoomed viewports and phones. */
@media(min-width:900px) and (min-height:600px) and (max-height:759px) and (prefers-reduced-motion:no-preference){
 .hero-scroll.busy-story.sequence-ready{height:360svh}
 .hero-scroll.busy-story.sequence-ready .hero{position:sticky;top:0;height:100svh;min-height:0;display:block;padding:0}
 .hero-scroll.busy-story.sequence-ready .hero-copy{position:absolute;top:104px;left:4%;width:92%}
 .hero-scroll.busy-story.sequence-ready .hero h1{font-size:clamp(34px,3.2vw,44px)}
 .hero-scroll.busy-story.sequence-ready .eyebrow{margin-bottom:10px}
 .hero-scroll.busy-story.sequence-ready .hero .intro{font-size:14px;margin-top:10px}
 .hero-scroll.busy-story.sequence-ready .hero-art{position:absolute;left:50%;bottom:82px;width:min(96vw,1500px,calc((100svh - 320px)*1.779));transform:translateX(-50%)!important;margin:0!important}
 .hero-scroll.busy-story.sequence-ready .hero-action{position:absolute;left:50%;bottom:18px;transform:translateX(-50%)}
 .hero-scroll.busy-story.sequence-ready .hero-action:hover{transform:translateX(-50%) translateY(-2px)}
 .hero-scroll.busy-story.sequence-ready .scroll-cue{display:flex;bottom:34px}
}
