/* ==========================================================================
   RESPONSIVE — ultra-wide down to small phones
   ========================================================================== */

/* ---- Ultra-wide ---- */
@media (min-width: 1800px) {
  :root { --maxw: 1620px; --fs-hero: 9rem; }
}

/* ---- Laptop ---- */
@media (max-width: 1280px) {
  .footer__grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer__brand { grid-column: 1 / -1; }
  .rd { grid-template-columns: 1fr; }
  .rd__panel { position: static; }
  .masonry { columns: 3; }
}

/* ---- Tablet ---- */
@media (max-width: 1180px) {
  .contact-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-grid > :last-child:nth-child(3n + 2) { grid-column: auto; }
  /* The cue would sit under the floating contact dock once the viewport
     narrows, so it steps aside rather than competing with it. */
  .scroll-cue { display: none; }
  .hero__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem 2rem; }
  .split-head { grid-template-columns: 1fr; }
  .split-head > .section-head { position: static; margin-bottom: 2rem; }
  .nav__links { display: none; }
  .burger { display: block; }
  .nav__cta .btn { display: none; }
  .split, .why, .timings, .res, .attr, .attr:nth-child(even) .attr__media { grid-template-columns: 1fr; order: 0; }
  .why__sticky, .res__aside { position: static; }
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .about__collage .figure:nth-child(1) { width: 100%; }
  .about__collage .figure:nth-child(2) { width: 42%; bottom: -6%; }
  .masonry { columns: 2; }
  .hero__meta { gap: 1.2rem 2rem; }
  .rd__gallery { grid-template-columns: repeat(2, 1fr); }
.room-card__media{
  aspect-ratio:initial
}

}

/* ---- Mobile ---- */
@media (max-width: 720px) {
  .contact-grid { grid-template-columns: 1fr; }
  .contact-grid > :last-child { grid-column: auto; }
  .why__item { grid-template-columns: 1fr; gap: .35rem; }
  .why__item .n { padding-top: 0; }
  :root { --section-y: 4.5rem; --ls-eyebrow: .26em; }
  .grid-2, .grid-3, .grid-4, .stats, .res__row { grid-template-columns: 1fr; }
  .stats { gap: 1.4rem; }
  .hero { min-height: 92svh; }
  .hero__media img {
        object-position: 58% center!important; /* move image left */
        height: 100%;
    }

    .btn{
          margin-bottom: 10px;
    }

    .hero__media {
        inset: 0!important;
    }
  .hero h1 { max-width: 100%; }
  .hero__actions .btn { flex: 1 1 100%; }
  .scroll-cue { left: var(--gutter); right: auto; }
  .masonry { columns: 1; }
  .timeline { padding-left: 1.8rem; }
  .tl-item::before { left: -1.8rem; }
  .pooja { grid-template-columns: 92px 1fr; }
  .pooja__tag { grid-column: 2; }
  .map-card { position: static; max-width: none; border-radius: 0; }
  .scroll-cue { display: none; }
  .map-wrap { border-radius: var(--r-md); }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__bar { justify-content: flex-start; }
      .about__collage .figure:nth-child(2) {
        position: static;
        width: 70%;
        margin-top: 1rem;
        margin-top: -52px;
        margin-left: 20px;
    }
  .about__seal { display: none; }
  .cursor-glow, .cursor-dot { display: none; }
  .dock { flex-direction: row; }
  .tariff-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .tariff-table { min-width: 640px; }
  .spec-list, .amenities, .contact-grid { grid-template-columns: 1fr; }
}


@media (max-width: 500px) {
.rooms-grid {
    display: block;
}
@media (max-width: 420px) {
  :root { --gutter: 1.1rem; }
  .btn { padding: .95em 1.5em; }
}

/* ---- Coarse pointer: no custom cursor, larger targets ---- */
@media (hover: none) {
  .cursor-glow, .cursor-dot { display: none !important; }
  .masonry figcaption { opacity: 1; transform: none; }
}

/* ---- Print ---- */
@media print {
  .nav, .dock, .intro, .footer, .cursor-glow, .cursor-dot, .scroll-progress { display: none !important; }
  body { background: #fff; color: #000; }
}
