/* Mobile & tablet only — desktop (768px+) is untouched */

@media (max-width: 767px) {
  html,
  body {
    overflow-x: clip;
  }

  .container-page {
    padding-inline: 1rem;
  }

  main.site-main {
    padding-top: 5rem;
  }

  /* Hero */
  section.min-h-\[100svh\] .container-page {
    padding-top: 7rem;
    padding-bottom: 2.5rem;
  }

  section.min-h-\[100svh\] h1.font-display {
    font-size: 2.125rem;
    line-height: 1.12;
  }

  section.min-h-\[100svh\] .mt-6.flex.flex-wrap {
    gap: 0.5rem 1rem;
    font-size: 0.65rem;
    letter-spacing: 0.12em;
  }

  /* Stats strip */
  .stats-strip {
    border-radius: 1.25rem;
  }

  .stats-strip__value {
    font-size: 1.875rem;
    line-height: 1.2;
  }

  .stats-strip__item {
    min-height: 6.25rem;
    padding-inline: 0.75rem;
    padding-block: 1.25rem;
  }

  .stats-strip__item > p:last-child {
    font-size: 0.625rem;
    letter-spacing: 0.06em;
    line-height: 1.35;
  }

  /* Hero search bar */
  .property-search--hero {
    border-radius: 1.25rem;
    padding: 0.65rem;
  }

  .property-search__field-inner {
    padding-inline: 0.65rem;
  }

  .search-dropdown__trigger {
    font-size: 0.8125rem;
  }

  /* Page heroes (properties, about, contact, services) */
  .site-main .pt-44 {
    padding-top: 7rem;
  }

  .site-main .bg-sand h1.font-display,
  .site-main .bg-charcoal h1.font-display {
    font-size: 2.125rem;
    line-height: 1.15;
  }

  /* Section headings */
  .site-main h2.font-display.text-4xl {
    font-size: 1.875rem;
    line-height: 1.2;
  }

  /* Section spacing */
  .site-main .py-24 {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }

  .site-main .pb-24 {
    padding-bottom: 3.5rem;
  }

  .site-main .pt-28 {
    padding-top: 6.5rem;
  }

  /* Awards */
  .award-glow-frame::before {
    inset: -2px;
    filter: blur(10px);
  }

  .award-glow-frame__inner--portrait {
    min-height: 15rem;
  }

  /* Founder / decorative blurs — keep inside viewport */
  .site-main .-left-32 {
    left: -6rem;
    width: 20rem;
    height: 20rem;
  }

  /* Footer */
  footer.mt-24 {
    margin-top: 3.5rem;
  }

  footer .py-16 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }

  footer .grid.gap-12 {
    gap: 2rem;
  }

  /* Forms & filters — full width inputs */
  .site-main form select,
  .site-main form input:not([type="checkbox"]):not([type="radio"]),
  .site-main form textarea {
    width: 100%;
    max-width: 100%;
  }

  /* Property cards — stack action buttons */
  article.group .mt-auto.flex.gap-2 {
    flex-direction: column;
  }

  article.group .mt-auto.flex.gap-2 > * {
    width: 100%;
    flex: none;
  }

  /* Property detail sidebar stats */
  .site-main aside .grid.grid-cols-3 {
    gap: 0.5rem;
    font-size: 0.8125rem;
  }

  /* CTA blocks */
  .site-main .rounded-3xl.gradient-primary.p-10,
  .site-main .relative.overflow-hidden.rounded-3xl.gradient-primary.p-10 {
    padding: 1.75rem;
  }

  .site-main .rounded-3xl.border.bg-card.p-8 {
    padding: 1.5rem;
  }

  /* Enquiry modal — scrollable panel on small screens */
  [data-enquiry-modal] > .relative.mx-auto {
    margin-top: 2rem;
    margin-bottom: 1.5rem;
    max-width: 100%;
  }

  /* Mobile nav drawer */
  [data-mobile-nav] {
    max-height: calc(100dvh - 5rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  /* Floating actions — safe areas & spacing */
  .floating-action-btn.fixed.bottom-6.right-6 {
    bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    right: max(1rem, env(safe-area-inset-right, 0px));
  }

  .floating-action-btn.fixed.bottom-6.left-6 {
    bottom: max(1rem, env(safe-area-inset-bottom, 0px));
    left: max(1rem, env(safe-area-inset-left, 0px));
  }

  button[data-back-top].fixed.bottom-24 {
    bottom: calc(max(1rem, env(safe-area-inset-bottom, 0px)) + 4.25rem);
    right: max(1rem, env(safe-area-inset-right, 0px));
  }

  /* Testimonial / partner marquees */
  .testimonial-marquee-fade,
  .partner-marquee-fade,
  .property-marquee-fade {
    width: 2.5rem;
  }

  .testimonial-marquee-card {
    width: min(92vw, 360px);
    padding: 1.5rem;
  }

  .testimonial-marquee-card__quote {
    font-size: 1rem;
  }

  .partner-marquee-card {
    width: min(72vw, 200px);
    height: 100px;
    padding: 1rem;
  }

  .partner-marquee-card__logo {
    max-height: 56px;
  }

  .property-marquee-card {
    width: min(78vw, 240px);
  }

  /* Hero search — mobile only */

  /* Why us grid — single column readable cells */
  .site-main .md\:grid-cols-2.lg\:grid-cols-4 > .bg-charcoal {
    padding: 1.25rem;
  }
}

@media (max-width: 479px) {
  section.min-h-\[100svh\] h1.font-display,
  .site-main .bg-sand h1.font-display,
  .site-main .bg-charcoal h1.font-display {
    font-size: 1.875rem;
  }

  .stats-strip__value {
    font-size: 1.625rem;
  }

  .stats-strip__item {
    min-height: 5.75rem;
    padding-block: 1rem;
  }

  [data-site-header] .container-page img {
    height: 2.25rem;
  }

  .property-search__label {
    font-size: 9px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .container-page {
    padding-inline: 1.5rem;
  }

  .award-glow-frame__inner--portrait {
    min-height: 20rem;
  }
}
