/* Subject-led Pexels footage; local photographs remain the network fallback. */
html, body { overflow-x: clip; }
.home-hero .hero-media { overflow: hidden; background: #17191a; }
.home-hero-slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 1.05s ease, visibility 1.05s ease; }
.home-hero-slide.is-active { opacity: 1; visibility: visible; }
.home-hero-slide img, .home-hero-slide video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.home-hero-slide img { z-index: 0; }
.home-hero-slide video { z-index: 1; }
.home-hero .hero-shade { z-index: 2; pointer-events: none; }
.home-hero-nav { position: absolute; z-index: 4; left: var(--pad); bottom: 24px; display: flex; align-items: center; gap: 5px; }
.home-hero-nav button { width: 49px; height: 35px; border: 0; border-bottom: 2px solid rgba(242,240,233,.46); background: rgba(18,20,21,.28); color: #f2f0e9; font: 600 .69rem/1 monospace; letter-spacing: .08em; cursor: pointer; transition: border-color .3s, background .3s; }
.home-hero-nav button:hover, .home-hero-nav button:focus-visible, .home-hero-nav button[aria-current="true"] { border-color: #d8af36; background: rgba(18,20,21,.7); }
.home-hero-nav button:focus-visible { outline: 2px solid #f2f0e9; outline-offset: 3px; }
.category-image .topic-video, .service-hero-media .topic-video { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: cover; }
.service-hero-media > div, .category-image::after { z-index: 2; pointer-events: none; }
.service-hero-copy, .category-copy, .service-mark { z-index: 3; }
.hr-hero-media { position: absolute; inset: 0; z-index: 0; overflow: hidden; }
.hr-hero-media img, .hr-hero-media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hr-hero-media video { z-index: 1; }
.hr-hero::before { z-index: 1; background: linear-gradient(100deg, rgba(16,18,19,.97) 3%, rgba(16,18,19,.86) 47%, rgba(16,18,19,.68)), linear-gradient(0deg, rgba(16,18,19,.83), transparent 75%); pointer-events: none; }
.hr-hero::after { z-index: 1; }
.hr-hero-copy, .hr-console-wrap { position: relative; z-index: 2; }
@media (max-width: 760px) {
  .home-hero { min-height: 100svh; padding-bottom: 132px; }
  .home-hero-nav { left: 22px; bottom: 24px; }
  .home-hero-nav button { width: 39px; height: 32px; }
  .home-hero .scroll-cue { left: 22px; bottom: 76px; }
  .home-hero h1 { font-size: clamp(2.65rem, 12.5vw, 5rem); overflow-wrap: break-word; }
  .service-hero h1, .category-hero h1 { font-size: clamp(2.45rem, 11.3vw, 5rem); overflow-wrap: anywhere; }
  .service-hero, .category-hero { min-height: 90svh; }
  .hr-hero h1 { font-size: clamp(2.85rem, 11.3vw, 5.2rem); overflow-wrap: break-word; }
}
@media (max-width: 390px) {
  .home-hero .hero-actions { margin-top: 22px; }
  .home-hero h1 { font-size: clamp(2.55rem, 11.5vw, 4.5rem); }
  .service-hero h1, .category-hero h1 { font-size: clamp(2.3rem, 10.5vw, 4.5rem); }
}
@media (prefers-reduced-motion: reduce) {
  .home-hero-slide { transition: none; }
  .home-hero-slide video, .topic-video { visibility: hidden; }
}
