.el-contact { --contact-navy:#071d2e; --contact-navy-2:#0b3958; --contact-red:#e6164a; --contact-blue:#009ad6; --contact-blue-aa:#007dad; --contact-cream:#f7f4ee; --contact-paper:#fffdf9; --contact-ink:#102433; --contact-muted:#536b79; --contact-line:#d6e1e7; background:#fff; color:var(--contact-ink); font-family:Arial,Helvetica,sans-serif; overflow:hidden; }
.el-contact *, .el-contact *::before, .el-contact *::after { box-sizing:border-box; }
.el-contact img { display:block; height:auto; max-width:100%; }
.el-contact a { font-weight:inherit; }
.el-contact [hidden] { display:none !important; }
.el-contact [id] { scroll-margin-top:112px; }
.el-contact-shell { margin:0 auto; max-width:1240px; padding-inline:24px; }
.el-contact-section { padding:clamp(72px,8vw,112px) 0; }
.el-contact-kicker { color:var(--contact-blue-aa); font-size:11px; font-weight:900; letter-spacing:.16em; margin:0 0 12px; text-transform:uppercase; }
.el-contact-kicker-light { color:#73d9ff; }
.el-contact h1, .el-contact h2, .el-contact h3 { font-family:Georgia,"Times New Roman",serif; font-weight:400; }
.el-contact-mobile-bar { display:none; }

.el-contact-hero { background:linear-gradient(126deg,#03111d 0%,var(--contact-navy) 61%,#0b4568 100%); color:#fff; position:relative; }
.el-contact-hero::before { background:linear-gradient(90deg,var(--contact-red) 0 34%,var(--contact-blue) 34% 100%); content:""; height:7px; left:0; position:absolute; right:0; top:0; }
.el-contact-hero-grid { align-items:stretch; display:grid; grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr); min-height:690px; }
.el-contact-hero-copy { align-self:center; padding:clamp(70px,7vw,105px) clamp(45px,6vw,90px) clamp(70px,7vw,105px) 0; }
.el-contact-hero h1 { color:#fff; font-size:clamp(54px,5.7vw,83px); letter-spacing:-.055em; line-height:.94; margin:0; max-width:780px; }
.el-contact-hero-lead { color:#c9dbe4; font-size:18px; line-height:1.58; margin:27px 0 0; max-width:690px; }
.el-contact-call-block { border-left:6px solid var(--contact-red); display:flex; flex-direction:column; margin-top:34px; padding:5px 0 5px 21px; }
.el-contact-call-block span { color:#73d9ff; font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.el-contact-call-block a { color:#fff !important; font-family:Georgia,"Times New Roman",serif; font-size:clamp(34px,3.3vw,48px); font-weight:400; line-height:1; margin-top:6px; text-decoration:none !important; }
.el-contact-call-block small { color:#acc7d2; font-size:11px; margin-top:7px; }
.el-contact-actions { display:flex; flex-wrap:wrap; gap:11px; margin-top:31px; }
.el-contact-button { align-items:center; background:var(--contact-red); border:2px solid var(--contact-red); border-radius:6px; color:#fff !important; display:inline-flex; font-size:13px; font-weight:900 !important; justify-content:center; min-height:54px; padding:13px 21px; text-decoration:none !important; transition:background .18s ease,transform .18s ease; }
.el-contact-button:hover { background:#c91140; transform:translateY(-2px); }
.el-contact-button-outline { background:transparent; border-color:#fff; }
.el-contact-hero-visual { align-items:center; align-self:stretch; display:flex; flex-direction:column; justify-content:center; min-height:690px; overflow:visible; padding:55px 20px 46px; position:relative; }
.el-contact-hero-visual::before { background:radial-gradient(circle at 50% 43%,rgba(0,154,214,.2) 0 45%,rgba(0,154,214,.06) 46% 58%,transparent 59%); border:1px solid rgba(89,208,251,.16); border-radius:50%; content:""; height:min(460px,66vw); left:50%; max-height:78%; max-width:100%; position:absolute; top:48%; transform:translate(-50%,-58%); width:min(460px,100%); z-index:0; }
.el-contact-hero-visual img { aspect-ratio:1; border:4px solid #39cfff; border-radius:50%; box-shadow:0 0 0 9px rgba(57,207,255,.11),20px 20px 0 rgba(230,22,74,.92),0 28px 65px rgba(0,0,0,.42); height:auto; max-width:88%; object-fit:cover; object-position:center 22%; position:relative; width:clamp(285px,29vw,390px); z-index:1; }
.el-contact-hero-visual > div { background:rgba(2,17,29,.86); border-left:6px solid var(--contact-red); margin-top:37px; max-width:390px; padding:18px 22px; position:relative; width:92%; z-index:2; }
.el-contact-hero-visual span { color:#6ed6ff; display:block; font-size:10px; font-weight:900; letter-spacing:.14em; margin-bottom:8px; text-transform:uppercase; }
.el-contact-hero-visual strong { color:#fff; display:block; font-family:Georgia,"Times New Roman",serif; font-size:30px; font-weight:400; line-height:1.05; }

.el-contact-emergency { background:#fff; border-bottom:1px solid var(--contact-line); }
.el-contact-emergency .el-contact-shell { align-items:center; display:grid; gap:20px; grid-template-columns:58px minmax(0,1fr); padding-block:24px; }
.el-contact-emergency span { align-items:center; background:var(--contact-red); border:5px solid #ffd4df; border-radius:50%; color:#fff; display:flex; font-size:24px; font-weight:900; height:54px; justify-content:center; width:54px; }
.el-contact-emergency p { color:var(--contact-muted); font-size:14px; line-height:1.5; margin:0; }
.el-contact-emergency strong { color:var(--contact-ink); }

.el-contact-heading { align-items:end; display:grid; gap:45px; grid-template-columns:minmax(0,1fr) minmax(340px,.72fr); margin-bottom:43px; }
.el-contact-heading h2, .el-contact-intake-copy h2 { color:var(--contact-navy); font-size:clamp(42px,4.5vw,65px); letter-spacing:-.045em; line-height:.98; margin:0; }
.el-contact-heading > p { color:var(--contact-muted); font-size:17px; line-height:1.55; margin:0; }
.el-contact-routing { background:var(--contact-cream); }
.el-contact-route-grid { display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.el-contact-route { background:#fff; border:1px solid var(--contact-line); border-top:7px solid var(--contact-blue); display:flex; flex-direction:column; min-height:390px; padding:31px; }
.el-contact-route-urgent { border-top-color:var(--contact-red); box-shadow:0 20px 54px rgba(7,29,46,.11); }
.el-contact-route-liss { background:var(--contact-navy); border-color:var(--contact-navy); border-top-color:#63d5ff; color:#fff; }
.el-contact-route > span { color:var(--contact-red); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.el-contact-route-liss > span { color:#6ed6ff; }
.el-contact-route h3 { color:var(--contact-navy); font-size:31px; line-height:1.05; margin:27px 0 14px; }
.el-contact-route-liss h3 { color:#fff; }
.el-contact-route p { color:var(--contact-muted); font-size:15px; line-height:1.58; margin:0; }
.el-contact-route-liss p { color:#bfd3dc; }
.el-contact-route a { color:var(--contact-blue-aa) !important; font-size:13px; font-weight:900 !important; margin-top:auto; padding-top:28px; text-decoration:none !important; }
.el-contact-route-urgent a { color:var(--contact-red) !important; }
.el-contact-route-liss a { color:#73d9ff !important; }
.el-contact-route small { color:#71838e; font-size:10px; line-height:1.35; margin-top:8px; }
.el-contact-route-liss small { color:#90abb7; }

.el-contact-screening { background:var(--contact-cream); }
.el-contact-gate { background:#fff; border:1px solid var(--contact-line); border-top:9px solid var(--contact-red); box-shadow:0 28px 80px rgba(7,29,46,.13); margin:0 auto; max-width:1040px; padding:clamp(28px,5vw,60px); }
.el-contact-gate-status { align-items:center; display:flex; gap:20px; margin-bottom:35px; }
.el-contact-gate-status > span { color:var(--contact-muted); flex:0 0 auto; font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.el-contact-gate-status > div { background:#e5edf1; height:5px; overflow:hidden; width:100%; }
.el-contact-gate-status i { background:linear-gradient(90deg,var(--contact-red),var(--contact-blue)); display:block; height:100%; transition:width .25s ease; width:50%; }
.el-contact-gate-step > h3, .el-contact-gate-result h3 { color:var(--contact-navy); font-size:clamp(35px,4vw,52px); letter-spacing:-.035em; line-height:1.02; margin:0; }
.el-contact-gate-label { color:var(--contact-red); font-size:10px; font-weight:900; letter-spacing:.14em; margin:0 0 12px; text-transform:uppercase; }
.el-contact-gate-help { color:var(--contact-muted); font-size:14px; line-height:1.55; margin:15px 0 0; }
.el-contact-gate-choices { display:grid; gap:11px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:30px; }
.el-contact-gate-choices button { background:#f7fafb; border:1px solid #cbd9e0; border-radius:0; color:var(--contact-ink); cursor:pointer; min-height:105px; padding:20px 22px; text-align:left; transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease; }
.el-contact-gate-choices button::after { color:var(--contact-red); content:'→'; float:right; font-size:19px; font-weight:900; margin-left:12px; }
.el-contact-gate-choices button:hover, .el-contact-gate-choices button:focus-visible { background:#fff; border-color:var(--contact-red); box-shadow:0 12px 30px rgba(7,29,46,.1); outline:0; transform:translateY(-2px); }
.el-contact-gate-choices strong { color:var(--contact-navy); display:block; font-size:15px; line-height:1.35; }
.el-contact-gate-choices span { color:var(--contact-muted); display:block; font-size:12px; line-height:1.45; margin-top:7px; }
.el-contact-gate-back, .el-contact-text-button { appearance:none; background:transparent; border:0; color:var(--contact-blue-aa); cursor:pointer; font-size:12px; font-weight:900; padding:14px 0; text-decoration:underline; text-underline-offset:3px; }
.el-contact-gate-back { margin-top:16px; }
.el-contact-gate-result { align-items:start; background:#f7fafb; border-left:7px solid var(--contact-blue); display:grid; gap:25px; grid-template-columns:62px minmax(0,1fr); padding:clamp(25px,4vw,42px); }
.el-contact-gate-result-direct { background:#fff5f7; border-left-color:var(--contact-red); }
.el-contact-result-mark { align-items:center; background:var(--contact-navy); border-radius:50%; color:#fff; display:flex; font-family:Georgia,"Times New Roman",serif; font-size:27px; height:56px; justify-content:center; width:56px; }
.el-contact-gate-result-direct .el-contact-result-mark { background:var(--contact-red); }
.el-contact-gate-result p:not(.el-contact-gate-label) { color:var(--contact-muted); font-size:15px; line-height:1.6; margin:16px 0 0; max-width:760px; }
.el-contact-gate-result .el-contact-actions { align-items:center; margin-top:23px; }
.el-contact-button-dark-outline { background:transparent; border-color:var(--contact-navy); color:var(--contact-navy) !important; }
.el-contact-button-dark-outline:hover { background:var(--contact-navy); color:#fff !important; }
.el-contact-gate-disclaimer { border-top:1px solid var(--contact-line); color:#71838e; font-size:10px; line-height:1.5; margin:32px 0 0; padding-top:17px; }
.el-contact-noscript { background:#fff4f6; border-left:5px solid var(--contact-red); padding:18px; }

.el-contact-intake { background:#fff; }
.el-contact-intake-grid { align-items:start; display:grid; gap:clamp(50px,7vw,92px); grid-template-columns:minmax(340px,.78fr) minmax(460px,1.22fr); }
.el-contact-intake-copy { position:sticky; top:135px; }
.el-contact-intake-copy > p:not(.el-contact-kicker) { color:var(--contact-muted); font-size:17px; line-height:1.6; }
.el-contact-privacy { background:#fff6f8; border-left:6px solid var(--contact-red); margin-top:30px; padding:22px 24px; }
.el-contact-privacy strong { color:var(--contact-red); font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.el-contact-privacy p { color:var(--contact-muted); font-size:13px; line-height:1.5; margin:7px 0 0; }
.el-contact-steps { list-style:none; margin:30px 0 0; padding:0; }
.el-contact-steps li { border-top:1px solid var(--contact-line); display:grid; gap:16px; grid-template-columns:42px minmax(0,1fr); padding:18px 0; }
.el-contact-steps li > span { color:var(--contact-blue-aa); font-size:12px; font-weight:900; letter-spacing:.08em; }
.el-contact-steps strong { color:var(--contact-navy); }
.el-contact-steps p { color:var(--contact-muted); font-size:13px; line-height:1.5; margin:5px 0 0; }
.el-contact-form-card { background:var(--contact-paper); border:1px solid var(--contact-line); border-top:9px solid var(--contact-red); box-shadow:0 28px 78px rgba(7,29,46,.15); padding:clamp(28px,4vw,46px); }
.el-contact-form-head { border-bottom:1px solid var(--contact-line); margin-bottom:26px; padding-bottom:24px; }
.el-contact-form-head span { color:var(--contact-red); font-size:10px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.el-contact-form-head strong { color:var(--contact-navy); display:block; font-family:Georgia,"Times New Roman",serif; font-size:38px; font-weight:400; line-height:1; margin-top:8px; }
.el-contact-form-head p { color:var(--contact-muted); font-size:12px; line-height:1.45; margin:10px 0 0; }
.el-contact-form-card .elc-row { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.el-contact-form-card .elc-f, .el-contact-form-card .wpcf7-form > p { color:var(--contact-navy); font-size:12px; font-weight:900; line-height:1.4; margin:0 0 17px; }
.el-contact-form-card .wpcf7-form-control-wrap { display:block; margin-top:7px; }
.el-contact-form-card :where(input:not([type="checkbox"]):not([type="submit"]),select,textarea) { background:#fff; border:1px solid #bdccd4; border-radius:4px; color:var(--contact-ink); min-height:52px; padding:12px 13px; width:100%; }
.el-contact-form-card textarea { min-height:165px; resize:vertical; }
.el-contact-form-card :where(input,select,textarea):focus { border-color:var(--contact-blue-aa); box-shadow:0 0 0 3px rgba(0,125,173,.14); outline:0; }
.el-contact-form-card .elc-consent { color:var(--contact-muted); font-size:11px; font-weight:400; line-height:1.45; }
.el-contact-form-card input[type="checkbox"] { accent-color:var(--contact-red); margin-right:7px; }
.el-contact-form-card input[type="submit"] { background:var(--contact-red); border:0; border-radius:5px; color:#fff; cursor:pointer; font-size:13px; font-weight:900; min-height:56px; padding:14px 22px; width:100%; }
.el-contact-form-card .wpcf7-not-valid-tip { color:#b3002d; display:block; font-size:11px; margin-top:5px; }
.el-contact-form-card .wpcf7-response-output { border-color:var(--contact-blue-aa); color:var(--contact-ink); font-size:13px; margin:20px 0 0; padding:13px; }

.el-contact-offices { background:var(--contact-cream); }
.el-contact-office-grid { display:grid; gap:15px; grid-template-columns:repeat(4,minmax(0,1fr)); }
.el-contact-office-grid article { background:#fff; border:1px solid var(--contact-line); min-height:285px; padding:30px; }
.el-contact-office-grid span { color:var(--contact-red); font-size:10px; font-weight:900; letter-spacing:.14em; text-transform:uppercase; }
.el-contact-office-grid h3 { color:var(--contact-navy); font-size:31px; margin:25px 0 12px; }
.el-contact-office-grid p { color:var(--contact-muted); font-size:14px; line-height:1.55; }
.el-contact-office-grid a { color:var(--contact-blue-aa) !important; display:inline-block; font-size:14px; font-weight:900 !important; margin-top:12px; text-decoration:none !important; }
.el-contact-office-grid small { color:#71838e; display:block; font-size:10px; line-height:1.45; margin-top:18px; }

.el-contact-final { background:var(--contact-red); color:#fff; padding:clamp(72px,8vw,110px) 0; text-align:center; }
.el-contact-final h2 { color:#fff; font-size:clamp(46px,5.5vw,76px); letter-spacing:-.05em; line-height:.98; margin:0 auto; max-width:1000px; }
.el-contact-final .el-contact-actions { justify-content:center; }
.el-contact-final .el-contact-button { background:var(--contact-navy); border-color:var(--contact-navy); }
.el-contact-final .el-contact-button-outline { background:transparent; border-color:#fff; }
.el-contact-legal { background:#eef3f5; border-top:1px solid var(--contact-line); padding:28px 0; }
.el-contact-legal p { color:#5d727e; font-size:10px; line-height:1.55; margin:0; max-width:none; }

@media (max-width:1000px) {
  .el-contact-hero-grid { grid-template-columns:1fr .72fr; }
  .el-contact-route-grid { grid-template-columns:1fr; }
  .el-contact-route { min-height:0; }
  .el-contact-heading { grid-template-columns:1fr; }
  .el-contact-intake-grid { grid-template-columns:1fr; }
  .el-contact-intake-copy { position:static; }
  .el-contact-office-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:760px) {
  .el-contact { padding-bottom:66px; }
  .el-contact-mobile-bar { align-items:stretch; background:#fff; border-top:1px solid var(--contact-line); bottom:0; box-shadow:0 -12px 34px rgba(2,13,22,.2); display:grid; grid-template-columns:1fr 1fr; left:0; padding:8px max(10px,env(safe-area-inset-left)) max(8px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-right)); position:fixed; right:0; z-index:1001; }
  .el-contact-mobile-bar a { align-items:center; background:var(--contact-red); color:#fff !important; display:flex; font-size:12px; font-weight:900 !important; justify-content:center; min-height:48px; text-decoration:none !important; }
  .el-contact-mobile-bar a:first-child { border-radius:5px 0 0 5px; }
  .el-contact-mobile-bar a:last-child { background:var(--contact-navy); border-radius:0 5px 5px 0; }
  .el-contact-shell { padding-inline:20px; }
  .el-contact-section { padding:64px 0; }
  .el-contact-hero-grid { display:flex; flex-direction:column; min-height:0; padding-inline:0; }
  .el-contact-hero-visual { align-items:center; align-self:stretch; display:grid; gap:17px; grid-template-columns:112px minmax(0,1fr); min-height:0; order:-1; overflow:visible; padding:28px 20px 7px; }
  .el-contact-hero-visual::before { display:none; }
  .el-contact-hero-visual img { border:3px solid #39cfff; border-radius:50%; box-shadow:0 0 0 5px rgba(57,207,255,.12),9px 9px 0 rgba(230,22,74,.9); height:108px; object-fit:cover; object-position:center 22%; width:108px; }
  .el-contact-hero-visual > div { border-left-width:4px; bottom:auto; left:auto; margin-top:0; max-width:none; padding:9px 11px; position:static; width:auto; }
  .el-contact-hero-visual span { font-size:9px; line-height:1.35; margin-bottom:6px; }
  .el-contact-hero-visual strong { font-size:23px; line-height:1.02; }
  .el-contact-hero-copy { padding:18px 20px 34px; }
  .el-contact-hero h1 { font-size:clamp(44px,12.3vw,58px); }
  .el-contact-hero-lead { font-size:16px; }
  .el-contact-call-block a { font-size:38px; }
  .el-contact-heading { gap:20px; }
  .el-contact-heading h2, .el-contact-intake-copy h2 { font-size:43px; }
  .el-contact-office-grid { grid-template-columns:1fr; }
  .el-contact-gate-choices { grid-template-columns:1fr; }
  .el-contact-gate-result { grid-template-columns:1fr; }
  .el-contact-gate-result .el-contact-actions { display:grid; }
}
@media (max-width:520px) {
  .el-contact-actions { display:grid; }
  .el-contact-button { width:100%; }
  .el-contact-emergency .el-contact-shell { align-items:start; grid-template-columns:46px minmax(0,1fr); }
  .el-contact-emergency span { border-width:4px; font-size:20px; height:43px; width:43px; }
  .el-contact-route { padding:27px 24px; }
  .el-contact-route h3 { font-size:29px; }
  .el-contact-form-card { padding:27px 21px; }
  .el-contact-form-card .elc-row { grid-template-columns:1fr; gap:0; }
  .el-contact-final h2 { font-size:43px; }
}
@media (prefers-reduced-motion:reduce) { .el-contact *, .el-contact *::before, .el-contact *::after { scroll-behavior:auto !important; transition:none !important; } }
