.ff-contact .contact-hero{background:radial-gradient(circle at 84% 12%,#245677 0,transparent 36%),linear-gradient(120deg,#0a1b2b 12%,#123552 85%);color:#fff;position:relative;overflow:hidden}
.ff-contact .contact-hero:after{content:"";position:absolute;right:-120px;bottom:-350px;width:620px;height:620px;border:1px solid #75b5cd55;border-radius:50%;box-shadow:0 0 0 80px #75b5cd12,0 0 0 160px #75b5cd0b;pointer-events:none}
.ff-contact .contact-hero .wrap{position:relative;z-index:1;padding:88px 0 95px}
.ff-contact .contact-hero .eyebrow{color:#8fdce3}
.ff-contact .contact-hero h1{color:#fff!important;font-size:clamp(3.1rem,5.7vw,5.3rem);line-height:1.04;letter-spacing:-.05em;margin:20px 0 24px}
.ff-contact .contact-hero p{font-size:clamp(1.08rem,2vw,1.3rem);color:#d8e7ee;max-width:760px;margin:0}
.ff-contact .contact-section{background:#f4f7f8}
.ff-contact .contact-grid{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,6fr);gap:40px;align-items:start}
.ff-contact .contact-details{padding:22px 15px 0 0}
.ff-contact .contact-details h2{color:#1b5377!important}
.ff-contact .contact-details>p{font-size:1.1rem;color:#516679;max-width:420px}
.ff-contact .contact-info{border-top:1px solid #dce5e9;margin:38px 0 24px;padding-top:20px}
.ff-contact .contact-info>div{margin:0 0 24px}
.ff-contact .contact-info span{display:block;font-size:.78rem;letter-spacing:.13em;font-weight:900;text-transform:uppercase;color:#277687;margin-bottom:7px}
.ff-contact .contact-info a,.ff-contact .contact-info strong{font-size:1.1rem;color:#102c46;font-weight:700;overflow-wrap:anywhere}
.ff-contact .contact-info address{margin:0;font-style:normal;line-height:1.55}
.ff-contact .contact-info a{text-decoration:underline;text-underline-offset:4px}
.ff-contact .survey-link{display:inline-block;color:#1b5377;font-weight:800;text-decoration:underline;text-underline-offset:4px}
.ff-contact .contact-form-card{background:#fff;border:1px solid #dce5e9;padding:40px;box-shadow:12px 12px 0 #e6eff2;min-width:0}
.ff-contact .contact-form-card h2{font-size:2rem;line-height:1.15;color:#1b5377!important;margin:0 0 8px}
.ff-contact .contact-form-card>p{color:#516679;margin:0 0 25px}
.ff-contact .wpforms-container{margin:0!important}
.ff-contact .wpforms-container .wpforms-field{padding:0 0 18px!important}
.ff-contact .wpforms-container .wpforms-field-label{color:#102c46;font-weight:700;font-size:1rem}
.ff-contact .wpforms-container input:not([type=radio]):not([type=checkbox]),.ff-contact .wpforms-container textarea{max-width:100%!important;border:1px solid #b8cbd4!important;background:#fff!important;border-radius:4px!important;color:#102c46!important;font-size:1rem!important;padding:10px 12px!important}
.ff-contact .wpforms-container input:focus,.ff-contact .wpforms-container textarea:focus{border-color:#267788!important;box-shadow:0 0 0 2px #57c6d455!important}
.ff-contact .wpforms-container .wpforms-field-sublabel,.ff-contact .wpforms-container .wpforms-field-description{color:#516679}
.ff-contact .wpforms-container .wpforms-submit-container{padding-top:13px!important}
.ff-contact .wpforms-container button[type=submit]{background:#102c46!important;color:#fff!important;border:0!important;border-radius:4px!important;padding:13px 26px!important;font-weight:800!important;min-height:48px}
.ff-contact .wpforms-container button[type=submit]:hover{background:#1b5377!important}
@media(max-width:800px){.ff-contact .contact-grid{grid-template-columns:1fr;gap:30px}.ff-contact .contact-details{padding:0}.ff-contact .contact-hero .wrap{padding:72px 0 78px}}
@media(max-width:560px){.ff-contact .contact-hero h1{font-size:3rem}.ff-contact .contact-form-card{padding:25px 20px;box-shadow:none}.ff-contact .contact-form-card h2{font-size:1.7rem}.ff-contact .contact-section{padding:65px 0}}
