body { animation: pageIn .5s ease forwards; }
    @keyframes pageIn { from{opacity:0;} to{opacity:1;} }

    /* ── Contact layout ─────────────────────────────────── */
    .contact-section {
      padding: clamp(5rem,10vh,9rem) clamp(1.5rem,5vw,4rem);
      background: #080808;
    }

    .contact-inner {
      max-width: 1400px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1.6fr;
      gap: clamp(4rem,7vw,8rem);
    }

    /* Left: info */
    .contact-info .label { margin-bottom: 1.5rem; }
    .contact-info .display-lg { color: #f5f2ee; margin-bottom: 1rem; }
    .contact-info .divider { margin: 1.5rem 0; }
    .contact-info .body-text { margin-bottom: 2rem; }

    .contact-details {
      display: flex;
      flex-direction: column;
      gap: 1.75rem;
    }

    .contact-detail {
      display: flex;
      flex-direction: column;
      gap: .25rem;
    }

    .contact-detail-label {
      font-size: .6rem;
      font-weight: 500;
      letter-spacing: .22em;
      text-transform: uppercase;
      color: #b89356;
    }

    .contact-detail-value {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.2rem;
      font-weight: 300;
      color: rgba(245,242,238,.8);
    }

    .contact-detail-value a {
      color: inherit;
      transition: color .3s;
    }

    .contact-detail-value a:hover { color: #f5f2ee; }

    .contact-separator {
      width: 100%;
      height: 1px;
      background: rgba(184,147,86,.12);
      margin: .5rem 0;
    }

    /* Social links */
    .contact-socials {
      display: flex;
      gap: .75rem;
      margin-top: 2.5rem;
    }

    .contact-social-link {
      display: flex;
      align-items: center;
      gap: .5rem;
      font-size: .62rem;
      font-weight: 500;
      letter-spacing: .18em;
      text-transform: uppercase;
      color: rgba(245,242,238,.45);
      padding: .6rem 1.1rem;
      border: 1px solid rgba(184,147,86,.18);
      transition: all .3s;
    }

    .contact-social-link:hover {
      color: #b89356;
      border-color: rgba(184,147,86,.5);
    }

    /* Right: form */
    .contact-form-wrap {
      background: #0e0c0a;
      padding: clamp(2.5rem,4vw,3.5rem);
      border: 1px solid rgba(184,147,86,.1);
    }

    .contact-form-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.6rem;
      font-weight: 400;
      color: #f5f2ee;
      margin-bottom: .5rem;
    }

    .contact-form-sub {
      font-size: .75rem;
      font-weight: 300;
      color: rgba(245,242,238,.4);
      margin-bottom: 2rem;
    }

    /* Select custom styling */
    .form-select option {
      background: #111010;
      color: #f5f2ee;
    }

    .form-submit {
      display: flex;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 1rem;
      margin-top: 2rem;
    }

    .form-privacy {
      font-size: .65rem;
      font-weight: 300;
      color: rgba(245,242,238,.3);
      max-width: 260px;
      line-height: 1.7;
    }

    .form-privacy a {
      color: rgba(184,147,86,.6);
      transition: color .3s;
    }

    .form-privacy a:hover { color: #b89356; }

    /* ── Map placeholder ────────────────────────────────── */
    .map-section {
      background: #0a0908;
      padding: 0;
    }

    .map-wrap {
      position: relative;
      height: clamp(280px, 40vh, 450px);
      background: #111010;
      overflow: hidden;
    }

    /* Placeholder until real map is embedded */
    .map-placeholder {
      width: 100%; height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
      flex-direction: column;
      gap: 1rem;
      background: linear-gradient(135deg, #0e0c0a 0%, #1a1714 100%);
    }

    .map-placeholder-text {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.2rem;
      font-weight: 300;
      color: rgba(245,242,238,.3);
      letter-spacing: .1em;
    }

    .map-placeholder-sub {
      font-size: .65rem;
      font-weight: 400;
      letter-spacing: .2em;
      text-transform: uppercase;
      color: rgba(184,147,86,.4);
    }

    .map-overlay-badge {
      position: absolute;
      top: 2rem; left: 2rem;
      background: rgba(8,8,8,.9);
      border: 1px solid rgba(184,147,86,.25);
      padding: 1rem 1.5rem;
      backdrop-filter: blur(10px);
    }

    .map-badge-name {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.1rem;
      font-weight: 400;
      color: #f5f2ee;
      margin-bottom: .2rem;
    }

    .map-badge-addr {
      font-size: .65rem;
      font-weight: 300;
      color: rgba(245,242,238,.45);
      letter-spacing: .05em;
    }

    /* ── Quick contact cards ────────────────────────────── */
    .quick-contact {
      padding: clamp(4rem,7vh,6rem) clamp(1.5rem,5vw,4rem);
      background: #111010;
    }

    .quick-grid {
      max-width: 1400px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 1.5px;
    }

    .quick-card {
      background: #0e0c0a;
      padding: clamp(2rem,3.5vw,3rem);
      text-align: center;
      border: 1px solid rgba(184,147,86,.08);
      transition: border-color .4s;
    }

    .quick-card:hover { border-color: rgba(184,147,86,.3); }

    .quick-icon {
      font-family: 'Cormorant Garamond', serif;
      font-size: 2rem;
      color: rgba(184,147,86,.5);
      margin-bottom: 1rem;
    }

    .quick-title {
      font-family: 'Cormorant Garamond', serif;
      font-size: 1.3rem;
      font-weight: 400;
      color: #f5f2ee;
      margin-bottom: .4rem;
    }

    .quick-value {
      font-size: .8rem;
      font-weight: 300;
      color: rgba(245,242,238,.5);
      margin-bottom: 1rem;
    }

    .quick-value a { color: inherit; transition: color .3s; }
    .quick-value a:hover { color: #b89356; }

    @media (max-width: 1000px) {
      .contact-inner { grid-template-columns: 1fr; }
      .quick-grid { grid-template-columns: 1fr; }
    }

    @media (max-width: 600px) {
      .quick-grid { grid-template-columns: 1fr; }
    }
