.site-footer {
          background: #0d0d0f;
          color: #ffffff;
          border-top: 1px solid rgba(255,255,255,0.08);
        }
        .site-footer .site-footer-inner {
          padding: clamp(56px, 8vw, 96px) 22px clamp(40px, 5vw, 56px);
        }

        /* ── Grid ─────────────────────────────────────────────────────────── */
        .site-footer .footer-grid {
          display: grid;
          grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.9fr) minmax(0, 0.8fr) minmax(0, 0.8fr);
          gap: clamp(40px, 5vw, 80px);
          align-items: start;
        }
        .site-footer .footer-col {
          display: flex;
          flex-direction: column;
          min-width: 0;
        }

        /* ── Headings (column titles) ────────────────────────────────────── */
        .site-footer .footer-heading {
          font-family: var(--font-text);
          font-size: 11px;
          font-weight: 600;
          letter-spacing: 0.16em;
          text-transform: uppercase;
          color: rgba(255,255,255,0.45);
          margin: 0 0 18px;
        }
        .site-footer .footer-subheading {
          margin-top: 32px;
        }
        .site-footer .footer-heading-link {
          color: inherit;
          text-decoration: none;
          transition: color 200ms var(--ease-emphasized);
        }
        .site-footer .footer-heading-link:hover {
          color: rgba(255,255,255,0.75);
        }

        /* ── Brand column ────────────────────────────────────────────────── */
        .site-footer .footer-logo-link {
          display: inline-flex;
          align-items: center;
          text-decoration: none;
          margin-bottom: 20px;
        }
        .site-footer .footer-tagline {
          font-family: var(--font-display);
          font-size: clamp(16px, 1.4vw, 18px);
          font-weight: 400;
          color: rgba(255,255,255,0.78);
          margin: 0 0 26px;
          max-width: 380px;
          line-height: 1.5;
          letter-spacing: -0.005em;
        }

        /* ── Contact rows (email, location, instagram) ───────────────────── */
        .site-footer .footer-contacts {
          display: flex;
          flex-direction: column;
          gap: 4px;
          margin-bottom: 24px;
        }
        .site-footer .footer-contact-row {
          display: inline-flex;
          align-items: center;
          gap: 12px;
          padding: 8px 0;
          font-family: var(--font-text);
          font-size: 14px;
          color: rgba(255,255,255,0.78);
          text-decoration: none;
          align-self: flex-start;
          transition: color 200ms var(--ease-emphasized),
                      transform 200ms var(--ease-emphasized);
        }
        .site-footer .footer-contact-row:hover {
          color: #ffffff;
        }
        .site-footer .footer-contact-row:hover .footer-icon-wrap {
          border-color: rgba(255,255,255,0.28);
          background: rgba(255,255,255,0.08);
          transform: translateY(-1px);
        }
        .site-footer .footer-icon-wrap {
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 30px;
          height: 30px;
          border-radius: 999px;
          border: 1px solid rgba(255,255,255,0.14);
          background: rgba(255,255,255,0.03);
          color: rgba(255,255,255,0.85);
          flex: 0 0 auto;
          transition: background 200ms var(--ease-emphasized),
                      border-color 200ms var(--ease-emphasized),
                      transform 200ms var(--ease-emphasized);
        }

        /* ── Locale chip ─────────────────────────────────────────────────── */
        .site-footer .footer-locale {
          display: inline-flex;
          align-items: center;
          align-self: flex-start;
          gap: 8px;
          padding: 6px 14px;
          border-radius: 999px;
          border: 1px solid rgba(255,255,255,0.14);
          background: rgba(255,255,255,0.04);
          font-family: var(--font-text);
          font-size: 11px;
          letter-spacing: 0.08em;
          text-transform: uppercase;
          color: rgba(255,255,255,0.62);
        }

        /* ── Find-us panels ──────────────────────────────────────────────── */
        .site-footer .footer-panels {
          display: grid;
          grid-template-columns: minmax(0, 1fr);
          gap: 16px;
          align-items: stretch;
        }
        .site-footer .footer-panel {
          position: relative;
          display: block;
          width: 100%;
          max-width: 260px;
          height: clamp(220px, 22vw, 260px);
          border-radius: 18px;
          overflow: hidden;
          border: 1px solid rgba(255,255,255,0.10);
          box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset,
                      0 22px 50px -22px rgba(0,0,0,0.6);
          transition: transform 240ms var(--ease-emphasized),
                      box-shadow 240ms var(--ease-emphasized),
                      border-color 240ms var(--ease-emphasized);
        }
        .site-footer .footer-panel:hover {
          transform: translateY(-2px);
          border-color: rgba(255,255,255,0.22);
          box-shadow: 0 1px 0 rgba(255,255,255,0.06) inset,
                      0 30px 70px -22px rgba(0,0,0,0.7);
        }

        /* QR panel — white background, QR centered with breathing room */
        .site-footer .footer-qr {
          background: #ffffff;
          display: flex;
          align-items: center;
          justify-content: center;
          padding: 22px;
        }
        .site-footer .footer-qr img {
          width: 100%;
          height: 100%;
          max-width: 200px;
          max-height: 200px;
          object-fit: contain;
          display: block;
        }

        /* Caption pill (bottom-right) */
        .site-footer .footer-panel-caption {
          position: absolute;
          bottom: 12px;
          display: inline-flex;
          align-items: center;
          gap: 6px;
          padding: 7px 12px;
          font-family: var(--font-text);
          font-size: 11px;
          font-weight: 600;
          letter-spacing: 0.03em;
          color: #1d1d1f;
          background: rgba(255,255,255,0.96);
          backdrop-filter: saturate(160%) blur(6px);
          -webkit-backdrop-filter: saturate(160%) blur(6px);
          border-radius: 999px;
          box-shadow: 0 8px 20px -6px rgba(0,0,0,0.55);
          opacity: 0.94;
          transition: opacity 200ms var(--ease-emphasized);
        }
        .site-footer .footer-panel:hover .footer-panel-caption {
          opacity: 1;
        }
        .site-footer .footer-panel-caption-dark {
          color: #ffffff;
          background: rgba(13,13,15,0.92);
          box-shadow: 0 8px 20px -6px rgba(0,0,0,0.35);
        }

        /* ── Explore column links ────────────────────────────────────────── */
        .site-footer .footer-link-list {
          list-style: none;
          margin: 0;
          padding: 0;
          display: flex;
          flex-direction: column;
          gap: 12px;
        }
        .site-footer .footer-link {
          display: inline-flex;
          align-items: baseline;
          gap: 8px;
          font-family: var(--font-text);
          font-size: 15px;
          font-weight: 500;
          color: rgba(255,255,255,0.78);
          text-decoration: none;
          transition: color 200ms var(--ease-emphasized);
        }
        .site-footer .footer-link:hover {
          color: #ffffff;
        }
        .site-footer .footer-link-suffix {
          font-size: 10px;
          font-weight: 600;
          letter-spacing: 0.12em;
          color: rgba(255,255,255,0.38);
        }

        /* ── Legal bar ───────────────────────────────────────────────────── */
        .site-footer .footer-legal-bar {
          border-top: 1px solid rgba(255,255,255,0.08);
        }
        .site-footer .footer-legal-inner {
          padding: 18px 22px;
        }
        .site-footer .footer-legal {
          display: flex;
          flex-wrap: wrap;
          gap: 8px 18px;
          align-items: center;
          justify-content: space-between;
          font-family: var(--font-text);
          font-size: 12px;
          color: rgba(255,255,255,0.48);
        }

        /* ── Responsive ──────────────────────────────────────────────────── */
        @media (max-width: 1000px) {
          .site-footer .footer-grid {
            grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
          }
          .site-footer .footer-find {
            grid-column: 1 / -1;
            order: 3;
          }
        }
        @media (max-width: 640px) {
          .site-footer .footer-grid {
            grid-template-columns: 1fr;
            gap: 40px;
          }
          .site-footer .footer-find {
            grid-column: auto;
            order: 0;
          }
          .site-footer .footer-legal {
            justify-content: center;
            text-align: center;
          }
        }
