/* ==========================================================================
   Responsive — mobile-last overrides.
   Breakpoints: 1000px (tablet / small laptop), 680px (phone).
   Desktop rules live with their components; this file only steps down.
   ========================================================================== */

@media (max-width: 1000px) {
  /* Header: nav collapses to burger, burger sits in the right corner ---- */
  .site-nav,
  .header-search { display: none; }
  .header-burger { display: flex; order: 3; }
  .header-apply { order: 2; }
  .site-header { gap: var(--sp-5); padding-inline: var(--gutter); }
  .site-header__logo { height: 44px; }

  .hero--home .hero__inner { padding-block: 150px var(--sp-3); }
  .hero--page .hero__inner { padding-block: var(--sp-12); }
  .hero--overlaid .hero__inner { padding-block: 120px var(--sp-12); }
  .hero__title { font-size: clamp(30px, 6.4vw, 42px); line-height: 1.06; }
  .hero__underline { display: none; }
  h1 { font-size: clamp(30px, 6.4vw, 42px); line-height: 1.06; }
  h2 { font-size: clamp(24px, 5vw, 34px); line-height: 1.1; }
  h3 { font-size: clamp(20px, 4.2vw, 28px); }

  .hero-facts { grid-template-columns: 1fr; gap: 0; }
  .hero-fact { padding-right: 0; }
  .hero-fact__mark { display: none; }
  .hero-fact__label { max-width: none; }

  .prog-grid,
  .why-grid,
  .mega__grid { grid-template-columns: repeat(2, 1fr); }

  .bengaluru__inner,
  .enquire__inner,
  .fees__inner { grid-template-columns: 1fr; gap: var(--sp-8); }
  .bengaluru__media { height: 320px; }

  /* Dual award stacks; the "+" becomes a horizontal joiner -------------- */
  .dual-grid { grid-template-columns: 1fr; }
  .dual-join { padding-block: 14px; }
  .dual-join__line { display: none; }

  /* Five-step journey: 5 -> 2 columns ---------------------------------- */
  .journey-steps { grid-template-columns: repeat(2, 1fr); gap: 30px 0; }

  .why__head { flex-direction: column; align-items: flex-start; gap: var(--sp-6); }
  .why-quote { align-self: flex-start; }
  .why-quote__text { text-align: left; }

  .site-footer__cta { flex-wrap: wrap; }
  .site-footer__cols { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 680px) {
  .container { padding-inline: var(--gutter-sm); }
  .section { padding-block: var(--sp-12); }

  .site-header__brand-tag { display: none; }
  .header-apply { padding: 12px 18px; font-size: 12px; }

  .prog-grid,
  .why-grid,
  .mega__grid,
  .journey-steps,
  .site-footer__cols,
  .form-grid { grid-template-columns: 1fr; }
  .field--wide { grid-column: span 1; }

  .enquire__card { padding: var(--sp-6) var(--sp-5) var(--sp-7); }
  .enquire__submit-row { align-items: flex-start; }

  .site-footer__cta-actions { flex-wrap: wrap; }
  .site-footer__cta-actions .btn { flex: 1 1 auto; }
  .site-footer__legal { flex-direction: column; gap: var(--sp-2); line-height: 1.5; }

  .chat-panel { width: min(348px, calc(100vw - 32px)); }
  .chat-dock { right: var(--gutter-sm); bottom: var(--gutter-sm); }

  .btn { padding: 15px var(--sp-6); }
  .btn--lg { padding: 17px var(--sp-8); }
}

/* Inner pages ----------------------------------------------------------- */
@media (max-width: 1000px) {
  .page-grid { grid-template-columns: 1fr; gap: var(--sp-8); }
  .side-nav { position: static; }
  .side-nav__list { display: grid; grid-template-columns: 1fr 1fr; }

  .dual-band { grid-template-columns: 1fr; }
  .dual-band__ghost { font-size: 120px; }
  .year-row { grid-template-columns: 1fr; gap: var(--sp-3); }
  .faq-grid { grid-template-columns: 1fr; }

  .life-loops { grid-template-columns: 1fr 1fr; }
  .life-grid { grid-template-columns: 1fr 1fr; }
  .living { grid-template-columns: 1fr; }
  .living__media { height: 300px; }

  .reels__head { flex-direction: column; align-items: flex-start; }
  .reels__hint { text-align: left; }
  .reel-nav--prev { left: -10px; }
  .reel-nav--next { right: -10px; }

  .gate-card { padding: var(--sp-7) var(--sp-6) var(--sp-8); }
  .gate-card__head { flex-direction: column; gap: var(--sp-4); }
  .gate-notes { grid-template-columns: 1fr; gap: var(--sp-6); }
  .includes-grid { grid-template-columns: 1fr; }
  .includes-cell--wide { grid-column: span 1; }
  .spec-table__row { grid-template-columns: 1fr; }
  .spec-table__key { padding-bottom: 0; }
  .spec-table__val { padding-top: 6px; }
}

@media (max-width: 680px) {
  .side-nav__list { grid-template-columns: 1fr; }
  .life-loops,
  .life-grid { grid-template-columns: 1fr; }
  .reel { width: min(326px, calc(100vw - 60px)); }
  .reel__frame { height: 560px; }
  .gate-email__row { flex-direction: column; }
  .gate-email__submit { padding: 17px 34px; }
  .prog-section__title { font-size: clamp(22px, 5.4vw, 28px); }
}
