.page-hero{ max-width:900px; margin:0 auto; padding:8vh 6vw 4vh 6vw; }
.page-eyebrow{ font-size:12px; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:1rem; }
.page-title{ font-family:'Bitter', serif; font-weight:600; font-size:clamp(30px, 4.5vw, 46px); line-height:1.15; margin-bottom:1.2rem; }
.page-intro{ font-size:16px; line-height:1.75; color:var(--ink-soft); max-width:680px; }

.contact-wrap{ max-width:1100px; margin:0 auto; padding:2vh 6vw 8vh 6vw; display:grid; grid-template-columns:1fr 1fr; gap:3.5vw; align-items:start; }
.contact-form-title, .contact-info-title{ font-size:12px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:1.2rem; }
.field{ margin-bottom:1.1rem; }
.field label{ display:block; font-size:12.5px; font-weight:500; margin-bottom:0.4rem; color:var(--ink); }
.field input, .field textarea{
  width:100%; font-family:'Work Sans', sans-serif; font-size:14px; color:var(--ink);
  background:#fff; border:1px solid var(--line); border-radius:8px; padding:0.7rem 0.9rem; outline:none;
}
.field input:focus, .field textarea:focus{ border-color:var(--red); }
.field textarea{ resize:vertical; min-height:120px; }
.btn-solid{ font-weight:600; font-size:14.5px; padding:0.85rem 1.8rem; border-radius:999px; background:var(--red); color:#fff; border:none; cursor:pointer; }
.btn-solid:hover{ opacity:0.88; }

.info-block{ margin-bottom:1.8rem; }
.info-label{ font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--red); margin-bottom:0.4rem; }
.info-text{ font-size:14.5px; line-height:1.65; color:var(--ink); }
.map-frame{ width:100%; height:260px; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.map-frame iframe{ width:100%; height:100%; border:0; }
.map-note{ font-size:11px; color:var(--ink-soft); font-style:italic; margin-top:0.6rem; }

@media (max-width:800px){ .contact-wrap{ grid-template-columns:1fr; } }
