.c3-contact-page { padding-block: clamp(48px,7vw,110px) clamp(80px,10vw,160px); }
.c3-contact-page__grid { display: grid; gap: 56px; }
@media (min-width: 900px) { .c3-contact-page__grid { grid-template-columns: 1.2fr .8fr; align-items: start; } }
.c3-contact-page__form-col h1 { margin: 10px 0 14px; font-size: clamp(2rem,4vw,3rem); }
.c3-contact-page__lead { max-width: 520px; margin-bottom: 32px; color: var(--c3-text-secondary); }

.c3-contact-form { display: grid; gap: 20px; max-width: 560px; }
.c3-contact-form__row { display: grid; gap: 8px; }
.c3-contact-form__row label { font-size: .78rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; }
.c3-contact-form__row input, .c3-contact-form__row select, .c3-contact-form__row textarea { min-height: 52px; border: 1px solid var(--c3-border-strong); border-radius: var(--radius-sm); padding: 12px 14px; background: var(--c3-white); font: inherit; }
.c3-contact-form__row textarea { min-height: 160px; resize: vertical; }
.c3-contact-form__row input:focus, .c3-contact-form__row select:focus, .c3-contact-form__row textarea:focus { outline: 2px solid var(--c3-black); outline-offset: 1px; }
.c3-contact-form__honeypot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.c3-contact-form .c3-button { justify-self: start; margin-top: 8px; }
.c3-contact-page__errors, .c3-contact-page__success { max-width: 560px; margin-bottom: 24px; border: 1px solid var(--c3-black); border-radius: var(--radius-sm); padding: 18px 20px; }
.c3-contact-page__errors p, .c3-contact-page__success p { margin: 0; }
.c3-contact-page__errors p + p { margin-top: 6px; }
.c3-contact-page__success h2 { margin: 0 0 6px; font-size: 1.2rem; }

.c3-contact-page__info { display: grid; gap: 20px; align-content: start; }
.c3-contact-card { border: 1px solid var(--c3-border); border-radius: var(--radius-lg); padding: 24px; }
.c3-contact-card h2 { margin: 0 0 10px; font-size: .95rem; letter-spacing: .02em; }
.c3-contact-card > a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.c3-contact-card p { margin: 8px 0 0; color: var(--c3-text-secondary); font-size: .85rem; }
.c3-contact-card__social { display: flex; flex-direction: column; gap: 10px; }
.c3-contact-card__social a { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; }
.c3-contact-card__social a:hover { text-decoration: underline; }
.c3-contact-card__link { display: inline-block; margin-top: 10px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
