/* Swiper owns photo opacity and its 3-second clock. No negative-delay CSS loop. */
.home-page .business-photo img{object-position:center 45%}
.home-page .hero-media{z-index:0;position:absolute;inset:0;width:100%;height:100%;overflow:hidden;transform:none;-webkit-transform:none}
.home-page .hero-media .swiper-wrapper{width:100%;height:100%}
.home-page .hero-media .hero-scene{position:relative;inset:auto;width:100%;height:100%;flex-shrink:0;opacity:1;animation:none;transition-property:opacity;transition-timing-function:linear;overflow:hidden}
.home-page .hero-media:not(.swiper-initialized) .hero-scene{position:absolute;inset:0;opacity:0}
.home-page .hero-media:not(.swiper-initialized) .hero-scene:first-child{opacity:1}
.home-page .hero-media .hero-scene img{width:100%;height:100%;object-fit:cover;animation:none;transform:scale(1.015);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.home-page .hero-media .hero-scene[data-scene="plant"] img{object-position:58% center}
.home-page .hero-media .hero-scene[data-scene="thermal"] img{object-position:64% center}
.home-page .hero-media .hero-scene[data-scene="semiconductor"] img{object-position:63% center}
.home-page .hero-media .hero-scene[data-scene="shipyard"] img{object-position:52% center}
.home-page .hero-shade{z-index:1;pointer-events:none}
.home-page .hero-content{position:relative;z-index:2}
.home-page .hero-bottom{z-index:3}
.home-page .hero-media.hero-fallback .hero-scene{transition:opacity .9s linear}
.home-page .field-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}
.home-page .field,.home-page .field:nth-child(n+4){grid-column:auto}
.home-page .field img{height:clamp(210px,22vw,340px)}
.home-page .field-shipyard img{object-position:52% center}
.home-page .field-caption>span{font-size:11px}
@media(max-width:600px){.home-page .field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 18px}.home-page .field-main,.home-page .field-shipyard:nth-child(n+4){grid-column:1/-1}.home-page .field img{height:185px}.home-page .field-main img,.home-page .field-shipyard img{height:240px}.home-page .field-caption>span{font-size:9px}}

/* Replay with intersection changes. Transitions replace one-shot keyframes. */
.motion-ready [data-reveal]:not(.headline),.motion-ready .headline .headline-inner{opacity:0;transform:translate3d(0,18px,0);transition:opacity 1.8s ease,transform 1.8s cubic-bezier(.2,.65,.3,1)}
.motion-ready .headline .headline-inner{transition-delay:calc(var(--line-index,0)*160ms)}
.motion-ready [data-reveal].in-view:not(.headline),.motion-ready .headline.in-view .headline-inner{animation:none;opacity:1;transform:translate3d(0,0,0)}
.motion-ready [data-image-reveal].in-view img{animation:none}
/* Reduced-motion keeps gentle crossfades rather than disabling every effect. */
@media(prefers-reduced-motion:reduce){
 /* Hero motion is explicitly managed in JS, with a reduced travel distance. */
 .motion-ready [data-reveal]:not(.headline),.motion-ready .headline .headline-inner{transform:none;transition:opacity 1.6s ease;transition-delay:0s}
 .motion-ready [data-reveal].in-view:not(.headline),.motion-ready .headline.in-view .headline-inner{transform:none;animation:none;opacity:1}
}
