.hero .hero-visual { min-width: 0; }
.hero-closures { margin-top: 24px; padding: 18px 20px; border-left: 4px solid var(--c-teal); border-radius: 0 8px 8px 0; background: #fff1; color: #fff; }
.hero-closures h2 { margin: 0 0 10px; color: #fff; font-size: 18px; }
.hero-closures ul { margin: 0; padding-left: 20px; }
.hero-closures li { margin: 6px 0; font-size: 14px; line-height: 1.65; }
.equipment-carousel { position: relative; isolation: isolate; overflow: hidden; border-radius: 16px; background: var(--c-primary-dark); color: #fff; box-shadow: 0 24px 60px #0004; }
.equipment-heading { position: absolute; z-index: 2; inset: 0 0 auto; padding: 24px 28px 64px; background: linear-gradient(#101d35c9, transparent); pointer-events: none; }
.equipment-heading h2 { color: #fff; font-size: clamp(17px, 1.6vw, 22px); margin: 0; line-height: 1.5; text-shadow: 0 1px 8px #0006; }
.equipment-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; }
.equipment-track::-webkit-scrollbar { display: none; }
.equipment-track:focus-visible { outline: 3px solid #fff; outline-offset: -5px; }
.equipment-slide { position: relative; flex: 0 0 100%; min-width: 0; aspect-ratio: 1; margin: 0; scroll-snap-align: start; scroll-snap-stop: always; }
.hero-visual .equipment-slide img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0; box-shadow: none; }
.equipment-slide figcaption { position: absolute; inset: auto 0 0; padding: 80px 180px 28px 28px; background: linear-gradient(transparent, #101d35e6); pointer-events: none; }
.equipment-slide h3 { margin: 0; color: #fff; font-size: 23px; line-height: 1.5; text-shadow: 0 1px 8px #0006; }
.equipment-controls { position: absolute; z-index: 3; bottom: 24px; right: 24px; display: flex; align-items: center; gap: 12px; }
.equipment-controls[hidden] { display: none; }
.equipment-controls button { width: 44px; height: 44px; border: 1px solid #ffffff80; border-radius: 50%; background: #12234085; color: #fff; font-size: 22px; cursor: pointer; }
.equipment-controls button:hover { background: #fff; color: var(--c-primary); }
.equipment-controls button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.equipment-status { min-width: 32px; text-align: center; font-size: 12px; font-variant-numeric: tabular-nums; color: #fff; }
@media (max-width: 640px) {
  .hero-closures { margin-top: 20px; padding: 16px; }
  .hero-closures li { font-size: 13px; }
  .equipment-heading { padding: 20px 20px 56px; }
  .equipment-slide figcaption { padding: 72px 154px 24px 20px; }
  .equipment-slide h3 { font-size: 18px; }
  .equipment-controls { bottom: 20px; right: 16px; gap: 6px; }
}
