.hero { overflow: hidden; background: #fff; }
.hero-poster, .hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero-poster { transition: opacity .4s ease; }
.hero-video { opacity: 0; transition: opacity .4s ease; }
.hero[data-started="true"] .hero-video { opacity: 1; }
.hero[data-started="true"] .hero-poster { opacity: 0; pointer-events: none; }
.hero-controls { position: absolute; left: var(--hero-play-x, 50%); top: var(--hero-play-y, 36.111%); width: clamp(44px, 5vw, 76px); height: clamp(44px, 5vw, 76px); transform: translate(-50%, -50%); z-index: 3; }
.video-control { display: grid; place-items: center; width: 100%; height: 100%; padding: 0; border: 0; border-radius: 50%; background: #0d1b50; color: white; transition: background .2s ease, transform .2s ease; }
.video-control:hover { background: #182d71; transform: scale(1.06); }
.video-control:focus-visible { outline: 3px solid white; outline-offset: 5px; }
.video-control svg { width: 40%; height: 40%; }
.video-control[hidden], .motion-toggle[hidden] { display: none; }
.testimonials .section-heading h2 { max-width: 723px; }
.testimonials .motion-toggle { display: inline-block; margin-top: 20px; padding: 8px 12px; border: 1px solid var(--line); border-radius: 9px; background: white; color: var(--muted); font-size: 12px; line-height: 20px; }
.testimonials .motion-toggle:hover { color: var(--blue); border-color: #2347d833; }
.testimonials .motion-toggle[hidden] { display: none; }
.testimonial-rows { max-width: 1920px; margin-left: auto; margin-right: auto; }
.quote-row { display: block; overflow-x: auto; padding: 0 0 10px; scroll-snap-type: none; scroll-behavior: auto; scrollbar-width: none; mask-image: linear-gradient(90deg, transparent, black 3%, black 97%, transparent); }
.quote-row::-webkit-scrollbar { display: none; }
.quote-row:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.quote-track { display: flex; gap: 20px; width: max-content; will-change: transform; }
.quote-track .quote { width: var(--story-card-width, 391px); }
.quote-person img { object-fit: cover; flex-shrink: 0; }
@media (max-width: 900px) {
  .hero { height: calc(56.25vw + 150px); min-height: 0; max-height: none; }
  .hero-video, .hero-poster { inset: 76px 0 auto; height: 56.25vw; object-fit: contain; }
  .quote-track .quote { width: var(--story-card-width, 310px); }
}
@media (max-width: 600px) {
  .hero { height: calc(56.25vw + 110px); }
  .hero-video, .hero-poster { inset: 64px 0 auto; }
  .quote-track { gap: 14px; }
  .quote-track .quote { width: var(--story-card-width, 300px); }
}
@media (prefers-reduced-motion: reduce) {
  .hero-poster, .hero-video, .site-header, .video-control { transition: none; }
  .quote-track { will-change: auto; }
}
