/* Template: contact (from mockup contact.html) */
.contact-hero { padding-bottom: clamp(7rem, 5rem + 6vw, 10rem); }
.contact-main { position: relative; z-index: 1; margin-top: clamp(-8rem, -5rem - 5vw, -5rem); padding-bottom: var(--section); background: linear-gradient(transparent 0 8rem, var(--snow) 8rem); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); gap: clamp(1.5rem, 1rem + 2vw, 2.5rem); align-items: start; }
.contact-form { position: relative; z-index: 1; }
.contact-form h2 { font-size: 1.5rem; }
.contact-side { display: grid; gap: 1.25rem; }
.ways { list-style: none; display: grid; gap: 1.1rem; margin-top: 1rem; }
.ways li { display: grid; grid-template-columns: 2.6rem minmax(0, 1fr); gap: 0.9rem; align-items: start; }
.ways__icon { width: 2.6rem; height: 2.6rem; border-radius: 12px; display: grid; place-items: center; background: var(--night); color: var(--lamp); }
.ways__icon svg { width: 1.2rem; height: 1.2rem; }
.ways b { display: block; font-stretch: 108%; }
.ways a, .ways address { color: var(--slate); font-style: normal; }
.next-steps { list-style: none; counter-reset: n; display: grid; gap: 1rem; margin-top: 1rem; }
.next-steps li { counter-increment: n; display: grid; grid-template-columns: 2.2rem minmax(0, 1fr); gap: 0.8rem; }
.next-steps li::before { content: counter(n); display: grid; place-items: center; width: 2.2rem; height: 2.2rem; border-radius: 50%; background: var(--lamp); color: var(--night); font-family: var(--mono); font-size: 0.85rem; }
.next-steps p { color: var(--slate); font-size: 0.95rem; }
.next-steps b { display: block; color: var(--ink); font-stretch: 106%; }
@media (max-width: 1000px) { .contact-grid { grid-template-columns: minmax(0, 1fr); } }
