.hero-visual{isolation:isolate}
.hero-visual .visual-top{position:relative;z-index:2;margin-bottom:12px}
.hero-slides{position:relative;aspect-ratio:1/1;overflow:hidden;border:1px solid #29415a;border-radius:var(--radius);background:#0c1722}
.hero-slide:not(:first-child){display:none}
.hero-slide,.hero-image-button,.hero-image-button img{width:100%;height:100%}
.hero-slide{position:relative}
.hero-image-button{display:block;position:relative;padding:0;border:0;background:none;cursor:zoom-in}
.hero-image-button img{display:block;object-fit:cover}
.hero-image-button::after{content:"↗  View larger";position:absolute;right:16px;bottom:16px;border:1px solid #7899ba9c;border-radius:4px;background:#0b1524de;padding:8px 11px;color:#f0f6fc;font-size:10px;letter-spacing:.04em}
.hero-image-button:focus-visible{outline:3px solid var(--accent);outline-offset:-5px}
.carousel-ready .hero-slide{display:block;position:absolute;inset:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .45s ease,visibility .45s ease}
.carousel-ready .hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:1}
.hero-slide-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:15px;font-size:10px;color:#9eafc0}
.hero-slide-footer .text-link{display:inline-flex;align-items:center;gap:7px;font-size:12px;white-space:nowrap}
.hero-slide-footer>span{text-align:right;line-height:1.45}
.hero-carousel-controls{display:none;align-items:center;gap:9px;margin-top:14px}
.carousel-ready .hero-carousel-controls{display:flex}
.hero-carousel-controls button,.hero-lightbox button{display:grid;place-items:center;border:1px solid #36536f;border-radius:4px;background:#152234;color:#e6f3ff;cursor:pointer;transition:border-color .2s,background .2s}
.hero-carousel-controls button{width:34px;height:34px;font-size:18px}
.hero-carousel-controls button:hover,.hero-lightbox button:hover{border-color:var(--accent);background:#22446a}
.hero-carousel-controls button:focus-visible,.hero-lightbox button:focus-visible,.hero-lightbox a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.hero-carousel-controls .mono{margin-left:auto;color:#9ebad2;font-size:10px}
.hero-lightbox[hidden]{display:none}
.hero-lightbox{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(16px,3vw,38px);background:#03080eea;backdrop-filter:blur(8px)}
.hero-lightbox-inner{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:14px;width:min(100%,1200px);max-height:calc(100dvh - 32px);position:relative}
.hero-lightbox figure{min-width:0;max-height:calc(100dvh - 32px);margin:0;overflow:auto;border:1px solid #3d5b76;border-radius:var(--radius);background:#0e1926}
.hero-lightbox figure>img{display:block;width:100%;height:min(78dvh,950px);object-fit:contain;background:#09131f}
.hero-lightbox figcaption{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:15px 22px;color:#dce9f5}
.hero-lightbox figcaption div{display:flex;flex-direction:column;gap:5px}
.hero-lightbox figcaption strong{font-size:15px}
.hero-lightbox figcaption span{font-size:10px;color:#a8b6c6}
.hero-lightbox figcaption .text-link{white-space:nowrap;font-size:12px}
.hero-lightbox-nav{width:48px;height:48px;font-size:24px}
.hero-lightbox-close{position:absolute;right:62px;top:12px;z-index:2;width:36px;height:36px;font-size:27px}
body.lightbox-open{overflow:hidden}
@media(max-width:1100px){.hero-slide-footer{align-items:flex-start;flex-direction:column;gap:5px}.hero-slide-footer>span{text-align:left}}
@media(max-width:600px){.hero-visual .visual-top{font-size:8px}.hero-image-button::after{right:10px;bottom:10px;padding:6px 8px}.hero-lightbox{padding:8px}.hero-lightbox-inner{grid-template-columns:35px minmax(0,1fr) 35px;gap:4px}.hero-lightbox-nav{width:35px;height:40px;font-size:20px}.hero-lightbox-close{right:43px;top:8px}.hero-lightbox figure>img{height:min(67dvh,700px)}.hero-lightbox figcaption{display:block;padding:12px}.hero-lightbox figcaption .text-link{display:inline-flex;margin-top:10px}.hero-lightbox figcaption strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.carousel-ready .hero-slide{transition:none}}
