/* Adaptação regional da base aprovada, sem mudar a identidade do professor. */
.hero .hero-kicker, .hero .hero-eyebrow { margin: 0 0 23px; color: var(--sky); font-size: .78rem; font-weight: 800; letter-spacing: .18em; line-height: 1.6; }
.hero-photo { background-image: linear-gradient(90deg,rgba(3,17,26,.94),rgba(4,26,39,.8) 49%,rgba(4,26,39,.68)),linear-gradient(0deg,rgba(3,19,29,.66),transparent 48%),url('assets/hero-desktop.webp'); }
.hero-crest { width: min(91%, 475px); max-height: 490px; }
.fact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.fact > strong { white-space: normal; overflow-wrap: normal; }
.fact > strong.fact-bank-name { font-size: clamp(2.2rem, 3.2vw, 3.1rem); }
.schedule-subject { color: var(--blue); font: 800 1.55rem/1 var(--display); }
.facts-foot { max-width: 1040px; line-height: 1.8; }
.facts-foot p span { margin-top: 5px; }
.offer-main-price small, .offer-partial-buy > small, .material-price > small { line-height: 1.6; }
.demo-lesson-preview .book-3d { --book-cover: url('assets/capa-ltf.webp'); aspect-ratio: 720/1017; }
.demo-lesson-preview figcaption { margin: 18px 0 0; color: #527181; font-size: .74rem; line-height: 1.65; text-align: center; }
.preview-note { margin-top: 16px; color: #527181; font-size: .76rem; line-height: 1.7; }
.materials-parcel-note { margin: 20px 0 0; color: #527181; font-size: .74rem; line-height: 1.65; text-align: center; }
.lead-form-status[data-state="pending"] { border-color: #91b8c8; color: #143c50; background: #e7f2f5; }
@media (max-width: 800px) {
  .fact-grid .fact { border-bottom: 0; }
  .hero .hero-kicker, .hero .hero-eyebrow { margin-bottom: 20px; font-size: .74rem; }
  .hero-crest { width: min(76vw, 340px); max-height: 350px; }
}
@media (max-width: 560px) {
  .hero-photo { background-image: linear-gradient(180deg,rgba(3,19,29,.91),rgba(4,28,41,.79) 52%,rgba(4,28,41,.73)),url('assets/hero-mobile.webp'); }
  .hero-art::before { background-image: linear-gradient(180deg,#062637 0%,rgba(6,38,55,.16) 26%,rgba(5,30,43,.2) 63%,#082e3e 100%),url('assets/hero-mobile.webp'); }
  .hero .hero-kicker, .hero .hero-eyebrow { font-size: .68rem; letter-spacing: .14em; }
  .hero-crest { width: min(80vw, 300px); max-height: 320px; }
  .fact > strong { font-size: clamp(2.1rem, 8.4vw, 3.2rem); }
  .fact > strong.fact-bank-name { font-size: clamp(1.45rem, 6.8vw, 2rem); }
}
