:root{--navy:#253551;--blue:#1b5ca6;--blue-h:#1d66ab;--text:#2a2829;--gray:#e0e0db;--dark:#253551;--sky:#29a8e0}
*{box-sizing:border-box}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;font:17px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:#fff}
h1,h2,h3{color:var(--navy);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2.2rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.1rem)}h3{font-size:1.15rem}
a{color:var(--blue)}.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.bar{background:var(--navy);color:#fff;font-size:.95rem}.bar .wrap{display:flex;gap:18px;justify-content:center;padding:8px 20px;flex-wrap:wrap}
.bar a{color:#fff;text-decoration:none;font-weight:600}
header.site{border-bottom:1px solid var(--gray)}header.site .wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 20px}
header.site .brand{display:flex;align-items:center;gap:16px;text-decoration:none}header.site img{height:104px;width:auto;display:block}.brandname{color:var(--navy);font-weight:800;font-size:1.6rem;line-height:1.1;letter-spacing:.01em}
header.site nav a{margin-left:18px;color:var(--navy);text-decoration:none;font-weight:600}
.btns{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.btn{font:inherit;font-weight:700;cursor:pointer;display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font-weight:700;padding:12px 20px;border-radius:6px;border:2px solid var(--navy)}
.btn:hover{background:#34496b}.btn.alt{background:#fff;color:var(--navy)}.btn.alt:hover{background:#eef1f6}
.hero{padding:56px 0 40px}.hero .wrap{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center}
.hero img{width:100%;height:auto;max-width:380px;border-radius:8px;justify-self:center}
.lead{font-size:1.1rem}.small{font-size:.9rem;color:#555}.pre{font-weight:700;color:var(--navy);margin:20px 0 0}
.trust{background:var(--navy);color:#fff;padding:26px 0}.trust ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}.trust li{text-align:center;padding:6px 18px;font-size:1.15rem;font-weight:700;line-height:1.3;border-left:1px solid rgba(255,255,255,.3)}.trust li:first-child{border-left:0}
section{padding:52px 0}section.gray{background:#f4f4f1}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.cols.c2{grid-template-columns:repeat(2,1fr)}.cols.c3{grid-template-columns:repeat(3,1fr)}.card.wide{grid-column:1/-1}.card{background:#fff;border:1px solid var(--gray);border-radius:8px;padding:20px}.card h3 a{color:var(--navy);text-decoration:none}.card h3 a:hover{text-decoration:underline}
.card p{margin:.3em 0 0;font-size:.97rem}.grp{margin:30px 0 12px;color:var(--blue);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem;font-weight:700}
ul.tick{padding-left:20px}.card ul.tick{margin:.3em 0 0;font-size:.97rem}.card ul.tick+p,.card p+ul.tick{margin-top:.6em}ol.steps li{margin-bottom:.5em}
form{display:grid;gap:14px;max-width:640px}form .btn{font-size:1.05rem;padding:14px}label{font-weight:600;display:grid;gap:4px}
input,select,textarea{font:inherit;padding:10px;border:1px solid #9aa;border-radius:6px;width:100%}
.hp{position:absolute;left:-9999px}.hidden{display:none}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.cta{background:var(--gray)}
footer{background:var(--navy);color:#dfe6f0;padding:36px 0;font-size:.93rem}footer a{color:#fff}footer p{margin:.4em 0}
@media(max-width:900px){.cols.c2,.cols.c3{grid-template-columns:1fr}.trust ul{grid-template-columns:1fr 1fr}.trust li:nth-child(3){border-left:0}.trust li{padding:10px 14px}}
@media(max-width:760px){.brandname{font-size:1.15rem}.hero .wrap{grid-template-columns:1fr}.row{grid-template-columns:1fr}header.site img{height:76px}}

.topics{margin:.5em 0;padding-left:20px;font-size:.97rem}.topics li{margin-bottom:.2em}
.card.wide .topics{columns:2;column-gap:32px}@media(max-width:760px){.card.wide .topics{columns:1}}
.card.wide .topics{columns:2;column-gap:18px;width:fit-content;margin:.7em auto;font-size:.88rem}
@media(max-width:760px){.card.wide .topics{columns:1;margin:.6em 0}}

/* header, menu, sticky bar, contact layout */
.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--navy);padding:10px 14px;z-index:100}.skip:focus{left:8px;top:8px}
header.site .brand img{height:104px}
.menubtn{display:none;background:none;border:2px solid var(--navy);border-radius:6px;padding:9px 8px;cursor:pointer}
.menubtn span{display:block;width:22px;height:3px;background:var(--navy);margin:4px 0;border-radius:2px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sky);outline-offset:2px}
.req{font-weight:400;font-size:.85rem;color:#555}
.err{background:#fdecea;border:1px solid #c0392b;color:#7b1d12;padding:10px 12px;border-radius:6px;margin:0;font-weight:600}
.contactgrid{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:start}
.formcol form{max-width:none}
ul.reach{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}
ul.reach a{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #c9c9c3;border-radius:8px;padding:14px 16px;color:var(--navy);text-decoration:none;font-weight:700;font-size:1.05rem}
ul.reach a:hover{background:#eef1f6}ul.reach span{background:var(--navy);color:#fff;border-radius:6px;padding:4px 12px;min-width:68px;text-align:center;font-size:.9rem}
.flogo{height:64px;width:auto;display:block;margin-bottom:18px}
.stickybar{display:none}
@media(max-width:900px){
 .contactgrid{grid-template-columns:1fr;gap:28px}
 .trust ul{grid-template-columns:1fr 1fr}.trust li{border-left:0;border-top:1px solid rgba(255,255,255,.3);padding:14px 12px}
 .trust li:nth-child(odd){border-right:1px solid rgba(255,255,255,.3)}.trust li:nth-child(-n+2){border-top:0}
 .trust{padding:12px 0}
}
@media(max-width:760px){
 .bar{display:none}
 header.site .wrap{position:relative}
 header.site .brand img{height:76px}.brandname{font-size:1.1rem}
 .menubtn{display:block}
 header.site nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--gray);padding:6px 20px 14px;z-index:20;box-shadow:0 8px 16px rgba(0,0,0,.08)}
 header.site nav.open{display:block}
 header.site nav a{display:block;margin:0;padding:12px 0;border-bottom:1px solid var(--gray)}
 .hero{padding:24px 0 20px}.hero .wrap{gap:18px}
 .hero img{order:-1;width:140px;height:140px;object-fit:cover;object-position:50% 12%;border-radius:50%;justify-self:start}
 section{padding:34px 0}
 .card{padding:16px}.grp{margin:22px 0 10px}
 .stickybar{display:flex;gap:8px;position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--gray);padding:8px 12px;z-index:30;box-shadow:0 -4px 12px rgba(0,0,0,.08)}
 .stickybar .btn{flex:1;text-align:center;padding:12px 8px}
 body{padding-bottom:68px}
 .btns.center{display:none}
 .btns a[href^="tel:"],.btns a[href^="sms:"],.btns a[href="/contact.html"],.btns a[href="#contact"]{display:none}
 .cta .btns a[href]{display:inline-block}
}
.draftbanner{background:#fff3cd;border-bottom:2px solid #e0a800;color:#4d3b00;padding:10px 20px;font-size:.92rem;text-align:center}
.safety{background:#fdecea;border:1px solid #c0392b;color:#7b1d12;padding:10px 14px;border-radius:6px}
.aboutimg{float:right;margin:0 0 16px 24px;border-radius:8px;max-width:40%;height:auto}
@media(max-width:600px){.aboutimg{float:none;display:block;margin:0 0 16px;max-width:60%}}
ul.career{margin:18px 0 24px 36px;padding:4px 0 4px 28px;border-left:4px solid var(--sky)}
ul.career li{margin-bottom:.85em;padding-left:4px}
ul.career li::marker{color:var(--navy);font-size:1.15em}
@media(max-width:600px){ul.career{margin-left:10px;padding-left:20px}}
.orgrow{display:flex;flex-direction:column;gap:12px;margin:22px 0 8px}
.orgs{display:grid;gap:12px}
.orgs.g3{grid-template-columns:repeat(3,1fr)}
.orgs.g5{grid-template-columns:repeat(5,1fr)}
.orgrow a{display:inline-block;border:2px solid var(--navy);border-radius:8px;padding:14px 12px;font-weight:700;font-size:.88rem;line-height:1.3;color:var(--navy);text-decoration:none;text-align:center;display:flex;align-items:center;justify-content:center;min-height:104px}
.orgrow a:hover{background:#eef1f6}
.orgrow{align-items:center}
.orgrow .logos{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:40px;margin-bottom:8px}
@media(max-width:900px){.orgs.g3,.orgs.g5{grid-template-columns:repeat(2,1fr)}.orgrow a{min-height:88px}}
@media(max-width:520px){.orgs.g3,.orgs.g5{grid-template-columns:1fr}.orgrow a{min-height:76px}}
.orgrow a.logo{padding:0;border:0;background:none;min-height:0!important;text-align:center}
.orgrow a.logo:hover{background:none;opacity:.85}
.orgrow a.logo img{display:block;height:auto;width:260px;max-width:100%}
.orgrow a.logo img[src^=nremt]{width:130px}
.byline{margin:0 0 14px;font-size:1.05rem;line-height:1.35;color:var(--navy)}
.orgcap{margin:10px 0 0;text-align:center;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue)}
.orgnote{margin:10px 0 0;text-align:center;font-size:.85rem;color:#555}
.orgrow .memlogo{margin-bottom:14px}
.orgrow a.logo img[src^=loudoun]{width:140px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
ul.career.first{margin-bottom:0}
ul.career.rest{margin-top:0}
details.more{margin:0 0 24px 36px}
details.more summary{cursor:pointer;font-weight:700;color:var(--blue);padding:10px 0 10px 32px;min-height:44px;box-sizing:border-box}
details.more[open] summary{padding-bottom:0}
details.more ul.career{margin-left:0}
@media(max-width:600px){ul.career{margin-left:6px;padding-left:30px}details.more{margin-left:6px}}
.orgs.g2{grid-template-columns:repeat(2,1fr);max-width:540px;margin:0 auto;width:100%}
.orgrow a.logo img[src^=maorca]{width:140px}
@media(max-width:520px){.orgs.g2{grid-template-columns:1fr}}
.byline2{display:flex;gap:16px;align-items:center;margin:8px 0 4px}
.byline2 img{width:80px;height:80px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.byline2 p{margin:0}
.callout{background:#eef3f9;border-left:5px solid var(--sky);border-radius:6px;padding:6px 22px 14px;margin:28px 0}
.callout h2{margin-top:14px}
details.faq{border:1px solid var(--gray);border-radius:8px;margin:10px 0;padding:0 16px;background:#fff}
details.faq summary{cursor:pointer;font-weight:700;color:var(--navy);padding:14px 0;min-height:44px;box-sizing:border-box}
details.faq p{margin:0 0 14px}
.btns.center{justify-content:center;margin:30px 0}
.cols + h2{margin-top:48px}
details.faq + h2{margin-top:48px}
details.cmp{margin:34px 0 44px}
details.cmp summary{cursor:pointer;min-height:44px;display:flex;align-items:center}
details.cmp summary h2{display:inline;margin:0}
details.cmp .cols{margin-top:16px}
details.cmp + script + h2,details.cmp + h2{margin-top:44px}
.callout.dark{background:var(--navy);color:#fff;border-left-color:var(--sky);padding:8px 26px 18px}
.callout.dark h2{color:#fff}
.callout.dark p{color:#fff}
.callout.dark ul li::marker{color:var(--sky)}
.counties{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.counties span{border:1px solid var(--navy);color:var(--navy);border-radius:999px;padding:4px 12px;font-size:.9rem;font-weight:600;background:#fff}
.steps .card{position:relative;padding-top:22px}
.stepnum{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;margin-bottom:8px}
.cols + .btns,.cols + h2{margin-top:44px}
.footgrid{display:flex;gap:32px;align-items:flex-start}
.footlogo{flex:0 0 auto;background:#fff;border-radius:10px;padding:10px 14px}
.footlogo img{display:block;width:150px;height:auto}
@media(max-width:700px){.footgrid{flex-direction:column;gap:18px}.footlogo img{width:130px}}
@media(min-width:901px){.cols.c3.five{grid-template-columns:repeat(6,1fr)}.cols.c3.five>.card{grid-column:span 2}.cols.c3.five>.card:nth-child(4){grid-column:2/4}.cols.c3.five>.card:nth-child(5){grid-column:4/6}}
.gap{margin-top:52px}
.nb{white-space:nowrap}

.card h3 a.cardlink{color:var(--navy);text-decoration:underline}
.card h3 a.cardlink::after{content:" \2192"}
.card h3 a.cardlink:hover{text-decoration:none}
.card .viewlink{margin:.8em 0 0;font-weight:700}
.card .viewlink a{color:var(--blue);text-decoration:underline}
.counties+p{margin-top:1em}
.jump{display:flex;flex-wrap:wrap;gap:8px 16px;margin:18px 0;padding:12px 16px;background:var(--gray);border-radius:8px;font-size:.95rem}.jump strong{color:var(--navy)}
.tablewrap{margin:14px 0 8px}.agtable{width:100%;border-collapse:collapse;font-size:.94rem;background:#fff}.agtable th,.agtable td{text-align:left;padding:10px 12px;border:1px solid var(--gray);vertical-align:top}.agtable th{background:var(--navy);color:#fff;font-weight:700}
@media(max-width:700px){.agtable thead{position:absolute;left:-9999px}.agtable,.agtable tbody,.agtable tr,.agtable td{display:block;width:100%}.agtable tr{margin-bottom:12px;border:1px solid var(--gray);border-radius:8px;overflow:hidden}.agtable td{border:0;border-bottom:1px solid var(--gray);padding:8px 12px}.agtable td::before{content:attr(data-label);display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--blue)}}
.tablenote{font-size:.9rem;color:#444}.factlist{padding-left:20px}.factlist li{margin:6px 0}.factlist a.src{font-size:.82rem}
.agtable a[href^="tel:"]{white-space:nowrap}
@media(max-width:480px){.jump{gap:6px 12px;padding:10px 12px;font-size:.88rem}}
.card .learn{margin:10px 0 0;font-weight:700}
.jump a{display:inline-block;padding:3px 0}@media(max-width:480px){.jump a{padding:9px 2px}}
.btns + h2{margin-top:44px}
.divider{border:0;border-top:1px solid #cfd5de;margin:36px 0 8px}

.counties span a{color:inherit;text-decoration:none}.counties span a:hover{text-decoration:underline}

.crumbs{margin:0 0 14px}.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:2px 8px;margin:0;padding:0;font-size:.9rem}.crumbs li+li::before{content:"/";margin-right:8px;color:#4b5563}.crumbs [aria-current]{color:#4b5563}.card h2.ct{font-size:1.15rem;margin:0 0 .5em}
#services .card{background:#f4f4f1}
#services .grp{background:var(--navy);color:#fff;border-left:6px solid var(--sky);border-radius:6px;padding:10px 16px;margin:36px 0 16px;font-size:.9rem}
details.cmp .card{background:#fff8e1;border-color:#ead9a3}
.hero figure{margin:0;justify-self:center;width:100%;max-width:380px}.hero figcaption{text-align:center;margin-top:12px;line-height:1.35;font-size:.95rem;color:var(--text)}.hero figcaption strong{color:var(--navy);font-size:1.1rem}
@media(max-width:760px){.hero figure{order:-1;display:flex;align-items:center;gap:14px;justify-self:start;max-width:none}.hero figcaption{text-align:left;margin:0}}
.team{display:flex;gap:24px;align-items:flex-start;margin-top:8px}.team img{width:180px;height:180px;border-radius:8px;object-fit:cover;flex:0 0 auto}.team h3{margin:0}.team .role{margin:.2em 0 .8em;color:var(--navy);font-weight:600}@media(max-width:600px){.team{flex-direction:column;gap:14px}.team img{width:140px;height:140px}}
.orgline{margin:22px 0 8px}.orgline .orgcap{margin:0 0 10px;text-align:center}
.olrow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px 18px}
a.ol{display:flex;align-items:center;justify-content:center;text-decoration:none}a.ol:hover{opacity:.85}
a.ol img{display:block;height:auto}a.ol.cfe img{width:150px}a.ol.nr img{width:70px}a.ol.ch img{width:76px}a.ol.ma img{width:80px}
a.ol.txt{flex-direction:column;border:2px solid var(--navy);border-radius:8px;padding:8px 10px;width:128px;text-align:center;color:var(--navy);gap:2px}
a.ol.txt strong{font-size:1rem}a.ol.txt small{font-size:.66rem;line-height:1.2;font-weight:600}
@media(max-width:600px){a.ol.cfe img{width:130px}a.ol.txt{width:140px}}

.small.warn{color:#7b1d12;font-weight:700}

p + h2.gap{margin-top:44px}

.card.warm{background:#fff8e1;border-color:#ead9a3}.card.good{background:#eaf6ee;border-color:#b7d9c2}
.hl{background:#fff3c4;border-left:4px solid #e0b300;border-radius:6px;padding:10px 14px;font-weight:600;margin:14px 0 0}
ul.tick.topics{columns:2;column-gap:32px}ul.tick.topics li{break-inside:avoid}@media(max-width:760px){ul.tick.topics{columns:1}}
.cols.stack{margin-top:16px}
.contactgrid>*{min-width:0}.reach a{min-width:0;overflow-wrap:anywhere}
@media(max-width:360px){ul.reach a{gap:8px;padding:14px 10px;font-size:.84rem}ul.reach span{min-width:54px;padding:4px 6px;font-size:.82rem}}
.contactgrid .crumbs{grid-column:1/-1;margin:0}

ul.tick.indent{margin-left:28px}

.hero .kicker{font-size:1.15rem;font-weight:700;letter-spacing:.02em;color:var(--blue);margin:0 0 6px}
.hero h1{font-size:clamp(1.9rem,4vw,2.6rem)}
