/* Single-stage homepage carousel. */
html body.purui-home .hero.hero-carousel { position:relative; isolation:isolate; height:max(420px,50vw); min-height:0; padding:0; overflow:hidden; background:#071c35; }
html body.purui-home .hero-carousel::before, html body.purui-home .hero-carousel::after { display:none; }
html body.purui-home .hero-carousel .hero-slide { position:absolute; inset:0; display:block; width:100%; height:100%; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .65s ease,visibility .65s; }
html body.purui-home .hero-carousel .hero-slide.is-active { opacity:1; visibility:visible; pointer-events:auto; }
.hero-carousel .recruitment-banner { background:#071c35; }
.hero-carousel .recruitment-banner img { display:block; width:100%; height:100%; object-fit:contain; }
.hero-carousel .product-slide { background:#07121e url('/assets/hero/purui-industrial-premium-v2.png') center/cover no-repeat; }
html body.purui-home .hero-carousel .hero-layout { height:100%; min-height:0; padding-block:48px; }
html body.purui-home .hero-carousel .reveal { opacity:1; transform:none; }
.hero-carousel .hero-arrow { position:absolute; z-index:3; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:44px; height:60px; padding:0; border:1px solid #ffffff35; border-radius:0; background:#03132340; color:white; font-size:22px; cursor:pointer; transition:background .2s; }
.hero-carousel .hero-prev { left:18px; }
.hero-carousel .hero-next { right:18px; }
.hero-carousel .hero-arrow:hover { background:#0b467999; border-color:#ffffff90; }
.hero-pagination { position:absolute; z-index:3; bottom:22px; left:50%; transform:translateX(-50%); display:flex; gap:10px; }
.hero-pagination button { position:relative; width:58px; height:24px; padding:0; border:0; background:transparent; cursor:pointer; }
.hero-pagination button::before { content:''; position:absolute; inset:10px 0; background:#ffffff55; transition:background .3s; }
.hero-pagination button[aria-pressed="true"]::before { background:#fff; }
.hero-carousel button:focus-visible,.hero-carousel a:focus-visible { outline:2px solid white; outline-offset:-3px; }
@media(max-width:1100px) {
 html body.purui-home .hero-carousel .hero-copy { padding-inline:48px 0; }
}
@media(max-width:600px) {
 .hero-carousel .hero-arrow { width:30px; height:44px; font-size:18px; }
 .hero-carousel .hero-prev { left:4px; }
 .hero-carousel .hero-next { right:4px; }
 .hero-pagination { bottom:12px; }
 html body.purui-home .hero-carousel .hero-layout { padding-inline:20px; }
 html body.purui-home .hero-carousel .hero-copy { padding-inline:0; }
}
@media(prefers-reduced-motion:reduce) { html body.purui-home .hero-carousel .hero-slide { transition:none; } }
