/* Hallmark · pre-emit critique: P4 H5 E4 S4 R5 V4
 * Hallmark · genre: modern-minimal · macrostructure: Long Document (páginas irmãs de setor: mesmo gabarito, gerado por tools/build-setores.py)
 * hero: tipográfico left-bias · seções: dores (lista com régua) · soluções (blocos em ledger 4/8) · logos do setor (T2) · do blog · FAQ · plans
 * theme: custom "ForSign" (herdado) · nav: N5 · footer: Ft2 · motion: .reveal + lift do CTA · v1.1.0
 */
.lhero { padding-block: calc(var(--nav-height) + var(--space-2xl)) var(--space-lg); display: grid; gap: var(--space-lg); min-height: clamp(50vh, 62dvh, 72dvh); align-content: center; }
.lhero__kicker { font-family: var(--font-display); font-weight: 500; font-size: var(--text-sm); color: var(--color-accent-deep); }
.lhero h1 { font-size: var(--text-display); max-width: 16ch; }
.lhero .lede { max-width: 46ch; }
.lhero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md) var(--space-lg); }
.lhero__jump { display: flex; flex-wrap: wrap; gap: var(--space-2xs) var(--space-md); margin-top: var(--space-md); padding-top: var(--space-md); border-top: var(--rule-hair) solid var(--color-rule); font-size: var(--text-sm); }
.lhero__jump a { display: inline-flex; align-items: center; min-height: 44px; white-space: nowrap; color: var(--color-ink-2); text-decoration: none; }
.lhero__jump a:hover { color: var(--color-ink); text-decoration: underline; }
@media (min-width: 60rem) { .lhero { padding-block: calc(var(--nav-height) + var(--space-3xl)) var(--space-xl); } }

/* Dores: três afirmações em lista com régua */
.dores { padding-block: var(--space-2xl) var(--space-3xl); border-top: var(--rule-hair) solid var(--color-rule); display: grid; gap: var(--space-lg); }
.dores h2 { font-size: var(--text-display-s); max-width: 18ch; }
.dores__list { display: grid; grid-template-columns: minmax(0, 1fr); border-top: var(--rule-hair) solid var(--color-rule); }
.dores__list li { display: grid; gap: var(--space-xs); padding: var(--space-lg) 0; border-bottom: var(--rule-hair) solid var(--color-rule); }
.dores__list h3 { font-size: var(--text-md); }
.dores__list p { color: var(--color-ink-2); max-width: 52ch; }
@media (min-width: 60rem) { .dores__list { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--space-2xl); } .dores__list li { border-bottom: 0; border-top: 0; padding-top: var(--space-lg); } .dores__list { border-bottom: var(--rule-hair) solid var(--color-rule); } }

/* Soluções: ledger 4/8 sobre paper-2 */
.solucoes { background: var(--color-paper-2); padding-block: var(--space-2xl) var(--space-3xl); }
.solucoes__inner { display: grid; gap: var(--space-xl); }
.solucoes h2 { font-size: var(--text-display-s); max-width: 18ch; }
.sol { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-md); padding: clamp(1.25rem, 3vw, 2rem); background: var(--color-paper); border-radius: var(--radius-lg); }
.sol h3 { font-size: var(--text-lg); max-width: 24ch; }
.sol__body { display: grid; gap: var(--space-md); }
.sol__body p { color: var(--color-ink-2); max-width: 60ch; }
.sol__items { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.sol__items a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 var(--space-sm); border: var(--rule-hair) solid var(--color-rule); border-radius: var(--radius-pill); font-family: var(--font-display); font-weight: 500; font-size: var(--text-sm); color: var(--color-ink); text-decoration: none; white-space: nowrap; transition: border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out); }
.sol__items a:hover { border-color: var(--color-ink); background: var(--color-paper-2); }
.sol__items a:active { background: var(--color-paper-3); }
.sol__prova { font-size: var(--text-sm); color: var(--color-muted); padding-left: var(--space-md); border-left: var(--rule-hair) solid var(--color-accent); }
@media (min-width: 60rem) { .sol { grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: var(--space-2xl); align-items: start; } }

/* Logos do setor */
.logos { padding-block: var(--space-2xl) var(--space-2xl); border-top: var(--rule-hair) solid var(--color-rule); }
.logos__label { font-size: var(--text-sm); color: var(--color-muted); margin-bottom: var(--space-md); }
.logos__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: var(--rule-hair) solid var(--color-rule); border-left: var(--rule-hair) solid var(--color-rule); }
.logos__list li { display: grid; place-items: center; padding: var(--space-md); min-height: 4.5rem; border-right: var(--rule-hair) solid var(--color-rule); border-bottom: var(--rule-hair) solid var(--color-rule); }
.logos__list img { width: auto; max-width: 100%; max-height: 30px; height: auto; filter: grayscale(1); opacity: 0.72; transition: opacity var(--dur-short) var(--ease-out); }
.logos__list img.is-tall { max-height: 46px; }  /* marcas compactas/quadradas (selo, escudo) ficam legíveis ao lado dos wordmarks largos */
.logos__list li:hover img { opacity: 1; }
@media (min-width: 40rem) { .logos__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Do blog */
.posts { padding-block: var(--space-2xl) var(--space-3xl); border-top: var(--rule-hair) solid var(--color-rule); display: grid; gap: var(--space-lg); }
.posts h2 { font-size: var(--text-display-s); }
.posts__list { display: grid; border-top: var(--rule-hair) solid var(--color-rule); }
.posts__list li { border-bottom: var(--rule-hair) solid var(--color-rule); }
.posts__list a { display: flex; align-items: center; min-height: 3.25rem; padding-block: var(--space-sm); text-decoration: none; font-family: var(--font-display); font-weight: 500; color: var(--color-ink-2); transition: color var(--dur-short) var(--ease-out); }
.posts__list a:hover { color: var(--color-accent-deep); }

/* FAQ e CTA (mesmo padrão das landings) */
.faq { padding-block: var(--space-2xl) var(--space-3xl); border-top: var(--rule-hair) solid var(--color-rule); display: grid; gap: var(--space-lg); }
.faq h2 { font-size: var(--text-display-s); }
.faq dl { margin: 0; display: grid; border-top: var(--rule-hair) solid var(--color-rule); }
.faq dt { font-family: var(--font-display); font-weight: 600; font-size: var(--text-md); padding-top: var(--space-lg); }
.faq dd { margin: 0; padding: var(--space-xs) 0 var(--space-lg); color: var(--color-ink-2); max-width: 64ch; border-bottom: var(--rule-hair) solid var(--color-rule); }
.faq dd a { color: var(--color-accent-deep); }
.plans { background: var(--color-paper-2); padding-block: var(--space-3xl) var(--space-4xl); }
.plans__inner { display: grid; gap: var(--space-lg); max-width: 56rem; }
.plans h2 { font-size: var(--text-display-s); max-width: 24ch; }
.plans .lede { max-width: 52ch; }
.plans__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-md) var(--space-lg); }
