/* Device-specific layout refinements. */
@media (max-width: 1120px) {
      .site-nav { align-items: flex-start; }
      .nav-links { display: none; }
      .nav-actions { min-width: auto; }
      .brand { min-width: auto; }
    }

    @media (max-width: 860px) {
      .page-wrapper { scroll-snap-type: y mandatory; }

      .site-nav {
        padding: 12px 16px;
        gap: 12px;
      }

      .brand-text strong { font-size: 17px; }
      .brand-text span { font-size: 9px; }
      .brand-mark { width: 34px; height: 34px; }
      .nav-actions .cta {
        min-height: 34px;
        padding: 9px 11px;
        font-size: 9px;
      }

      .hero-gateway {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(4, 1fr);
        height: 100%;
        padding-top: 64px;
        background: #191612;
      }

      .gateway-panel {
        min-height: 0;
        height: auto;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,0.15);
        padding: 18px 28px;
      }

      .hero-gateway:hover .gateway-panel,
      .hero-gateway .gateway-panel:hover { flex-basis: auto; }

      .panel-index { top: 28px; left: 22px; }

      .section-header,
      .cinematic-render,
      .lead-capture,
      .location-layout {
        grid-template-columns: 1fr;
      }

      .profile-grid,
      .residence-grid,
      .immersion-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }

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

      .amenity-card,
      .amenity-card:nth-child(1),
      .amenity-card:nth-child(2),
      .gallery-tile,
      .gallery-tile:nth-child(1),
      .gallery-tile:nth-child(2) {
        grid-column: auto;
      }

      .form-grid { grid-template-columns: 1fr; }
      .footer-grid { grid-template-columns: 1fr; }
      .disclaimer { grid-column: auto; }
    }

    @media (max-width: 520px) {
      :root { --header-height: 62px; }

      .brand-text span { display: none; }
      .brand { gap: 9px; letter-spacing: 0.08em; }
      .gateway-panel h1,
      .gateway-panel h2 { font-size: 24px; }
      .gateway-panel p { display: none; }
      .section-inner { padding-inline: 16px; padding-bottom: 58px; }
      .section-header { margin-bottom: 14px; gap: 10px; }
      h2.section-title { font-size: clamp(26px, 8vw, 36px); }
      .section-copy { font-size: 12px; line-height: 1.45; }
      .profile-grid,
      .residence-grid,
      .immersion-grid { gap: 8px; }
      .philosophy-card,
      .card-body { padding: 10px; }
      .card-number { display: none; }
      .philosophy-card h3,
      .residence-card h3,
      .immersion-card h3 { font-size: 17px; margin: 4px 0; }
      .philosophy-card p,
      .residence-card p,
      .immersion-card p { font-size: 10px; line-height: 1.35; }
      .card-image { height: 82px; }
      .meta-row { display: none; }
      .text-link { font-size: 9px; }
      .cinematic-render { height: 62svh; }
      .render-image { height: 24svh; }
      .render-copy { gap: 10px; padding: 14px; }
      .render-copy h3 { font-size: 22px; }
      .spec { padding: 5px 0; font-size: 11px; }
      .amenity-card,
      .gallery-tile { height: 15svh; }
      .amenity-content,
      .gallery-content { left: 12px; right: 12px; bottom: 12px; }
      .amenity-content h3,
      .gallery-content h3 { font-size: 17px; }
      .immersion-visual { height: 90px; }
      .play-badge { width: 38px; height: 38px; left: 12px; bottom: 12px; }
      .lead-panel { padding: 12px; }
      label { font-size: 9px; }
      input, select, textarea { padding: 8px 9px; font-size: 12px; }
      textarea { min-height: 48px; }
      .map-visual { height: 30svh; }
      .landmark-list { padding: 12px; gap: 0; }
      .landmark { padding: 7px 0; font-size: 11px; }
      .spec,
      .landmark { display: grid; }
      .spec strong { text-align: left; }
      .modal { padding: 14px; }
      .modal-panel { min-height: 76vh; }
      .back-to-top {
        right: 14px;
        bottom: 14px;
        width: 38px;
        height: 38px;
      }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: 0.001ms !important;
        transition-duration: 0.001ms !important;
      }
    }
