.contact-page{background:#f5f9fd;color:#12365b}.contact-page .site-header{background:linear-gradient(180deg,rgba(5,48,81,.72),rgba(5,48,81,0))}.contact-hero{position:relative;min-height:760px;padding:160px 7vw 90px;display:grid;grid-template-columns:.82fr 1.18fr;align-items:center;gap:7vw;overflow:hidden;background:linear-gradient(135deg,#edf5fb 0%,#fff 62%)}.contact-hero:before{content:"";position:absolute;left:-120px;bottom:-180px;width:480px;height:480px;border-radius:50%;background:rgba(255,100,30,.08)}.contact-hero-copy,.contact-hero-image{position:relative}.contact-hero-copy h1{margin:16px 0 28px;font:700 clamp(3.5rem,6vw,6.8rem)/.94 'DM Sans',sans-serif;letter-spacing:-.055em;text-transform:uppercase}.contact-hero-copy h1 span,.contact-page h2 span{color:#ff641e}.contact-hero-copy>p:not(.section-kicker){max-width:590px;font-size:1.08rem;color:#557087}.contact-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.contact-hero-actions a{padding:13px 19px;border:1px solid rgba(7,82,154,.18);border-radius:28px;background:#fff;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.contact-hero-actions a:last-child{background:#07529a;color:#fff}.contact-hero-image{margin:0;border-radius:34px 34px 8px 34px;overflow:hidden;box-shadow:0 26px 70px rgba(18,54,91,.2)}.contact-hero-image img{width:100%;height:520px;object-fit:cover;object-position:center}.contact-hero-image figcaption{position:absolute;left:24px;right:24px;bottom:24px;padding:18px 20px;border-radius:16px;background:rgba(255,255,255,.93);backdrop-filter:blur(10px)}.contact-hero-image strong,.contact-hero-image span{display:block}.contact-hero-image strong{font-size:1rem}.contact-hero-image span{margin-top:3px;color:#64788b;font-size:.8rem}.office-section,.get-in-touch{padding:110px 7vw}.office-section{background:#fff}.office-intro{display:grid;grid-template-columns:.82fr 1.18fr;gap:7vw;align-items:end;margin-bottom:52px}.office-intro .section-kicker{grid-column:1/-1}.contact-page h2{margin:0;font:700 clamp(2.7rem,4.6vw,5rem)/1 'DM Sans',sans-serif;letter-spacing:-.045em;text-transform:uppercase}.office-intro>p:last-child{max-width:600px;margin:0;color:#587086;font-size:1.05rem}.office-card{display:grid;grid-template-columns:.78fr 1.22fr;min-height:480px;border:1px solid rgba(7,82,154,.14);border-radius:30px;overflow:hidden;box-shadow:0 18px 55px rgba(18,54,91,.09)}.office-details{padding:44px;background:#0a4f8a;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:30px}.office-details div{padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.18)}.office-details small,.office-details strong,.office-details span{display:block}.office-details small{margin-bottom:8px;color:#f5bd61;text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.office-details strong,.office-details a{font-size:1rem;font-weight:600}.office-details span{margin-top:3px;color:rgba(255,255,255,.72);font-size:.86rem}.office-map iframe{width:100%;height:100%;min-height:480px;border:0;display:block}.get-in-touch{display:grid;grid-template-columns:.72fr 1.28fr;gap:8vw;background:#edf4f8}.form-intro{align-self:start;position:sticky;top:120px}.form-intro>p:not(.section-kicker){max-width:510px;color:#587086;font-size:1.04rem}.response-promise{margin-top:34px;padding:22px;border-left:4px solid #ff641e;background:#fff}.response-promise strong,.response-promise span{display:block}.response-promise span{margin-top:5px;color:#6e8191;font-size:.82rem}.contact-form{padding:42px;border-radius:26px;background:#fff;box-shadow:0 18px 55px rgba(18,54,91,.09)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-form label>span{display:block;margin-bottom:8px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.contact-form label b{color:#ff641e}.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(7,82,154,.18);border-radius:10px;background:#f9fbfd;padding:14px 15px;color:#12365b;font:inherit;outline:none}.contact-form input:focus,.contact-form textarea:focus{border-color:#ff641e;box-shadow:0 0 0 3px rgba(255,100,30,.1)}.message-field{display:block;margin-top:22px}.contact-form textarea{resize:vertical;min-height:150px}.security-check{display:block;max-width:260px;margin-top:22px}.contact-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-submit{display:flex;align-items:center;gap:24px;margin-top:28px}.form-submit button{flex:0 0 auto;border:0;border-radius:30px;padding:15px 22px;background:#ff641e;color:#fff;font:700 .78rem 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}.form-submit button span{margin-left:18px}.form-submit p{margin:0;color:#708295;font-size:.75rem;line-height:1.45}.form-submit p.error{color:#bd341f}.contact-channels{display:grid;grid-template-columns:repeat(3,1fr);background:#fff}.contact-channels a{position:relative;padding:42px 7vw 44px;border-right:1px solid rgba(7,82,154,.14);transition:background .2s ease}.contact-channels a:hover{background:#f3f8fc}.contact-channels small,.contact-channels strong{display:block}.contact-channels small{color:#7a8c9a;text-transform:uppercase;letter-spacing:.1em;font-size:.68rem}.contact-channels strong{margin-top:6px;font-size:1.4rem}.contact-channels a>span{position:absolute;right:3vw;top:50%;color:#ff641e;font-size:1.3rem}.contact-page .hero-home-link{color:#07529a;border-color:rgba(7,82,154,.3)}
@media(max-width:950px){.contact-hero{grid-template-columns:1fr;padding-top:130px}.contact-hero-image img{height:460px}.office-intro,.office-card,.get-in-touch{grid-template-columns:1fr}.office-details{grid-template-columns:1fr 1fr}.form-intro{position:static}.contact-channels a{padding-left:5vw}.form-grid{grid-template-columns:1fr}}
@media(max-width:650px){.contact-hero{padding:120px 22px 65px}.contact-hero-copy h1{font-size:3.25rem}.contact-hero-image{border-radius:22px 22px 6px 22px}.contact-hero-image img{height:350px}.office-section,.get-in-touch{padding:75px 22px}.office-details{grid-template-columns:1fr;padding:30px}.office-map iframe{min-height:340px}.contact-form{padding:26px 20px}.form-submit{align-items:flex-start;flex-direction:column}.contact-channels{grid-template-columns:1fr}.contact-channels a{padding:28px 24px;border-right:0;border-bottom:1px solid rgba(7,82,154,.14)}.contact-channels a>span{right:24px}}

/* Light, harmonious office information panel */
.office-details{background:linear-gradient(145deg,#edf6fc 0%,#f8fbfe 100%);color:#123f6b}
.office-details div{border-bottom-color:rgba(7,82,154,.14)}
.office-details small{color:#e96524}
.office-details strong,.office-details a{color:#0b4f88;font-weight:650}
.office-details span{color:#58768f}

/* Compact contact layout inspired by the clear office-first reference */
.contact-simple{background:#fff}
.contact-title{position:relative;padding:150px 7vw 52px;background:linear-gradient(135deg,#edf6fc,#fff);text-align:center}
.contact-title .hero-home-link{top:112px;left:7vw}
.contact-title h1{margin:8px 0 0;color:#123f6b;font:700 clamp(2.6rem,4.5vw,4.6rem)/1 'DM Sans',sans-serif;letter-spacing:-.04em;text-transform:uppercase}
.contact-title .section-kicker{color:#e96524}
.contact-simple .office-section{padding:65px 7vw 80px}
.contact-simple .office-section>h2{margin:0 0 30px;font-size:clamp(1.65rem,2.4vw,2.35rem);letter-spacing:-.025em;text-transform:uppercase}
.contact-simple .office-card{min-height:410px;border-radius:22px}
.contact-simple .office-map iframe{min-height:410px}
.contact-simple .get-in-touch{padding:80px 7vw;grid-template-columns:.5fr 1.5fr;gap:6vw;background:#f4f8fb}
.contact-simple .form-intro{position:static}
.contact-simple .form-intro h2{font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1.05}
.contact-simple .form-intro>p:not(.section-kicker){font-size:.98rem}
.contact-simple .contact-form{padding:36px;border-radius:20px}
@media(max-width:950px){.contact-simple .get-in-touch{grid-template-columns:1fr}.contact-title{text-align:left}.contact-simple .office-card{grid-template-columns:1fr}.contact-simple .office-map iframe{min-height:360px}}
@media(max-width:650px){.contact-title{padding:125px 22px 38px}.contact-title .hero-home-link{top:88px;left:22px}.contact-simple .office-section,.contact-simple .get-in-touch{padding:55px 22px}.contact-simple .contact-form{padding:26px 20px}}
