.contact-form-section{background:linear-gradient(180deg,#f5f8fc 0%,#eef3f9 100%);padding-block:clamp(64px,8vw,112px)}
.contact-layout{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(38px,7vw,104px);align-items:start}
.contact-context{padding-top:12px}
.contact-eyebrow{display:block;margin:0 0 16px;color:#4c76ad;font-size:12px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}
.contact-context h2{max-width:390px;margin:0;color:#102f5f;font-size:clamp(32px,3.3vw,48px);font-weight:700;line-height:1.08;letter-spacing:-.045em}
.contact-context>p{max-width:390px;margin:18px 0 38px;color:#4d6078;font-size:16px;line-height:1.75}
.contact-details{margin:0;padding:0;list-style:none;border-top:1px solid #d2ddeb}
.contact-details li{padding:18px 0;border-bottom:1px solid #d2ddeb}
.contact-details span{display:block;margin-bottom:6px;color:#63748a;font-size:13px}
.contact-details a,.contact-details address{color:#102f5f;font-size:16px;font-style:normal;font-weight:600;text-decoration:none;line-height:1.5;overflow-wrap:anywhere}
.contact-details a:hover{text-decoration:underline;text-underline-offset:4px}
.contact-form{position:relative;padding:clamp(24px,4vw,44px);background:linear-gradient(145deg,#fff 0%,#fbfcff 100%);border:1px solid #e0e8f2;border-radius:22px;box-shadow:0 22px 64px rgba(15,43,81,.09),0 4px 14px rgba(15,43,81,.035)}
.contact-form-heading{margin:0 0 28px;color:#102f5f;font-size:24px;font-weight:700;letter-spacing:-.025em}
.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px}
.contact-field{display:flex;min-width:0;flex-direction:column;gap:9px}
.contact-field--wide{grid-column:1/-1}
.contact-field label{color:#16365f;font-size:14px;font-weight:600}
.contact-field label span{color:#77869a;font-weight:400}
.contact-field input,.contact-field textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid #cad5e3;border-radius:11px;background:#f7f9fc;color:#132f53;font:inherit;font-size:15px;line-height:1.5;transition:border-color .16s ease,box-shadow .16s ease}
.contact-field textarea{min-height:154px;resize:vertical}
.contact-field input::placeholder,.contact-field textarea::placeholder{color:#8795a8;opacity:1}
.contact-field input:focus,.contact-field textarea:focus{outline:0;border-color:#2862a3;box-shadow:0 0 0 3px rgba(40,98,163,.13)}
.contact-field input:user-invalid,.contact-field textarea:user-invalid{border-color:#bb3f45}
.contact-phone{display:flex;min-height:52px;border:1px solid #cad5e3;border-radius:11px;background:#f7f9fc;transition:border-color .16s ease,box-shadow .16s ease}
.contact-phone:focus-within{border-color:#2862a3;box-shadow:0 0 0 3px rgba(40,98,163,.13)}
.contact-phone-prefix{display:flex;align-items:center;flex:none;padding:0 14px;border-right:1px solid #d5deea;color:#15365f;font-size:15px;font-weight:700;letter-spacing:.02em}
.contact-phone input{min-width:0;min-height:50px;border:0;background:transparent;box-shadow:none!important}
.contact-phone input:focus{outline:0}
.contact-submit-row{display:flex;align-items:center;gap:18px;margin-top:26px}
.contact-submit{display:inline-flex;min-height:54px;align-items:center;justify-content:center;gap:22px;padding:0 22px;border:1px solid #123768;border-radius:12px;background:#123768;color:white;font:inherit;font-size:14px;font-weight:700;cursor:pointer;box-shadow:0 8px 18px rgba(18,55,104,.12);transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}
.contact-submit:hover{border-color:#235995;background:#235995}
.contact-submit:focus-visible{outline:3px solid #69a5e5;outline-offset:3px}
.contact-submit:disabled{opacity:.62;cursor:wait}
.contact-form-status{min-height:1.5em;margin:0;color:#31506f;font-size:14px;line-height:1.5}
.contact-form-status[data-state="success"]{color:#167249}
.contact-form-status[data-state="error"]{color:#a12e35}
.contact-honeypot{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:760px){.contact-layout{grid-template-columns:1fr;gap:38px}.contact-context>p{margin-bottom:26px}.contact-details li{padding:14px 0}}
@media(max-width:520px){.contact-form-section{padding-block:54px}.contact-fields{grid-template-columns:1fr;gap:18px}.contact-field--wide{grid-column:auto}.contact-form{padding:23px 19px}.contact-form-heading{font-size:22px}.contact-submit-row{align-items:flex-start;flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){.contact-field input,.contact-field textarea,.contact-phone,.contact-submit{transition:none}}
