.contact-page{background:#f5f7fb}
.contact-main{min-height:calc(100vh - 138px);display:grid;grid-template-columns:minmax(0,1fr) minmax(480px,.9fr);gap:72px;padding:70px clamp(36px,6vw,110px) 100px;background:linear-gradient(115deg,#fff 0%,#fff 51%,#f2f5fa 51%,#f7f9fc 100%)}
.contact-intro{max-width:690px;padding-top:22px}
.contact-kicker{margin:0 0 20px;color:#3159ca;font-size:14px;font-weight:900;letter-spacing:.22em}
.contact-intro h1{margin:0;color:#071d44;font-size:clamp(48px,5vw,76px);line-height:1.02;letter-spacing:-.045em}
.contact-lead{max-width:620px;margin:28px 0 44px;color:#57647d;font-size:19px;line-height:1.7}
.contact-details{display:grid;gap:12px}
.detail-card{display:flex;align-items:flex-start;gap:18px;max-width:620px;padding:18px 20px;border:1px solid #e1e6ee;border-radius:14px;background:#fff;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.detail-card:hover{transform:translateX(5px);border-color:#b7c5e9;box-shadow:0 10px 24px #112d6320}
.detail-card strong{display:block;margin-bottom:5px;color:#071d44;font-size:14px;text-transform:uppercase;letter-spacing:.1em}
.detail-card span:last-child{color:#56627a;line-height:1.5}
.detail-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:50%;background:#edf2ff;color:#2855cc;font-size:22px;font-weight:800}
.form-panel{align-self:start;padding:42px;border:1px solid #dfe5ee;border-radius:24px;background:#fff;box-shadow:0 24px 65px #11244d18}
.form-heading h2{margin:-8px 0 30px;color:#071d44;font-size:36px;letter-spacing:-.03em}
#contact-form{display:grid;gap:20px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
#contact-form label{display:grid;gap:8px;color:#263550;font-size:14px;font-weight:700}
#contact-form label>span{color:#d23b32}
#contact-form input,#contact-form select,#contact-form textarea{width:100%;border:1px solid #ccd5e2;border-radius:10px;background:#fff;padding:13px 14px;color:#17233b;font:inherit;font-weight:400;outline:none;transition:border-color .2s,box-shadow .2s}
#contact-form input:focus,#contact-form select:focus,#contact-form textarea:focus{border-color:#3159ca;box-shadow:0 0 0 3px #3159ca18}
#contact-form textarea{resize:vertical;min-height:136px;line-height:1.5}
#contact-form .consent{display:flex;align-items:flex-start;gap:11px;color:#667289;font-size:13px;font-weight:400;line-height:1.5}
#contact-form .consent input{width:17px;height:17px;margin:2px 0 0;flex:0 0 auto;accent-color:#173d91}
#contact-form .consent span{color:inherit}
.consent a{color:#173d91;text-decoration:underline;text-underline-offset:2px}
.submit-button{display:flex;align-items:center;justify-content:space-between;width:100%;border:0;border-radius:12px;background:#101f39;padding:17px 21px;color:#fff;font-size:16px;font-weight:800;cursor:pointer;transition:transform .2s,background .2s}
.submit-button:hover{transform:translateY(-2px);background:#173d78}
.submit-button span{font-size:23px}
.form-note,.form-status{margin:0;color:#7a8599;font-size:12px;line-height:1.45}
.form-status{min-height:18px;color:#173d78;font-weight:700}
.contact-footer{position:static;justify-content:center;padding:20px;background:#fff;border-top:1px solid #e3e8ef}
@media(max-width:1050px){.contact-main{grid-template-columns:1fr;gap:45px;background:#fff}.contact-intro{max-width:none}.form-panel{max-width:760px;width:100%}}
@media(max-width:900px){.contact-main{min-height:0;padding:48px 24px 70px}.contact-intro{padding-top:0}.contact-intro h1{font-size:48px}.contact-footer{display:flex}}
@media(max-width:600px){.form-panel{padding:28px 20px;border-radius:18px}.form-grid{grid-template-columns:1fr}.contact-intro h1{font-size:40px}.contact-lead{font-size:17px;margin:22px 0 34px}.detail-card{padding:16px}.contact-main{padding-inline:18px}.contact-footer{gap:8px}}
