/* ==========================================================================
   Founders of Pakistan — responsive layer
   Breakpoints mirror the original site: 1200 / 1024 / 767 / 480
   ========================================================================== */

/* ---------- Large desktop / small desktop ---------- */
@media (max-width: 1200px) {
  :root { --container: 1024px; }

  .nav__link { font-size: 15px; padding: 12px 8px; }
  .brand img { height: 58px; }
  .people-grid { grid-template-columns: repeat(4, 1fr); }
  .venue-grid { grid-template-columns: repeat(3, 1fr); }
  .grid-5 { grid-template-columns: repeat(3, 1fr); }
  .price-box__icon { width: 96px; height: 96px; }
  h1 { font-size: 42px; }
  .hero h1 { font-size: 46px; }
}

/* ---------- Tablet landscape ---------- */
@media (max-width: 1024px) {
  :root { --container: 1024px; --header-h: 78px; }

  .section { padding: 70px 0; }
  .section--tight { padding: 48px 0; }

  h1 { font-size: 38px; }
  h2, .section-title { font-size: 32px; }
  h3 { font-size: 22px; }

  /* nav collapses to drawer */
  .nav,
  .nav-cta { display: none; }
  .hamburger { display: block; }

  .hero { min-height: 520px; }
  .hero h1 { font-size: 40px; }
  .hero p { font-size: 17px; }

  /* split hero collapses to a single column */
  .hero-split__copy,
  .hero-split__media { width: 100%; }
  .hero-split__copy { padding: 40px 0; text-align: center; }
  .hero-split p { margin-inline: auto; }
  .hero-split .btn-row { justify-content: center; }
  .hero-split h1 { font-size: 35px; line-height: 42px; }
  .hero-split__inner { flex-wrap: wrap-reverse; }
  .hero-split__media { padding-top: 30px; }

  .page-hero { padding: 80px 0 70px; }
  .page-hero h1 { font-size: 36px; }

  .split { grid-template-columns: 1fr; gap: 36px; }
  .spot-grid { grid-template-columns: repeat(2, 1fr); gap: 34px; }
  .apply-layout { grid-template-columns: 1fr; gap: 32px; }
  .pack-card { max-width: 420px; margin-inline: auto; }
  .hero-split__media--deco { padding-left: 0; justify-content: center; }
  .dot-grid { display: none; }
  .split--reverse .split__media { order: 0; }

  .grid-3, .grid-4, .grid-5 { grid-template-columns: repeat(2, 1fr); }
  .tile-grid { grid-template-columns: repeat(2, 1fr); }
  .award-poster-grid { grid-template-columns: repeat(2, 1fr); }
  .price-grid { grid-template-columns: 1fr; max-width: 560px; margin-inline: auto; }
  .price--featured::after { top: -12px; }

  .people-grid { grid-template-columns: repeat(3, 1fr); }

  .carousel__slide { flex-basis: 50%; }

  .event { grid-template-columns: 1fr; }
  .event__body { padding: 40px 32px; }
  .event__media { min-height: 260px; }

  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: 34px; }

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

  .form-card { padding: 32px 26px; }
  .cta-band { padding: 76px 0; }
  .cta-band h2 { font-size: 32px; }

  .summit-band h2 { font-size: 26px; }

  .hero-panel { justify-content: center; padding: 50px 0; }
  .hero-panel__card { width: 92%; margin-right: 0; padding: 32px 26px; }
  .aside-grid { grid-template-columns: 1fr; gap: 26px; }
  .aside-grid__cards { grid-template-columns: repeat(2, 1fr); }
  .event-split { grid-template-columns: 1fr; gap: 30px; }
  .split-band { grid-template-columns: 1fr; }
  .split-band__panel { padding: 50px 20px; padding-inline-start: 20px; }
  .split-band__media { min-height: 260px; }
  .duo { grid-template-columns: 1fr; gap: 40px; }
  .footer-col { border-left: 0; padding-left: 0; }
}

/* ---------- Mobile ---------- */
@media (max-width: 767px) {
  :root { --container: 767px; }

  body { font-size: 15.5px; }

  .section { padding: 56px 0; }
  .section--tight { padding: 40px 0; }
  .section-head { margin-bottom: 38px; }

  h1 { font-size: 30px; }
  h2, .section-title { font-size: 26px; }
  h3 { font-size: 20px; }
  h4 { font-size: 18px; }

  .topbar { font-size: 12.5px; }
  .topbar__inner { flex-direction: column; gap: 6px; padding-block: 8px; }
  .topbar__contact { gap: 16px; flex-wrap: wrap; justify-content: center; }
  .brand img { height: 50px; }

  .hero { min-height: auto; }
  .hero__inner { padding: 64px 0; }
  .hero h1 { font-size: 30px; }

  .hero-split h1 { font-size: 30px; line-height: 38px; }
  .hero-split p { font-size: 16px; }

  .icon-list { grid-template-columns: 1fr; gap: 18px; }
  .duo__blog-grid { grid-template-columns: 1fr; }
  .quote--wide { grid-template-columns: 1fr; text-align: center; }
  .quote--wide .quote__person { align-items: center; }
  .event-split h3 { font-size: 24px; }
  .split-band__panel h2 { font-size: 26px; }
  .btn-hero-primary { font-size: 15px; }
  .btn-hero-ghost { font-size: 16px; }
  .hero p { font-size: 16px; margin-bottom: 26px; }
  .hero::before { background: rgba(0, 0, 0, 0.72); }

  .page-hero { padding: 60px 0 54px; }
  .page-hero h1 { font-size: 28px; }
  .page-hero p { font-size: 15.5px; }

  .grid, .grid-2, .grid-3, .grid-4, .grid-5 { grid-template-columns: 1fr; gap: 22px; }
  .apply-grid { grid-template-columns: 1fr; }
  .star-rule { margin-bottom: 34px; }
  .star-rule--bottom { margin-top: 40px; }
  .tile-grid { grid-template-columns: 1fr; }
  .award-poster-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .people-grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
  .venue-grid { grid-template-columns: repeat(2, 1fr); }

  .person { padding: 20px 12px; }
  .person__photo { width: 104px; height: 104px; }
  .person__name { font-size: 15px; }
  .person__role { font-size: 12.5px; }

  .carousel__slide { flex-basis: 100%; }

  .card { padding: 26px 22px; }
  .form-grid { grid-template-columns: 1fr; }
  .form-card { padding: 26px 20px; }

  .event__body { padding: 32px 24px; }
  .event h3 { font-size: 24px; }

  .logo-strip { gap: 30px; }
  .logo-strip img { height: 54px; }

  .stats { grid-template-columns: repeat(2, 1fr); gap: 24px; }
  .stat__num { font-size: 34px; }

  .cta-band { padding: 60px 0; }
  .cta-band h2 { font-size: 25px; }
  .cta-band p { font-size: 15.5px; }

  .btn { padding: 14px 26px; font-size: 14px; }
  .btn-lg { padding: 15px 30px; font-size: 15px; }
  .btn-row { gap: 12px; }

  .post-hero { padding: 48px 0 36px; }
  .post-hero h1 { font-size: 27px; }
  .post-content h2 { font-size: 23px; margin-top: 34px; }
  .post-content p, .post-content li { font-size: 16px; }

  .footer-grid { grid-template-columns: 1fr; gap: 30px; }
  .site-footer { padding-top: 54px; }
  .footer-bottom { margin-top: 40px; }

  .accordion__head { font-size: 15.5px; padding: 16px 18px; }
  .accordion__panel > div { padding: 0 18px 18px; }

  .float-wa { width: 50px; height: 50px; right: 16px; bottom: 16px; }
  .float-wa svg { width: 26px; height: 26px; }
  .to-top { right: 16px; bottom: 76px; width: 42px; height: 42px; }

  .info-panel { padding: 26px 22px; }
}

/* ---------- Small mobile ---------- */
@media (max-width: 480px) {
  .container { padding-inline: 16px; }
  .people-grid { grid-template-columns: 1fr; }
  .award-poster-grid { grid-template-columns: 1fr; }
  .venue-grid { grid-template-columns: 1fr; }
  .btn-block-xs { width: 100%; }
  .btn-row { flex-direction: column; align-items: stretch; }
  .btn-row .btn { width: 100%; }
  .stats { grid-template-columns: 1fr; }
  .spot-grid { grid-template-columns: 1fr; gap: 26px; }
  .star-rule { max-width: 100%; }
  .price-box { padding: 34px 22px 30px; }
  .price-box__icon { width: 80px; height: 80px; }
}

/* ---------- Print ---------- */
@media print {
  .site-header, .site-footer, .float-wa, .to-top, .carousel__nav, .mobile-nav, .nav-overlay { display: none !important; }
  body { color: #000; }
  .hero, .page-hero, .cta-band { background: none; color: #000; padding: 20px 0; }
  .hero::before, .page-hero::before, .cta-band::before { display: none; }
  .hero h1, .page-hero h1, .cta-band h2 { color: #000; }
}
