/* Homepage only. Existing typography, geometry and first image remain the fallback. */
.v4-hero{position:relative;isolation:isolate;overflow:hidden}
.v4-hero-top{position:relative;isolation:isolate}
.v4-hero-top:before{content:"";position:absolute;inset:-20% -12%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 25% 28%,#a5cceb52,transparent 50%),radial-gradient(ellipse at 85% 75%,#72b5e332,transparent 48%);animation:hero-atmosphere 17s ease-in-out infinite alternate}
.v4-hero-top:after{content:"";position:absolute;inset:0 -8%;z-index:-1;pointer-events:none;background-image:linear-gradient(#41799e0a 1px,transparent 1px),linear-gradient(90deg,#41799e0a 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(105deg,transparent 8%,#0008 65%,transparent 98%)}
@supports (background-clip:text){.v4-hero h1{background:linear-gradient(110deg,#18334d 0%,#18334d 40%,#326c96 46%,#a0cfeb 49%,#255778 52%,#18334d 58%,#18334d 100%);background-size:300% 100%;background-position:100% 0;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-stroke:.45px #18334d55;animation:hero-title-light 10s ease-in-out infinite}.v4-hero h1>span{-webkit-text-stroke:0}}
.v4-hero-photo{background:#18334d}
.v4-hero-photo:after{pointer-events:none;z-index:2}
.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.6s ease-in-out;pointer-events:none;will-change:opacity}
.hero-slide.is-active{opacity:1;z-index:1}
.hero-slide img{backface-visibility:hidden;transition:none}
/* Keep the outgoing image on the same timeline until it is fully transparent. */
.hero-slide.is-active img,.hero-slide.is-leaving img{animation:hero-photo-drift 9s linear both;will-change:transform}
.hero-slide:nth-child(2) img{object-position:center 46%}
.hero-slide:nth-child(3) img{object-position:center 48%}
.hero-controls{position:absolute;left:28px;bottom:24px;z-index:3;display:flex;align-items:center;gap:20px;color:#fff}
.hero-slide-buttons{display:flex;gap:6px}
.hero-controls button{position:relative;min-width:44px;min-height:44px;border:1px solid #d7eafa75;background:#102c47d9;color:#fff;font-size:11px;letter-spacing:.06em;transition:background .25s,border-color .25s}
.hero-controls button:hover{background:#225f87;border-color:#fff}
.hero-controls button[aria-current=true]{background:#eff7fc;color:#173d5c;border-color:#eff7fc}
.hero-controls button:focus-visible{outline:2px solid #fff;outline-offset:4px}
.hero-motion-toggle{display:flex;align-items:center;gap:10px;padding:0 14px}
.hero-pause-icon{width:9px;height:11px;border-inline:2px solid currentColor}
.hero-motion-toggle[data-paused=true] .hero-pause-icon{width:0;height:0;border:5px solid transparent;border-left:8px solid currentColor;border-right:0}
.hero-controls button:disabled{cursor:default;opacity:.65}
.v4-hero-stamp{position:relative;isolation:isolate;overflow:hidden}
.v4-hero-stamp:before{content:"";position:absolute;inset:-70%;z-index:-1;pointer-events:none;background:linear-gradient(115deg,transparent 34%,#abd9ff1f 45%,#d3edff38 49%,transparent 57%);animation:hero-panel-light 15s ease-in-out infinite}
.v4-hero-stamp:after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:repeating-linear-gradient(130deg,transparent 0 95px,#c0e5ff0a 96px 97px)}
.v4-hero[data-motion=paused] h1,.v4-hero[data-motion=paused] .v4-hero-top:before,.v4-hero[data-motion=paused] .v4-hero-stamp:before,.v4-hero[data-motion=paused] .hero-slide img{animation-play-state:paused}
@keyframes hero-title-light{0%,12%{background-position:100% 0}43%,100%{background-position:0 0}}
@keyframes hero-atmosphere{from{transform:translate3d(-3%,-2%,0) scale(1);opacity:.65}to{transform:translate3d(4%,3%,0) scale(1.08);opacity:1}}
@keyframes hero-photo-drift{from{transform:translate3d(0,0,0) scale(1.025)}to{transform:translate3d(0,0,0) scale(1)}}
@keyframes hero-panel-light{0%,12%{transform:translateX(-22%)}65%,100%{transform:translateX(22%)}}
@media(max-width:768px){.hero-controls{left:20px;bottom:20px;gap:12px}.hero-motion-toggle{padding-inline:11px}.v4-hero-top:after{background-size:52px 52px}.v4-hero-top:before{animation-duration:22s}}
@media(prefers-reduced-motion:reduce){.v4-hero h1{background:none;color:var(--ink);-webkit-text-stroke:0}.hero-slide{transition:none}.hero-slide img{transform:none!important}.v4-hero-top:before,.v4-hero-stamp:before{animation:none}}
@media(forced-colors:active){.v4-hero h1{background:none;color:CanvasText;-webkit-text-stroke:0}.hero-controls button{border:1px solid ButtonText}.hero-controls button[aria-current=true]{outline:2px solid Highlight}}
