.equipment-heading { display: block; }
.equipment-viewport { overflow: visible; }
.equipment-viewport:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.equipment-track { display: block; width: auto; overflow: visible; animation: none; transform: none; scroll-snap-type: none; }
.equipment-group { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding: 0; }
.equipment-item { width: auto; min-width: 0; scroll-snap-align: none; }

.equipment-viewport.is-rotating { overflow: hidden; }
.equipment-viewport.is-rotating .equipment-track { display: flex; width: max-content; transition: transform 800ms cubic-bezier(.22,.7,.18,1); will-change: transform; }
.equipment-viewport.is-rotating .equipment-group { display: flex; flex: none; gap: 14px; padding-right: 14px; }
.equipment-viewport.is-rotating .equipment-item { flex: 0 0 var(--equipment-card-width); width: var(--equipment-card-width); }

@media (max-width: 900px) { .equipment-group { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .equipment-group { grid-template-columns: 1fr; } }

.rental-terms { padding: 80px 0 96px; }
.rental-terms-inner { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr); gap: 80px; align-items: start; }
.rental-terms-intro { position: sticky; top: 104px; }
.rental-terms-kicker { margin: 0 0 16px; color: var(--accent); font-size: 11px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; }
.rental-terms-intro h2 { margin: 0 0 18px; font: clamp(40px, 4vw, 56px)/0.98 var(--font-display); text-transform: uppercase; color: var(--white); }
.rental-terms-intro > p:last-child { margin: 0; max-width: 300px; color: var(--ink-300); line-height: 1.6; }
.rental-terms-list { border-top: 1px solid var(--ink-700); }
.rental-term { display: grid; grid-template-columns: minmax(145px, 0.5fr) minmax(0, 1fr); gap: 24px; padding: 22px 0; border-bottom: 1px solid var(--ink-700); }
.rental-term h3 { margin: 0; color: var(--white); font: 20px/1.1 var(--font-display); text-transform: uppercase; }
.rental-term p { margin: 0; color: var(--ink-300); font-size: 14px; line-height: 1.6; }
@media (max-width: 900px) {
  .rental-terms-inner { grid-template-columns: 1fr; gap: 38px; }
  .rental-terms-intro { position: static; }
}
@media (max-width: 560px) {
  .rental-terms { padding: 64px 0 72px; }
  .rental-term { grid-template-columns: 1fr; gap: 8px; }
}
