*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; padding: 0; font-family: 'Poppins', sans-serif; color: #1F2937; overflow-x: hidden; -webkit-font-smoothing: antialiased; background: #FFFFFF; }
a { text-decoration: none; color: #2563EB; }
a:hover { color: #1D4ED8; }
button { cursor: pointer; font-family: 'Poppins', sans-serif; }

@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
@keyframes pulse-dot { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: 0.55; } }

/* Accordion (Curriculum + FAQ) */
.acc-panel { overflow: hidden; max-height: 0; transition: max-height 0.35s ease-out; }
.acc-panel.open { transition: max-height 0.5s ease-in; }
.acc-ind { font-size: 22px; font-weight: 300; line-height: 1; color: #9CA3AF; min-width: 28px; text-align: center; flex-shrink: 0; transition: color 0.2s ease, transform 0.3s ease; }
.acc-head.open .acc-ind { color: #2563EB; transform: rotate(45deg); }

/* Enrollment form */
.enroll-form label { display: block; font-size: 13px; font-weight: 600; color: #374151; margin-bottom: 6px; }
.enroll-form input, .enroll-form textarea { width: 100%; padding: 12px 14px; border: 1.5px solid #E5E7EB; border-radius: 10px; font-size: 14px; font-family: 'Poppins', sans-serif; color: #1F2937; background: #FFFFFF; transition: border-color 0.2s; }
.enroll-form input:focus, .enroll-form textarea:focus { outline: none; border-color: #2563EB; }
.enroll-form textarea { resize: vertical; min-height: 84px; }
.form-msg { font-size: 14px; border-radius: 10px; padding: 12px 14px; margin-top: 4px; display: none; }
.form-msg.show { display: block; }
.form-msg.success { background: #ECFDF5; color: #047857; border: 1px solid #A7F3D0; }
.form-msg.error { background: #FEF2F2; color: #B91C1C; border: 1px solid #FECACA; }

@media (max-width: 980px) {
  .hero-split { flex-direction: column !important; }
  .hero-right { width: 100% !important; max-width: 100% !important; min-width: 0 !important; }
  .why-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .levels-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .steps-grid { grid-template-columns: 1fr !important; }
  .footer-grid { grid-template-columns: 1fr 1fr !important; }
  .nav-links { display: none !important; }
  .stats-strip { flex-wrap: wrap !important; }
}
@media (max-width: 620px) {
  .why-grid { grid-template-columns: 1fr !important; }
  .hero-photo-wrap { height: 300px !important; }
  .contact-card { padding: 28px !important; gap: 28px !important; flex-direction: column !important; }
  .levels-grid { grid-template-columns: 1fr !important; }
  .footer-grid { grid-template-columns: 1fr !important; }
  .cta-row { flex-direction: column !important; align-items: stretch !important; }
}
