.hero.ie5-context-hero{position:relative;isolation:isolate;overflow:hidden;background:#090807!important;min-height:clamp(650px,82vh,900px)}
.ie5-context-stage{position:absolute;inset:0;z-index:0;overflow:hidden;background:#090807}
.ie5-context-media{position:absolute;inset:-2%;opacity:0;transition:opacity 1.2s ease,transform 9s ease;transform:scale(1.05);overflow:hidden}
.ie5-context-media.is-active{opacity:1;transform:scale(1)}
.ie5-context-media video,.ie5-context-media img{width:100%;height:100%;object-fit:cover;display:block}
.ie5-context-media img{transform:scale(1.045);animation:ie5KenBurns 12s ease-out both}
.ie5-context-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,4,3,.82) 0%,rgba(5,4,3,.45) 48%,rgba(5,4,3,.24) 100%),linear-gradient(0deg,rgba(5,4,3,.70) 0%,transparent 58%,rgba(5,4,3,.35) 100%)}
.ie5-context-stage::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 28%,rgba(231,183,84,.18),transparent 34%),linear-gradient(100deg,rgba(0,0,0,.18),transparent 50%);pointer-events:none}
.hero.ie5-context-hero>.hero-content,.hero.ie5-context-hero>.wrap.hero-content{position:relative;z-index:4}
.hero.ie5-context-hero h1{position:relative;z-index:5;max-width:980px;min-height:2.05em;text-wrap:balance;text-shadow:0 5px 30px rgba(0,0,0,.7);transition:opacity .38s ease,transform .48s cubic-bezier(.2,.8,.2,1);opacity:1;transform:none}
.hero.ie5-context-hero h1.ie5-title-out{opacity:0;transform:translateY(18px)}
.hero.ie5-context-hero h1.ie5-title-in{animation:ie5TitleIn .86s cubic-bezier(.2,.8,.2,1) both}
.hero.ie5-context-hero .eyebrow,.hero.ie5-context-hero .hero-content>p{position:relative;z-index:5;text-shadow:0 3px 18px rgba(0,0,0,.72)}
.ie5-context-progress{position:absolute;left:50%;bottom:28px;z-index:6;width:min(720px,calc(100% - 44px));transform:translateX(-50%);display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.ie5-context-progress button{height:4px;border:0;padding:0;border-radius:999px;background:rgba(255,255,255,.25);overflow:hidden;cursor:pointer;position:relative}
.ie5-context-progress button::after{content:"";position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,#fff1b7,#d7a642);border-radius:inherit}
.ie5-context-progress button.is-active::after{animation:ie5Progress var(--ie5-scene-duration,12000ms) linear both}
.ie5-context-caption{position:absolute;right:26px;bottom:48px;z-index:6;color:rgba(255,255,255,.72);font:700 .64rem/1 Montserrat,Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase;text-shadow:0 2px 8px #000}
@keyframes ie5KenBurns{from{transform:scale(1.08) translate3d(-1%,0,0)}to{transform:scale(1.01) translate3d(1%,0,0)}}
@keyframes ie5TitleIn{from{opacity:0;transform:translateY(22px);filter:blur(8px)}to{opacity:1;transform:none;filter:blur(0)}}
@keyframes ie5Progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:700px){.hero.ie5-context-hero{min-height:700px}.hero.ie5-context-hero h1{min-height:2.8em}.ie5-context-caption{display:none}.ie5-context-progress{bottom:18px}}
@media(prefers-reduced-motion:reduce){.ie5-context-media,.hero.ie5-context-hero h1{transition:none!important}.ie5-context-media img,.ie5-context-progress button.is-active::after{animation:none!important}.ie5-context-progress button.is-active::after{transform:scaleX(1)}}
