.text-nowrap { white-space: nowrap; }

.contact-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(30px, 6vw, 80px);
    padding: 90px max(24px, calc((100vw - 1180px) / 2));
    background: var(--ivory);
}

.contact-copy h2 {
    margin: 0 0 24px;
    color: var(--green-850);
    font-family: var(--serif);
    font-size: clamp(32px, 4vw, 46px);
    font-weight: 400;
    line-height: 1.2;
}

.contact-copy > p:not(.eyebrow) { color: var(--muted); }
.contact-office { margin-top: 28px; }
.contact-office a { color: var(--green-850); font-weight: 650; white-space: nowrap; }

#contact-form {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid var(--border);
    background: white;
}

#contact-form label:not(.honeypot) { display: grid; gap: 6px; }
#contact-form label > span {
    color: var(--green-850);
    font-size: 11px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}
#contact-form .contact-privacy { margin: 0; color: var(--muted); font-size: 12px; }
#contact-form label > span > small { font-size: 10px; font-weight: 400; letter-spacing: 0; text-transform: none; }
#contact-message { overflow-wrap: anywhere; }

@media (max-width: 760px) {
    .contact-section { grid-template-columns: 1fr; padding-block: 60px; }
}
