/* EDU previews reuse the centered preview/card pattern with each app's existing artwork and palette. */
body[data-edu-app] main { text-align: center; }
body[data-edu-app] main .eyebrow { justify-content: center; }
body[data-edu-app] .section { padding-block: clamp(2.5rem, 5vw, 4rem); }
.edu-hero { display: grid; grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 2rem; }
.edu-hero-copy { width: 100%; max-width: 850px; }
.edu-hero h1 { max-width: 25ch; margin: 1rem auto 1.5rem; font-size: clamp(2.3rem, 4.5vw, 4rem); line-height: 1.15; letter-spacing: -.045em; text-wrap: balance; }
body[data-edu-app] .edu-hero p.lead { max-width: 65ch; margin-inline: auto; font-size: 1.1rem; text-wrap: pretty; }
.edu-hero .actions { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-block: 1.8rem; border: 0; }
.edu-hero .actions > a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; flex: 1; max-width: 280px; padding: .6rem 1rem; box-sizing: border-box; text-align: center; }
.edu-caption { max-width: 65ch; margin: 0 auto; color: var(--text-muted); font-size: .88rem; }
.edu-brand-panel { display: flex; flex-direction: column; align-items: center; width: min(100%, 380px); box-sizing: border-box; padding: 1.5rem; border: 1px solid var(--edu-stroke); border-radius: 1.5rem; background: var(--edu-panel); box-shadow: var(--shadow); }
.edu-brand-panel p { color: var(--edu-ink); }
.edu-wordmark { display: block; width: 100%; max-width: 260px; height: auto; }
.edu-mascot { display: block; width: 160px; max-width: 70%; height: auto; margin: .9rem auto; }
body[data-edu-app] .section h2 { max-width: 28ch; margin: 0 auto .8rem; font-size: clamp(1.8rem, 3vw, 2.7rem); line-height: 1.25; letter-spacing: -.035em; text-wrap: balance; }
.edu-section-note { max-width: 65ch; margin: 0 auto 2rem; color: var(--text-soft); }
.edu-benefits-panel { box-sizing: border-box; width: min(100%, 850px); margin: 1.2rem auto 0; padding: clamp(1.25rem, 3vw, 2rem); border-radius: 1.5rem; }
.edu-benefit-list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.edu-benefit-list li { display: grid; grid-template-columns: .75rem minmax(0, 1fr); column-gap: .75rem; align-items: start; text-align: left; }
.edu-benefit-list p { margin: 0; }
.edu-benefit-dot { color: var(--cyan); }
.edu-course-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 1.25rem; align-items: stretch; }
.edu-course-grid .card { display: flex; flex-direction: column; align-items: center; padding: 2rem; border-radius: 1.5rem; text-align: center; }
.edu-course-grid h3 { margin: .8rem 0; font-size: 1.4rem; line-height: 1.4; }
.edu-course-grid p { margin: 0; color: var(--text-soft); }
.edu-details { max-width: 82ch; margin: 1.5rem auto 2rem; }
.edu-details p { margin-bottom: 1.4rem; }
.edu-document-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.4rem; }
.edu-document-links a { color: var(--text-soft); text-underline-offset: .2em; }
.edu-preview-card .edu-card-icon { display: block; width: 112px; height: 112px; margin: 0 auto 1.5rem; border-radius: 25px; }
body[data-edu-app] .site-footer { justify-content: center; gap: 1.5rem; text-align: center; }
.edu-policy { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--edge); }
.edu-policy > h3 { margin-top: 1.8rem; margin-bottom: .6rem; }
.edu-policy p { overflow-wrap: anywhere; }
body[data-edu-app="numeria"] { --edu-panel: #F6F7FE; --edu-ink: #10143A; --edu-stroke: #D5D9F2; }
body[data-edu-app="finara"] { --edu-panel: #FAF7F1; --edu-ink: #1C2420; --edu-stroke: #E3DCCD; }
body[data-edu-app="cibernauta"] { --edu-panel: #F3F7FA; --edu-ink: #0B1B2E; --edu-stroke: #D3DEE7; }
body[data-edu-app="aulaia"] { --edu-panel: #F7F6FA; --edu-ink: #1A1625; --edu-stroke: #DEDAE8; }
body[data-edu-app="criterio"] { --edu-panel: #FBF8F1; --edu-ink: #1E1B16; --edu-stroke: #E2D9C7; }
body[data-edu-app="scilab"] { --edu-panel: #F2F9F8; --edu-ink: #0D1F1E; --edu-stroke: #CFE3E0; }
@media (min-width: 761px) and (max-width: 1000px) { .edu-course-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 760px) {
  .edu-course-grid { grid-template-columns: minmax(0, 1fr); }
  .edu-hero .actions { flex-direction: column; }
  .edu-hero .actions > a { width: 100%; max-width: 100%; flex: auto; }
  .edu-course-grid .card { padding: 1.5rem; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
