/* Contact Us — page-specific layout */

.contact-h1 { font-size: 60px; line-height: 1.05; }
.contact-lead { max-width: 680px; margin: 20px auto 0; line-height: 1.7; }

.contact-grid { grid-template-columns: 0.85fr 1.15fr; gap: 56px; align-items: start; }

.contact-h2 { font-size: 34px; margin-bottom: 14px; }
.contact-intro { font-size: 15px; line-height: 1.75; color: var(--tt-body); margin-bottom: 32px; }
.contact-intro strong { color: var(--tt-cocoa); }

.contact-rows { display: flex; flex-direction: column; gap: 22px; }
.contact-row { display: flex; gap: 16px; align-items: flex-start; }
.contact-row-label { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--tt-clay); font-weight: 800; margin-bottom: 3px; }
.contact-row-val { font-size: 16px; color: var(--tt-espresso); text-decoration: none; font-weight: 600; }
.contact-row-val--email { font-size: 15px; word-break: break-word; }
.contact-row-val--addr { display: block; font-size: 15px; line-height: 1.5; }

.contact-socials { display: flex; gap: 14px; margin-top: 30px; }
.contact-social { width: 46px; height: 46px; border-radius: 50%; background: var(--tt-clay); color: #fff; display: flex; align-items: center; justify-content: center; text-decoration: none; font-size: 19px; }

.contact-form-h3 { font-size: 30px; margin-bottom: 6px; }
.contact-form-note { font-size: 14px; color: var(--tt-muted); margin-bottom: 28px; }

@media (max-width: 980px) {
  .contact-h1 { font-size: 52px !important; }
}
@media (max-width: 620px) {
  .contact-h1 { font-size: 42px !important; }
}
