:root{--c-navy:#02172f;--c-blue:#075eae;--c-cyan:#24b7f2;--c-red:#e31b2f;--c-text:#10233f;--c-muted:#61748b;--c-border:#dbe7f2;--c-bg:#f4f9fd;--c-width:1320px;--c-header-offset:0px;--c-tabs-height:90px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--c-text);background:#fff;-webkit-font-smoothing:antialiased}.contact-wrap{width:min(calc(100% - 64px),var(--c-width));margin-inline:auto}.contact-section{padding:80px 0;scroll-margin-top:115px}.contact-soft{background:var(--c-bg)}.contact-eyebrow{display:inline-flex;align-items:center;gap:11px;margin:0 0 17px;color:var(--c-blue);font-size:.77rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.contact-eyebrow:before{content:"";width:27px;height:3px;background:var(--c-red)}.contact-title{margin:0 0 19px;max-width:880px;color:var(--c-navy);font-size:clamp(2rem,3.3vw,3.4rem);font-weight:850;letter-spacing:-.045em;line-height:1.13}.contact-lead{max-width:850px;margin:0 0 25px;color:var(--c-muted);font-size:1.04rem;line-height:1.85}.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 23px;border:0;border-radius:7px;background:var(--c-blue);color:#fff;text-decoration:none;font:750 .9rem Inter,"Segoe UI",Arial,sans-serif;cursor:pointer;transition:background .2s,transform .2s}.contact-button:hover{background:#0b83ce;transform:translateY(-2px)}.contact-button-outline{background:transparent;border:1px solid rgba(255,255,255,.7)}.contact-button-outline:hover{background:rgba(255,255,255,.14)}
.contact-hero{position:relative;isolation:isolate;display:flex;align-items:center;min-height:650px;color:#fff;background-color:var(--c-navy);background-image:linear-gradient(90deg,rgba(2,18,43,.98) 0%,rgba(2,23,47,.89) 30%,rgba(2,31,70,.42) 57%,rgba(2,31,70,.04) 100%),url('/img/contact-us/hero.jpg');background-size:cover,cover;background-position:center,center;background-repeat:no-repeat}.contact-hero:after{position:absolute;bottom:0;left:0;right:0;height:5px;content:"";background:linear-gradient(90deg,var(--c-red) 0 18%,var(--c-cyan) 18%)}.contact-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:45px;align-items:center;padding:62px 0}.contact-breadcrumb{margin-bottom:24px;color:#bed5e8;font-size:.8rem}.contact-breadcrumb a{color:#fff;text-decoration:none}.contact-hero .contact-eyebrow{color:#8ddfff}.contact-hero h1{max-width:760px;margin:0;font-size:clamp(2.5rem,4.1vw,4.3rem);line-height:1.06;letter-spacing:-.045em;text-transform:uppercase}.contact-hero h1 span{display:block;color:#36c5ff}.contact-hero-text{max-width:630px;margin:24px 0 0;color:#e3eef8;font-size:1.05rem;line-height:1.8}.contact-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.contact-directory{padding:23px 25px;border-left:1px solid var(--c-red);border-radius:12px;background:rgba(2,23,47,.69);backdrop-filter:blur(5px)}.contact-directory-title{margin:0 0 13px;color:#8ddfff;font-size:.78rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.contact-directory a{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.14);color:#fff;text-decoration:none;font-size:.82rem;font-weight:700}.contact-directory a:before{content:"";width:12px;height:3px;background:var(--c-red);flex:0 0 12px}.contact-directory a:last-child{border:0}.contact-directory a:hover{color:#8ddfff}
@media(min-width:751px){.contact-hero{min-height:650px;background-size:cover,cover;background-position:center center,center center}}
.contact-intro{display:grid;grid-template-columns:1.35fr .65fr;gap:65px;align-items:center}.contact-intro p:not(.contact-eyebrow){line-height:1.85;color:var(--c-muted)}.contact-statement{margin-top:22px;padding:20px 25px;border-left:4px solid var(--c-red);background:#edf6ff;color:var(--c-navy);font-weight:800;line-height:1.65}.contact-mini{padding:20px 23px;margin-bottom:12px;border:1px solid var(--c-border);border-left:3px solid var(--c-blue);border-radius:9px;background:#fff}.contact-mini:nth-child(2){border-left-color:var(--c-red)}.contact-mini:nth-child(3){border-left-color:var(--c-cyan)}.contact-mini strong{display:block;margin-bottom:6px;color:var(--c-navy)}.contact-mini span{color:var(--c-muted);font-size:.9rem;line-height:1.6}
.contact-tabs{position:sticky;top:var(--c-header-offset);z-index:100;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:12px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:12px;box-shadow:0 8px 24px rgba(2,23,47,.08)}.contact-tab{min-width:0;min-height:65px;padding:13px 9px;border:1px solid var(--c-border);border-bottom:3px solid transparent;border-radius:9px;background:#fff;color:var(--c-navy);font:800 .85rem Inter,"Segoe UI",Arial,sans-serif;cursor:pointer}.contact-tab:hover{border-color:var(--c-blue)}.contact-tab[aria-selected="true"]{background:var(--c-navy);border-bottom-color:var(--c-red);color:#fff}.contact-tab:focus-visible{outline:3px solid var(--c-cyan);outline-offset:2px}.contact-panel{padding-top:38px;scroll-margin-top:calc(var(--c-header-offset) + var(--c-tabs-height) + 16px)}.contact-panel[hidden]{display:none!important}.contact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:28px 0}.contact-card{padding:25px;background:#fff;border:1px solid var(--c-border);border-top:3px solid var(--c-blue);border-radius:11px;overflow-wrap:anywhere}.contact-card:nth-child(3n+2){border-top-color:var(--c-red)}.contact-card:nth-child(3n){border-top-color:var(--c-cyan)}.contact-card h3{margin:0 0 12px;color:var(--c-navy);font-size:1.1rem}.contact-card p,.contact-card address{margin:0;color:var(--c-muted);font-size:.92rem;line-height:1.8;font-style:normal}.contact-card a{color:var(--c-blue);font-weight:750;text-decoration:none}.contact-card a:hover{text-decoration:underline}.contact-note{padding:17px 21px;border-left:3px solid var(--c-blue);background:#eaf4fc;color:var(--c-muted);font-size:.9rem;line-height:1.75}.contact-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.contact-social a{padding:11px 16px;border:1px solid var(--c-border);border-radius:7px;color:var(--c-blue);font-weight:750;text-decoration:none;background:#fff}.contact-social a:hover{border-color:var(--c-blue);background:#edf6ff}
.contact-form-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(270px,.75fr);gap:30px;align-items:start;margin-top:28px}.contact-form{padding:30px;background:#fff;border:1px solid var(--c-border);border-radius:12px;box-shadow:0 8px 26px rgba(2,23,47,.04)}.contact-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.contact-field{display:flex;flex-direction:column;gap:8px;min-width:0}.contact-field.full{grid-column:1/-1}.contact-field label{font-size:.87rem;font-weight:750;color:var(--c-navy)}.contact-field input,.contact-field select,.contact-field textarea{width:100%;min-height:47px;padding:12px 13px;border:1px solid #cbdbe9;border-radius:7px;background:#fff;color:var(--c-text);font:inherit;font-size:.93rem}.contact-field textarea{min-height:145px;resize:vertical}.contact-field :is(input,select,textarea):focus{outline:2px solid var(--c-cyan);outline-offset:1px;border-color:var(--c-blue)}.contact-consent{display:flex;align-items:flex-start;gap:10px;margin:21px 0;color:var(--c-muted);font-size:.86rem;line-height:1.6}.contact-consent input{margin-top:4px;flex:none}.contact-aside{padding:27px;border:1px solid var(--c-border);border-radius:11px;background:#f8fbff}.contact-aside h3{margin:0 0 12px;color:var(--c-navy)}.contact-aside p,.contact-aside li{color:var(--c-muted);font-size:.92rem;line-height:1.8}.contact-aside ul{padding-left:20px}.contact-form-status{margin:16px 0 0;color:#8b4513;font-size:.87rem;line-height:1.6}.contact-image{overflow:hidden;border-radius:14px;border:1px solid var(--c-border);background:#edf6ff;margin-top:36px}.contact-image picture,.contact-image img{display:block;width:100%}.contact-image img{height:auto;max-height:650px;object-fit:cover}.contact-map-layout{display:grid;grid-template-columns:1fr 1.4fr;gap:27px;align-items:stretch;margin-top:30px}.contact-map-info{padding:30px;background:var(--c-navy);color:#fff;border-radius:12px}.contact-map-info h3{margin-top:0;font-size:1.35rem}.contact-map-info p{color:#d3e2f1;line-height:1.8}.contact-map{min-height:345px;overflow:hidden;border-radius:12px;border:1px solid var(--c-border);background:#e6f0f8}.contact-map iframe{display:block;width:100%;height:100%;min-height:345px;border:0}.contact-cta{padding:80px 0;background:linear-gradient(120deg,#02172f,#06477d);color:#fff}.contact-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:40px}.contact-cta h2{margin:0 0 15px;font-size:clamp(2rem,3vw,3.3rem);letter-spacing:-.04em}.contact-cta p{max-width:780px;color:#cbddec;line-height:1.8}.contact-cta .contact-eyebrow{color:#8ddfff}

/* =========================================
   REVIEWS GRID
========================================= */
.contact-reviews-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:28px}
.contact-reviews-head .contact-lead{margin:0}
.contact-reviews-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:36px 0 28px}
.contact-review{display:flex;flex-direction:column;padding:26px 24px 22px;background:#fff;border:1px solid var(--c-border);border-top:3px solid var(--c-blue);border-radius:12px;box-shadow:0 6px 18px rgba(2,23,47,.04);transition:transform .2s,box-shadow .2s}
.contact-review:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(2,23,47,.09)}
.contact-review:nth-child(4n+2){border-top-color:var(--c-red)}
.contact-review:nth-child(4n+3){border-top-color:var(--c-cyan)}
.contact-review:nth-child(4n+4){border-top-color:#f0a91e}
.contact-review-stars{display:flex;gap:3px;margin-bottom:14px;color:#f0a91e;font-size:.92rem;letter-spacing:.02em}
.contact-review-body{margin:0 0 20px;color:var(--c-text);font-size:.94rem;line-height:1.75;flex:1}
.contact-review-author{display:flex;align-items:center;gap:12px;padding-top:16px;border-top:1px solid var(--c-border);margin-top:auto}
.contact-review-avatar{width:42px;height:42px;flex:none;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:1rem;color:#fff;background:linear-gradient(135deg,var(--c-blue),var(--c-navy));letter-spacing:-.02em}
.contact-review:nth-child(4n+2) .contact-review-avatar{background:linear-gradient(135deg,#c8273e,#7b1023)}
.contact-review:nth-child(4n+3) .contact-review-avatar{background:linear-gradient(135deg,#13988a,#0d5f57)}
.contact-review:nth-child(4n+4) .contact-review-avatar{background:linear-gradient(135deg,#e0a12a,#8f5f0d)}
.contact-review-name{display:block;color:var(--c-navy);font-size:.92rem;font-weight:800;line-height:1.3}
.contact-review-role{display:block;color:var(--c-muted);font-size:.78rem;line-height:1.4;margin-top:2px}
.contact-review-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px;font-size:.74rem;color:var(--c-muted)}
.contact-review-tag{padding:3px 9px;border-radius:20px;background:#eef6ff;color:var(--c-blue);font-weight:800;letter-spacing:.04em;text-transform:uppercase;font-size:.66rem}
.contact-reviews-foot{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;margin-top:12px}
.contact-reviews-foot p{margin:0;color:var(--c-muted);font-size:.88rem;max-width:640px;line-height:1.7}

/* =========================================
   REVIEW MODAL
========================================= */
.review-modal{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:24px;isolation:isolate;overscroll-behavior:contain}
.review-modal[aria-hidden="false"]{display:flex}
.review-modal[hidden]{display:none!important}
body.review-modal-open{overflow:hidden!important}
.review-modal-backdrop{position:absolute;inset:0;background:rgba(2,18,43,.72);backdrop-filter:blur(4px)}
.review-modal-dialog{position:relative;z-index:1;width:min(100%,720px);max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:16px;box-shadow:0 30px 60px rgba(0,0,0,.4);padding:34px 34px 30px;animation:reviewModalIn .25s ease}
@keyframes reviewModalIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.review-modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--c-border);border-radius:50%;background:#fff;color:var(--c-navy);font-size:1.1rem;cursor:pointer;transition:background .2s,border-color .2s}
.review-modal-close:hover{background:#f4f9fd;border-color:var(--c-blue)}
.review-modal-dialog h3{margin:0 0 6px;color:var(--c-navy);font-size:1.45rem;letter-spacing:-.02em}
.review-modal-dialog .review-modal-lead{margin:0 0 24px;color:var(--c-muted);font-size:.93rem;line-height:1.7}
.review-modal-dialog .contact-fields{gap:17px}
.review-modal-dialog .contact-form{padding:0;border:0;box-shadow:none;background:transparent}
.review-modal-dialog .contact-consent{margin:18px 0 20px}
@media(max-width:1024px){.contact-reviews-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.contact-reviews-grid{grid-template-columns:1fr}.review-modal{padding:12px}.review-modal-dialog{padding:26px 20px 22px}.contact-reviews-head{flex-direction:column;align-items:flex-start}.contact-reviews-head .contact-button{width:100%}}

@media(max-width:1050px){.contact-hero-inner{grid-template-columns:1fr;gap:25px}.contact-directory nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:750px){.contact-wrap{width:min(calc(100% - 36px),var(--c-width))}.contact-section{padding:60px 0}.contact-hero{min-height:unset;background-image:linear-gradient(0deg,rgba(2,18,43,.98) 0%,rgba(2,31,70,.88) 35%,rgba(2,31,70,.3) 76%,rgba(2,31,70,.09) 100%),url('/img/contact-us/hero-mobile.jpg');background-size:cover,cover;background-position:center,center top}.contact-hero-inner{padding:110px 0 42px}.contact-hero h1{font-size:clamp(2.2rem,7.5vw,3.3rem)}.contact-intro,.contact-form-layout,.contact-map-layout{grid-template-columns:1fr;gap:24px}.contact-grid{grid-template-columns:1fr}.contact-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:8px}.contact-tab{min-height:55px;font-size:.78rem;padding:10px 6px}.contact-cta-inner{flex-direction:column;align-items:flex-start}.contact-image img{max-height:none}}
/* Stack every contact form field on phones, including the review popup. */
@media(max-width:750px){
  .contact-form .contact-fields,
  .review-modal-dialog .contact-fields{grid-template-columns:minmax(0,1fr);gap:18px}
  .contact-form .contact-field,
  .review-modal-dialog .contact-field{grid-column:1 / -1;min-width:0}
  .contact-form .contact-field :is(input,select,textarea),
  .review-modal-dialog .contact-field :is(input,select,textarea){width:100%;min-width:0}
}
@media(max-width:440px){.contact-directory nav,.contact-fields{grid-template-columns:1fr}.contact-hero-actions,.contact-hero-actions .contact-button{width:100%}.contact-form{padding:20px}.contact-cta-inner .contact-button{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
