/* Swift landing refinements — isolated from the app UI.
   Typography pass: 2026-09-17. */

/* ------------------------------------------------------------
   TYPOGRAPHY SYSTEM
   Preserve the layout/brand while giving every text layer a
   clearer editorial hierarchy and more deliberate rhythm.
   ------------------------------------------------------------ */
.swift-home {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-synthesis: none;
}

.swift-home :where(h1, h2, h3) {
  text-wrap: balance;
  font-kerning: normal;
}

.swift-home :where(p, li, summary) {
  text-wrap: pretty;
}

/* Hero — stronger hierarchy without changing its composition. */
.swift-home #inicio h1 {
  font-size: clamp(3.95rem, 4.8vw, 5.45rem) !important;
  line-height: .9 !important;
  letter-spacing: -.048em !important;
  font-weight: 900 !important;
}

.swift-home #inicio h1 > span {
  line-height: inherit !important;
}

.swift-home #inicio h1 + p {
  margin-top: 1.15rem !important;
  max-width: 20ch !important;
  font-size: clamp(2.25rem, 2.72vw, 3.08rem) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
  font-weight: 900 !important;
}

.swift-home #inicio h1 + p + p {
  margin-top: 1.55rem !important;
  max-width: 42rem !important;
  font-size: clamp(1.05rem, 1.18vw, 1.2rem) !important;
  line-height: 1.62 !important;
  letter-spacing: -.012em !important;
  font-weight: 500 !important;
  color: rgba(255,255,255,.78) !important;
}

/* Section headlines — same visual language from top to bottom. */
.swift-home section h2 {
  font-size: clamp(2.65rem, 4.15vw, 4.65rem) !important;
  line-height: .95 !important;
  letter-spacing: -.045em !important;
  font-weight: 900 !important;
}

.swift-home section h3 {
  line-height: 1.12 !important;
  letter-spacing: -.024em !important;
  font-weight: 850 !important;
}

/* Eyebrows/kickers remain compact, but read as a deliberate system. */
.swift-home section p[class*="uppercase"] {
  line-height: 1.2 !important;
  letter-spacing: .18em !important;
  font-weight: 800 !important;
}

/* Long-form and FAQ text gain breathing room without changing content. */
.swift-home details summary {
  line-height: 1.32 !important;
  letter-spacing: -.016em !important;
  font-weight: 800 !important;
}

.swift-home details p {
  line-height: 1.68 !important;
  letter-spacing: -.006em !important;
}

.swift-home button,
.swift-home a {
  font-kerning: normal;
}

/* Tablet: preserve hierarchy without forcing awkward wraps. */
@media (min-width: 640px) and (max-width: 1023px) {
  .swift-home #inicio h1 {
    font-size: clamp(3.35rem, 7vw, 4.45rem) !important;
    line-height: .91 !important;
    letter-spacing: -.05em !important;
  }

  .swift-home #inicio h1 + p {
    font-size: clamp(2rem, 4.35vw, 2.72rem) !important;
    line-height: 1 !important;
  }

  .swift-home #inicio h1 + p + p {
    max-width: 39rem !important;
    font-size: 1.06rem !important;
    line-height: 1.6 !important;
  }

  .swift-home section h2 {
    font-size: clamp(2.5rem, 6vw, 3.75rem) !important;
    line-height: .96 !important;
  }
}

/* Mobile: larger perceived quality, less cramped copy and clean line breaks. */
@media (max-width: 639px) {
  .swift-home #inicio h1 {
    font-size: clamp(2.72rem, 11.8vw, 3.55rem) !important;
    line-height: .91 !important;
    letter-spacing: -.048em !important;
  }

  .swift-home #inicio h1 + p {
    margin-top: .95rem !important;
    max-width: 18ch !important;
    font-size: clamp(1.7rem, 7.1vw, 2.16rem) !important;
    line-height: 1 !important;
    letter-spacing: -.032em !important;
  }

  .swift-home #inicio h1 + p + p {
    margin-top: 1.35rem !important;
    max-width: 34rem !important;
    font-size: .98rem !important;
    line-height: 1.62 !important;
    color: rgba(255,255,255,.76) !important;
  }

  .swift-home section h2 {
    font-size: clamp(2.2rem, 10vw, 3.12rem) !important;
    line-height: .97 !important;
    letter-spacing: -.041em !important;
  }

  .swift-home section h3 {
    line-height: 1.15 !important;
    letter-spacing: -.02em !important;
  }

  .swift-home section p[class*="uppercase"] {
    letter-spacing: .16em !important;
  }
}

/* ------------------------------------------------------------
   ACCESS ACTION + MARQUEE FIXES
   Keep the previously validated desktop behavior intact.
   ------------------------------------------------------------ */
@media (min-width: 768px) {
  .swift-home header a[href="/auth"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    white-space: nowrap !important;
    font-size: 0 !important;
  }

  .swift-home header a[href="/auth"]::after {
    content: "Entrar no sistema";
    display: inline-block;
    margin-left: 8px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
    color: inherit;
  }

  .swift-home header a[href="/auth"] svg {
    display: block !important;
    width: 16px !important;
    height: 16px !important;
    flex: 0 0 auto !important;
  }
}

@media (min-width: 1024px) {
  /* The legacy desktop hero stylesheet adds a dark ::before fade that extends
     24px into the marquee. Keep the hero overlap, but never let that overlay
     cover the green ticker itself. */
  .swift-home #inicio + div::before {
    content: none !important;
    display: none !important;
  }

  .swift-home > div:has(> .swift-marquee-track) {
    display: flex !important;
    width: 100% !important;
    min-height: 44px !important;
    height: 44px !important;
    align-items: center !important;
    overflow: hidden !important;
    background: #65ff3b !important;
    border-top-color: rgba(0,0,0,.12) !important;
    border-bottom-color: rgba(0,0,0,.12) !important;
  }

  .swift-home .swift-marquee-track {
    display: flex !important;
    min-height: 44px !important;
    height: 44px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .swift-home .swift-marquee-track > div {
    display: flex !important;
    height: 44px !important;
    min-height: 44px !important;
    align-items: center !important;
    line-height: 1 !important;
    margin: 0 !important;
    padding-top: 1px !important;
    padding-bottom: 0 !important;
  }

  .swift-home .swift-marquee-track > div > span {
    display: inline-flex !important;
    align-items: center !important;
    line-height: 1 !important;
  }
}
