/* ==========================================================================
   Responsive breakpoints — Tablet (≤1024px) and Mobile (≤640px)
   Loaded after style.css; only overrides layout, not tokens.
   ========================================================================== */

/* ==========================================================================
   Tablet (≤1024px)
   ========================================================================== */
@media (max-width: 1024px) {
  .container,
  .hero__inner,
  .partners,
  .feature-strip,
  .feature-grid,
  .process,
  .edge-grid,
  .pathway-grid,
  .curriculum,
  .services-grid,
  .outcomes,
  .eligibility,
  .fee-details,
  .app-process,
  .site-header__inner,
  .site-footer__inner {
    padding-inline: var(--gutter-tablet);
  }

  .section {
    padding-block: 72px;
  }

  /* Header / nav */
  .site-header__logo {
    height: 38px;
  }
  .site-header__logo--acn {
    height: 32px;
  }
  .site-nav__list {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-border);
    box-shadow: var(--shadow-soft);
    padding: 8px var(--gutter-tablet) 16px;
  }
  .site-nav__list.is-open {
    display: flex;
  }
  .site-nav__link {
    padding-block: 14px;
    border-bottom: 1px solid var(--color-border);
  }
  .site-nav__link::after {
    display: none;
  }
  .site-header {
    position: relative;
  }
  .nav-toggle {
    display: flex;
  }

  /* Hero */
  .hero__inner {
    grid-template-columns: 1fr;
    min-height: 0;
  }
  .hero__content {
    padding-top: 56px;
    padding-bottom: 24px;
    max-width: 640px;
  }
  .hero__media {
    position: relative;
    height: auto;
    align-self: auto;
    padding-bottom: 40px;
  }
  .hero__image {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    border-radius: 16px;
    height: 350px;
    object-fit: cover;
    object-position: right;
  }

  /* Partner cards */
  .partners {
    grid-template-columns: 1fr;
  }
  .partner-card__stats--with-badge {
    grid-template-columns: repeat(2, 1fr);
    row-gap: 20px;
  }
  .partner-card__stats--with-badge .partner-stat:nth-child(3) {
    border-left: none;
  }

  /* Feature grid / edge grid */
  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .edge-grid {
    grid-template-columns: 1fr;
  }
  .edge-card--featured {
    transform: none;
  }

  /* Process */
  .process__steps {
    flex-wrap: wrap;
    gap: 20px 12px;
  }
  .process__steps::before {
    display: none;
  }
  .process__cards {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Pathway cards */
  .pathway-grid {
    grid-template-columns: 1fr;
  }

  /* Curriculum */
  .curriculum {
    grid-template-columns: 1fr;
  }
  .curriculum__tabs {
    flex-direction: row;
    overflow-x: auto;
    gap: 10px;
    justify-content: start;
  }
  .curriculum__tab {
    flex-shrink: 0;
  }

  /* Services */
  .services-grid {
    grid-template-columns: 1fr;
    max-width: 640px;
  }

  /* Outcomes */
  .outcomes {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .outcomes__photo {
    max-width: 480px;
    margin-inline: auto;
  }

  /* Fee details */
  .fee-details__grid {
    grid-template-columns: 1fr;
  }

  /* Application process */
  .app-process__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  /* Enquiry form */
  .enquiry-form {
    margin-top: 40px;
    margin-left: 0;
    max-width: 100%;
  }

  /* Final CTA */
  .final-cta__inner {
    padding: 64px var(--gutter-tablet);
  }

  /* Thank you page */
  .ty-section {
    padding: 40px var(--gutter-tablet) 56px;
    min-height: 0;
  }
  .ty-card {
    padding: 40px 32px;
  }
}

/* ==========================================================================
   Mobile (≤640px)
   ========================================================================== */
@media (max-width: 640px) {
  .container,
  .hero__inner,
  .partners,
  .feature-strip,
  .feature-grid,
  .process,
  .edge-grid,
  .pathway-grid,
  .curriculum,
  .services-grid,
  .outcomes,
  .eligibility,
  .fee-details,
  .app-process,
  .site-header__inner,
  .site-footer__inner,
  .section--dark,
  .prog-grid,
  .bottom-cta,
  .lo-section,
  .section--alt {
    padding-inline: var(--gutter-mobile) !important;
  }
  .hero {
    padding-top: 0px;
  }
  .final-cta__inner {
    width: 100% !important;
  }
  .partner-card__title,
  .partner-card__desc,
  .partner-stat,
  .partner-card__quote,
  .partner-card__testimonial-text,
  .bottom-cta,
  .fee-heading,
  .fee-card-white,
  .fee-card-red,
  .hero-heading,
  .hero-left {
    text-align: center;
  }
  .partner-card__testimonial-row,
  .fee-row-top {
    flex-flow: column;
    justify-content: center;
  }
  .partner-card__person-photo {
    position: absolute;
    right: 28%;
    bottom: -7px;
    z-index: 1;
  }
  .partner-card__testimonial-left,
  .partner-card__testimonial {
    min-height: 520px;
  }
  .ps-image {
    height: 320px;
  }
  .ps-top {
    width: 75% !important;
  }
  .npf_wgts iframe {
    min-height: 700px;
  }
  .bot-down {
    position: relative;
    bottom: 0px;
  }
  .partner-stat--badge,
  .partner-stat__badges,
  .fee-payment-icons {
    justify-content: center !important;
    display: flex;
  }
  .fee-payment-icon {
    display: flex;
    align-items: center;
  }
  .bot-down {
    position: relative;
    bottom: 0px;
  }
  .cs-illustration {
    display: none;
  }
  .section {
    padding-block: 30px;
  }
  .section-header {
    margin-bottom: 36px;
  }

  .site-header__inner {
    padding-block: 14px;
    gap: 8px;
  }
  .site-header__brand {
    flex-shrink: 1;
    min-width: 0;
  }
  .site-header__logo {
    height: auto;
    max-width: 112px;
  }
  .site-header__logo--acn {
    height: auto;
    max-width: 86px;
  }

  .hero__content {
    padding-top: 32px;
    padding-bottom: 16px;
  }
  .hero__title {
    letter-spacing: -0.3px;
    text-align: center;
  }
  .hero__text {
    font-size: 15.5px;
    text-align: center;
  }
  .btn--primary {
    width: 100%;
    padding: 16px 20px;
    white-space: normal;
    text-align: center;
  }
  .hero__cta {
    margin-top: 24px;
  }

  .framework-tag {
    flex-direction: column;
    gap: 12px;
    padding-block: 24px;
  }
  .framework-tag__line {
    display: none;
  }

  .partner-card__body {
    padding: 24px;
  }
  .partner-card__stats {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .partner-stat {
    border-left: none;
    padding-left: 0;
    padding-top: 12px;
    border-top: 1px solid var(--color-border);
  }
  .partner-stat:first-child {
    border-top: none;
    padding-top: 0;
  }
  .partner-card__testimonial {
    padding: 24px;
  }

  .feature-strip__bar {
    flex-direction: column;
    align-items: flex-start;
    border-radius: var(--radius-lg);
    padding: 24px 28px;
  }

  .feature-grid {
    grid-template-columns: 1fr;
  }

  .process__steps {
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
  }
  .process__cards {
    grid-template-columns: 1fr;
  }

  .curriculum__panel {
    padding: 24px;
  }
  .curriculum__pills {
    flex-direction: column;
  }

  .eligibility__card {
    padding: 32px 24px;
  }

  .fee-card,
  .fee-panel {
    padding: 24px;
  }
  .fee-panel__payment-modes {
    flex-direction: column;
    gap: 12px;
  }

  .app-process__step {
    padding-inline: 0;
  }

  .enquiry-form {
    padding: 24px;
  }

  .final-cta__inner {
    padding: 48px var(--gutter-mobile);
  }

  .site-footer__inner {
    flex-direction: row;
    align-items: flex-start;
    justify-content: center;
  }
  .pp-card {
    margin-bottom: 25px;
  }
  .step-img {
    bottom: -25px;
  }

  /* Thank you page */
  .ty-section {
    padding: 24px var(--gutter-mobile) 40px;
  }
  .ty-card {
    padding: 32px 20px;
  }
  .ty-links {
    flex-direction: column;
    gap: 12px;
  }
}
