:where([id]) {
  scroll-margin-top: 88px;
}

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 2px solid var(--lila-bright, #A89FF0);
  outline-offset: 4px;
  border-radius: 8px;
}

:where(.hero-cta, .btn, .btn-primary, .btn-ghost, .cta, .nav-cta, .nav-pill):focus-visible {
  box-shadow: 0 0 0 5px rgba(168, 159, 240, 0.22);
}

:where(.nav-links a, .foot-links a, .legal-links a, .footer-links a, .crumb a, aside a) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.crumb a {
  padding-inline: 6px;
  margin-inline: -6px;
}

:where(.hero-cta, .btn, .btn-primary, .btn-ghost, .cta, .nav-cta, .nav-pill) {
  min-height: 44px;
}

.logo,
:where(a[href^="mailto:"], a[href^="tel:"]) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.logo {
  gap: 4px;
}

body > header.hero {
  min-height: 94svh;
}

.hero h1 {
  font-size: clamp(46px, 8vw, 96px);
}

.hero-title-proof {
  line-height: .98;
  max-width: 930px;
  margin-inline: auto;
}

.hero-title-proof em {
  color: var(--lila-bright);
  font-style: italic;
  position: relative;
  text-shadow: 0 0 34px rgba(168, 159, 240, .22);
}

.hero-title-proof em::after {
  content: "";
  position: absolute;
  left: .05em;
  right: -.02em;
  bottom: .05em;
  height: .08em;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(168, 159, 240, .08), rgba(168, 159, 240, .72), rgba(168, 159, 240, .08));
}

.contact h2 {
  font-size: clamp(48px, 9vw, 96px);
}

.reveal {
  opacity: 1;
  transform: none;
}

.js .reveal {
  opacity: 0.82;
  transform: translateY(var(--reveal-y, 12px));
  transition: opacity 0.64s var(--ease-out, cubic-bezier(0.23, 1, 0.32, 1)), transform 0.64s var(--ease-out, cubic-bezier(0.23, 1, 0.32, 1));
}

.js .reveal.in {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  :where(*, *::before, *::after) {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }

  .js .reveal {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 720px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .wrap {
    width: 100%;
    padding-inline: clamp(20px, 6vw, 28px);
  }

  :where(.nav-inner, .nav-links, .hero-content, .hero-grid, .hero-copy, .about-hero, .split, .trajectory-layout, .legal-grid, section.case .wrap, .sec-head, .shot) {
    min-width: 0;
  }

  :where(h1, h2, h3, p, li, .lead, .sec-body, .note, .archive-intro, .stats-text) {
    max-width: 100%;
    overflow-wrap: break-word;
  }

  .nav-inner {
    gap: 12px;
  }

  .nav-links {
    gap: 14px;
    min-width: 0;
  }

  :where(.nav-cta, .nav-pill) {
    padding-inline: 14px;
    white-space: nowrap;
  }

  body > header.hero {
    min-height: 92svh;
  }
}

@media (max-width: 520px) {
  .hero h1 {
    font-size: clamp(44px, 14vw, 68px);
  }

  .contact h2 {
    font-size: clamp(44px, 15vw, 66px);
  }

  :where(.contact-btns, .hero-actions, .closing-actions) {
    width: 100%;
  }

  :where(.contact-btns a, .hero-actions a, .closing-actions a) {
    justify-content: center;
    max-width: 100%;
    width: 100%;
    white-space: normal;
  }
}
