@media (max-width: 1440px) {
  .container {
    width: min(1180px, calc(100% - 64px));
  }

  .nav-wrap {
    width: min(1180px, calc(100% - 64px));
  }

  .section-title,
  .info-title,
  .entry-title,
  .content-card h1,
  .content-card h2,
  .home-v2-section-title,
  .home-v2-cta__title {
    font-size: clamp(28px, 2.8vw, 40px);
  }
}

@media (max-width: 1200px) {
  .hero-shell,
  .split-layout,
  .cta-wrap,
  .booking-layout,
  .contact-layout,
  .footer-grid,
  .posts-grid,
  .posts-grid--archive,
  .guide-grid,
  .contact-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hero-shell,
  .cta-wrap,
  .booking-layout,
  .contact-layout,
  .footer-grid,
  .split-layout {
    grid-template-columns: 1fr;
  }

  .booking-summary,
  .info-card {
    position: static;
  }
}

@media (max-width: 992px) {
  .nav-links,
  .nav-cta {
    display: none;
  }

  .nav-toggle {
    display: inline-flex;
  }

  .mobile-panel {
    display: none;
    position: absolute;
    top: calc(100% + 12px);
    left: 0;
    right: 0;
    background: rgba(255, 250, 244, 0.97);
    border: 1px solid rgba(62, 92, 92, 0.1);
    box-shadow: var(--shadow-md);
    border-radius: 24px;
    padding: 16px;
  }

  .hero-copy {
    padding: 42px 28px 30px;
  }

  .hero-media {
    min-height: 420px;
  }
}

@media (max-width: 767px) {
  .container {
    width: min(var(--container), 93%);
  }

  .page-shell {
    padding: 0 0 26px;
  }

  .topbar {
    display: none;
  }

  .site-header {
    top: 0;
    margin-bottom: 0;
  }

  .nav-wrap {
    width: min(var(--container), 93%);
    border-radius: 0;
    min-height: 90px;
    padding: 0;
  }

  .brand {
    min-height: 90px;
    display: flex;
    align-items: center;
  }

  .custom-logo,
  .custom-logo--theme-upload {
    max-height: 90px;
    height: auto;
  }

  .nav-toggle {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
  }

  .hero-shell,
  .posts-grid,
  .posts-grid--archive,
  .service-grid,
  .contact-cards,
  .guide-grid,
  .contact-form,
  .footer-grid,
  .cta-wrap,
  .split-layout {
    grid-template-columns: 1fr;
  }


  .home-reset-section,
  .home-reset-section--compact {
    padding: 50px 0;
  }

  .hero-copy,
  .content-card,
  .contact-card,
  .info-card,
  .form-card,
  .feature-card,
  .widget,
  .comments-area,
  .service-card__body,
  .archive-card__body {
    padding: 22px 18px;
  }

  .hero-title,
  .section-title,
  .info-title,
  .content-card h1,
  .content-card h2 {
    font-size: clamp(34px, 12vw, 48px);
    line-height: 0.98;
  }

  .btn,
  .pill-link {
    width: 100%;
  }

  .button-row,
  .hero-actions,
  .form-actions,
  .mobile-nav-cta,
  .choice-row,
  .cta-band {
    flex-direction: column;
    align-items: stretch;
  }

  .cta-band {
    display: flex;
  }

  .service-grid--services.service-grid--has-odd > .service-card--wide .service-card__media {
    border-radius: 22px;
  }

  .hero-media {
    min-height: 360px;
  }

  .hero-float,
  .hero-badge {
    position: static;
    max-width: none;
    margin: 14px;
  }

  .site-footer {
    border-radius: 0;
    padding: 22px 16px 14px;
  }

  .footer-col--pages {
    padding-left: 0;
  }

  .footer-note {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .nav-wrap {
    width: min(var(--container), 93%);
    padding: 10px 0;
    border-radius: 0;
  }

  .custom-logo,
  .custom-logo--theme-upload {
    max-height: 90px;
  }


  .home-reset-section,
  .home-reset-section--compact {
    padding: 50px 0;
  }

  .hero-copy,
  .content-card,
  .contact-card,
  .info-card,
  .form-card,
  .feature-card,
  .widget,
  .comments-area,
  .service-card__body,
  .archive-card__body {
    padding: 18px 14px;
  }

  .hero-media {
    min-height: 300px;
  }
}


@media (max-width: 1200px) {
  .feature-grid,
  .dual-banner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .feature-photo,
  .dual-banner-photo {
    min-height: 220px;
  }
}


@media (max-width: 767px) {
  .page-banner-compact {
    min-height: 150px;
    border-radius: 22px;
  }

  .page-banner-compact__overlay {
    min-height: 150px;
    padding: 18px 16px;
  }

  .page-banner-compact__title {
    font-size: clamp(28px, 9vw, 38px);
  }
}


@media (max-width: 767px) {
  .support-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .home-reset-locations,
  .home-reset-question,
  .home-reset-testimonial-copy,
  .home-reset-testimonial-visual,
  .services-reset-copy,
  .service-single-reset-panel,
  .service-single-reset-content-card,
  .contact-hero-panel,
  .contact-page-aside,
  .contact-page-form-card,
  .contact-visit-card,
  .location-home-copy,
  .location-home-map-card,
  .location-home-detail-card,
  .location-home-note,
  .stbw-about-main .about-reset-panel,
  .stbw-about-main .about-reset-step-card,
  .stbw-about-main .about-reset-cta__box,
  .stbw-about-section--focus .about-reset-panel--focus-main,
  .stbw-about-section--focus .about-reset-panel--mini,
  .stbw-about-section--focus .about-reset-panel--accent,
  .about-reset-panel,
  .about-reset-step-card,
  .about-reset-cta__box,
  .hero-copy,
  .content-card,
  .contact-card,
  .info-card,
  .form-card,
  .feature-card,
  .widget,
  .comments-area,
  .service-card__body,
  .archive-card__body {
    padding: 17px !important;
  }
}
