/* Local Avenir Next files. Regular, demi, bold and italic map to CSS weights and styles. */
@font-face{font-family:Avenir;src:url('../fonts/AvenirNext/AvenirNextLTPro-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Avenir;src:url('../fonts/AvenirNext/AvenirNextLTPro-Demi.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:Avenir;src:url('../fonts/AvenirNext/AvenirNextLTPro-Bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:Avenir;src:url('../fonts/AvenirNext/AvenirNextLTPro-It.woff2') format('woff2');font-weight:400;font-style:italic;font-display:swap}

/* Layout or appearance for *. */
*{box-sizing:border-box}
/* Layout or appearance for html. */
html{scroll-behavior:smooth;scroll-padding-top:110px}
/* Layout or appearance for body. */
body{margin:0;color:#152222;background:#fafbf7;font:17px/1.65 Avenir,Arial,sans-serif}
/* Layout or appearance for a. */
a{color:inherit;text-decoration:none}
/* Layout or appearance for button,input. */
button,input{font:inherit}
/* Layout or appearance for button,a,input,summary. */
button,a,input,summary{-webkit-tap-highlight-color:transparent}
/* Layout or appearance for a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible. */
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #315ff5;outline-offset:5px}
/* Layout or appearance for .skip. */
.skip{position:absolute;top:-80px;background:white;padding:10px;z-index:99}
/* Layout or appearance for .skip:focus. */
.skip:focus{top:0}
/* Layout or appearance for header. */
header{height:105px;padding:0 5%;display:flex;justify-content:space-between;align-items:center;background:#fafbf7;border-bottom:1px solid #dde1da;position:sticky;top:0;z-index:20}
/* Layout or appearance for .brand. */
.brand{display:flex;gap:19px;align-items:center;line-height:1.15;font-size:18px;letter-spacing:-.5px}
/* Layout or appearance for .brand img. */
.brand img{width:170px;height:auto;flex-shrink:0}
/* Layout or appearance for .brand .pipe. */
.brand .pipe{color:#8c9691;font-size:40px;font-weight:400}
/* Layout or appearance for .brand b. */
.brand b{font-weight:700}
/* Layout or appearance for nav. */
nav{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:700}
/* Layout or appearance for nav>a:not(.button):hover. */
nav>a:not(.button):hover{color:#526c29}
/* Layout or appearance for .button. */
.button{background:#c8f270;color:#14241d;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;padding:17px 24px;border-radius:7px;font-weight:700;line-height:1.5;transition:transform .2s,background .2s}
/* Layout or appearance for .button:hover. */
.button:hover{background:#b7e45e;transform:translateY(-2px)}
/* Layout or appearance for .button.small. */
.button.small{background:#172b24;color:white;font-size:14px;padding:12px 18px}
/* Layout or appearance for .menu. */
.menu{display:none}
/* Layout or appearance for .hero. */
.hero{max-width:1500px;margin:auto;padding:76px 5% 80px;display:grid;grid-template-columns:1.05fr 1fr;gap:50px;align-items:center}
/* Layout or appearance for .eyebrow. */
.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;display:flex;gap:10px;align-items:center}
/* Layout or appearance for .dot. */
.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#6f9e37}
/* Layout or appearance for h1. */
h1{font-size:clamp(50px,5.6vw,86px);line-height:1.06;letter-spacing:-4.5px;margin:25px 0}
/* Layout or appearance for h1 em,h2 em. */
h1 em,h2 em{font-style:normal;color:#617f34}
/* Layout or appearance for .hero-copy>p. */
.hero-copy>p{max-width:550px;color:#58645b;font-size:18px}
/* Layout or appearance for .actions. */
.actions{display:flex;align-items:center;gap:26px;margin-top:30px}
/* Layout or appearance for .text-link. */
.text-link{font-size:14px;font-weight:700;border-bottom:1px solid #87917c}
/* Layout or appearance for .hero-note. */
.hero-note{font-size:13px;color:#697267;margin-top:35px;display:flex;gap:12px}
/* Layout or appearance for .hero-note>span. */
.hero-note>span{font-size:26px}
/* Layout or appearance for .career-art. */
.career-art{height:555px;border-radius:22px;background:#17372c;color:#c8f270;position:relative;overflow:hidden;box-shadow:0 20px 50px #203a2410}
/* Layout or appearance for .art-grid. */
.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(black,transparent)}
/* Layout or appearance for .art-top. */
.art-top{position:absolute;top:25px;left:28px;right:28px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:2px}
/* Layout or appearance for .art-top>span:last-child. */
.art-top>span:last-child{font-size:32px}
/* Layout or appearance for .orbit. */
.orbit{position:absolute;border:1px solid #b5d88233;border-radius:50%;width:380px;height:380px;left:50%;top:48%;transform:translate(-50%,-50%)}
/* Layout or appearance for .orbit2. */
.orbit2{width:270px;height:270px;border-style:dashed}
/* Layout or appearance for .core. */
.core{position:absolute;width:170px;height:170px;left:50%;top:46%;transform:translate(-50%,-50%);border-radius:50%;background:#c8f270;color:#153c2c;display:grid;place-items:center;box-shadow:0 0 80px #bbee6d20}
/* Layout or appearance for .core svg. */
.core svg{width:90px}
/* Layout or appearance for .float. */
.float{position:absolute;background:#fafff0;color:#233c2d;padding:15px;display:flex;align-items:center;gap:13px;border-radius:10px;box-shadow:0 12px 30px #00190d33;min-width:270px}
/* Layout or appearance for .float small. */
.float small{font-size:9px;letter-spacing:1.5px;color:#5c6b50}
/* Layout or appearance for .float strong. */
.float strong{display:block;font-size:15px}
/* Layout or appearance for .float>span:last-child. */
.float>span:last-child{margin-left:auto}
/* Layout or appearance for .mini-icon. */
.mini-icon{display:grid;place-items:center;background:#e8f1db;width:37px;height:37px;border-radius:8px;font-size:25px}
/* Layout or appearance for .f1. */
.f1{left:26px;top:99px;transform:rotate(-5deg)}
/* Layout or appearance for .f2. */
.f2{right:19px;top:300px;transform:rotate(5deg);background:#dae5fd}
/* Layout or appearance for .f2 .mini-icon. */
.f2 .mini-icon{background:#becdf6}
/* Layout or appearance for .f3. */
.f3{left:36px;bottom:54px;transform:rotate(-3deg);background:#c8f270}
/* Layout or appearance for .art-bottom. */
.art-bottom{position:absolute;bottom:16px;right:25px;display:flex;align-items:center;gap:9px;font-size:10px;color:#d2decb}
/* Layout or appearance for .strip. */
.strip{background:#eaf0e0;border-block:1px solid #dae2cf;padding:21px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:14px;font-weight:700}
/* Layout or appearance for .strip>span:first-child. */
.strip>span:first-child{color:#65725c;font-weight:400}
/* Layout or appearance for .strip i. */
.strip i{font-size:20px;color:#6d863f;font-style:normal}
/* Layout or appearance for .section. */
.section{padding:100px 5%;}
/* Layout or appearance for .section-heading. */
.section-heading{display:flex;justify-content:space-between;gap:55px;align-items:end;margin-bottom:43px}
/* Layout or appearance for .section-heading>p. */
.section-heading>p{max-width:440px;color:#62705f;margin:0 0 7px}
/* Layout or appearance for h2. */
h2{font-size:clamp(35px,3.8vw,56px);line-height:1.13;letter-spacing:-2px;margin:18px 0 0}
/* Layout or appearance for h3. */
h3{line-height:1.3;letter-spacing:-.5px}
/* Layout or appearance for .steps. */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:38px}
/* Layout or appearance for .steps article. */
.steps article{border-top:1px solid #cbd3c4;padding-top:25px}
/* Layout or appearance for .number. */
.number{font-size:14px;background:#e9eedf;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;font-weight:700}
/* Layout or appearance for .steps h3. */
.steps h3{font-size:25px;margin:26px 0 15px}
/* Layout or appearance for .steps p. */
.steps p{color:#62705f;font-size:16px;max-width:360px}
/* Layout or appearance for .steps a. */
.steps a{display:inline-block;font-weight:700;font-size:14px;margin-top:12px;border-bottom:1px solid #a1b08c}
/* Layout or appearance for .resource-section. */
.resource-section{background:#f0f2eb}
/* Layout or appearance for .resource-controls. */
.resource-controls{display:flex;justify-content:space-between;gap:24px;align-items:center;border-bottom:1px solid #d1d7cb;padding-bottom:24px}
/* Layout or appearance for .filters. */
.filters{display:flex;flex-wrap:wrap;gap:8px}
/* Layout or appearance for .filters button. */
.filters button{border:1px solid #d4dccc;background:transparent;font-size:14px;font-weight:700;padding:10px 17px;border-radius:30px;cursor:pointer}
/* Layout or appearance for .filters button:hover. */
.filters button:hover{border-color:#72845a}
/* Layout or appearance for .filters .active. */
.filters .active{background:#203c2e;color:white;border-color:#203c2e}
/* Layout or appearance for .search. */
.search{display:flex;align-items:center;gap:10px;border:1px solid #d4dccc;border-radius:6px;background:#fafbf7;padding:8px 14px}
/* Layout or appearance for .search span. */
.search span{font-size:25px;line-height:1}
/* Layout or appearance for .search input. */
.search input{border:0;background:transparent;min-width:0;width:185px;font-size:14px;padding:4px;outline-offset:0}
/* Layout or appearance for .count. */
.count{font-size:12px;color:#6c7766;margin:23px 0}
/* Layout or appearance for .resource-grid. */
.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
/* Layout or appearance for .resource-card. */
.resource-card{background:#fff;border:1px solid #e0e5d9;border-radius:10px;padding:26px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s;min-height:325px}
/* Layout or appearance for .resource-card:hover. */
.resource-card:hover{transform:translateY(-5px);box-shadow:0 12px 25px #203c2e0e;border-color:#91a974}
/* Layout or appearance for .card-top. */
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
/* Layout or appearance for .provider. */
.provider{font-size:19px;letter-spacing:-.5px;font-weight:700}
/* Layout or appearance for .external. */
.external{font-size:23px}
/* Layout or appearance for .tag. */
.tag{font-size:10px;text-transform:uppercase;letter-spacing:1px;background:#eaf1de;padding:3px 8px;border-radius:3px;align-self:start}
/* Layout or appearance for .tag.training. */
.tag.training{background:#e9edff}
/* Layout or appearance for .tag.jobs. */
.tag.jobs{background:#ffedde}
/* Layout or appearance for .resource-card h3. */
.resource-card h3{font-size:23px;margin:13px 0 6px}
/* Layout or appearance for .resource-card p. */
.resource-card p{font-size:14px;line-height:1.65;color:#687063;margin:5px 0 25px}
/* Layout or appearance for .card-bottom. */
.card-bottom{display:flex;justify-content:space-between;gap:14px;border-top:1px solid #ecede8;padding-top:16px;margin-top:auto;font-size:10px}
/* Layout or appearance for .card-bottom>span:last-child. */
.card-bottom>span:last-child{font-weight:700;white-space:nowrap}
/* Layout or appearance for .resource-note. */
.resource-note{color:#6c7565;font-size:12px;max-width:850px;margin:30px 0 0}
/* Layout or appearance for .practice. */
.practice{background:#142f27;color:white;display:grid;grid-template-columns:1fr 1.1fr;gap:95px;position:relative;overflow:hidden}
/* Layout or appearance for .practice .eyebrow. */
.practice .eyebrow{color:#c8f270}
/* Layout or appearance for .practice h2. */
.practice h2{font-size:60px}
/* Layout or appearance for .practice h2 em. */
.practice h2 em{color:#c8f270}
/* Layout or appearance for .practice>div>p. */
.practice>div>p{color:#becdc1;max-width:450px;margin:25px 0 30px}
/* Layout or appearance for .button.light. */
.button.light{background:#c8f270}
/* Layout or appearance for .project-list article. */
.project-list article{padding:27px 0;border-top:1px solid #ffffff30;display:flex;align-items:start;gap:24px}
/* Layout or appearance for .project-list article>span. */
.project-list article>span{font-size:13px;color:#bde780;margin-top:5px}
/* Layout or appearance for .project-list h3. */
.project-list h3{font-size:22px;margin:0 0 12px}
/* Layout or appearance for .project-list p. */
.project-list p{font-size:14px;color:#b9c9bd;margin:0}
/* Layout or appearance for .project-list b. */
.project-list b{font-size:24px;color:#c8f270}
/* Layout or appearance for .faq-section. */
.faq-section{display:grid;grid-template-columns:1fr 1.1fr;gap:95px}
/* Layout or appearance for .faq-section>div>p. */
.faq-section>div>p{color:#687063;max-width:350px}
/* Layout or appearance for .faqs details. */
.faqs details{border-bottom:1px solid #d2d8ca;padding:22px 0}
/* Layout or appearance for .faqs details:first-child. */
.faqs details:first-child{padding-top:0}
/* Layout or appearance for .faqs summary. */
.faqs summary{cursor:pointer;font-size:18px;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:25px}
/* Layout or appearance for .faqs summary:after. */
.faqs summary:after{content:'+';font-weight:400;font-size:24px;line-height:1}
/* Layout or appearance for .faqs details[open] summary:after. */
.faqs details[open] summary:after{content:'−'}
/* Layout or appearance for .faqs p. */
.faqs p{font-size:15px;color:#62705f;margin:15px 25px 0 0}
/* Layout or appearance for .last-cta. */
.last-cta{margin:0 5% 85px;padding:54px 55px;background:#d0eea2;border-radius:16px;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center}
/* Layout or appearance for .last-cta h2. */
.last-cta h2{font-size:64px;position:relative;z-index:1}
/* Layout or appearance for .last-cta .button. */
.last-cta .button{background:#17372c;color:white;z-index:1}
/* Layout or appearance for .last-cta .eyebrow. */
.last-cta .eyebrow{font-size:10px}
/* Layout or appearance for .spark. */
.spark{position:absolute;font-size:300px;right:21%;top:-90px;color:#bedb8c;line-height:1.5;pointer-events:none}
/* Layout or appearance for footer. */
footer{border-top:1px solid #dee3d6;padding:60px 5% 25px;background:#f2f4ee}
/* Layout or appearance for .footer-top. */
.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px}
/* Layout or appearance for .footer-top p. */
.footer-top p{font-size:13px;color:#6c7565;margin-top:24px}
/* Layout or appearance for .footer-top h3. */
.footer-top h3{font-size:14px;margin:0 0 20px}
/* Layout or appearance for .footer-top>div>a:not(.brand). */
.footer-top>div>a:not(.brand){display:block;font-size:12px;margin:9px 0;color:#5d6957}
/* Layout or appearance for .footer-top>div>a:hover. */
.footer-top>div>a:hover{text-decoration:underline}
/* Layout or appearance for .footer-bottom. */
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #dce2d4;padding-top:24px;margin-top:45px;font-size:10px;color:#6c7565}
/* Layout or appearance for .sr-only. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
/* Layout or appearance for .empty. */
.empty{grid-column:1/-1;padding:40px;background:white;border-radius:8px}
/* Layout or appearance for @media(min-width:1550px). */
@media(min-width:1550px){
/* Layout or appearance for .section,header,.strip,footer. */
.section,header,.strip,footer{padding-left:max(5%,calc((100% - 1350px)/2));padding-right:max(5%,calc((100% - 1350px)/2))}}
/* Layout or appearance for @media(max-width:1050px). */
@media(max-width:1050px){
/* Layout or appearance for nav. */
nav{gap:18px}
/* Layout or appearance for .hero. */
.hero{gap:28px}
/* Layout or appearance for .actions. */
.actions{flex-wrap:wrap}
/* Layout or appearance for .career-art. */
.career-art{height:510px}
/* Layout or appearance for .float. */
.float{min-width:240px}
/* Layout or appearance for .f1. */
.f1{left:12px}
/* Layout or appearance for .f2. */
.f2{right:12px}
/* Layout or appearance for .f3. */
.f3{left:20px}
/* Layout or appearance for .resource-controls. */
.resource-controls{align-items:start;flex-direction:column}
/* Layout or appearance for .resource-grid. */
.resource-grid{grid-template-columns:repeat(2,1fr)}
/* Layout or appearance for .practice,.faq-section. */
.practice,.faq-section{gap:50px}
/* Layout or appearance for .steps. */
.steps{gap:25px}
/* Layout or appearance for .strip. */
.strip{flex-wrap:wrap}
/* Layout or appearance for .strip>span:first-child. */
.strip>span:first-child{display:none}}
/* Switch to compact navigation before the larger brand and desktop links run out of room. */
@media(max-width:900px){
/* Layout or appearance for header. */
header{height:85px}
/* Layout or appearance for .brand img. */
.brand img{width:clamp(88px,25vw,150px)}
/* Layout or appearance for .brand. */
.brand{font-size:15px;gap:12px}
/* Layout or appearance for .brand .pipe. */
.brand .pipe{font-size:31px}
/* Layout or appearance for .menu. */
.menu{display:block;border:1px solid #d5decd;border-radius:5px;background:none;padding:7px 10px;font-size:13px}
/* Layout or appearance for nav. */
header nav{display:none;position:absolute;top:85px;left:0;right:0;background:#fafbf7;padding:24px 5%;box-shadow:0 16px 20px #0001}
/* Layout or appearance for nav.open. */
header nav.open{display:flex;align-items:stretch;flex-direction:column}
}
/* Stack footer groups on narrower screens to leave room for the full brand. */
@media(max-width:1050px){.footer-top{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.footer-top>div:first-child{grid-column:1/-1}}
/* Layout or appearance for @media(max-width:760px). */
@media(max-width:760px){
/* Layout or appearance for .hero. */
.hero{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:40px}
/* Layout or appearance for h1. */
h1{font-size:57px;letter-spacing:-3px}
/* Layout or appearance for .hero-copy>p. */
.hero-copy>p{font-size:17px}
/* Layout or appearance for .hero .eyebrow. */
.hero .eyebrow{font-size:10px}
/* Layout or appearance for .career-art. */
.career-art{height:460px}
/* Layout or appearance for .f1. */
.f1{top:80px;left:25px}
/* Layout or appearance for .f2. */
.f2{top:250px;right:22px}
/* Layout or appearance for .f3. */
.f3{bottom:50px}
/* Layout or appearance for .strip. */
.strip{gap:12px;font-size:11px;justify-content:center}
/* Layout or appearance for .strip i:last-of-type,.strip>span:last-child. */
.strip i:last-of-type,.strip>span:last-child{display:none}
/* Layout or appearance for .section. */
.section{padding-top:65px;padding-bottom:65px}
/* Layout or appearance for .section-heading. */
.section-heading{display:block}
/* Layout or appearance for .section-heading>p. */
.section-heading>p{margin:24px 0 0}
/* Layout or appearance for .steps,.resource-grid,.practice,.faq-section. */
.steps,.resource-grid,.practice,.faq-section{grid-template-columns:1fr}
/* Layout or appearance for .steps. */
.steps{gap:35px}
/* Layout or appearance for .steps p. */
.steps p{max-width:none}
/* Layout or appearance for .steps h3. */
.steps h3{margin-top:17px}
/* Layout or appearance for .filters. */
.filters{gap:6px}
/* Layout or appearance for .filters button. */
.filters button{font-size:12px;padding:9px 12px}
/* Layout or appearance for .search. */
.search{width:100%}
/* Layout or appearance for .search input. */
.search input{width:100%}
/* Layout or appearance for .resource-controls. */
.resource-controls{gap:17px}
/* Layout or appearance for .resource-card. */
.resource-card{min-height:290px}
/* Layout or appearance for .practice h2. */
.practice h2{font-size:48px}
/* Layout or appearance for .practice,.faq-section. */
.practice,.faq-section{gap:35px}
/* Layout or appearance for .last-cta. */
.last-cta{padding:34px 25px;display:block;margin-bottom:55px}
/* Layout or appearance for .last-cta h2. */
.last-cta h2{font-size:49px;margin-bottom:30px}
/* Layout or appearance for .last-cta .eyebrow. */
.last-cta .eyebrow{font-size:9px;max-width:220px}
/* Layout or appearance for .spark. */
.spark{right:-50px;top:10px;font-size:260px}
/* Layout or appearance for .footer-top. */
.footer-top{grid-template-columns:1fr 1fr;gap:30px}
/* Layout or appearance for .footer-top>div:first-child. */
.footer-top>div:first-child{grid-column:1/-1}
/* Layout or appearance for .footer-bottom. */
.footer-bottom{flex-wrap:wrap}
/* Layout or appearance for .footer-bottom>span:nth-child(2). */
.footer-bottom>span:nth-child(2){display:none}
/* Layout or appearance for .footer-top>div>a:not(.brand). */
.footer-top>div>a:not(.brand){font-size:12px}
/* Layout or appearance for .footer-top p. */
.footer-top p{font-size:14px}}
/* Layout or appearance for @media(prefers-reduced-motion:reduce). */
@media(prefers-reduced-motion:reduce){
/* Layout or appearance for html. */
html{scroll-behavior:auto}
/* Layout or appearance for *. */
*{transition:none!important}}

/* Resource badges distinguish the new categories while keeping their text labels visible. */
.tag.labs{background:#e4efff}.tag.careers{background:#f0e8fc}.tag.communities{background:#fce8ef}
/* Let the longer filter row wrap independently of the search field. */
.resource-controls .filters{min-width:0}.resource-controls .search{flex-shrink:0}
