@media (max-width: 1040px) {
  .facility-grid,
  .life-grid,
  .why-tulasi__grid,
  .area-guide__grid,
  .nearby-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 900px) {
  :root {
    --container: min(100vw - 28px, 720px);
  }

  .nav {
    min-height: 68px;
  }

  .nav__toggle {
    display: block;
    flex: 0 0 44px;
  }

  .nav__links {
    position: fixed;
    top: 68px;
    left: 14px;
    right: 14px;
    display: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: 14px;
    background: var(--white);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
  }

  .nav__links.is-open {
    display: flex;
  }

  .nav__links a {
    padding: 12px;
  }

  .nav__links .btn {
    margin-top: 8px;
  }

  .split,
  .food__wrap,
  .footer__grid {
    grid-template-columns: 1fr;
  }

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

  .reviews-summary {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .reviews-summary .btn {
    width: 100%;
  }

  .food__image,
  .food__image img {
    min-height: 280px;
  }

  .food__content {
    padding: 30px;
  }

  .section-copy {
    position: static;
  }

  .section {
    padding: 72px 0;
  }

  .hero {
    min-height: 0;
    height: auto;
    display: block;
  }

  .hero__media {
    position: relative;
    inset: auto;
    width: 100%;
    aspect-ratio: 1665 / 945;
  }

  .hero__media img {
    position: static;
    inset: auto;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
  }

  .hero__shade {
    inset: 0 0 auto;
    height: 56.76vw;
    background:
      linear-gradient(180deg, rgba(12, 18, 22, 0.08), rgba(12, 18, 22, 0.42)),
      linear-gradient(90deg, rgba(12, 18, 22, 0.2), rgba(12, 18, 22, 0.04));
  }

  .hero__content {
    background: var(--ink);
    padding: 116px 0 132px;
  }

  .mobile-cta {
    position: fixed;
    left: 12px;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    z-index: 70;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 8px;
    background: rgba(245, 242, 234, 0.94);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
    backdrop-filter: blur(16px);
  }

  .mobile-cta a {
    display: grid;
    place-items: center;
    min-height: 46px;
    border-radius: var(--radius);
    background: var(--ink);
    color: var(--white);
    font-weight: 800;
    text-transform: uppercase;
    font-size: 13px;
    touch-action: manipulation;
  }
}

@media (max-width: 620px) {
  :root {
    --container: calc(100vw - 24px);
  }

  .nav {
    gap: 12px;
    padding: 0;
  }

  .brand__logo {
    width: 43px;
    height: 43px;
  }

  .brand {
    min-width: 0;
    gap: 8px;
    font-size: 15px;
  }

  .brand > span {
    white-space: nowrap;
  }

  h1 {
    max-width: 350px;
    font-size: clamp(38px, 11vw, 52px);
    line-height: 0.98;
  }

  h2 {
    font-size: clamp(30px, 9vw, 42px);
  }

  h3 {
    font-size: 24px;
  }

  .section {
    padding: 60px 0;
  }

  .hero__content {
    padding-top: 38px;
  }

  .hero__content p:not(.eyebrow),
  .about__text p,
  .food__wrap p {
    font-size: 18px;
  }

  .hero__content p:not(.eyebrow) {
    max-width: 320px;
    margin-top: 16px;
    font-size: 17px;
    line-height: 1.45;
  }

  .hero__actions,
  .contact__actions {
    display: grid;
  }

  .hero__actions .btn,
  .contact__actions .btn {
    width: 100%;
  }

  .hero__benefits {
    gap: 8px;
    margin-top: 22px;
    max-width: 350px;
  }

  .hero__benefits span {
    padding: 8px 10px;
    font-size: 11px;
  }

  .facility-grid,
  .life-grid,
  .gallery-grid,
  .why-tulasi__grid,
  .area-guide__grid,
  .nearby-grid {
    grid-template-columns: 1fr;
  }

  .gallery-grid {
    grid-auto-rows: 240px;
  }

  .gallery-item:nth-child(1),
  .gallery-item:nth-child(5) {
    grid-column: auto;
    grid-row: auto;
  }

  .room-card,
  .contact__panel,
  .food__wrap,
  .testimonial-card {
    padding: 26px;
  }

  .testimonial-card {
    padding: 20px;
  }

  .testimonial-card__top,
  .testimonial-card__footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .room-card__image {
    margin: -26px -26px 24px;
    height: 220px;
  }

  .room-selector {
    margin-top: 20px;
  }

  .room-selector button {
    width: 44px;
    height: 44px;
  }

  .comparison {
    margin-top: 52px;
  }

  .comparison__table th,
  .comparison__table td {
    padding: 14px;
    font-size: 14px;
  }

  .map-card,
  .map-card iframe {
    min-height: 320px;
    height: 320px;
  }

  .faq-item button {
    padding: 17px;
  }

  .faq-item p {
    padding: 0 17px 17px;
  }

  .footer {
    padding-bottom: 120px;
  }

  .lightbox__prev,
  .lightbox__next {
    top: auto;
    bottom: 18px;
  }
}
