/* Enrollment page styles */
.section { padding-block: var(--space-12); }
.section.alt { background: var(--gray-50); }
.eyebrow { color: var(--color-primary); font-weight: 700; letter-spacing: .04em; text-transform: uppercase; font-size: var(--text-sm); margin-bottom: var(--space-4); }

/* Hero */
.hero-grid { display: grid; gap: var(--space-10); align-items: center; grid-template-columns: 1fr; }
.hero-copy h1 { margin-bottom: var(--space-6); }
.hero-actions { display: flex; gap: var(--space-5); flex-wrap: wrap; }
.hero-media img { border-radius: var(--radius-xl); box-shadow: var(--shadow-md); }
@media (min-width: 960px) { .hero-grid { grid-template-columns: 1.1fr .9fr; } }

/* Info grid */
.info-grid { grid-template-columns: 1fr; }
@media (min-width: 900px) { .info-grid { grid-template-columns: 1.2fr .8fr; } }
.steps { counter-reset: step; display: grid; gap: var(--space-4); padding-left: 0; margin: 0; }
.steps li { list-style: none; position: relative; padding-left: calc(var(--space-10) + var(--space-4)); }
.steps li::before { counter-increment: step; content: counter(step); position: absolute; left: 0; top: 0; width: var(--space-10); height: var(--space-10); display: grid; place-items: center; background: var(--color-primary-100); color: var(--color-primary-800); border-radius: var(--radius-pill); font-weight: 700; box-shadow: var(--shadow-xs); }

/* Benefits */
.benefits-list { display: grid; gap: var(--space-3); padding-left: 1.2rem; }
.benefits-list li { list-style: disc; }

/* Visual */
.section-visual .visual-wrap { display: grid; place-items: center; }
.section-visual img { border-radius: var(--radius-xl); box-shadow: var(--shadow-sm); }

/* Criteria */
.criteria-grid { display: grid; gap: var(--space-7); grid-template-columns: 1fr; }
@media (min-width: 900px) { .criteria-grid { grid-template-columns: repeat(3, 1fr); } }

/* Testimonials */
.testimonials-grid { display: grid; gap: var(--space-7); grid-template-columns: 1fr; }
@media (min-width: 960px) { .testimonials-grid { grid-template-columns: repeat(3, 1fr); } }
blockquote { margin: 0; }
blockquote p { font-size: var(--text-lg); color: var(--gray-800); }
blockquote footer { color: var(--color-muted); }

/* Deadlines */
.deadlines { display: grid; gap: var(--space-7); grid-template-columns: 1fr; margin-top: var(--space-7); }
@media (min-width: 900px) { .deadlines { grid-template-columns: repeat(3, 1fr); } }
.deadlines h3 { margin-bottom: var(--space-3); }

/* FAQs */
.faqs { display: grid; gap: var(--space-5); }
.faqs details { background: #fff; border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: var(--space-6); box-shadow: var(--shadow-xs); }
.faqs summary { font-weight: 600; cursor: pointer; }
.faqs summary:focus-visible { outline: 3px solid var(--color-focus); outline-offset: 2px; border-radius: var(--radius-sm); }

/* Support */
.support .contact-list { display: grid; gap: var(--space-3); margin-top: var(--space-4); }

/* Form */
.form-fieldset { border: 0; padding: 0; margin: 0 0 var(--space-8); }
.form-fieldset legend { font-weight: 700; margin-bottom: var(--space-5); }
.form-grid { display: grid; gap: var(--space-6); grid-template-columns: 1fr; }
@media (min-width: 900px) { .form-grid { grid-template-columns: repeat(3, 1fr); } }
.form-control { display: grid; gap: var(--space-2); }
.form-control label { font-weight: 600; }
.consent { margin-top: var(--space-6); }
.consent-row { display: inline-flex; gap: var(--space-3); align-items: flex-start; }
.error { color: var(--color-danger); min-height: 1.2em; display: block; }
input[aria-invalid="true"], select[aria-invalid="true"], textarea[aria-invalid="true"] { border-color: var(--color-danger); box-shadow: 0 0 0 3px var(--danger-100); }
.form-actions { display: flex; align-items: center; gap: var(--space-5); margin-top: var(--space-6); }
.help-text { color: var(--color-muted); }

/* Minor tweaks */
.cta-inline { margin-top: var(--space-6); }
