html { scroll-behavior: smooth; scroll-padding-top: 104px; }
section[id] { scroll-margin-top: 0; }
a:focus-visible, button:focus-visible { outline: 2px solid #d0bcff; outline-offset: 5px; }
.skip-link { position: fixed; top: -100px; left: 20px; z-index: 100; padding: 12px 16px; background: #d0bcff; color: #23005c; border-radius: 8px; }
.skip-link:focus { top: 16px; }
.grid > *, .flex > * { min-width: 0; }
.material-symbols-outlined { flex-shrink: 0; }
#mobile-menu { background: #0f0d13; padding: 12px 20px 20px; border-top: 1px solid #49445455; }
#mobile-menu[hidden] { display: none; }
#mobile-menu a { display: block; padding: 12px; color: #e6e1e8; border-radius: 8px; }
#mobile-menu a:hover { background: #201f24; color: #d0bcff; }
header img, footer img { width: 32px; height: 32px; object-fit: contain; }
@media (min-width: 1024px) { #mobile-menu { display: none; } }
@media (max-width: 767px) {
  header .h-20 { height: 72px; gap: 8px; }
  header .font-headline-sm { font-size: 18px; line-height: 24px; }
  header img { width: 24px; height: 24px; }
  header [data-path="book-a-call"] { display: none; }
  main.pt-20 { padding-top: 72px; }
  h1.text-display-hero-mobile { font-size: clamp(36px, 9.5vw, 60px); line-height: 1.12; }
  h2.text-headline-lg, h2.text-headline-lg-mobile { font-size: 32px; line-height: 1.2; }
  .py-space-3xl { padding-top: 64px; padding-bottom: 64px; }
  .p-space-xl { padding: 24px; }
  .mb-space-2xl { margin-bottom: 36px; }
  .font-label-caps { overflow-wrap: anywhere; }
  #contact a[href^="mailto:"] > div:last-child { overflow-wrap: anywhere; }
  section:first-child .inline-flex.rounded-full { max-width: 100%; }
  section:first-child .inline-flex.rounded-full > .font-label-caps { font-size: 9px; letter-spacing: .06em; }
  section:first-child .inline-flex.rounded-full > .relative { flex-shrink: 0; }
  #how-it-works .justify-between { gap: 10px; }
  #how-it-works .justify-between > span:last-child { flex-shrink: 0; }
  #results .justify-between { gap: 12px; flex-wrap: wrap; }
}
@media (max-width: 420px) {
  section:first-child .font-label-caps { font-size: 9px; }
  section:first-child .flex.items-center.gap-space-md { flex-wrap: wrap; gap: 8px; }
  #system .p-space-md.flex { gap: 8px; }
  #system .text-label-caps { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

footer a[href^="mailto:"] { overflow-wrap: anywhere; }
