.contact-section { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: start; padding-block: clamp(3rem, 7vw, 6rem); }
.contact-intro { padding-block: 1rem; }
.contact-eyebrow { color: var(--site-primary-ink); font: 500 .8rem var(--font-mono); letter-spacing: .14em; margin-bottom: 1.25rem; }
.contact-lead { color: var(--site-muted); font-size: 1.125rem; line-height: 1.85; margin-top: 1.5rem; max-width: 34rem; }
.contact-direct { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--color-base-300); }
.contact-direct a { white-space: nowrap; }
.contact-card { background: var(--site-surface); border: 1px solid var(--color-base-300); border-radius: 1.5rem; padding: clamp(1.25rem, 3vw, 2.5rem); box-shadow: var(--site-shadow); min-width: 0; }
.contact-card h2 { font: 700 1.5rem var(--font-display); margin-bottom: .5rem; }
.contact-hint { font-size: .875rem; color: var(--site-muted); }
.contact-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-top: 1.75rem; }
.contact-field { min-width: 0; }
.contact-wide { grid-column: 1 / -1; }
.contact-field label { display: block; font-size: .875rem; font-weight: 700; margin-bottom: .5rem; }
.contact-field label span { color: var(--site-muted); font-weight: 400; }
.contact-field input, .contact-field textarea { width: 100%; padding: .75rem; border: 1px solid var(--color-base-300); background: var(--color-base-100); color: var(--color-base-content); border-radius: .65rem; font: inherit; }
.contact-field textarea { resize: vertical; min-height: 8rem; }
.contact-field :is(input, textarea):focus-visible { outline: 2px solid var(--site-primary-ink); outline-offset: 3px; }
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-privacy { margin-block: 1.25rem; }
.contact-card button { width: 100%; border-radius: .75rem; }
.contact-card button:disabled { opacity: .6; cursor: not-allowed; }
.contact-notice { font-size: .875rem; padding: .875rem; border-left: 3px solid var(--color-primary); background: var(--color-base-200); margin-top: 1.25rem; }
.contact-status { margin-top: 1rem; font-size: .925rem; overflow-wrap: anywhere; }
.contact-status:empty { display: none; }
#contact-verification:not(:empty) { margin-top: 1.25rem; }
@media (max-width: 800px) { .contact-section { grid-template-columns: 1fr; gap: 2rem; } .contact-intro { padding: 0; } }
@media (max-width: 420px) { .contact-fields { grid-template-columns: 1fr; } }

.contact-card [hidden] { display: none !important; }
.contact-success { text-align: center; padding-block: 1rem; }
.contact-success-icon { display: grid; place-items: center; width: 3.5rem; height: 3.5rem; margin: 0 auto 1.5rem; border-radius: 50%; background: var(--color-base-200); color: var(--site-primary-ink); font-size: 2rem; }
.contact-success p { color: var(--site-muted); line-height: 1.75; margin-block: 1rem 2rem; }
