.contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 6vw, 100px); padding-top: 72px; padding-bottom: 80px; align-items: start; }
.contact-intro h1 { font-size: clamp(38px, 5vw, 64px); line-height: 1.06; letter-spacing: -.04em; margin: 18px 0 28px; }
.contact-intro > p:not(.eyebrow) { margin-bottom: 24px; }
.contact-form { padding: clamp(20px, 3vw, 36px); border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.contact-form label { display: block; font-size: 14px; font-weight: 650; margin: 20px 0 7px; }
.contact-form label span { color: #58665d; font-weight: 400; }
.contact-form input, .contact-form textarea, .contact-form select { display: block; width: 100%; min-width: 0; padding: 12px; border: 1px solid #8b998e; border-radius: 6px; color: #132c23; background: #fff; font: inherit; font-size: 16px; }
.contact-form textarea { resize: vertical; }
.contact-form altcha-widget { display: block; margin-top: 22px; --altcha-max-width: 100%; }
.form-note { font-size: 13px; line-height: 1.6; color: #4b5b50; }
.contact-form .form-note { margin: 16px 0; }
.contact-form > .form-note:first-child { margin-top: 0; }
.contact-form .button { width: 100%; cursor: pointer; }
.contact-form .button:disabled { opacity: .6; cursor: wait; }
#contact-status { margin-top: 16px; font-size: 15px; line-height: 1.5; }
#contact-status:empty { display: none; }
.contact-trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 760px) { .contact-layout { grid-template-columns: 1fr; padding-top: 36px; padding-bottom: 48px; } }
