@media (max-width: 980px) {
  .top-bar {
    display: none;
  }

  .header-inner {
    min-height: 72px;
  }

  .menu-toggle {
    display: inline-flex;
    z-index: 1002;
  }

  .main-nav {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    background: rgba(26, 32, 44, 0.98);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.4rem;
    z-index: 1001;
  }

  .main-nav.open {
    transform: translateX(0);
  }

  .nav-menu {
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
  }

  .nav-item {
    color: #fff;
    font-size: 1.1rem;
  }

  .nav-item::after {
    background: #f7931e;
  }

  .cta-button {
    width: min(220px, 80vw);
    text-align: center;
  }

  .hero-content {
    min-height: 100vh;
    grid-template-columns: 1fr;
    padding-top: 4.8rem;
    padding-bottom: 2.5rem;
  }

  .hero-floating {
    margin-top: 0;
    padding-bottom: 1.2rem;
  }

  .booking-wrap {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 160px;
  }

  .gallery-item.wide,
  .gallery-item.tall {
    grid-column: auto;
    grid-row: auto;
  }
}

@media (max-width: 640px) {
  .section-space {
    padding: 3.8rem 0;
  }

  .hero-actions {
    width: 100%;
  }

  .hero-actions .btn {
    flex: 1 1 100%;
  }

  .hero-search-grid {
    grid-template-columns: 1fr;
  }

  .hero-floating {
    grid-template-columns: 1fr;
  }

  .cards-3,
  .cards-4 {
    grid-template-columns: 1fr;
  }

  .newsletter-form {
    flex-direction: column;
  }

  .carousel-controls {
    justify-content: flex-start;
  }
}

@media (max-width: 1080px) {
  main {
    padding-top: 112px;
  }

  section[id] {
    scroll-margin-top: 112px;
  }

  .nav-menu {
    gap: 1.2rem;
  }

  .hero-content {
    grid-template-columns: 1fr;
    padding-top: 1.8rem;
    padding-bottom: 2.6rem;
  }

  .hero-search {
    max-width: 620px;
  }

  .hero-floating {
    margin-top: 0;
  }

  .booking-wrap,
  .two-col {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 980px) {
  main {
    padding-top: 78px;
  }

  section[id] {
    scroll-margin-top: 82px;
  }

  .top-bar {
    display: none;
  }

  .site-header {
    background: #fff;
  }

  .header-inner {
    min-height: 78px;
  }

  .menu-toggle {
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    z-index: 1301;
  }

  .menu-toggle span {
    width: 24px;
    height: 2px;
    background: #1f4fa3;
  }

  .main-nav {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    background: rgba(12, 28, 50, 0.98);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.4rem;
    transform: translateX(100%);
    transition: transform 0.32s ease;
    z-index: 1300;
  }

  .main-nav.open {
    transform: translateX(0);
  }

  .nav-menu {
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    margin: 0;
  }

  .nav-item {
    color: #eef4ff;
    font-size: 1.08rem;
  }

  .nav-item::after {
    background: #ff8a1f;
  }

  .cta-button {
    width: min(240px, 78vw);
    text-align: center;
  }

  .newsletter-form {
    flex-wrap: wrap;
  }
}

@media (max-width: 640px) {
  .section-space {
    padding: 4.2rem 0;
  }

  .hero-copy h1 {
    font-size: clamp(2rem, 8vw, 2.45rem);
  }

  .hero-search-grid {
    grid-template-columns: 1fr;
  }

  .hero-floating,
  .cards-3,
  .cards-4 {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: 140px;
  }

  .footer-bottom {
    text-align: center;
  }
}

/* Header refresh responsive behavior */
@media (max-width: 1080px) {
  main {
    padding-top: 84px;
  }

  section[id] {
    scroll-margin-top: 96px;
  }

  .nav-menu {
    gap: 1.05rem;
  }

  .support-link strong {
    font-size: 0.78rem;
  }
}

@media (max-width: 980px) {
  .site-header {
    background: #fff;
  }

  .header-inner {
    min-height: 78px;
  }

  .menu-toggle {
    display: inline-flex;
    z-index: 1402;
  }

  .main-nav {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    padding: 92px 22px 30px;
    background: rgba(9, 23, 43, 0.97);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 1.35rem;
    transform: translateX(100%);
    transition: transform 0.32s ease;
    z-index: 1401;
  }

  .main-nav.open {
    transform: translateX(0);
  }

  .nav-menu {
    margin: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
  }

  .nav-item {
    color: #edf4ff;
    font-size: 1.06rem;
  }

  .nav-item::after {
    background: #ff9b2f;
    bottom: -4px;
  }

  .header-actions {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    margin-top: 0.25rem;
  }

  .header-icon-btn {
    display: none;
  }

  .header-phone {
    width: 100%;
    text-align: center;
  }

  .support-link {
    padding: 0.65rem 0.75rem;
    border-color: rgba(207, 223, 245, 0.33);
    background: rgba(255, 255, 255, 0.08);
  }

  .support-link:hover {
    border-color: rgba(207, 223, 245, 0.5);
    box-shadow: none;
  }

  .support-text small {
    color: #d1dff4;
  }

  .support-text strong {
    color: #fff;
  }

  .cta-button {
    width: 100%;
    text-align: center;
  }

  .logo.logo-only {
    width: 150px;
    max-width: 62vw;
  }

  .logo-image-full {
    height: 42px;
  }
}

@media (max-width: 640px) {
  main {
    padding-top: 76px;
  }

  section[id] {
    scroll-margin-top: 82px;
  }

  .logo-text-group small {
    display: none;
  }

  .logo-mark {
    width: 42px;
    height: 42px;
  }

  .logo.logo-only {
    width: 132px;
  }
}

@media (max-width: 980px) {
  .hero-banner {
    min-height: 62vh;
  }

  .hero-banner-content {
    min-height: 56vh;
    grid-template-columns: 1fr;
    gap: 0.9rem;
    padding: 0.5rem 0;
  }

  .hero-nav-btn {
    display: none;
  }

  .hero-banner-copy h1 {
    font-size: clamp(1.8rem, 9vw, 2.8rem);
  }

  .hero-banner-copy p {
    font-size: 0.84rem;
    max-width: 90%;
  }

  .hero-floating {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .hero-floating {
    grid-template-columns: 1fr;
    margin-top: -24px;
  }

  .hero-kicker {
    font-size: clamp(1.7rem, 10vw, 2.3rem);
  }
}

@media (max-width: 980px) {
  .popular-package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .popular-package-card-lg {
    grid-column: span 2;
  }

  .popular-package-overlay h3 {
    font-size: 1.65rem;
  }

  .stats-highlight-grid {
    grid-template-columns: 1fr;
  }

  .stats-highlight-card h3 {
    font-size: 1.85rem;
  }

  .emi-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .premium-group-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .happy-clients-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .trending-showcase-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .enquiry-split-grid {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .stay-connected-panel {
    min-height: auto;
    align-content: start;
    justify-items: start;
    gap: 0.7rem;
  }

  .stay-connect-item {
    justify-items: start;
  }

  .testimonials-showcase-grid {
    grid-template-columns: 1fr;
  }

  .daily-deals-poster-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .accreditation-logo-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .latest-blog-strip-grid {
    grid-template-columns: 1fr;
  }

  .updates-subscribe-inner {
    grid-template-columns: 1fr;
    padding: 1rem 0;
    gap: 0.8rem;
  }

  .updates-subscribe-form {
    justify-self: start;
  }
}

@media (max-width: 640px) {
  .popular-package-grid {
    grid-template-columns: 1fr;
  }

  .popular-package-card-lg {
    grid-column: span 1;
  }

  .popular-package-card {
    min-height: 230px;
  }

  .popular-package-overlay h3,
  .popular-package-card-lg .popular-package-overlay h3 {
    font-size: 1.5rem;
  }

  .popular-package-btn {
    font-size: 0.7rem;
    padding: 0.42rem 0.72rem;
  }

  .stats-highlight-card {
    padding: 1.1rem 0.95rem 0.95rem;
  }

  .stats-highlight-card h3 {
    font-size: 1.65rem;
  }

  .stats-highlight-card p {
    font-size: 1rem;
  }

  .certificate-banner-card {
    border-radius: 8px;
  }

  .emi-card-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.72rem;
  }

  .emi-card-media img {
    height: 132px;
  }

  .group-departures-banner-section {
    padding-top: 0.2rem;
  }

  .group-departures-banner-card {
    border-radius: 6px;
  }

  .premium-group-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
  }

  .premium-group-card {
    min-height: 250px;
  }

  .premium-group-overlay h3 {
    font-size: 0.78rem;
  }

  .premium-group-cta {
    padding: 0.5rem 1.4rem;
    font-size: 0.76rem;
    letter-spacing: 0.15em;
  }

  .happy-clients-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
  }

  .happy-client-card {
    min-height: 260px;
  }

  .happy-client-overlay p {
    font-size: 0.68rem;
  }

  .trending-showcase-grid {
    grid-template-columns: 1fr;
  }

  .dream-vacay-form {
    max-width: 100%;
  }

  .dream-vacay-form-card h3,
  .stay-connected-panel h3 {
    font-size: 1.55rem;
  }

  .daily-deals-poster-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .daily-deal-poster {
    min-height: 210px;
  }

  .accreditation-logo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .updates-copy h3 {
    font-size: 1.3rem;
  }

  .updates-subscribe-form {
    width: 100%;
  }

  .updates-subscribe-form button {
    padding: 0 0.75rem;
  }
}

/* Keep polished cards readable on smaller screens */
@media (max-width: 980px) {
  .stay-connected-panel,
  .dream-vacay-form-card {
    padding: 1rem;
  }

  .updates-subscribe-inner {
    border-radius: 10px;
  }
}

@media (max-width: 640px) {
  .trending-showcase-card,
  .testimonial-showcase-card,
  .daily-deal-poster,
  .accreditation-logo-card,
  .latest-blog-strip-card {
    border-radius: 14px;
  }

  .booking-form-row--2 {
    grid-template-columns: 1fr;
  }

  .booking-submit-wrap {
    margin-bottom: -1.65rem;
  }

  .updates-subscribe-form {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .updates-subscribe-form input,
  .updates-subscribe-form button {
    border-radius: 8px;
    border-right: 1px solid #c8d5ea;
  }

  .updates-subscribe-form button {
    min-height: 42px;
  }
}

@media (max-width: 980px) {
  main > section.reveal:nth-of-type(even):not(.hero),
  main > section.reveal:nth-of-type(odd):not(.hero):not(.section-muted) {
    background-color: transparent;
  }

  main > section.reveal {
    border-top-color: rgba(205, 217, 236, 0.4);
  }
}
