/* Contact — form + company card column. */
.contact-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.contact-form-wrap { padding: clamp(22px, 3vw, 36px); border-radius: var(--radius-lg); background: linear-gradient(180deg, var(--color-surface-2), var(--color-surface-1)); box-shadow: 0 0 0 1px color-mix(in srgb, var(--color-brand) 35%, var(--color-border)) inset, var(--shadow-3); }
.contact-form-wrap h2 { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.8rem); margin-bottom: 8px; }
.topic-grid { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.topic-grid legend { margin-bottom: 8px; padding: 0; }
.topic { position: relative; }
.topic input { position: absolute; inset: 0; opacity: 0; cursor: pointer; margin: 0; }
.topic span { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; height: 100%; padding: 12px; border-radius: var(--radius-sm); background: var(--color-bg); box-shadow: 0 0 0 1px var(--color-border) inset; font: 600 13px/1.25 var(--font-body); color: var(--color-muted); transition: box-shadow .2s, background-color .2s, color .2s, transform .2s var(--ease-spring); }
.topic span .icon { width: 18px; height: 18px; color: var(--color-brand); }
.topic:hover span { color: var(--color-text); transform: translateY(-2px); }
.topic input:checked + span { background: color-mix(in srgb, var(--color-brand) 14%, var(--color-bg)); box-shadow: 0 0 0 1.5px var(--color-brand) inset; color: var(--color-text); }
.topic input:focus-visible + span { box-shadow: var(--focus-ring); }
.contact-side { display: grid; gap: 14px; }
.contact-card { padding: 20px; border-radius: var(--radius-md); background: var(--color-surface-1); box-shadow: 0 0 0 1px var(--color-border) inset; }
.contact-card h2 { display: flex; align-items: center; gap: 8px; font: 700 16px/1.3 var(--font-head); margin-bottom: 12px; }
.contact-card h2 .icon { width: 20px; height: 20px; color: var(--color-brand); }
.contact-card p { color: var(--color-muted); font-size: 14.5px; overflow-wrap: anywhere; }
.contact-card p + p, .contact-card p + .btn { margin-top: 10px; }
.contact-dl { grid-template-columns: minmax(0, 1fr); gap: 8px; margin: 0; }
.contact-dl div { padding: 10px 12px; }
.contact-card--rg { background: color-mix(in srgb, var(--color-brand) 7%, var(--color-surface-1)); }
.contact-faq { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 16px 18px; border-radius: var(--radius-md); background: var(--color-surface-2); box-shadow: 0 0 0 1px var(--color-border) inset; font-size: 14px; color: var(--color-muted); transition: transform .25s var(--ease-spring), box-shadow .25s; }
.contact-faq:hover { transform: translateX(4px); box-shadow: 0 0 0 1px var(--color-brand) inset; }
.contact-faq .icon { width: 22px; height: 22px; color: var(--color-brand); }
.contact-faq strong { display: block; color: var(--color-text); font: 700 15px/1.3 var(--font-head); }
@media (max-width: 1024px) { .contact-grid { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .topic-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
