@media (max-width: 1100px) {
  .rt-card-grid-4,
  .rt-footer-grid,
  .rt-post-grid,
  .rt-gallery-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rt-card-grid-3,
  .rt-hero-grid,
  .rt-two-col,
  .rt-highlight-box,
  .rt-contact-band-inner,
  .rt-blog-layout { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
  .rt-menu-toggle { display: block; }
  .main-navigation {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 1px solid var(--rt-border);
    display: none;
    padding: 12px 16px 20px;
  }
  .main-navigation.is-open { display: block; }
  .main-navigation ul,
  .main-navigation .sub-menu {
    display: grid;
    gap: 0;
    position: static;
    box-shadow: none;
    border: 0;
    padding: 0;
    min-width: 0;
  }
  .main-navigation li a {
    display: block;
    padding: 14px 0;
    border-bottom: 1px solid var(--rt-border);
  }
  .main-navigation .sub-menu li a {
    padding-left: 14px;
  }
  .main-navigation li:hover > .sub-menu,
  .main-navigation li:focus-within > .sub-menu { display: grid; }
  .rt-header-cta { display: none; }
}

@media (max-width: 767px) {
  h1 { font-size: clamp(2rem, 10vw, 3rem); }
  h2 { font-size: clamp(1.6rem, 7vw, 2.4rem); }
  .rt-section { padding: 64px 0; }
  .rt-topbar-inner { gap: 8px; }
  .rt-topbar-location { width: 100%; }
  .rt-card-grid-2,
  .rt-card-grid-3,
  .rt-card-grid-4,
  .rt-post-grid,
  .rt-gallery-grid,
  .rt-footer-grid,
  .rt-form-grid { grid-template-columns: 1fr; }
  .rt-package-mini-card,
  .rt-card,
  .rt-highlight-box,
  .rt-contact-form-wrap { padding: 24px; }
  .rt-page-hero { padding: 58px 0 30px; }
  .rt-mobile-sticky-cta { display: flex; }
  body { padding-bottom: 88px; }
  .rt-footer-bottom-inner { align-items: flex-start; }
}
