/* Landing foundations. Section layouts live in styles/landing-*.css. */
:root { --landing-paper: #f7f8fc; --landing-ice: #edf3ff; --landing-blue-wash: #e3ecff; --landing-mobile-gutter: clamp(24px, 7vw, 32px); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 24px; overflow-x: clip; scrollbar-gutter: stable; }
body { min-width: 320px; margin: 0; background: var(--landing-paper); color: var(--color-navy); font-family: "Clipeway Inter", var(--font-ui); }
main { width: 100%; margin: 0; padding: 0; }
a { color: inherit; text-decoration: none; -webkit-tap-highlight-color: transparent; }
button, input { font: inherit; }
img, video { max-width: 100%; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 5px; }
.landing-skip { position: fixed; top: 10px; left: 10px; z-index: 30; padding: 12px 16px; border-radius: var(--radius-control); background: var(--color-surface); transform: translateY(-160%); }
.landing-skip:focus { transform: translateY(0); }
.landing-nav { z-index: var(--z-navigation); display: flex; align-items: center; }
.landing-nav nav { display: flex; align-items: center; }
.landing-nav nav a { white-space: nowrap; }
.landing-nav-cta { display: inline-flex; align-items: center; color: var(--color-surface); white-space: nowrap; transition: background var(--duration-fast), color var(--duration-fast), border-color var(--duration-fast); }
.landing-nav-cta:hover { background: transparent; border-color: #000; color: #000; box-shadow: none; }
.funnel-shell { width: min(1120px, calc(100% - 96px)); margin-inline: auto; }
.funnel-kicker { margin: 0 0 20px; color: var(--color-primary); font-size: 11px; font-weight: 600; line-height: 1.5; letter-spacing: .12em; text-transform: uppercase; }
.funnel-heading { margin: 0; font-size: clamp(32px, 3.5vw, 50px); font-weight: 620; line-height: 1.1; letter-spacing: -.045em; text-wrap: balance; }
.funnel-heading em { color: var(--color-primary); font-family: "Times New Roman", Times, serif; font-weight: 400; }
.funnel-button { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 46px; padding: 13px 22px; border: 1px solid transparent; border-radius: var(--radius-pill); background: #0b1426; color: var(--color-surface); font-size: 13px; font-weight: 550; line-height: 1.4; transition: background var(--duration-fast); }
.funnel-button:hover { background: #23334f; }
.funnel-button span { font-size: 20px; line-height: 1; }
.funnel-link { display: inline-flex; align-items: center; gap: 16px; padding-bottom: 7px; border-bottom: 1px solid var(--color-primary); color: var(--color-primary); font-size: 13px; line-height: 1.5; }
.funnel-link:hover { color: var(--color-primary-hover); }
.funnel-note { margin: 16px 0 0; color: var(--color-muted); font-size: 11px; line-height: 1.6; }
.landing-footer { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 24px; padding-block: 25px; border-top: 1px solid var(--color-border); color: var(--color-muted); font-size: 11px; }
.landing-footer-brand { display: block; width: 112px; line-height: 0; }
.landing-footer-brand img { display: block; width: 100%; height: auto; }
.landing-footer p { margin: 0; text-align: center; }
.landing-footer nav { display: flex; justify-self: end; align-items: center; gap: 20px; }
.landing-footer nav a { display: inline-flex; align-items: center; min-height: 36px; white-space: nowrap; }
.landing-footer-social { justify-content: center; width: 36px; }
.landing-footer-social svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.landing-footer-social .instagram-flash { fill: currentColor; stroke: none; }
.landing-footer a:hover { color: var(--color-navy); }
@media (max-width: 1000px) {
  .landing-footer { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; }
  .landing-footer p { order: 3; flex-basis: 100%; text-align: center; }
}
@media (max-width: 700px) {
  html { scrollbar-gutter: auto; }
  .funnel-shell { width: calc(100% - var(--landing-mobile-gutter) * 2); }
  .funnel-kicker { margin-bottom: 16px; font-size: 11px; letter-spacing: .09em; }
  .funnel-heading { font-size: clamp(26px, 7vw, 36px); }
  .funnel-button { min-height: 48px; font-size: 14px; }
  .funnel-link { min-height: 44px; align-items: center; font-size: 14px; }
  .funnel-note { font-size: 12px; }
  .landing-footer { flex-wrap: wrap; gap: 20px; }
  .landing-footer p { order: 3; flex-basis: 100%; text-align: center; }
  .landing-footer-brand { margin-inline: auto; }
  .landing-footer nav { flex-basis: 100%; justify-content: center; flex-wrap: wrap; gap: 4px 16px; }
  .landing-footer nav a { min-height: 44px; font-size: 12px; }
  .landing-footer-social { width: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .funnel-button, .landing-nav-cta { transition: none; }
}

/* Desktop content grows with the monitor, while paragraphs retain readable lines. */
@media (min-width: 1000px) {
  .funnel-shell { width: min(clamp(1120px, 58.34vw, 1520px), calc(100% - 96px)); }
  .funnel-heading { font-size: clamp(38px, 2.61vw, 58px); }
  .intro-layout, .offer-layout, .faq-layout { column-gap: clamp(40px, 4.2vw, 88px); }
}
