/* Visual refinements shared by the independent HTML copies. */
@font-face {
  font-family: "Geist";
  src: url("../assets/geist-latin.woff2") format("woff2");
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --design-ink: #071A31;
  --design-green: #11BB77;
  --design-green-deep: #007B58;
  --design-paper: #FCFBF8;
}
html { background: var(--design-paper); }
body { font-family: "Geist", sans-serif; -webkit-font-smoothing: antialiased; }
body, main[class] { background: white; }
site-nav > header[class] { width: min(100% - 96px, 1280px); min-height: 88px; margin: 0 auto; border: 0; background: white; }
site-nav nav a { font-size: 13px; }
site-nav > header[class] > a:last-child { border-radius: 10px; min-height: 48px; }
site-nav > header[class] > a:last-child, site-nav nav a { font-weight: 550; }
hero-section h1 em { color: inherit; }
faq-section[variant] .faq__section { width: min(100% - 96px, 1180px); gap: 72px; margin-inline: auto; padding: 104px 0; }
faq-section[variant="colegios"] { background: var(--design-paper); }
faq-section[variant] .faq__intro, faq-section[variant] .faq__list { min-width: 0; }
faq-section[variant] summary > span { flex: 0 0 28px; text-align: center; }
faq-section[variant] h2 { font-size: clamp(36px, 4vw, 56px); font-weight: 550; line-height: 1.1; letter-spacing: -.04em; }
faq-section[variant] summary { min-height: 80px; font-size: 16px; font-weight: 550; }
faq-section[variant] details p { font-size: 16px; line-height: 1.65; }
final-cta > section[class] { min-height: 420px; }
final-cta h2 { font-weight: 500; line-height: 1.08; letter-spacing: -.045em; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
section[id] { scroll-margin-top: 28px; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--design-green); outline-offset: 5px; }
::selection { background: var(--design-green); color: var(--design-ink); }
@media (max-width: 760px) {
  site-nav > header[class] { width: calc(100% - 40px); min-height: 76px; }
  site-nav > header[class] > a:last-child { min-height: 44px; padding-inline: 14px; font-size: 12px; }
  faq-section[variant] .faq__section { width: calc(100% - 40px); grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 64px 0; }
  faq-section[variant] h2 { font-size: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}
