/* NEUROSERVER SITE STANDARD V1 - landing family baseline
   Scope: catalog/index.html, services/index.html, industries/index.html
   Typography: existing M1 shared tokens only.
   Runtime: existing M1 only. No new controller ownership. */

body.site-landing-v1 {
  --landing-head-gap: clamp(30px, 3.2vw, 54px);
}

body.site-landing-v1 main > section > .container {
  width: 94vw !important;
  max-width: none !important;
  margin-inline: auto;
}

body.site-landing-v1.catalog-convergence-page .site-landing-hero h1,
body.site-landing-v1.services-convergence-page .site-landing-hero h1,
body.site-landing-v1.industries-convergence-page .site-landing-hero h1 {
  max-width: 16ch !important;
  color: var(--site-ink);
  font-family: var(--site-display);
  font-size: var(--site-display-h1-size) !important;
  font-weight: var(--site-display-weight) !important;
  letter-spacing: var(--site-display-track) !important;
  line-height: var(--site-display-line) !important;
  text-wrap: balance;
}

body.site-landing-v1.catalog-convergence-page .site-landing-hero .phase40b-hero__lead,
body.site-landing-v1.services-convergence-page .site-landing-hero .services-index-hero__lead,
body.site-landing-v1.industries-convergence-page .site-landing-hero .page-hero__lead {
  max-width: 820px;
  color: var(--site-muted);
  font-family: var(--site-body);
  font-size: var(--site-lead-size) !important;
  line-height: 1.55 !important;
}

body.site-landing-v1 .site-landing-section-head {
  margin-bottom: var(--landing-head-gap);
}

body.site-landing-v1.catalog-convergence-page .site-landing-section-head h2,
body.site-landing-v1.services-convergence-page .site-landing-section-head h2,
body.site-landing-v1.industries-convergence-page .site-landing-section-head h2,
body.site-landing-v1 .site-landing-final h2 {
  max-width: 18ch;
  color: var(--site-ink);
  font-family: var(--site-display);
  font-size: var(--site-display-h2-size) !important;
  font-weight: var(--site-display-weight) !important;
  letter-spacing: var(--site-display-track) !important;
  line-height: var(--site-display-line) !important;
  text-wrap: balance;
}

body.site-landing-v1.catalog-convergence-page .site-landing-section-head > p,
body.site-landing-v1.services-convergence-page .site-landing-section-head > p,
body.site-landing-v1.services-convergence-page .site-landing-section-head > div > p,
body.site-landing-v1.industries-convergence-page .site-landing-section-head > p,
body.site-landing-v1 .site-landing-final p {
  max-width: 780px;
  color: var(--site-muted);
  font-family: var(--site-body);
  font-size: var(--site-body-size) !important;
  line-height: 1.62;
}

body.site-landing-v1 .phase40b-kicker,
body.site-landing-v1 .services-eyebrow,
body.site-landing-v1 .phase22-eyebrow,
body.site-landing-v1 .services-group__index,
body.site-landing-v1 .industry-signal__index,
body.site-landing-v1 .industry-bridge-card__eyebrow {
  font-family: var(--site-display);
  font-size: var(--site-kicker-size) !important;
  font-weight: 700;
  letter-spacing: 0.11em;
  line-height: 1.3;
  text-transform: uppercase;
}

body.site-landing-v1 .phase40b-faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
  width: 100%;
  max-width: none;
}

body.site-landing-v1 .phase40b-faq-list .faq-item {
  min-width: 0;
}

body.site-landing-v1 .site-landing-final {
  position: relative;
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  body.site-landing-v1 .site-motion-hero .site-landing-hero__visual {
    transform:
      translate3d(
        calc(var(--site-hero-pointer-x, 0) * 6px),
        calc(var(--site-hero-pointer-y, 0) * 4px - var(--site-hero-progress, 0) * 7px),
        0
      )
      scale(calc(1 - var(--site-hero-progress, 0) * 0.012));
    transition: transform 140ms linear;
    will-change: transform;
  }

  body.site-landing-v1 .site-motion-hero .site-landing-hero__copy {
    transform: translateY(calc(var(--site-hero-progress, 0) * -4px));
    opacity: calc(1 - var(--site-hero-progress, 0) * 0.05);
    transition: transform 150ms linear, opacity 150ms linear;
    will-change: transform, opacity;
  }
}

@media (max-width: 760px) {
  body.site-landing-v1 main > section > .container {
    width: 92vw !important;
  }

  body.site-landing-v1 {
    --landing-head-gap: 28px;
  }

  body.site-landing-v1 .phase40b-faq-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}
