/* Scoped additions only. Existing carousel geometry and animation are untouched. */
.up-text-motion{transition:opacity 620ms ease,translate 620ms cubic-bezier(.2,.65,.3,1);transition-delay:var(--up-text-delay,0ms)}
.up-text-wait{opacity:0;translate:0 -8px}
.hero>.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:58% center;opacity:0;transition:opacity 650ms ease;pointer-events:none}
.hero.hero-video-ready>.hero-video{opacity:1}
.hero:has(.hero-video):after{background:linear-gradient(90deg,rgba(24,43,34,.84) 0%,rgba(24,43,34,.76) 50%,rgba(24,43,34,.48) 78%,rgba(24,43,34,.14) 100%)}
.hero-video-toggle{position:absolute;z-index:3;top:20px;right:5.5%;background:rgba(38,62,49,.72);color:#f7f4ed;border:1px solid #f7f4ed80;padding:7px 12px;font:inherit;font-size:.72rem;cursor:pointer}
.hero-video-toggle[hidden]{display:none}
@media(max-width:1000px){.hero>.hero-video{object-position:55% center}.hero:has(.hero-video):after{background:linear-gradient(90deg,rgba(24,43,34,.86),rgba(24,43,34,.76) 70%,rgba(24,43,34,.68))}}
@media(prefers-reduced-motion:reduce){.up-text-motion,.up-text-wait{opacity:1;translate:none;transition:none}.hero>.hero-video{transition:none}}
@media print{.up-text-motion,.up-text-wait{opacity:1;translate:none}.hero-video,.hero-video-toggle{display:none!important}}

/* Final requested correction: hero text colour only; composition stays unchanged. */
.hero,.hero h1,.hero h1 em,.hero .inner p,.hero .inner p strong,.hero .eyebrow,.hero .textlink,.hero-bottom{color:#faf7f0}
.hero h1,.hero .inner p,.hero .textlink,.hero-bottom{text-shadow:0 1px 3px rgba(19,40,29,.45)}
.hero .actions .btn{text-shadow:none}
