:root{color-scheme:light;--ink:#202a27;--muted:#52615b;--green:#175c48;--green-dark:#103e32;--accent:#d1ec91;--paper:#fff;--soft:#f3f6f3;--line:#cbd5ce;--font-scale:1;font-size:calc(100% * var(--font-scale))}
*{box-sizing:border-box;letter-spacing:0;min-width:0}
html{scroll-padding-top:1.5rem}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65;overflow-wrap:anywhere}
body:has(dialog[open]){overflow:hidden}
button,input,select{font:inherit}
button,a,input,summary{touch-action:manipulation}
button,a{ -webkit-tap-highlight-color:transparent }
a{color:var(--green);text-underline-offset:.25em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button{cursor:pointer}
button:disabled{cursor:default}
img{display:block;max-width:100%;height:auto}
svg.icon{width:1.25rem;height:1.25rem;flex:none;stroke:currentColor;vertical-align:middle}
:focus-visible{outline:3px solid #936300;outline-offset:5px;box-shadow:0 0 0 2px white}
::selection{background:var(--accent);color:#102d24}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.wrap{width:min(100% - 5rem,1200px);margin-inline:auto}
.skip-link{position:fixed;z-index:20;top:.5rem;left:.5rem;transform:translateY(-180%);padding:.8rem 1rem;background:white;color:#163e32;font-weight:700}
.skip-link:focus{transform:none}
h1,h2,h3,p,figure{margin:0}
h1,h2,h3{font-weight:600;line-height:1.15;overflow-wrap:break-word}
h1{font-size:3.5rem}
h2{font-size:2.5rem}
h3{font-size:1.4rem}
p+p{margin-top:1.2rem}
.eyebrow{font-size:.8rem;font-weight:700;text-transform:uppercase;display:flex;align-items:center;gap:.65rem;color:var(--green);margin-bottom:1.25rem}
.eyebrow::before{content:'';width:1.5rem;height:2px;background:currentColor}
.site-header{border-bottom:1px solid var(--line);background:var(--paper)}
.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap;padding-block:1rem}
.brand{display:inline-flex;align-items:center;flex-shrink:0}
.brand img{width:190px;height:auto}
.primary-nav{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.primary-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);text-decoration:none;font-size:.95rem;border-bottom:2px solid transparent}
.primary-nav a[aria-current="page"]{border-color:var(--green);font-weight:700}
.primary-nav a:hover{color:var(--green);border-color:var(--green)}
.header-tools{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}
button.menu-toggle{display:none}
.language-nav{display:flex;gap:2px;align-items:center}
.language-nav a{min-width:40px;min-height:44px;display:grid;place-items:center;color:var(--muted);font-size:.8rem;text-decoration:none}
.language-nav a[aria-current="true"]{color:var(--ink);font-weight:700;text-decoration:underline;text-decoration-thickness:2px}
.icon-button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:.6rem;background:transparent;border:1px solid var(--line);border-radius:3px;color:var(--ink)}
.icon-button:hover{background:var(--soft);border-color:var(--green)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:48px;padding:.8rem 1.25rem;background:var(--green);color:white;border:1px solid var(--green);border-radius:3px;text-decoration:none;font-size:.9rem;font-weight:600;line-height:1.5;text-align:center}
.button:hover{background:var(--green-dark);border-color:var(--green-dark);color:white}
.button.light{background:var(--accent);color:#173c2d;border-color:var(--accent)}
.button.light:hover{background:white;color:#173c2d;border-color:white}
.button.outline{background:transparent;color:var(--green);border-color:var(--green)}
.button.outline:hover{background:var(--soft)}
.text-link{display:inline-flex;align-items:center;gap:.75rem;min-height:44px;font-weight:600}
.hero{position:relative;isolation:isolate;background:#222d29;color:white;min-height:610px;display:flex;align-items:center}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,27,23,.93) 0%,rgba(12,27,23,.84) 36%,rgba(12,27,23,.13) 75%);z-index:-1}
.hero-content{padding-block:5rem}
.hero .eyebrow{color:var(--accent)}
.hero h1{font-size:5.5rem;line-height:1.05;font-weight:700;max-width:640px}
.hero-description{font-size:1.7rem;line-height:1.35;margin-top:1.4rem;max-width:480px}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2rem}
.hero .text-link{color:white;padding:.7rem .3rem}
.hero-foot{margin-top:3rem;display:flex;gap:1rem;align-items:center;font-size:.78rem;color:#e4eee8;max-width:480px}
.hero-foot span+span{border-left:1px solid #8faaa0;padding-left:1rem}
.intro-strip{border-bottom:1px solid var(--line);background:var(--paper)}
.intro-strip .wrap{display:grid;grid-template-columns:repeat(3,1fr)}
.intro-strip p{margin:0;padding:1.65rem 1.3rem;display:flex;align-items:center;justify-content:center;gap:.85rem;font-size:.9rem;border-right:1px solid var(--line)}
.intro-strip p:first-child{border-left:1px solid var(--line)}
.intro-strip .icon{color:var(--green)}
.section{padding-block:6rem}
.soft{background:var(--soft)}
.company-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:start}
.company-copy h2{max-width:24rem;margin-bottom:2rem}
.company-copy p{color:var(--muted);font-size:.98rem}
.company-copy .text-link{margin-top:1.5rem}
.image-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}
.image-grid figure:nth-child(even){margin-top:2.5rem}
.image-grid img{width:100%;aspect-ratio:4/5;object-fit:cover}
.image-grid figcaption{margin-top:.65rem;font-size:.78rem;color:var(--muted)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.5rem;flex-wrap:wrap}
.section-heading h2{max-width:42rem}
.service-links{border-top:1px solid var(--line)}
.service-link{display:grid;grid-template-columns:3.5rem 1fr auto;gap:1rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.service-link:hover h3{text-decoration:underline;text-underline-offset:.2em}
.service-link .number{color:var(--green);font-size:.88rem;font-variant-numeric:tabular-nums}
.service-link p{font-size:.9rem;color:var(--muted);margin-top:.45rem}
.service-link .icon{color:var(--green)}
.callout{background:var(--green-dark);color:white;padding-block:4rem}
.callout .wrap{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap}
.callout .eyebrow{color:var(--accent)}
.callout h2{max-width:43rem}
.funding{padding-block:3rem;border-bottom:1px solid var(--line)}
.funding-head{display:flex;align-items:center;gap:3rem;flex-wrap:wrap;justify-content:space-between;margin-bottom:1.5rem}
.funding h2{font-size:1.1rem;max-width:18rem}
.funding-banners{display:flex;align-items:center;gap:2rem;flex-wrap:wrap}
.funding-banners a{padding:.5rem}
.funding-banners img{max-height:50px;width:auto;max-width:100%}
.funding details{border-top:1px solid var(--line);padding-block:.6rem;font-size:.88rem}
summary{cursor:pointer;min-height:44px;padding:.65rem 0;font-weight:600}
.funding .disclosure-body{max-width:56rem;padding:.8rem 0 1.5rem;color:var(--muted)}
.funding .disclosure-body p{margin-bottom:1rem}
.site-footer{padding:3.5rem 0 1.5rem;background:var(--soft)}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:3rem}
.footer-brand{font-size:1.9rem;font-weight:700;color:var(--ink);text-decoration:none}
.footer-tagline{font-size:.85rem;color:var(--muted)}
.footer-company{margin-top:1rem;font-size:.85rem;color:var(--muted)}
.site-footer h2{font-size:.9rem;margin-bottom:1rem}
.site-footer ul{padding:0;margin:0;list-style:none}
.site-footer a:not(.footer-brand),.site-footer button{color:var(--ink);font-size:.85rem;min-height:36px;display:inline-flex;align-items:center}
.footer-bottom{border-top:1px solid var(--line);margin-top:3rem;padding-top:1.25rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font-size:.75rem;color:var(--muted)}
.plain-button{border:0;background:transparent;padding:.2rem 0;text-decoration:underline;text-underline-offset:.25em;color:var(--green)}
.page-heading{padding:4.5rem 0 3rem}
.page-heading h1{max-width:54rem}
.page-heading p:not(.eyebrow){color:var(--muted);max-width:44rem;margin-top:1.4rem;font-size:1.08rem}
.wide-photo{width:100%;max-height:420px;object-fit:cover}
.services-photo{margin-top:1.5rem}
.jump-nav{padding-block:1.4rem;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
.jump-nav a{font-size:.85rem;min-height:44px;display:flex;align-items:center}
.service-section{display:grid;grid-template-columns:1fr 2fr;gap:4rem;padding-block:4rem;border-bottom:1px solid var(--line)}
.service-section h2{font-size:2rem}
.service-section .number{display:block;font-size:.85rem;color:var(--green);margin-bottom:1.3rem}
.service-section .service-text>p{color:var(--muted);margin-bottom:1.5rem}
.service-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 2rem}
.service-list li{padding:.95rem 0;border-top:1px solid var(--line);font-size:.95rem}
.service-figure{margin:3rem 0 0}
.service-figure img{width:100%;height:auto}
.service-figure figcaption{color:var(--muted);font-size:.8rem;margin-top:.8rem}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;padding-bottom:5rem}
.contact-details{margin:0}
.contact-details>div{padding:1.5rem 0;border-bottom:1px solid var(--line)}
.contact-details dt{font-size:.8rem;color:var(--muted);margin-bottom:.5rem}
.contact-details dd{margin:0;font-size:1.3rem}
.contact-details dd a{display:inline-flex;align-items:center;min-height:44px}
.contact-details address{font-style:normal;font-size:1.1rem}
.contact-image img{width:100%;aspect-ratio:5/4;object-fit:cover}
.contact-image figcaption{padding:1rem 0;color:var(--muted);font-size:.85rem}
.legal-layout{display:grid;grid-template-columns:15rem 1fr;gap:5rem;padding-bottom:5rem}
.legal-aside{font-size:.9rem}
.legal-aside a{display:block;padding:.75rem 0;border-bottom:1px solid var(--line)}
.prose{max-width:50rem;min-width:0}
.prose h2{font-size:1.6rem;margin:2.5rem 0 1rem}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{color:var(--muted)}
.prose ul{padding-left:1.3rem}
.prose table{width:100%;border-collapse:collapse;margin:1.5rem 0;font-size:.85rem;overflow-wrap:anywhere}
.prose th,.prose td{padding:.8rem .65rem;text-align:left;vertical-align:top;border:1px solid var(--line)}
.prose th{background:var(--soft);font-weight:700}
.prose th:first-child{width:40%}
.prose .updated{font-size:.8rem;margin-top:2.5rem}
dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:2rem;width:min(100% - 2rem,600px);max-height:calc(100dvh - 2rem);overflow:auto;margin:auto;box-shadow:0 24px 80px #0003}
dialog::backdrop{background:#0d1914a6}
.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.dialog-heading h2{font-size:1.5rem}
dialog p{color:var(--muted);font-size:.95rem}
.dialog-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.dialog-actions .button{flex:1 1 130px}
.option-row{display:flex;gap:.8rem;align-items:start;margin-top:1.5rem;padding:1rem 0;border-top:1px solid var(--line)}
.option-row input[type="checkbox"]{width:1.3rem;height:1.3rem;accent-color:var(--green);margin-top:.25rem;flex:none}
.option-row label{flex:1;cursor:pointer;font-size:.95rem;min-height:44px}
.range-label{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}
input[type="range"]{width:100%;min-height:44px;accent-color:var(--green)}
.dialog-note{font-size:.8rem;margin-top:1.5rem}
.dialog-links{display:flex;gap:1.5rem;flex-wrap:wrap;margin-top:1.5rem;font-size:.85rem}
.dialog-links a{min-height:40px;display:flex;align-items:center}
.notice-status{padding:0}
html[data-contrast="high"]{--ink:#111;--muted:#222;--green:#004b30;--green-dark:#002c1a;--soft:#fff;--line:#555;--accent:#e0ff95}
html[data-contrast="high"] .hero::before{background:#000b}
html[data-contrast="high"] a{text-decoration:underline}
@media(min-width:1800px){.hero{min-height:660px}.hero-photo{object-position:center 58%}}
@media(max-width:1100px){.wrap{width:calc(100% - 3rem)}.header-inner{gap:1rem}.primary-nav{gap:1.2rem}.header-call{display:none}.company-grid{gap:2.5rem}.hero{min-height:570px}.hero h1{font-size:4.5rem}.hero-description{font-size:1.5rem}.legal-layout{gap:2.5rem}}
@media(max-width:800px){h1{font-size:2.75rem}h2{font-size:2rem}.wrap{width:calc(100% - 2.5rem)}.header-inner{min-height:88px}.brand img{width:155px}.header-tools{margin-left:auto;gap:.4rem}.primary-nav{order:3;width:100%;padding:.75rem 0;justify-content:center}.js .primary-nav{display:none}.js .site-header[data-nav-open="true"] .primary-nav{display:flex}.js .menu-toggle{display:inline-grid!important}.hero{min-height:560px}.hero::before{background:linear-gradient(90deg,#0c1b17e8,#0c1b1780)}.hero-content{padding-block:4rem}.hero-photo{object-position:62% center}.hero h1{font-size:4rem}.hero-description{font-size:1.45rem;max-width:28rem}.hero-foot{margin-top:2rem}.intro-strip .wrap{grid-template-columns:1fr}.intro-strip p{padding:.9rem 0;justify-content:start;border-right:0;border-bottom:1px solid var(--line)}.intro-strip p:first-child{border-left:0}.intro-strip p:last-child{border-bottom:0}.section{padding-block:3.5rem}.company-grid{grid-template-columns:1fr;gap:3rem}.company-copy h2{max-width:none}.company-copy p{font-size:1rem}.image-grid img{aspect-ratio:1/1}.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}.footer-grid>div:first-child{grid-column:1/-1}.service-section{grid-template-columns:1fr;gap:2rem;padding-block:3rem}.service-section h2{max-width:30rem}.service-section .number{margin-bottom:.6rem}.contact-grid{gap:2.5rem;grid-template-columns:1fr}.legal-layout{grid-template-columns:1fr;gap:2rem}.legal-aside{display:flex;gap:1.5rem;flex-wrap:wrap}.page-heading{padding-block:3rem 2rem}.wide-photo{min-height:160px;object-fit:cover}.funding-head{gap:1.5rem}.funding-banners{gap:1rem}.funding-banners img{max-height:45px}.callout{padding-block:3rem}}
@media(max-width:480px){.wrap{width:calc(100% - 2rem)}.brand img{width:133px}.header-inner{gap:.5rem}.header-tools{gap:.15rem}.language-nav a{min-width:32px}.header-tools>.icon-button{border:0;min-width:40px;padding:.4rem}.header-tools .icon{width:1.15rem}.hero{min-height:560px}.hero h1{font-size:3.1rem}.hero-description{font-size:1.35rem}.hero-actions{gap:.6rem}.hero-actions .button{padding:.8rem 1rem}.hero-foot{align-items:start;gap:.6rem}.hero-foot span+span{padding-left:.6rem}.hero-content{padding-block:3rem}.service-link{grid-template-columns:1.6rem 1fr auto;gap:.7rem;padding:1.4rem 0}.service-link h3{font-size:1.15rem}.service-link p{font-size:.85rem}.service-list{grid-template-columns:1fr}.image-grid{gap:.75rem}.image-grid figure:nth-child(even){margin-top:1.5rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.section-heading{gap:1rem}.prose th,.prose td{padding:.6rem .4rem}.prose table{font-size:.8rem}dialog{padding:1.3rem}.dialog-heading h2{font-size:1.3rem}.dialog-actions{flex-direction:column}.dialog-actions .button{flex:auto}h1{font-size:2.4rem}}
@media(max-width:800px){.hero::before{background:linear-gradient(90deg,#0c1b17eb,#0c1b17b3)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){.hero::before{background:Canvas}.hero{color:CanvasText}.hero-photo{opacity:.25}.button,.icon-button{border:1px solid ButtonText}.hero .eyebrow,.hero .text-link,.hero-foot{color:CanvasText}}
@media print{.site-header,.site-footer,.hero-actions,.jump-nav,.callout,dialog,.skip-link{display:none!important}.wrap{width:100%}.section,.page-heading{padding:1rem 0}.hero{color:black;background:white;min-height:0}.hero-photo,.hero::before{display:none}.hero .eyebrow,.hero-foot{color:black}.hero-content{padding:1rem 0}.company-grid,.service-section,.legal-layout,.contact-grid{display:block}.service-list{display:block}a{color:black}.funding details:not([open])>.disclosure-body{display:block}.prose,.company-copy{max-width:none}}
