/* ═══════════════════════════════════════════════════════════════
   Maharashtra Higher Education Summit 2026 — responsive.css
   Desktop-down: 1600 → 1400 → 1200 → 992 → 768 → 480
   Plus: landscape phones, touch devices, print
   ═══════════════════════════════════════════════════════════════ */

/* ───────── LARGE DESKTOP (≥1600px) ───────── */

/* ───────── LAPTOP (≤1399px) ───────── */
@media (max-width:1399.98px){
  .navbar-nav .nav-link{ padding:10px 10px !important; font-size:14px; }
  .navbar-nav .nav-link::after{ left:10px; right:10px; }
  .brand-text small{ font-size:10px; letter-spacing:.1em; }

  

  
}

/* ───────── SMALL DESKTOP / NAV COLLAPSE (≤1199px) ───────── */
@media (max-width:1199.98px){
  :root{ --nav-h:74px; }

  

  .site-nav{
    background:#fffff5;
    box-shadow:0 8px 26px rgba(34,34,34,.08); padding:12px 0;
  }
  .navbar-collapse{
    margin-top:14px; background:#fffff5;
    border:1px solid rgba(34,34,34,.08); border-radius:var(--radius);
    box-shadow:0 24px 56px rgba(34,34,34,.14);
    padding:14px 18px 20px;
    max-height:calc(100svh - 140px); overflow-y:auto;
  }
  .navbar-nav .nav-link{ padding:13px 6px !important; font-size:16px; border-bottom:1px solid rgba(34,34,34,.08); }
  .navbar-nav .nav-item:last-child .nav-link{ border-bottom:0; }
  .navbar-nav .nav-link::after{ display:none; }
  .ifrane_container{ padding-top:110px; }

  

  .venue-card-hold{ position:static; padding:0; max-width:none; }
  .venue-card{
    position:static; transform:none; width:100%;
    border-radius:0; box-shadow:none; border:0; border-top:1px solid var(--line); background:#fff;
  }
  .venue-map{ height:420px; }
  .map-veil{ display:none; }

  
}

/* ───────── TABLET (≤991px) ───────── */
@media (max-width:991.98px){
  body{ font-size:16px; }

  .section-head{ margin-bottom:52px; }
  .section-title{ font-size:43px; }

  /* fixed-px type step-down */
  .impact-title{ font-size:38px; }
  .impact-num{ font-size:38px; }
  .impact-inner{ gap:48px; }
  .impact-figures{ gap:16px 40px; }
  .glance-title{ font-size:38px; }
  .glance-grid{ grid-template-columns:1fr; gap:40px; }
  .glance-media{ aspect-ratio:16/9; }
  .p-num{ font-size:68px; }
  
  
  
  
  .theme-line{ font-size:25px; }

  /* about */
  .section-about .container,
  .impact-band .container{ padding-inline:24px; }
  .about-grid{ grid-template-columns:1fr 1fr; gap:34px; }
  .about-copy{ grid-column:1 / -1; order:-1; padding:0; }
  .ab-media{ aspect-ratio:4/5; }
  .ab-title{ font-size:38px; margin-bottom:42px; }
  .ab-badge{ width:120px; height:120px; right:-24px; bottom:-22px; }
  
  

  /* pillars */
  
  
  
  

  
  
  

  /* programme */
  
  
  

  /* formats — iOS/Android ignore or mis-render fixed attachment, and the
     stacked section is far taller than the photo, so scroll it normally */
  .section-formats{ background-attachment:scroll; }

  /* souvenir */
  .souv-grid{ grid-template-columns:1fr; gap:32px; }
  .souv-title{ font-size:30px; }

  /* focus — a pinned wheel would eat most of a small screen, so it sits
     above the list and every theme reads at full strength */
  .focus-stage{ grid-template-columns:1fr; gap:46px; }
  .focus-pin{ height:auto; }
  .focus-sticky{ position:static; height:auto; display:block; }
  .focus-sticky .section-head{ margin-bottom:52px; }
  .focus-wheel{ max-width:400px; }
  /* no pin, so the three-row window opens out into a plain list */
  .focus-panels{ height:auto; overflow:visible; display:grid; gap:30px; }
  .focus-panel{
    position:static; height:auto; opacity:1; transform:none; pointer-events:auto;
  }

  /* experience */
  
  
  
  
  

  

  

  
  

  
  

  /* gallery */
  
  

  
  .footer-top{ padding-top:52px; }
  .footer-bottom{ margin-top:52px; flex-direction:column; text-align:center; gap:14px; }
  .footer-about{ max-width:100%; }
}

/* ───────── MOBILE (≤767px) ───────── */
@media (max-width:767.98px){
  :root{ --radius:16px; --radius-lg:20px; }

  html{ scroll-padding-top:84px; }
  .container{ padding-inline:18px; }
  .ifrane_container{ padding-top:90px; }

  .cursor-dot,.cursor-ring{ display:none !important; }

  .brand-text strong{ font-size:16px; }
  .brand-text small{ font-size:9px; letter-spacing:.08em; }
  .brand-mark{ height:42px; flex:0 0 auto; }
  .footer-logo{ height:48px; }

  

  
  
  .btn-text-link{ width:100%; justify-content:center; }
  .btn-lg{ padding:15px 26px; font-size:15px; }

  .theme-strip{ padding:18px 0; }
  .theme-line{ font-size:20px; line-height:1.42; }
  .marquee-set{ gap:24px; padding-right:24px; }

  /* fixed-px type step-down */
  .section-title{ font-size:34px; }
  
  
  

  /* impact band */
  .impact-inner{ flex-direction:column; gap:26px; text-align:center; }
  .impact-title{ font-size:30px; }
  .impact-figures{ width:100%; justify-content:center; gap:22px 0; }
  .impact-fig{ flex:1 1 50%; min-width:0; }
  .impact-num{ font-size:32px; }
  .impact-label{ font-size:12px; letter-spacing:.08em; margin-top:6px; }

  /* about */
  .about-grid{ grid-template-columns:1fr; gap:46px; }
  .ab-media{ aspect-ratio:4/3; }
  .ab-media > i{ font-size:32px; }
  .ab-plate{ inset:-14px -16px -18px -14px; }
  .ab-title{ font-size:28px; margin-bottom:34px; }
  .about-copy p{ font-size:16px; line-height:1.8; margin-bottom:16px; }
  .btn-glow{
    padding:16px 34px; font-size:13px; letter-spacing:.16em;
    box-shadow:0 12px 28px rgba(241,90,36,.3), 0 0 0 9px rgba(241,90,36,.12);
  }
  .ab-badge{ width:104px; height:104px; right:-12px; bottom:-16px; }
  .ab-badge-core{ width:44px; height:44px; font-size:16px; }
  
  
  
  
  

  /* pillars */
  .p-num{ font-size:51px; }
  .p-key{ font-size:11px; letter-spacing:.22em; }
  
  
  .art-tag{ left:12px; bottom:12px; font-size:10px; padding:6px 12px; }

  /* vision */
  
  
  .carousel-controls{ gap:14px; margin-top:18px; }
  .carousel-nav-btn{ width:42px; height:42px; flex:0 0 42px; }
  

  /* glance + eco */
  .glance-title{ font-size:29px; }
  
  .glance-ico{ width:36px; height:36px; flex:0 0 36px; font-size:14px; border-radius:11px; }
  .glance-deliver{ gap:13px; }
  .glance-deliver li{ gap:12px; padding-bottom:13px; }
  .glance-deliver p{ font-size:15.5px; }
  

  /* attendees */
  
  
  
  
  
  

  /* speakers */
  
  
  
  
  
  

  /* programme */
  
  
  
  
  
  
  
  

  /* formats */
  .fmt-card{ padding:32px 26px 30px; }
  .fmt-photo{ min-height:340px; padding:28px 24px 26px; }
  .fmt-card h3{ font-size:20px; }
  .fmt-card p{ font-size:14.5px; }

  /* experience */
  
  
  
  

  /* souvenir */
  .souv-frame{ padding:9% 9% 11%; }
  .souv-title{ font-size:25px; }
  .souv-body p{ font-size:15px; }

  /* focus + topics */
  /* SVG text scales with the viewBox, so bump the user units to keep the
     wheel labels legible once the whole thing shrinks */
  .focus-wheel{ margin-top:52px; }
  .fw-slice text{ font-size:21px; }
  .fw-n{ font-size:26px; }
  .fw-hub-num{ font-size:62px; }
  .fw-hub-label{ font-size:18px; }

  .focus-panel{ gap:18px; }
  .focus-num{ font-size:31px; }
  .focus-copy h3{ font-size:19px; gap:9px; }
  .focus-copy p{ font-size:14.5px; }
  
  

  /* awards */
  
  

  /* partner */
  
  
  
  

  /* souvenir */
  
  
  
  

  /* gallery */
  
  
  
  
  
  

  /* logo marquee */
  

  /* faq */
  .faq-accordion{ grid-template-columns:1fr; gap:14px; }
  .faq-accordion .accordion-button{ font-size:15px; padding:19px 60px 19px 20px; }
  .faq-accordion .accordion-button::after{ right:16px; width:30px; height:30px; }
  .faq-accordion .accordion-body{ padding:18px 20px 22px; font-size:15px; }

  /* venue */
  .venue-map{ height:300px; }
  .venue-card{ padding:28px 22px; }
  .venue-card h3{ font-size:21px; }
  .vx-card{ padding:26px 22px; }

  /* cta */
  
  
  
  

  /* modal */
  .register-modal .modal-header{ padding:26px 22px 8px; }
  .register-modal .modal-body{ padding:12px 22px 28px; }
  .register-modal .modal-title{ font-size:23px; }

  /* footer */
  
  
  .footer-head{ margin-bottom:18px; }

  /* floating UI */
  .sticky-cta{ display:flex; }
  .back-to-top{ right:16px; bottom:92px; width:46px; height:46px; }
}

/* ───────── SMALL MOBILE (≤479px) ───────── */
@media (max-width:479.98px){
  .container{ padding-inline:16px; }
  .brand-text small{ display:none; }

  .impact-num{ font-size:27px; }
  .impact-title{ font-size:25px; }
  .section-title{ font-size:27px; }
  .ab-title{ font-size:24px; }
  .section-desc{ font-size:16px; }

  
  

  .sc-info small{ display:none; }
  .sticky-cta{ padding:10px 10px 10px 16px; }
  .sticky-cta .btn{ padding:10px 18px; font-size:13px; }

}

/* ───────── LANDSCAPE PHONES ───────── */
@media (max-height:540px) and (orientation:landscape){
  .navbar-collapse{ max-height:calc(100svh - 96px); }
  
  
}

/* ───────── SHORT VIEWPORTS ─────────
   Heading + wheel share one pinned screen, so on laptop-height displays the
   wheel has to give way or the block overflows its sticky box. */
@media (min-width:992px) and (max-height:840px){
  .focus-wheel{ max-width:400px; }
  .focus-sticky .section-head{ margin-bottom:24px; }
  .focus-stage{ gap:48px; }
  .focus-panels{ --row:128px; }
}

/* ───────── TOUCH DEVICES ───────── */
@media (hover:none){
  .cursor-dot,.cursor-ring{ display:none !important; }
  
}

/* ───────── PRINT ───────── */
@media print{
  .site-nav,.cursor-dot,.cursor-ring,
  .back-to-top,.sticky-cta,.section-rail,.theme-strip,
  .logo-marquee,.blob,.dot-pattern,.grain,.luxe-glow,.vision-shapes,
  .cta-shapes,.venue-map,.lightbox{
    display:none !important;
  }
  body{ background:#fff; color:#000; font-size:11pt; }
  .section{ padding:22px 0; page-break-inside:avoid; }
  .dark-luxe,.section-vision,.cta-band,.site-footer,.impact-band{
    background:#fff !important; color:#000 !important;
  }
  .dark-luxe h1,.dark-luxe h2,.dark-luxe h3,.cta-title,
  .section-vision .section-title,.vision-quote p,.vision-text,
  .footer-head,.impact-num,.impact-title,.impact-label{ color:#000 !important; }
  .pillar-text,.pillar-questions li,.who-card p,.exp-card p,.fmt-card p,
  .benefit-card p,.text-light-soft{ color:#333 !important; }
  a[href^="http"]::after{ content:" (" attr(href) ")"; font-size:9pt; }
  [data-aos]{ opacity:1 !important; transform:none !important; }
}
