/* Institutional direction: original navy/silver identity, no government affiliation. */
:root{--civic-navy:#00022d;--civic-ink:#18243a;--civic-muted:#526077;--civic-silver:#d6dbe6;--civic-line:#dce2eb;--civic-surface:#f3f5f8;--civic-focus:#9ebff7}
html{scroll-padding-top:24px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body{color:var(--civic-ink)}
.shell{width:min(1280px,calc(100% - 96px))}
h1,h2,h3{text-wrap:balance;letter-spacing:normal}
p{text-wrap:pretty}
a,button{touch-action:manipulation}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #527fc7;outline-offset:5px}
.civic-header{background:var(--civic-navy);color:#fff}
.civic-utility{border-bottom:1px solid #ffffff20;background:#080a34}
.civic-utility>.shell{display:flex;align-items:center;justify-content:space-between;min-height:40px;font-size:12px;color:#d6dbe6}
.civic-utility span,.civic-utility a{display:flex;align-items:center;gap:8px}
.civic-utility a{min-height:40px;color:#fff}
.civic-utility img{filter:brightness(0) invert(1);opacity:.85}
.civic-header .ba-navigation{min-height:108px;gap:28px}
.civic-header .civic-logo{background:none;padding:0;border-radius:0;width:360px;max-width:none;flex-shrink:0}
.civic-logo img{width:100%;height:auto}
.civic-header .ba-desktop{gap:24px;font-size:15px;margin-inline-start:auto}
.civic-header .ba-desktop a{min-height:64px;color:#e0e3ed}
.civic-header .ba-desktop a:hover,.civic-header .ba-desktop a[aria-current]{color:white}
.civic-header .ba-desktop a:after{background:#d6dbe6;bottom:6px;height:2px}
.civic-header .ba-header-cta{background:transparent;color:white;border:1px solid #8790a9;border-radius:6px;min-height:48px;padding:10px 18px;font-size:15px;gap:16px;box-shadow:none}
.civic-header .ba-header-cta:hover{background:#ffffff16;border-color:white}
.civic-header svg,.civic-actions svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;flex-shrink:0}
.civic-header .ba-menu-button{color:white;border:1px solid #7d86a1;border-radius:6px;flex-shrink:0}
.civic-header .ba-mobile{padding-block:8px 24px}
.civic-header .ba-mobile a{border-color:#ffffff26;padding:16px 4px;font-size:17px}
.civic-header a:focus-visible,.civic-header button:focus-visible,.civic-hero a:focus-visible{outline-color:#d6e5ff}
.civic-hero{position:relative;isolation:isolate;background:var(--civic-navy);overflow:hidden;color:white}
.civic-hero-photo{position:absolute;left:0;top:0;width:70%;height:100%;object-fit:cover;object-position:center 55%;z-index:-2}
.civic-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(270deg,#00022d 26%,#00022dfa 39%,#00022d9c 62%,#00022d26 100%);z-index:-1}
.civic-hero-content{min-height:548px;display:flex;align-items:center;justify-content:space-between;gap:56px;padding-block:62px 76px}
.civic-hero-copy{width:640px;max-width:60%}
.civic-firm-name{font-size:18px;line-height:1.8;color:#d9dce8;margin-bottom:24px}
.civic-hero h1{font-size:clamp(46px,5.2vw,76px);font-weight:700;line-height:1.45;margin-bottom:20px;color:#fff}
.civic-hero h1 span{color:#d4d9e6}
.civic-hero-description{font-size:19px;line-height:1.95;color:#e0e4ef;max-width:540px}
.civic-actions{display:flex;align-items:center;gap:32px;margin-top:32px;flex-wrap:wrap}
.civic-action-primary,.civic-action-secondary{display:inline-flex;gap:24px;align-items:center;min-height:56px;font-weight:700;font-size:17px;border-radius:6px;padding:13px 24px;transition:background .18s,color .18s}
.civic-action-primary{background:white;color:var(--civic-navy);border:1px solid white}
.civic-action-primary:hover{background:#dce4f1;border-color:#dce4f1}
.civic-action-secondary{color:white;padding-inline:0;border-radius:0;border-bottom:1px solid #a4adc3}
.civic-action-secondary:hover{color:#cbd6ed}
.civic-place{align-self:flex-end;color:#ecedf4;font-size:12px;line-height:1.7;white-space:nowrap;text-shadow:0 1px 3px #000}
.civic-place span{display:block;font-size:22px;font-weight:700}
.civic-shortcuts{background:#fff;border-bottom:1px solid var(--civic-line)}
.civic-shortcuts>.shell{display:grid;grid-template-columns:repeat(3,1fr)}
.civic-shortcuts a{display:flex;align-items:center;gap:20px;padding:28px;min-width:0;min-height:112px;border-inline-start:1px solid var(--civic-line);transition:background .18s}
.civic-shortcuts a:first-child{border-inline-start:0;padding-inline-start:0}
.civic-shortcuts a:last-child{padding-inline-end:0}
.civic-shortcuts a:hover{background:var(--civic-surface)}
.civic-shortcuts img{flex-shrink:0}
.civic-shortcuts small{display:block;color:var(--civic-muted);font-size:13px;margin-bottom:4px}
.civic-shortcuts strong{display:block;font-size:17px;line-height:1.6}
.civic-arrow{font-size:24px;font-weight:400;margin-inline-start:auto;flex-shrink:0}
.civic-section{padding-block:88px}
.civic-section h2{font-size:clamp(29px,3.2vw,42px);line-height:1.55;font-weight:700}
.civic-section-head{display:flex;align-items:end;justify-content:space-between;gap:32px;margin-bottom:40px}
.civic-section-head p{font-size:18px;line-height:1.9;margin-top:12px;color:var(--civic-muted)}
.civic-inline-link{display:inline-flex;align-items:center;gap:24px;min-height:44px;font-size:16px;font-weight:700;border-bottom:1px solid #9daabd;flex-shrink:0}
.civic-inline-link:hover{color:#375b98}
.civic-service-directory{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
.civic-service-row{display:flex;align-items:start;gap:24px;padding:30px 0;border-top:1px solid var(--civic-line);min-width:0;transition:background .18s}
.civic-service-row img{flex-shrink:0;margin-top:3px}
.civic-service-row h3{font-size:21px;font-weight:700;margin-bottom:10px;line-height:1.6}
.civic-service-row p{font-size:16px;line-height:1.9;color:var(--civic-muted)}
.civic-service-row .civic-arrow{font-size:22px}
.civic-service-row:hover{background:#f7f9fc}
.civic-audiences{background:var(--civic-surface)}
.civic-audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.civic-audience-grid article{border-top:1px solid #c9d3e1;padding-top:28px}
.civic-audience-grid img{margin-bottom:24px}
.civic-audience-grid h3{font-size:21px;line-height:1.7;margin-bottom:12px;max-width:250px}
.civic-audience-grid p{font-size:16px;line-height:1.9;color:var(--civic-muted)}
.civic-about{display:grid;grid-template-columns:1.15fr 1fr;gap:100px;align-items:start}
.civic-about-lead{font-size:18px;line-height:2;margin-block:24px}
.civic-values article{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--civic-line)}
.civic-values article:first-child{padding-top:0}
.civic-values img{flex-shrink:0;margin-top:6px}
.civic-values h3{font-size:21px;margin-bottom:8px}
.civic-values p{font-size:16px;line-height:1.9}
.ba-team-section{background:#f3f5f8}
.ba-team-section .ba-eyebrow{display:none}
.ba-team-section h2{font-size:clamp(29px,3.2vw,42px)}
.ba-person{background:white;border:0;border-radius:8px;padding:32px}
.ba-person-mark{border-radius:0;background:none;padding:0;width:76px;height:auto}
.ba-person-mark img{filter:brightness(.32)}
.ba-person h3{font-size:26px}
.civic-start{display:grid;grid-template-columns:1fr 1.8fr;gap:80px}
.civic-start .civic-inline-link{margin-top:24px}
.civic-start ol{display:flex;gap:32px;list-style:none;margin:0;padding:0}
.civic-start li{flex:1;min-width:0;border-top:1px solid var(--civic-line);padding-top:20px}
.civic-start li>span{font-size:17px;color:var(--civic-muted);display:block;margin-bottom:20px}
.civic-start h3{font-size:20px;margin-bottom:10px}
.civic-start p{font-size:16px;line-height:1.9}
.civic-logo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:24px}
.civic-logo-grid figure{margin:0;border:1px solid var(--civic-line);padding:28px 20px;text-align:center;border-radius:8px}
.civic-logo-grid img{width:200px;height:100px;object-fit:contain;margin:auto}
.civic-logo-grid figcaption{margin-top:16px;font-size:16px}
.civic-logo-grid a{display:inline-flex;align-items:center;min-height:44px;text-decoration:underline;font-size:14px}
.ba-contact-band{background:var(--civic-navy);margin:0;border-radius:0;padding:64px 0}
.ba-contact-band .ba-eyebrow{font-size:16px;color:#d6dbe6}
.ba-contact-band .ba-eyebrow:before{display:none}
.ba-contact-band h2{font-size:44px}
.ba-contact-band .ba-button{background:#fff;color:var(--civic-navy);border:0;border-radius:6px;box-shadow:none}
.ba-footer{background:var(--civic-navy);color:#e8ecf4;border-top:1px solid #ffffff24;padding-top:56px}
.ba-footer-logo{background:none;border-radius:0;padding:0;width:360px;margin-bottom:24px}
.ba-footer p,.ba-footer h2{color:#d6dbe6}
.ba-footer a:hover{color:white;text-decoration:underline}
.ba-footer-bottom{border-color:#ffffff26;color:#d6dbe6}
.ba-footer a:focus-visible{outline-color:#d6e5ff}
.ba-button:hover,.ba-service:hover{box-shadow:none}
.ba-eyebrow:before{display:none}
@media(max-width:1180px){
 .civic-header .civic-logo{width:290px}.civic-header .ba-desktop{gap:18px;font-size:14px}.civic-header .ba-navigation{gap:20px}
 .civic-header .ba-header-cta{padding-inline:14px;gap:12px}
 .civic-shortcuts a{gap:14px;padding:24px 18px}.civic-shortcuts strong{font-size:15px}
 .civic-about{gap:56px}.civic-start{gap:48px;grid-template-columns:1fr 2fr}
}
@media(max-width:1024px){
 .shell{width:calc(100% - 64px)}
 .civic-header .ba-desktop,.civic-header .ba-header-cta{display:none}
 .civic-header .ba-menu-button{display:block}
 .civic-header .civic-logo{width:350px;max-width:calc(100% - 80px)}
 .civic-hero-copy{max-width:68%}.civic-hero-content{min-height:520px}
 .civic-hero h1{font-size:58px}.civic-hero-photo{width:80%}
 .civic-audience-grid{grid-template-columns:1fr 1fr;gap:40px}
 .civic-service-directory{column-gap:32px}
 .civic-service-row{gap:16px}.civic-service-row h3{font-size:20px}
 .civic-start{grid-template-columns:1fr;gap:40px}.civic-start h2 br{display:none}
}
@media(max-width:700px){
 .shell{width:calc(100% - 40px)}
 .civic-utility>.shell{font-size:11px;gap:12px;min-height:36px}.civic-utility a{min-height:40px}
 .civic-utility img{display:none}
 .civic-header .ba-navigation{min-height:92px;gap:20px}
 .civic-header .civic-logo{width:280px;max-width:calc(100% - 66px)}
 .civic-hero-content{min-height:600px;display:block;padding-top:44px;padding-bottom:174px}
 .civic-hero-copy{width:auto;max-width:100%}
 .civic-hero-photo{width:100%;height:58%;top:auto;bottom:0;object-position:center}
 .civic-hero:before{background:linear-gradient(180deg,#00022d 22%,#00022df7 42%,#00022d96 68%,#00022d40 100%)}
 .civic-firm-name{font-size:16px;margin-bottom:20px;line-height:1.8}
 .civic-hero h1{font-size:48px;line-height:1.5;margin-bottom:16px}
 .civic-hero-description{font-size:17px;line-height:1.95}
 .civic-actions{gap:20px;margin-top:24px}
 .civic-action-primary,.civic-action-secondary{font-size:16px;min-height:52px;gap:16px}
 .civic-action-primary{padding:12px 18px}
 .civic-place{position:absolute;bottom:24px;left:20px;font-size:11px}.civic-place span{font-size:18px}
 .civic-shortcuts>.shell{display:block}
 .civic-shortcuts a,.civic-shortcuts a:first-child,.civic-shortcuts a:last-child{border-inline-start:0;border-bottom:1px solid var(--civic-line);padding:20px 0;min-height:88px;gap:20px}
 .civic-shortcuts a:last-child{border-bottom:0}
 .civic-shortcuts strong{font-size:17px}.civic-shortcuts small{font-size:12px}
 .civic-section{padding-block:56px}
 .civic-section-head{align-items:start;gap:20px;flex-direction:column;margin-bottom:28px}
 .civic-section-head p{font-size:17px}
 .civic-service-directory{grid-template-columns:1fr}
 .civic-service-row{gap:18px;padding-block:26px}.civic-service-row img{width:30px;height:30px}
 .civic-service-row h3{font-size:20px}
 .civic-audience-grid{gap:28px 20px}.civic-audience-grid h3{font-size:18px}.civic-audience-grid p{font-size:16px}
 .civic-about{grid-template-columns:1fr;gap:40px}.civic-about-lead{font-size:17px}
 .civic-values article{padding-block:22px}
 .civic-start ol{display:block}
 .civic-start li{display:flex;gap:24px;padding-block:22px}.civic-start li>span{margin:0;min-width:24px}
 .ba-person{padding:28px 20px}.ba-person-mark{width:52px;flex-shrink:0}.ba-person h3{font-size:24px}
 .ba-contact-band{padding:48px 0}.ba-contact-band .shell{width:calc(100% - 40px)}
 .ba-contact-band .ba-eyebrow{font-size:15px}.ba-contact-band h2{font-size:36px}
 .ba-footer-logo{width:320px}.ba-footer p{font-size:15px}.ba-footer-bottom{font-size:12px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
