@layer components {
  .home {
    font-size: 1.0625rem;
    line-height: 1.5;
  }
  :where(.home) :where(strong) { font-weight: 600; }

  .home__heading { font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; letter-spacing: -0.02em; text-wrap: balance; }

  .lookup-form { width: 100%; max-width: 34rem; }
  .lookup-form__row { display: flex; flex-direction: column; gap: 0.75rem; }
  .lookup-form .field__hint { margin-top: 0.375rem; }

  .home-sources { background: var(--xf-ink); color: var(--xf-paper); }
  .home-sources__inner { display: flex; flex-direction: column; gap: 0.625rem; padding-block: 1.25rem; }
  .home-sources__list { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-lg); font-size: 0.9375rem; font-weight: 600; }

  .home-pain { padding-block: 3.5rem; }
  .home-pain__title { max-width: 45rem; margin-bottom: var(--space-xl); }
  .home-pain__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .home-pain__lead { display: flex; flex-direction: column; justify-content: space-between; gap: var(--space-lg); padding: var(--space-lg); }
  .home-pain__lead-text { display: flex; flex-direction: column; gap: 0.875rem; }
  .home-pain__lead-title { font-size: clamp(1.75rem, 3vw, 2.125rem); line-height: 1.05; }
  .home-pain__lead-description { max-width: 27.5rem; font-size: 1.125rem; }
  .home-pain__note { font-size: var(--text-sm); font-weight: 600; }
  .home-pain__side { display: flex; flex-direction: column; gap: var(--space-lg); }
  .home-pain__card { display: flex; flex-direction: column; gap: var(--space-sm); padding: var(--space-lg); }
  .home-pain__card-title { font-size: var(--text-xl); line-height: 1.2; }

  .home-steps { border-block: var(--xf-border); background: var(--xf-surface); }
  .home-steps__inner { display: flex; flex-direction: column; gap: var(--space-xl); padding-block: 3.5rem; }
  .home-steps__list { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-lg); }
  .home-steps__step { display: grid; grid-template-columns: 3rem minmax(0, 1fr); column-gap: var(--space-md); align-items: start; }
  .home-steps__number { grid-row: span 2; font-family: var(--xf-font-display); font-size: 3.5rem; font-weight: 800; line-height: 0.9; }
  .home-steps__step:last-child .home-steps__number { color: var(--xf-green); }
  .home-steps__title { font-size: 1.25rem; line-height: 1.3; }
  .home-steps__text { color: var(--xf-ink-soft); }

  .home-price { padding-block: 3.5rem; }
  .home-price__card { display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden; }
  .home-price__offer,
  .home-price__features { display: flex; flex-direction: column; gap: 1.125rem; padding: 1.25rem; }
  .home-price__amounts { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.875rem; }
  .home-price__anchor { color: var(--xf-ink-soft); font-size: 1.375rem; }
  .home-price__amount { font-family: var(--xf-font-display); font-size: clamp(3.5rem, 7vw, 5rem); font-weight: 800; line-height: 0.9; letter-spacing: -0.03em; white-space: nowrap; }
  .home-price__terms,
  .home-price__note { color: var(--xf-ink-soft); }
  .home-price__note { font-size: var(--text-sm); }
  .home-price__features { border-top: var(--xf-border); background: var(--xf-paper); }
  .home-price__features-title { font-size: 1.125rem; font-weight: 600; }
  .home-price__list { display: flex; flex-direction: column; gap: 0.75rem; }
  .home-price__feature { display: flex; align-items: flex-start; gap: 0.625rem; }
  .home-price__feature strong { font-size: 1.1875rem; font-weight: 600; }
  .home-price__check { flex: none; margin-top: 0.15em; color: var(--xf-green); }
  .home-price__free { margin-top: 0.375rem; padding-top: 0.875rem; border-top: 2px dashed var(--xf-ink); color: var(--xf-ink-soft); font-size: 0.9375rem; }

  .home-faq { padding-bottom: 3.5rem; }
  .home-faq__inner { display: flex; flex-direction: column; gap: 1.75rem; }
  .home-faq__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(20rem, 100%), 1fr)); gap: 1.25rem; }
  .home-faq__item { display: flex; flex-direction: column; gap: 0.375rem; padding: 1.375rem; }
  .home-faq__question { font-size: 1.125rem; font-weight: 600; }
  .home-faq__answer { color: var(--xf-ink-soft); }

  .home-cta { background: var(--xf-ink); color: var(--xf-paper); }
  .home-cta__inner { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-lg); padding-block: 3.5rem; }
  .home-cta__title { max-width: 47.5rem; font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: 1; letter-spacing: -0.02em; text-wrap: balance; }

  @media (min-width: 768px) {
    .lookup-form__row { flex-direction: row; flex-wrap: wrap; }
    .lookup-form__row > :first-child { flex: 1 1 15rem; }

    .home-sources__inner { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.875rem 2.5rem; padding-block: 1.375rem; }
    .home-sources__list { gap: 0.875rem 2.5rem; }

    .home-pain { padding-block: 5.5rem; }
    .home-pain__title { margin-bottom: 2.25rem; }
    .home-pain__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-pain__lead { min-height: 18.75rem; padding: var(--space-xl); }
    .home-pain__card { padding: 1.625rem; }

    .home-steps__inner { gap: 2.5rem; padding-block: 5rem; }
    .home-steps__list { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-xl); }
    .home-steps__step { display: flex; flex-direction: column; gap: 0.625rem; }
    .home-steps__number { font-size: 4.5rem; }

    .home-price { padding-block: 5.5rem; }
    .home-price__offer,
    .home-price__features { padding: 2.5rem; }
    .home-price__cta { align-self: flex-start; }

    .home-faq { padding-bottom: 5.5rem; }

    .home-cta__inner { padding-block: 5rem; }
  }

  @media (min-width: 64rem) {
    .home-price__card { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .home-price__features { border-top: 0; border-left: var(--xf-border); }
  }
}

@layer modules {
  .lookup-form__row .field__input { min-width: 0; height: auto; min-height: 3.5rem; }

  .home-pain__lead { background: var(--xf-red-soft); }
  .home-price__card { border-radius: var(--xf-radius-lg); box-shadow: var(--xf-shadow-xl); }

  @media (max-width: 767px) {
    .home-price__cta { padding-inline: var(--space-md); }
  }

  .home-cta .field { color: var(--xf-paper); }
  .home-cta .field__hint { color: var(--xf-paper); }
  .home-cta .field__input,
  .home-cta .btn--amber { border-color: var(--xf-paper); }
  .home-cta .field__input:is(:hover, :focus-visible) { box-shadow: var(--xf-depth-sm) var(--xf-depth-sm) 0 var(--xf-paper); }
  .home-cta .btn--amber { box-shadow: calc(var(--xf-btn-depth) - var(--xf-btn-travel)) calc(var(--xf-btn-depth) - var(--xf-btn-travel)) 0 var(--xf-paper); }
  .home-cta :is(.field__input, .btn--amber):focus-visible { outline-color: var(--xf-amber); }
}
