/* ============ RESPONSIVE BREAKPOINTS ============ */
/* Base uses fluid units (rem, %) so only major layout shifts here */

/* ---------- 1200px (large desktop) ---------- */
@media (max-width:1200px){
  :root{--container:96%}
  .hero-grid{grid-template-columns:1fr 1fr;gap:3rem}
  .schol-dual-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}
}

/* ---------- 1024px (tablet landscape) ---------- */
@media (max-width:1024px){
  :root{--container:96%}
  .nav-links{position:fixed;top:0;right:-100%;height:100vh;width:78%;max-width:360px;background:var(--paper);border-left:1px solid var(--line);flex-direction:column;padding:6rem 2rem 2rem;gap:1.25rem;box-shadow:var(--shadow-lg);transition:right .35s ease;z-index:150;overflow-y:auto}
  .nav-links.open{right:0}
  .nav-links a{font-size:1.1rem;padding:.6rem 0;border-bottom:1px solid var(--line-soft);width:100%}
  .nav-links a:last-of-type{border-bottom:none}
  .nav-toggle{display:flex}
  .nav-actions .btn-primary{display:none} /* hide duplicate CTA in mobile nav */

  .hero-grid{grid-template-columns:1fr;gap:2.5rem;text-align:center}
  .hero-art{order:-1;max-width:420px;margin:0 auto}
  .hero-actions{justify-content:center}
  .section-head h2{font-size:clamp(1.8rem,4vw,2.5rem)}
  .about-grid{grid-template-columns:1fr;gap:2rem}
  .about-art{order:-1;max-width:380px;margin:0 auto}
  .svc-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .journey-track{gap:1rem}
  .exam-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .skill-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
  .process-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
  .tst-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
  .faq-list{padding:0 1rem}
  .cta-inner{padding:3rem 2rem}
  .footer-grid{grid-template-columns:repeat(2,1fr);gap:2rem}
  .schol-dual-grid{grid-template-columns:1fr;gap:1.5rem}
  .reg-wrap{grid-template-columns:1fr;gap:2rem}
  .reg-side{position:static;order:-1}
}

/* ---------- 768px (tablet portrait) ---------- */
@media (max-width:768px){
  html{font-size:15px}
  .container{padding:0 1.25rem}
  .section-head p{font-size:1rem}
  .hero-actions .btn{padding:.9rem 1.6rem;font-size:.95rem}
  .svc-card{padding:1.75rem 1.5rem}
  .schol-card{padding:2rem 1.5rem}
  .waiver-table th,.waiver-table td{padding:.6rem}
  .schol-badge{width:48px;height:48px}
  .schol-badge svg{width:24px;height:24px}
  .cta-icon{width:64px;height:64px}
  .cta-icon svg{width:30px;height:30px}
  .footer-brand p{font-size:.95rem}
}

/* ---------- 640px (large phone) ---------- */
@media (max-width:640px){
  html{font-size:14px}
  :root{--gap:1.5rem}
  .nav-links{width:85%;max-width:none}
  .brand small{display:none}
  .hero-head{font-size:clamp(1.8rem,7vw,2.4rem)}
  .hero-lead{font-size:1rem}
  .hero-trust{font-size:.8rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{width:100%;justify-content:center}
  .stat-number{font-size:2.2rem}
  .stat-label{font-size:.75rem}
  .about-card{padding:1.5rem}
  .svc-grid,.exam-grid,.skill-grid,.process-grid,.tst-grid{grid-template-columns:1fr}
  .schol-dual-grid{grid-template-columns:1fr}
  .schol-card{padding:1.5rem}
  .waiver-table{font-size:.78rem}
  .reg-panel{padding:1.5rem}
  .f-grid,.check-grid{grid-template-columns:1fr}
  .rp-step .lbl{display:none}
  .rp-step .circ{width:32px;height:32px;font-size:.75rem}
  .footer-grid{grid-template-columns:1fr;gap:1.5rem;text-align:center}
  .footer-bottom{flex-direction:column;gap:.75rem;text-align:center}
  .cta-inner{padding:2.5rem 1.5rem}
  .schol-both-note{font-size:.8rem;padding:.75rem 1rem}
}

/* ---------- 480px (standard phone) ---------- */
@media (max-width:480px){
  html{font-size:13.5px}
  .btn{padding:.9rem 1.5rem;font-size:.9rem}
  .btn-sm{padding:.6rem 1.1rem;font-size:.82rem}
  .section-head h2{font-size:1.5rem}
  .hero-head{font-size:1.6rem}
  .hero-sub{font-size:.95rem}
  .stat-number{font-size:2rem}
  .svc-badge{width:44px;height:44px}
  .svc-badge svg{width:22px;height:22px}
  .schol-badge{width:44px;height:44px}
  .schol-badge svg{width:22px;height:22px}
  .waiver-table th,.waiver-table td{padding:.5rem .4rem;font-size:.75rem}
  .modal-panel{padding:1.5rem}
  .reg-panel{padding:1.25rem}
  .f-field input,.f-field select,.f-field textarea{padding:.7rem .9rem}
}

/* ---------- 360px (small phone) ---------- */
@media (max-width:360px){
  html{font-size:13px}
  .container{padding:0 1rem}
  .hero-actions .btn{padding:.8rem 1.2rem;font-size:.85rem}
  .btn{padding:.8rem 1.2rem;font-size:.85rem}
  .stat-number{font-size:1.8rem}
  .svc-card h3{font-size:1rem}
  .schol-card h3{font-size:1.1rem}
  .waiver-table{font-size:.7rem}
  .footer-links a{font-size:.85rem}
}

/* ---------- Landscape phones ---------- */
@media (max-height:500px) and (orientation:landscape){
  .hero{min-height:auto;padding:3rem 0}
  .hero-grid{gap:1.5rem}
  .hero-art{max-width:260px}
  .nav-links{padding-top:4rem}
}

/* ---------- Print ---------- */
@media print{
  .nav,.nav-toggle,.btn,.hero-art,.schol-both-note,.reg-side{display:none!important}
  .hero-grid,.schol-dual-grid{display:block}
  .schol-card,.svc-card{break-inside:avoid;box-shadow:none;border:1px solid #ccc}
  body{background:#fff;color:#000}
}
