/* FRONTAAL — navy, white and a restrained cyan accent. */
:root{--navy:#0a2342;--navy2:#002c51;--accent:#39b8ff;--paper:#f2f6f9;--ink:#0a2342;--muted:#4d6175;--line:#d7e2eb}
body{font-family:Montserrat,Arial,Helvetica,sans-serif}
.site-header{max-width:none;padding-inline:max(32px,calc((100vw - 1344px)/2));background:var(--navy);color:white;gap:24px}
.brand{font-family:Montserrat,Arial,Helvetica,sans-serif;font-size:1.8rem;font-weight:800;letter-spacing:.105em;color:white;white-space:nowrap;line-height:1.2}
.brand span{color:var(--accent);letter-spacing:0}
.site-header nav{font-size:14px;gap:18px}
.site-header nav a:not(.nav-cta):after{background:var(--accent)}
.site-header .nav-cta{background:var(--accent);color:var(--navy);padding-inline:16px}
.site-header .nav-cta:hover{background:#a7def5}
.menu{background:transparent;color:white;border-color:#ffffff60}
a:focus-visible,button:focus-visible,summary:focus-visible{outline-color:#2983b1}
.site-header a:focus-visible,.site-header button:focus-visible,footer a:focus-visible{outline-color:var(--accent)}
::selection{background:var(--accent);color:var(--navy)}
h1,h2,h3{font-family:Montserrat,Arial,Helvetica,sans-serif}
.b-hero h1,.hero h1,.page-hero h1{font-weight:600;letter-spacing:-.035em;line-height:1.14}
.section h2{font-weight:600;letter-spacing:-.03em}
.button,.nav-cta{border-radius:3px;font-weight:600}
.b-hero .eyebrow{max-width:100%;font-size:13px;letter-spacing:.07em}
footer{max-width:none;background:var(--navy);color:#c7d7e6;padding-inline:max(32px,calc((100vw - 1184px)/2))}
footer .brand{display:inline-block;color:white;font-size:2rem}
footer .eyebrow{color:white}
footer a:hover{color:var(--accent)}
footer .copyright{border-color:#ffffff26;color:#c7d7e6}
@media(max-width:1300px){.site-header{min-height:88px;padding:20px 32px}.site-header .menu{display:flex;align-items:center;gap:14px;border:1px solid #ffffff60;border-radius:3px;padding:10px 16px;font-size:14px;font-weight:600}.menu:after{content:'☰';font-size:18px}.site-header nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);color:white;padding:20px 32px 28px;box-shadow:0 15px 28px #0a234214;flex-direction:column;align-items:stretch;gap:0}.site-header nav.open{display:flex}.site-header nav a:not(.nav-cta){padding:13px 0}.site-header .nav-cta{margin-top:16px}}
@media(max-width:760px){.site-header{padding:18px 24px;min-height:80px}.brand{font-size:1.5rem;letter-spacing:.09em}footer{padding-inline:24px}.b-hero h1,.page-hero h1{font-size:clamp(2rem,8.3vw,3.3rem)}.b-hero .eyebrow{font-size:12px}.site-header nav{padding-inline:24px}.section h2{overflow-wrap:break-word}}
@media(max-width:360px){.site-header{gap:12px;padding-inline:18px}.brand{font-size:1.3rem}.site-header .menu{padding:9px 11px}}

/* Use the supplied artwork itself to preserve its exact letterforms and dot. */
.brand{display:inline-flex;align-items:center;line-height:0;letter-spacing:0}
.brand img{display:block;width:240px;max-width:100%;height:auto}
footer .brand{display:inline-flex}
footer .brand img{width:280px}
@media(max-width:760px){.brand img{width:205px}footer .brand img{width:260px}}
@media(max-width:360px){.brand img{width:175px}}

.b-hero h1 .hero-emphasis{display:block;margin-top:.15em;color:#21658a}

/* Key out only the dark backing without redrawing or replacing the logo. */
.brand-filter-defs{position:absolute;pointer-events:none;overflow:hidden}
.brand img{filter:url(#frontaal-clear-background)}
