.contact-hero{position:relative;isolation:isolate;min-height:430px;display:flex;align-items:center;overflow:hidden;background:linear-gradient(110deg,#536482 0%,#8f9bb4 50%,#b8cfff 100%)}
.contact-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,25,50,.5),rgba(10,25,50,.04)),radial-gradient(circle at 80% 22%,rgba(255,255,255,.22),transparent 38%)}
.contact-hero::after{content:"";position:absolute;width:600px;height:600px;right:-100px;bottom:-420px;border:1px solid rgba(255,255,255,.22);border-radius:50%;box-shadow:0 0 0 90px rgba(255,255,255,.035),0 0 0 180px rgba(255,255,255,.025)}
.contact-hero-inner{padding:145px 0 75px}
.contact-hero .eyebrow{color:#e5f5ff;border-color:rgba(255,255,255,.48);background:rgba(9,32,64,.1)}
.contact-hero h1{margin:22px 0 12px;color:#fff;font-size:clamp(44px,5vw,72px);font-weight:350;letter-spacing:-.055em;line-height:1.08}
.contact-hero h1 strong{font-weight:800}
.contact-hero p{max-width:560px;margin:0 0 23px;color:#edf5ff;font-size:16px;line-height:1.7}
.contact-main{padding:76px 0 175px;background:#fff}
.contact-top-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);gap:28px;align-items:stretch}
.contact-info{padding:38px;background:#142345;color:#fff;border-radius:24px;box-shadow:0 18px 38px rgba(16,35,69,.11)}
.contact-info .eyebrow{color:#d6e6f4;border-color:rgba(255,255,255,.35)}
.contact-info h2{margin:18px 0 31px;font-size:clamp(27px,2.6vw,39px);font-weight:350;line-height:1.12;text-transform:uppercase;letter-spacing:-.04em}
.contact-info h2 strong{font-weight:800}
.contact-info-list{display:grid;gap:25px}
.contact-info-item{display:flex;align-items:flex-start;gap:15px}
.contact-info-icon{display:grid;place-items:center;flex:none;width:45px;height:45px;border-radius:10px;background:#1e3158;color:#88c6ee;font-size:21px}
.contact-info-item strong{display:block;font-size:14px;line-height:1.35}
.contact-info-item p{margin:3px 0 0;color:#aebed5;font-size:13px;line-height:1.5}
.contact-info-item a:hover{text-decoration:underline}
.contact-form-card{padding:38px;background:#f5f8fc;border:1px solid #edf2f7;border-radius:24px;box-shadow:0 18px 38px rgba(16,35,69,.05)}
.contact-form-card h2{margin:0 0 5px;font-size:27px;line-height:1.2;letter-spacing:-.035em}
.contact-form-card>p{margin:0 0 24px;color:#68778b;font-size:14px}
.contact-form{display:grid;gap:15px}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.contact-form input:not([type="hidden"]):not([type="submit"]),.contact-form textarea{display:block;width:100%;border:1px solid #e7edf3;border-radius:10px;background:#fff;color:#172744;padding:15px 17px;font:inherit;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}
.contact-form textarea{min-height:145px;resize:vertical}
.contact-form input:focus,.contact-form textarea:focus{border-color:#2b88c8;box-shadow:0 0 0 3px rgba(43,136,200,.14)}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8794a3}
.contact-form button{width:100%;min-height:52px;margin-top:4px}
.contact-form .wpcf7-form-control-wrap{display:block}
.contact-form input[type="submit"]{width:100%;min-height:52px;margin-top:4px;border:0;border-radius:999px;background:#1f69ad;color:#fff;font-weight:750;cursor:pointer}
.contact-form input[type="submit"]:hover{background:#17558f}
.contact-form .contact-captcha{display:grid;gap:8px}
.contact-form .contact-captcha label{font-size:14px;font-weight:700;color:#172744}
.contact-form .contact-captcha p{margin:0;color:#68778b;font-size:13px}
.contact-form .wpcf7-captchac{display:block;width:auto;height:auto;max-width:100%;border:1px solid #e7edf3;border-radius:8px;background:#fff;padding:7px}
.contact-form .wpcf7-not-valid-tip{font-size:12px;margin-top:5px}
.contact-form-card .wpcf7-response-output{margin:16px 0 0;padding:12px 14px;border-radius:10px;font-size:13px}
.form-note{margin:0;color:#68778b;font-size:12px;line-height:1.4}
.contact-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.locations{display:grid;gap:26px;margin-top:62px}
.office-card{display:grid;grid-template-columns:45% 55%;min-height:300px;overflow:hidden;border-radius:22px;background:#f5f8fc;box-shadow:0 16px 36px rgba(16,35,69,.07)}
.office-map{position:relative;min-height:300px;background:#e7edf1}
.office-map iframe{display:block;width:100%;height:100%;min-height:300px;border:0;filter:grayscale(.15)}
.office-details{display:flex;flex-direction:column;justify-content:center;padding:36px 44px}
.office-details h2{margin:0 0 24px;color:#172744;font-size:18px;line-height:1.3;text-transform:uppercase;letter-spacing:.02em}
.office-detail{display:flex;gap:15px;align-items:flex-start;margin-bottom:20px}
.office-detail:last-of-type{margin-bottom:0}
.office-detail-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:9px;background:#e3edff;color:#2b80c8;font-size:18px}
.office-detail small{display:block;color:#7b8ba2;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.office-detail p{margin:3px 0 0;color:#253959;font-size:14px;line-height:1.5}
.office-detail a:hover,.office-map-link:hover{text-decoration:underline}
.office-map-link{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;margin-top:22px;color:#176fb5;font-size:13px;font-weight:750}
@media(max-width:850px){.contact-top-grid{grid-template-columns:1fr}.contact-info,.contact-form-card{padding:32px}.office-card{grid-template-columns:1fr 1fr}.office-details{padding:30px}}
@media(max-width:640px){.contact-hero{min-height:370px}.contact-hero-inner{padding:125px 0 58px}.contact-hero p{font-size:14px}.contact-main{padding:52px 0 135px}.contact-top-grid{gap:20px}.contact-info,.contact-form-card{padding:27px}.contact-form-row{grid-template-columns:1fr}.locations{margin-top:42px;gap:22px}.office-card{grid-template-columns:1fr}.office-map,.office-map iframe{min-height:250px;height:250px}.office-details{padding:28px}.office-details h2{font-size:17px}}

