/* ===================================================================
   BIZNET GLOBAL AWARDS — RESPONSIVE OVERRIDES
   Mobile is designed intentionally, not just shrunk desktop.
   Breakpoints:
     1440px  large desktop / 4K containment
     1100px  desktop nav <-> mobile nav switch
     900px   tablet landscape
     680px   tablet portrait / large mobile
     420px   small mobile
   =================================================================== */

/* -------------------------------------------------
   Large desktop / 4K — keep content from over-stretching
------------------------------------------------- */
@media (min-width: 1440px) {
  :root { --container-max: 1360px; }
  .hero__title { font-size: clamp(3.4rem, 4.4vw, 5.4rem); }
}

/* -------------------------------------------------
   Tablet landscape
------------------------------------------------- */
@media (max-width: 1099px) {
  .header-cta .btn-outline { display: none; }
}

@media (max-width: 900px) {
  .stat-split { grid-template-columns: 1fr; gap: 2.5rem; }
  .about-alt { grid-template-columns: 1fr !important; }
  .about-alt .about-alt__media { order: -1; }
  .grand-finale-grid { grid-template-columns: repeat(2, 1fr); }
  .partners-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

/* -------------------------------------------------
   Tablet portrait / large mobile
------------------------------------------------- */
@media (max-width: 680px) {
  :root { --section-pad-y: clamp(3.25rem, 12vw, 5rem); }

  .site-header__inner { height: 74px; }
  .brand__word { font-size: 1.08rem; }
  .brand__sub { display: none; }

  .hero { min-height: 100svh; }
  .hero__eyebrow { font-size: 0.66rem; }
  .hero__title { font-size: clamp(2.1rem, 9vw, 2.9rem); }
  .hero__meta { flex-direction: column; align-items: flex-start; gap: 0.6rem; }
  .btn-row { flex-direction: column; align-items: stretch; width: 100%; }
  .btn-row .btn { width: 100%; }

  .counter-row { flex-wrap: wrap; justify-content: center; }
  .countdown-row { justify-content: center; }

  .region-tabs {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
    padding-bottom: 0.5rem;
  }
  .region-tabs::-webkit-scrollbar { display: none; }
  .region-tab { scroll-snap-align: start; flex: 0 0 auto; }

  .grand-finale-grid { grid-template-columns: 1fr; }
  .partners-grid { grid-template-columns: repeat(2, 1fr); }
  .supported-grid { grid-template-columns: repeat(2, 1fr); }

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

  .footer-grid { grid-template-columns: 1fr; gap: 2.25rem; }
  .footer-bottom { flex-direction: column; align-items: flex-start; text-align: left; }

  .lightbox__nav { width: 40px; height: 40px; }
}

/* -------------------------------------------------
   Small mobile
------------------------------------------------- */
@media (max-width: 420px) {
  .container { padding-inline: 1.1rem; }
  .partners-grid, .supported-grid { grid-template-columns: repeat(2, 1fr); gap: 0.9rem; }
  .btn { font-size: 0.74rem; padding: 0.85rem 1.4rem; }
  .site-header__inner { height: 66px; }
}

/* -------------------------------------------------
   Landscape phones — hero should not feel cramped
------------------------------------------------- */
@media (max-height: 480px) and (orientation: landscape) {
  .hero { min-height: 130vh; }
}

/* -------------------------------------------------
   Print — sane fallback, awards site is rarely printed
------------------------------------------------- */
@media print {
  .site-header, .mobile-menu, .hamburger, video, .particle-field { display: none !important; }
  body { background: #fff; color: #000; }
}
