:root{--navy:#0F324B;--navy-900:#0a2437;--steel:#2F6286;--sky:#61839D;--blue:#3E5DAA;--blue-700:#334d8c;
--ink:#212529;--ink-nav:#231F20;--ink-mid:#555;--ink-soft:#7b828a;--bg:#FBFCFD;--surface:#FEFEFF;
--bg-100:#F1F4F7;--line:#DCE3EA;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:96px;--r:8px;--r-lg:14px}
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:hidden}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.75 "Public Sans","Helvetica Neue",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Roboto,sans-serif;color:var(--navy);margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.15}
p,li{margin:0 0 var(--s2)}
a{color:var(--steel)}
.wrap{max-width:1240px;margin:0 auto;padding:0 var(--s3)}
.util{background:var(--navy);color:#fff;font-size:13.5px;padding:9px 0}
.util .wrap{display:flex;justify-content:flex-end}
.top{background:var(--surface);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);min-height:88px;flex-wrap:wrap}
.logo img{height:56px;width:auto;display:block}
.navwrap{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap}
nav a{font-family:Roboto,sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;letter-spacing:.02em;color:var(--ink-nav);text-decoration:none;margin-left:var(--s3)}
nav a:hover{color:var(--blue)}
.tel{font-family:Roboto,sans-serif;font-weight:700;font-size:20px;color:var(--steel);text-decoration:none;white-space:nowrap}
.hd{background:linear-gradient(150deg,var(--navy-900),var(--navy));color:#fff;padding:var(--s6) 0 var(--s5)}
.hd h1{color:#fff;font-size:clamp(34px,4.6vw,52px)}
.hd p{color:rgba(255,255,255,.72);margin:var(--s2) 0 0;font-size:16px}
main{padding:var(--s6) 0 var(--s5)}
main .wrap{max-width:760px}
main h2{font-size:24px;margin:var(--s5) 0 var(--s2)}
main h2:first-of-type{margin-top:0}
main h3{font-size:18px;margin:var(--s4) 0 10px}
main ul{padding-left:22px;margin:0 0 var(--s2)}
.callout{background:var(--bg-100);border:1px solid var(--line);border-left:4px solid var(--blue);
  border-radius:var(--r);padding:var(--s3);margin:var(--s3) 0;font-size:16px}
.callout strong{color:var(--navy)}
footer{background:var(--navy-900);color:rgba(255,255,255,.62);padding:var(--s5) 0 var(--s3);font-size:15px}
footer .cols{display:flex;justify-content:space-between;gap:var(--s4);flex-wrap:wrap;margin-bottom:var(--s4)}
footer a{color:rgba(255,255,255,.82);text-decoration:none;display:block;margin-bottom:8px;font-size:15px}
footer a:hover{color:#fff}
footer .lbl{font-family:Roboto,sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sky);margin-bottom:13px}
.legal{border-top:1px solid rgba(255,255,255,.12);padding-top:var(--s3);font-size:12.5px;color:rgba(255,255,255,.45);line-height:1.6}
@media (max-width:960px){.hd{padding:var(--s5) 0 var(--s4)}main{padding:var(--s5) 0}nav a{margin:0 var(--s2) 0 0;font-size:14px}.top .wrap{min-height:0;padding:var(--s2) var(--s3)}}
@media (max-width:620px){.util{display:none}.logo img{height:44px}.tel{font-size:18px}}

/* ---- Locations dropdown. Shared by styles.css and legal.css; both declare the
   same custom properties, so this block is identical in each. Opens on hover for
   mouse, on focus-within for keyboard, and on aria-expanded for tap. ---- */
.drop{position:relative;display:inline-block;margin-left:var(--s3)}
.droptrig{font-family:Roboto,sans-serif;font-size:15px;font-weight:600;text-transform:uppercase;
  letter-spacing:.02em;color:var(--ink-nav);background:none;border:0;padding:0;cursor:pointer;
  display:inline-flex;align-items:center;gap:7px;transition:color .15s}
.droptrig::after{content:"";width:0;height:0;border-left:4px solid transparent;
  border-right:4px solid transparent;border-top:5px solid currentColor;transition:transform .15s}
.droptrig:hover,.droptrig.on,.drop:hover .droptrig,.drop:focus-within .droptrig{color:var(--blue)}
.drop:hover .droptrig::after,.droptrig[aria-expanded="true"]::after{transform:rotate(180deg)}
.dropmenu{position:absolute;top:calc(100% + 12px);left:-14px;min-width:208px;background:#fff;
  border:1px solid var(--line);border-radius:var(--r-lg);padding:8px;
  box-shadow:0 2px 4px rgba(15,50,75,.07),0 14px 32px rgba(15,50,75,.14);
  opacity:0;visibility:hidden;transform:translateY(-5px);z-index:60;
  transition:opacity .15s,transform .15s,visibility .15s}
.drop:hover .dropmenu,.drop:focus-within .dropmenu,
.droptrig[aria-expanded="true"]+.dropmenu{opacity:1;visibility:visible;transform:none}
.dropmenu a{display:block;margin:0;padding:9px 12px;border-radius:var(--r);font-size:15px;
  text-transform:none;letter-spacing:0;color:var(--ink)}
.dropmenu a:hover,.dropmenu a[aria-current]{background:var(--bg-100);color:var(--blue)}
.dropmenu .sub{display:block;font-family:"Public Sans",sans-serif;font-size:11.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:1px}
.dropmenu a:hover .sub,.dropmenu a[aria-current] .sub{color:var(--sky)}
@media (max-width:620px){.dropmenu{left:auto;right:0;min-width:184px}}
