.contact-actions120 { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; margin-top: 28px; }
.contact-facebook120 { display: inline-flex; align-items: center; gap: 9px; }
.facebook-mark120 { flex: 0 0 20px; }
.contact-grid120 { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.4fr); gap: clamp(28px, 6vw, 96px); align-items: start; scroll-margin-top: 120px; }
.contact-aside120 h2, .contact-before120 h2 { font-size: clamp(2.4rem, 4vw, 4.2rem); line-height: 1.13; margin-block: 20px; }
.contact-aside120 > p:not(.eyebrow), .contact-before120 p, .contact-fallback120 p { color: var(--muted); }
.contact-steps120 { list-style: none; padding: 0; margin: 32px 0; }
.contact-steps120 li { display: flex; align-items: baseline; gap: 16px; padding: 16px 0; border-top: 1px solid var(--line); }
.contact-steps120 span { font-size: .75rem; color: var(--mint); flex: 0 0 24px; }
.contact-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.contact-service-grid .quote-choice { margin: 0; }
.contact-details120 { border-block: 1px solid var(--line); margin-bottom: 24px; padding: 18px 0; }
.contact-details120 summary { cursor: pointer; font-size: .95rem; font-weight: 600; }
.contact-details120 summary span { color: var(--muted); font-weight: 400; }
.contact-details120[open] summary { margin-bottom: 24px; }
.contact-form120 .fm-button { width: 100%; margin-top: 14px; }
.contact-form120 textarea { min-height: 150px; }
.contact-form120 .fm-hint { overflow-wrap: anywhere; }
.contact-before120 { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; border-top: 1px solid var(--line); }
.contact-before120 .text-link { display: block; width: fit-content; margin-top: 20px; }
.contact-fallback120 h3 { font-size: clamp(1.5rem, 3vw, 2.2rem); margin-block: 16px; }
.contact-fallback120 .contact-facebook120 { margin-top: 20px; }
.contact-strip-copy120 { max-width: 48ch; color: var(--muted); margin: 20px 0 0; }
@media (max-width: 900px) { .contact-grid120 { grid-template-columns: 1fr; }.contact-aside120 { max-width: 65ch; }.contact-aside120 h2 br { display: none; } }
@media (max-width: 600px) { .contact-service-grid, .contact-before120 { grid-template-columns: 1fr; }.contact-actions120 { align-items: flex-start; flex-direction: column; }.contact-details120 summary span { display: block; margin-top: 5px; } }
