/* ==========================================================================
   TSLAS – responsive overrides (loads after style.css)
   ========================================================================== */

/* ---------- Large desktop down (≤1199px) ---------- */
@media (max-width: 1199.98px) {
  :root {
    --fs-hero: 42px;
    --fs-title: 36px;
    --fs-feature: 26px;
    --fs-step: 24px;
    --fs-global-title: 42px;
    --fs-cta: 32px;
    --frame-inset: 24px;
  }

  .site-logo img { width: 290px; }

  .pill-nav-link { font-size: 14px; padding: 6px 14px; }

  /* Global connect: arcs need ≥1200px, below that the badges become a grid */
  .global-stage { padding-top: 0; }
  .global-orbit { position: static; aspect-ratio: auto; margin-bottom: 40px; }
  .global-arc { display: none; }
  .uni-list {
    position: static;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px 16px;
  }
  .uni-badge { position: static; width: auto; transform: none; }

  .alumni-card { gap: 22px; }
  .alumni-photo { flex-basis: 160px; width: 160px; height: 240px; }
}

/* ---------- Tablet (≤991px) ---------- */
@media (max-width: 991.98px) {
  :root {
    --section-pad: 60px;
    --fs-hero: 36px;
    --fs-hero-eyebrow: 19px;
    --fs-title: 32px;
    --fs-eyebrow: 21px;
    --fs-feature: 24px;
    --fs-feature-num: 24px;
    --fs-step-num: 42px;
    --fs-global-title: 36px;
    --fs-global-eyebrow: 22px;
    --fs-cta: 28px;
    --frame-inset: 15px;
    --radius-xl: 40px;
  }

  /* Hero */
  .site-header { padding-top: 28px; }
  .section--hero { padding: 60px 0 40px; }
  .hero .row { min-height: 0; row-gap: 40px; }
  .hero-title { margin-bottom: 40px; }
  .hero-aside { justify-content: flex-start; }
  .hero-form { max-width: none; min-height: 260px; }
  .hero-shell {
    background-image:
      linear-gradient(180deg, rgba(255, 208, 0, 0.6) 0%, rgba(255, 208, 0, 0.95) 45%, var(--c-yellow) 100%),
      url("../images/hero-student-painting.jpg");
  }

  /* About */
  .about .row { row-gap: 50px; }

  /* Why */
  .why .section-intro { margin-bottom: 40px; }
  .feature-item { padding-block: 24px; row-gap: 12px; }
  .feature-title { padding-left: 0; gap: 16px; }
  .feature-list { margin-bottom: 40px; }

  /* Section heads */
  .section-head { margin-bottom: 40px; }

  /* Academics */
  .academics-frame { padding: 15px 15px 0; }
  .programs .row { row-gap: 32px; }
  .programs-photo { aspect-ratio: 16 / 10; }
  .eligibility-head { flex-direction: row; align-items: center; margin-bottom: 24px; gap:30px; }
  .eligibility-head .section-title { margin-bottom: 0; }
  .btn-pill {padding: 8px 16px;}

  /* Process */
  .process .row { row-gap: 40px; }
  .step-title { min-height: 0; margin-bottom: 20px; }

  /* Scholarship */
  .scholarship .row { row-gap: 40px; }
  .scholarship-media { max-width: 480px; }
  .campus-image { margin-top: 30px; }


  /* Alumni */
  .slider-slide { flex-basis: 85%; }

  /* CTA */
  .cta-band { padding-block: 50px; }
  .cta-inner { flex-direction: column; align-items: flex-start; }

  /* Footer */
  .site-footer .row { row-gap: 30px; }
  .footer-links { padding-top: 0; text-align: left; }
  .newsletter { align-items: flex-start; text-align: left; }
}

/* ---------- Large phones (≤767px) ---------- */
@media (max-width: 767.98px) {
  .site-header-inner { flex-direction: column; align-items: flex-start; gap: 18px; }

  .section-head,
  .programs .section-head { flex-direction: column; align-items: flex-start; gap: 24px; }
  .section-head > .section-title { margin-bottom: 0; }

  .uni-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .slider-slide { flex-basis: 100%; }
  .alumni-card { flex-direction: column; }
  .alumni-photo { flex-basis: auto; width: 100%; height: 375px; object-position: center 30%; }
  .alumni-body { padding: 0 6px 6px; }
}
}

/* ---------- Phones (≤575px) ---------- */
@media (max-width: 575.98px) {
  :root {
    --section-pad: 50px;
    --fs-hero: 30px;
    --fs-hero-eyebrow: 16px;
    --fs-title: 26px;
    --fs-eyebrow: 18px;
    --fs-feature: 20px;
    --fs-feature-num: 20px;
    --fs-step: 22px;
    --fs-global-title: 28px;
    --fs-global-eyebrow: 18px;
    --fs-cta: 24px;
    --fs-lead: 16px;
    --frame-inset: 10px;
    --radius-xl: 28px;
    --radius-lg: 18px;
  }

  .site-logo img { width: 240px; }

  .pill-nav { width: 100%; justify-content: space-between; }
  .pill-nav-link { padding-inline: 10px; font-size: 15px; }
  .pill-nav--tabs .pill-nav-link { min-width: 0; flex: 1; }

  .hero-form { min-height: 300px; }
  .hero-contact-call { font-size: 19px; }

  .about-gallery-row--top { padding-left: 0; }

  .program-list { grid-template-columns: 1fr; }
  .programs-actions { justify-content: flex-start; }

  .eligibility-head { flex-direction: column; align-items: flex-start; gap: 20px; }

  .scholarship-btn { right: 16px; bottom: 16px; }
  .scholarship-table { min-width: 560px; }

  .logo-card { height: 90px; padding: 12px 16px; }
  .logo-card img { max-height: 56px; }

  .uni-name { font-size: 12px; padding-inline: 8px; }

  .cta-band { padding-block: 40px; }

  .footer-title { font-size: 28px; }
  .footer-social { font-size: 24px; }

}

/* ---------- Very small phones (≤359px) ---------- */
@media (max-width: 359.98px) {
  .pill-nav-link { padding-inline: 7px; font-size: 13px; }
  .site-logo img { width: 210px; }
  .uni-list { gap: 20px 10px; }
}

@media (min-width: 320px) and (max-width: 567px) {
 .program-list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
}
.alumni-photo {
    width: 100%;
    height: 300px;
    object-position: center 25%;
    margin: 0 auto;
}
}

@media (min-width: 568px) and (max-width: 767px) {
  .slider-track {
    gap: 10px;
}
.slider-slide {
    flex-basis: 48%;
}
.program-list {
    column-gap: 24px;
}
.hero-form {
    min-height: 290px;
}
}
@media (min-width: 768px) and (max-width: 991px) {
  .hero-form {
    min-height: 360px;
}
}
@media (min-width: 992px) and (max-width: 1199px) {
  .program-list {
    column-gap: 24px;
}
}