/* Homepage photo background; the content and branding retain the approved layout. */
.factory-carousel.hero-banner{margin-top:0!important;padding-top:0;min-height:100svh;background:#142a3c}
.factory-carousel .hero-content-wrapper{position:relative;min-height:100svh;height:auto;padding:125px 0 115px;box-sizing:border-box}
.factory-carousel .hero-content{position:relative;z-index:2}
.factory-slide{position:absolute;inset:0;opacity:0;transition:opacity 700ms cubic-bezier(.22,1,.36,1);overflow:hidden}
.factory-slide.active{opacity:1;z-index:1}
.factory-slide img{width:100%;height:100%;display:block;object-fit:cover;max-width:none;transform:scale(1);transform-origin:center}
.factory-carousel .hero-overlay{z-index:3;background:linear-gradient(90deg,rgba(5,20,35,.58),rgba(5,20,35,.28) 58%,rgba(5,20,35,.18))}
.factory-carousel .hero-stats .stat-card{background:rgba(10,29,46,.38)}
.factory-carousel .hero-title,.factory-carousel .hero-subtitle,.factory-carousel .hero-badge,.factory-carousel .hero-stats,.factory-carousel .hero-cta{animation:none!important}
.factory-progress{position:absolute;bottom:0;left:0;right:0;height:3px;z-index:31;background:rgba(255,255,255,.18);overflow:hidden}
.factory-progress span{display:block;width:100%;height:100%;background:#5fdfff;transform:scaleX(0);transform-origin:left center}
@media(max-width:768px){.factory-carousel .hero-content-wrapper{padding:110px 0 95px}.factory-carousel .hero-overlay{background:rgba(5,20,35,.48)}.factory-carousel .hero-content{padding-inline:20px}.factory-carousel .hero-badge-text{font-size:12px}.factory-carousel .hero-badge{padding:8px 12px}.factory-carousel .hero-subtitle{font-size:15px;line-height:1.7}}
@media(prefers-reduced-motion:reduce){.factory-slide{transition-duration:150ms}.factory-carousel .hero-badge-dot{animation:none}.factory-carousel .hero-btn{transition:none!important}.factory-progress{display:none}}
