/* Load after experience.css and responsive.css. */
.hero[data-ambient-hero],
.editorial-hero[data-ambient-hero] {
  --ambient-hero-height: 880px;
  min-height: var(--ambient-hero-height);
  height: auto; /* Text enlargement must be allowed to grow the section. */
  box-sizing: border-box;
  isolation: isolate;
}
.ambient-playlist {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  background: #171817;
  pointer-events: none;
}
.ambient-playlist > .ambient-poster,
.ambient-playlist > video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--ambient-position, 50% 50%);
}
.ambient-playlist > .ambient-poster { z-index: 0; }
.ambient-playlist > video {
  z-index: 1;
  opacity: 1;
  background: transparent;
  pointer-events: none;
}
/* Both layers remain rendered; the paused buffer sits below the current frame. */
.ambient-playlist > video.is-current { z-index: 3; }
.ambient-playlist > video.is-departing { z-index: 2; }
.ambient-playlist > video.is-entering { animation: ambient-enter 420ms ease both; }
.ambient-playlist > video.has-error { display: none; }
@keyframes ambient-enter { from { opacity: 0; } to { opacity: 1; } }
/* Browser chrome is neither requested nor a user interaction target. */
.ambient-playlist video::-webkit-media-controls,
.ambient-playlist video::-webkit-media-controls-enclosure,
.ambient-playlist video::-webkit-media-controls-panel,
.ambient-playlist video::-webkit-media-controls-start-playback-button {
  display: none !important;
  -webkit-appearance: none;
}
[data-ambient-hero] .hero-shade,
[data-ambient-hero] .editorial-hero-shade { z-index: -1; }
.hero[data-ambient-hero] .hero-shade {
  background: linear-gradient(90deg,#101110e6 0%,#101110a3 44%,#10111018 100%),linear-gradient(0deg,#101110fa 0%,#10111077 25%,transparent 70%);
}
.hero[data-ambient-hero] .hero-content { padding-bottom: 30px; }
@media (max-width: 680px) {
  .hero[data-ambient-hero],
  .editorial-hero[data-ambient-hero] { --ambient-hero-height: 980px; }
  .hero[data-ambient-hero] .hero-content { padding-bottom: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .ambient-playlist > video { animation: none; display: none; }
}
html.motion-off .ambient-playlist > video { display: none; animation: none; }
/* Keep the longest contact and approach heading words intact on narrow phones. */
@media (max-width: 380px) {
  body:has(#contact-form) .editorial-hero[data-ambient-hero] h1,
  body:has(.approach-details) .editorial-hero[data-ambient-hero] h1 {
    font-size: 40px;
    overflow-wrap: normal;
    word-break: normal;
  }
}

/* Compact video-only introductions; content may grow naturally on small screens. */
.hero[data-ambient-hero],.editorial-hero[data-ambient-hero]{--ambient-hero-height:660px;min-height:660px}
.editorial-hero[data-ambient-hero]{padding-top:130px;padding-bottom:48px}
.editorial-hero[data-ambient-hero] h1{font-size:clamp(46px,4.8vw,66px);line-height:1.08;max-width:1000px}
.editorial-hero[data-ambient-hero] .page-lead{font-size:17px;line-height:1.7;max-width:790px;margin:22px 0 28px}
.hero[data-ambient-hero] .hero-content{padding-top:120px;padding-bottom:28px}
.hero[data-ambient-hero] h1{font-size:clamp(48px,5vw,68px);line-height:1.05}
.hero[data-ambient-hero] .hero-lead{margin-top:22px}
.hero[data-ambient-hero] .scroll-note{margin-top:20px;margin-bottom:22px}
@media(max-width:680px){
.hero[data-ambient-hero],.editorial-hero[data-ambient-hero]{min-height:0}
.editorial-hero[data-ambient-hero]{padding-top:112px;padding-bottom:40px}
.editorial-hero[data-ambient-hero] h1{font-size:clamp(38px,9.5vw,52px);line-height:1.08}
.editorial-hero[data-ambient-hero] .page-lead{font-size:16px;line-height:1.65;margin:20px 0 26px}
.hero[data-ambient-hero] .hero-content{padding-top:112px;padding-bottom:26px}
.hero[data-ambient-hero] h1{font-size:clamp(42px,10vw,56px)}
}
/* Clear spacing around the homepage's single action. */
.hero[data-ambient-hero] .inquiry-cta{margin-top:24px}
