:root{color-scheme:light;--ink:#20291f;--green:#223c2d;--deep:#14291e;--warm:#f8f7f0;--line:#d8dbcc;--muted:#4f5c4e;--lime:#dce59b;--display:"PT Serif",Georgia,"Times New Roman",serif;--body:"Source Sans 3","Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:22px}body{margin:0;background:var(--warm);color:var(--ink);font:16px/1.55 var(--body)}a{color:inherit}button,input,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--display);font-weight:500;letter-spacing:-.045em;line-height:1.03}h2{font-size:clamp(2.4rem,4.25vw,4.6rem)}[hidden]{display:none!important}:focus-visible{outline:3px solid #8e6a1c;outline-offset:4px}.wrap{width:min(100% - 112px,1320px);margin-inline:auto}.skip{position:absolute;top:8px;left:8px;transform:translateY(-180%);z-index:10;padding:12px;background:#fff}.skip:focus{transform:none}.header{background:var(--warm);border-bottom:1px solid var(--line);position:relative;z-index:1}.topbar{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;text-decoration:none;min-width:138px}.brand img{width:148px;height:auto;max-height:60px;object-fit:contain}.topbar nav{display:flex;align-items:center;gap:clamp(22px,4vw,58px)}.topbar nav a{text-decoration:none;font-weight:650;font-size:.91rem;white-space:nowrap}.topbar nav a:hover{text-decoration:underline;text-underline-offset:5px}.topbar .nav-contact{border:1px solid var(--green);padding:11px 16px;display:flex;align-items:center;gap:18px}.menu{display:none;background:none;border:1px solid var(--green);color:var(--ink);padding:8px 12px}
.hero{position:relative;display:grid;min-height:clamp(530px,67vh,735px);align-items:center;isolation:isolate;background:#2a432e;color:#fff;overflow:hidden}.hero-picture{position:absolute;inset:0;z-index:-1;background:#3c593b url('hero.jpg') center 54%/cover no-repeat}.hero-picture::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,29,20,.94),rgba(15,32,20,.78) 31%,rgba(19,34,18,.33) 68%,rgba(19,34,18,.10)),linear-gradient(0deg,rgba(14,29,19,.28),transparent 42%)}.hero-content{padding-block:66px}.eyebrow{display:flex;align-items:center;gap:9px;margin-bottom:19px;font-size:.71rem;line-height:1.4;letter-spacing:.14em;font-weight:750}.eyebrow>span{width:22px;height:1px;background:currentColor}.hero .eyebrow,.hero em{color:var(--lime)}.hero h1{font-size:clamp(3.75rem,7.35vw,8rem);line-height:.98;text-wrap:balance}.hero em{font-weight:400}.hero-copy{font-size:clamp(1rem,1.35vw,1.25rem);max-width:465px;margin-top:25px;color:#f3f3e9}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}.button{min-height:47px;display:inline-flex;align-items:center;justify-content:space-between;gap:23px;padding:11px 16px;border:1px solid transparent;text-decoration:none;font-weight:700;font-size:.89rem}.button.primary{background:var(--lime);color:var(--deep)}.button.primary:hover{background:#eff5bf}.button.subtle{border-color:#c3c9b9;color:#fff;background:#1f382980}.button.subtle:hover{background:#304d38}.section{padding-block:clamp(54px,7vw,105px)}.section-head{display:grid;grid-template-columns:1fr minmax(230px,345px);gap:28px;align-items:end}.section-head>p{color:var(--muted);margin-bottom:4px}.catalog-controls{border-block:1px solid var(--line);padding:15px 0;margin-top:32px;display:flex;gap:18px;justify-content:space-between;align-items:center}.filters{display:flex;gap:7px;flex-wrap:wrap}.filters button{border:1px solid var(--line);color:var(--green);background:transparent;padding:7px 11px;font-size:.81rem;font-weight:650}.filters button:hover{border-color:var(--green)}.filters button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.search-label{min-width:min(100%,240px);flex:0 0 auto}.search-label span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.search-label input{width:100%;padding:9px 12px;border:1px solid #aab6a7;background:#fff;color:var(--ink);border-radius:0;font-size:.9rem}.results{min-height:1.6em;margin-top:13px;color:var(--muted);font-size:.82rem}.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:10px}.catalog-card{display:flex;flex-direction:column;min-height:203px;padding:22px;background:#edeee3;border:1px solid #e4e6d9}.catalog-card h3{font-family:var(--display);font-size:clamp(1.4rem,2.4vw,1.94rem);font-weight:500;line-height:1.1;margin-bottom:10px}.catalog-card p{font-size:.92rem;color:var(--muted);margin-bottom:15px}.catalog-card .tag{font:700 .69rem/1.4 var(--body);color:#4f604e;letter-spacing:.06em;margin-bottom:9px}.catalog-card a,.text-link{color:var(--green);font-weight:700;text-decoration:none;text-underline-offset:4px;font-size:.9rem}.catalog-card a{margin-top:auto;align-self:start}.catalog-card a:hover,.text-link:hover{text-decoration:underline}.empty{grid-column:1/-1;padding:27px 16px;border:1px solid var(--line);color:var(--muted)}
.company{background:var(--green);color:#fff}.company-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(24px,6vw,86px);padding-block:clamp(38px,6vw,88px)}.company-photo{background:#37533d;min-height:330px;height:100%;overflow:hidden}.company-photo img{width:100%;height:100%;min-height:330px;object-fit:cover}.company h2{font-size:clamp(2.2rem,3.9vw,4.4rem)}.company-copy>p:not(.eyebrow){margin-top:19px;max-width:48ch;color:#e4ecdf}.company .eyebrow,.company .text-link{color:var(--lime)}.milestones{display:grid;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid #778b78;padding-top:16px;margin:25px 0}.milestones div{display:grid;gap:3px}.milestones strong{font:2.5rem/1 var(--display);color:var(--lime)}.milestones span{font-size:.86rem;color:#e4ecdf}.partners{display:flex;align-items:center;justify-content:space-between;gap:25px}.partner-logos{display:flex;gap:12px;flex-wrap:wrap}.partner-logos img{object-fit:contain;background:#fff;padding:8px 14px;border:1px solid var(--line);width:145px;height:72px}.publications{background:#eeefe6}.resource-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,85px)}.resource-grid p:not(.eyebrow),.contact-grid>div>p:not(.eyebrow){color:var(--muted);margin:14px 0 20px}.resource-links h3{font:1.75rem/1.1 var(--display);margin-bottom:13px}.resource-links a,.publication-list a{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line);text-decoration:none}.resource-links a:hover,.publication-list a:hover{text-decoration:underline}.resource-grid details{margin:0 0 14px}.resource-grid summary{font-weight:650;cursor:pointer}.publication-list{padding-inline-start:21px;font-size:.88rem}.contact address{display:grid;gap:6px;font-style:normal}.contact address a{color:var(--green);width:fit-content}.contact-form{background:#fff;border:1px solid var(--line);padding:clamp(17px,3vw,34px);display:grid;gap:13px}.contact-form h3{font:1.72rem/1.12 var(--display)}.contact-form p{font-size:.88rem;color:var(--muted)}.contact-form label{display:block;font-size:.85rem;font-weight:650}.contact-form label input,.contact-form textarea{display:block;width:100%;padding:9px;border:1px solid #aab6a7;border-radius:0;background:#fcfcf8;color:var(--ink);margin-top:4px}.contact-form textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-form button{justify-self:start}#contact-status:empty{display:none}footer{background:var(--deep);color:#eef2e7}.footer{min-height:84px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:.87rem}.footer strong{color:var(--lime);font:1.5rem var(--display)}
@media(max-width:940px){.wrap{width:calc(100% - 64px)}.catalog-controls{flex-wrap:wrap}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.wrap{width:calc(100% - 36px)}.topbar{min-height:68px;flex-wrap:wrap}.brand img{width:127px;max-height:48px}.js .menu{display:inline-block}.topbar nav{width:100%;flex-wrap:wrap;gap:12px 19px;padding:0 0 12px}.js .topbar nav:not(.open){display:none}.topbar nav a{font-size:.84rem}.topbar .nav-contact{padding:5px 8px;gap:4px}.hero{min-height:535px}.hero-picture{background-position:58% center}.hero-picture::after{background:linear-gradient(90deg,rgba(12,29,20,.90),rgba(15,32,20,.68) 75%,rgba(19,34,18,.33))}.hero-content{padding-block:55px}.hero h1{font-size:clamp(3rem,12vw,4.2rem)}.hero-copy{max-width:34ch}.section-head,.company-grid,.resource-grid,.contact-grid{grid-template-columns:1fr;gap:19px}.catalog-controls{margin-top:24px}.search-label{width:100%}.catalog-grid{grid-template-columns:1fr}.catalog-card{min-height:0}.company-photo,.company-photo img{min-height:220px;height:220px}.partners{align-items:start;flex-direction:column}.footer{flex-wrap:wrap;justify-content:start;padding-block:18px}.footer a{margin-inline-start:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.contact-form .consent{display:flex;align-items:flex-start;gap:9px;font-weight:400}.contact-form .consent input{width:auto;margin:5px 0 0;flex:none;accent-color:var(--green)}
.brand-lockup{display:flex;align-items:center;gap:13px}
.group-brand{padding-inline-start:12px;border-inline-start:1px solid var(--line);font-weight:700;font-size:.76rem;color:var(--green);text-decoration:none;white-space:nowrap}
.group-brand:hover{text-decoration:underline}
.milestones{grid-template-columns:repeat(3,minmax(0,1fr))}
.partners p{margin-top:10px;color:var(--muted)}
.contact-panel{display:grid;gap:19px;justify-items:start;padding:clamp(19px,3vw,32px);background:#fff;border:1px solid var(--line)}
@media(max-width:850px){.topbar nav{gap:14px}.topbar .nav-contact{gap:8px}.brand-lockup{gap:7px}.group-brand{padding-inline-start:7px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}.topbar{min-height:68px;flex-wrap:wrap}.brand img{width:127px;max-height:48px}.js .menu{display:inline-block}.topbar nav{width:100%;flex-wrap:wrap;gap:12px 19px;padding:0 0 12px}.js .topbar nav:not(.open){display:none}.topbar .nav-contact{padding:5px 8px}}
@media(max-width:390px){.brand{min-width:0}.brand img{width:110px}.group-brand{font-size:.7rem}.topbar{gap:8px}.milestones span{font-size:.79rem}}
