.contact-section { padding: 105px 0; }
.contact-section .contact-layout { grid-template-columns: .82fr 1.18fr; gap: 85px; align-items: start; }
.contact-copy h2 { margin-top: 18px; }
.contact-copy > p:not(.eyebrow) { max-width: 480px; color: #485428; font-size: 16px; line-height: 1.72; }
.contact-promise { display: grid; grid-template-columns: 58px 1fr; gap: 15px; max-width: 480px; margin-top: 33px; padding-top: 18px; border-top: 1px solid rgba(23, 32, 60, .25); }
.contact-promise span { color: var(--blue); font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.contact-promise p { margin: 0; color: #485428 !important; font-size: 12px !important; line-height: 1.55; }
.demo-form { display: flex; flex-direction: column; gap: 17px; padding: 34px; border-radius: 15px; background: #fff; color: var(--ink); box-shadow: 0 25px 65px rgba(28, 45, 76, .15); }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 17px; }
.demo-form label { display: flex; flex-direction: column; gap: 8px; }
.demo-form label > span { color: var(--navy); font-size: 11px; font-weight: 800; }
.demo-form label > span b, .consent span b { color: var(--coral); }
.demo-form input, .demo-form select, .demo-form textarea { width: 100%; padding: 13px 14px; border: 1px solid #c9cad0; border-radius: 7px; outline: 0; background: #fff; color: var(--ink); font: inherit; font-size: 14px; transition: border-color .2s, box-shadow .2s; }
.demo-form input:invalid { border-color: #c9cad0; }
.demo-form input[aria-invalid="true"] { border-color: #c63e31; }
.demo-form input:focus, .demo-form select:focus, .demo-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(42, 67, 212, .1); }
.demo-form textarea { min-height: 105px; resize: vertical; }
.demo-form .consent { display: grid; grid-template-columns: 18px 1fr; align-items: start; gap: 10px; }
.demo-form .consent input { width: 17px; height: 17px; margin: 2px 0 0; accent-color: var(--blue); }
.demo-form .consent span { font-size: 11px; font-weight: 500; line-height: 1.55; }
.form-error { min-height: 18px; margin: -5px 0 -8px; color: #a12e24 !important; font-size: 12px !important; }
.form-submit { align-self: flex-start; margin-top: 0 !important; border: 0; cursor: pointer; }
.form-success { min-height: 545px; padding: 58px 45px; border-radius: 15px; background: #fff; color: var(--ink); box-shadow: 0 25px 65px rgba(28, 45, 76, .15); }
.form-success[hidden] { display: none; }
.form-success > span { display: grid; width: 54px; height: 54px; margin-bottom: 80px; place-items: center; border-radius: 50%; background: var(--blue); color: #fff; font-size: 24px; }
.form-success h3 { max-width: 500px; margin: 16px 0; font-size: 42px; line-height: 1.05; letter-spacing: -.04em; }
.form-success p:not(.eyebrow) { max-width: 450px; color: var(--muted); font-size: 15px; line-height: 1.7; }
.success-reset { margin-top: 22px; padding: 4px 0; border: 0; border-bottom: 1px solid var(--navy); background: transparent; color: var(--navy); font-size: 12px; font-weight: 800; cursor: pointer; }
@media (max-width: 960px) { .contact-section .contact-layout { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 650px) { .contact-section { padding: 80px 0; } .form-row { grid-template-columns: 1fr; } .demo-form { padding: 24px 18px; } .form-success { min-height: 430px; padding: 42px 26px; } .form-success > span { margin-bottom: 50px; } }
