/* Loaded only by /mobile/. Desktop and Agent pages keep their original assets. */
html {
  overflow-x: clip;
}

body {
  overflow-x: clip;
  overflow-y: visible;
}

@media (max-width: 900px) {
  .consulting-site .cinematic-header {
    position: fixed;
    padding: max(16px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) 16px max(20px, env(safe-area-inset-left));
  }

  .consulting-site .cinematic-menu-button {
    width: 44px;
    height: 44px;
    touch-action: manipulation;
  }

  .consulting-site .cinematic-mobile-menu {
    padding-top: calc(86px + env(safe-area-inset-top));
  }

  .consulting-site .cinematic-mobile-menu:not(.is-open) {
    visibility: hidden;
  }

  .consulting-site .cinematic-mobile-menu.is-open {
    max-height: min(560px, 100dvh);
    padding-bottom: max(24px, env(safe-area-inset-bottom));
    overflow-y: auto;
    overscroll-behavior-y: contain;
  }

  .consulting-site .cinematic-mobile-menu nav a,
  .consulting-site .cinematic-mobile-menu__cta {
    min-height: 48px;
    font-size: 16px;
    touch-action: manipulation;
  }

  .consulting-site .cinematic-hero {
    min-height: max(700px, min(840px, 100svh));
  }

  .consulting-site .cinematic-hero__content {
    width: calc(100% - 40px);
    padding-top: calc(116px + env(safe-area-inset-top));
    padding-bottom: 300px;
  }

  .consulting-site .cinematic-hero h1 {
    font-size: clamp(34px, 9.1vw, 54px);
    letter-spacing: -0.035em;
    line-height: 1.16;
  }

  .consulting-site .cinematic-hero__eyebrow {
    font-size: 9px;
    letter-spacing: 0.13em;
  }

  .consulting-site .cinematic-hero__lead {
    max-width: 30em;
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.8;
    text-wrap: pretty;
  }

  .consulting-site .cinematic-hero__button {
    min-height: 48px;
    margin-top: 24px;
    font-size: 14px;
    touch-action: manipulation;
  }

  /* Preserve the full moving video and its proportions. A wide bottom band
     keeps both hands visible instead of cropping them away in portrait. */
  .consulting-site .cinematic-hero__video {
    inset: 300px auto auto -25%;
    width: 150%;
    max-width: none;
    height: auto;
    aspect-ratio: 3828 / 2164;
    object-fit: contain;
    transform: none;
    pointer-events: none;
  }

  .consulting-site .cinematic-hero__veil {
    background: linear-gradient(180deg, #f3f4f7 0%, rgb(243 244 247 / 94%) 17%, rgb(243 244 247 / 20%) 46%, transparent 64%);
  }

  .consulting-site [id]:not(#top):not(#cinematic-mobile-menu) {
    scroll-margin-top: calc(100px + env(safe-area-inset-top));
  }

  .consulting-site .consulting-agent__api-note {
    max-width: 100%;
    white-space: normal;
    font-size: 11px;
  }

  .consulting-site .consulting-agent__body > p,
  .consulting-site .consulting-section__intro > p:last-child,
  .consulting-site .consulting-implementation__heading > p {
    font-size: 15px;
    line-height: 1.75;
  }

  .consulting-site .consulting-agent__link {
    min-height: 48px;
    font-size: 14px;
    touch-action: manipulation;
  }

  .consulting-site .consulting-footer {
    padding-bottom: env(safe-area-inset-bottom);
  }

  .consulting-site .consulting-footer__inner > div a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    font-size: 12px;
  }
}

@media (max-width: 380px) {
  .consulting-site .cinematic-header {
    padding-inline: 16px;
  }

  .consulting-site .cinematic-hero__content {
    width: calc(100% - 32px);
  }

  .consulting-site .cinematic-hero h1 {
    font-size: clamp(30px, 9.1vw, 35px);
  }
}

@media (min-width: 561px) and (max-width: 900px) and (min-height: 601px) {
  .consulting-site .cinematic-hero__content {
    padding-top: 140px;
    padding-bottom: 340px;
  }

  .consulting-site .cinematic-hero__video {
    top: 320px;
    inset-inline-start: 0;
    width: 100%;
  }
}

@media (max-width: 900px) and (max-height: 600px) and (orientation: landscape) {
  .consulting-site .cinematic-hero {
    min-height: 620px;
  }

  .consulting-site .cinematic-hero__content {
    padding-top: 100px;
    padding-bottom: 260px;
  }

  .consulting-site .cinematic-hero h1 {
    font-size: 38px;
  }

  .consulting-site .cinematic-hero__video {
    top: 275px;
    inset-inline-start: 10%;
    width: 80%;
  }
}
