:root{--forest:#124f35;--deep:#124f35;--leaf:#2f7d50;--lime:#d9f45f;--cream:#f3f7f3;--ink:#124f35;--muted:#5b6c62;--line:rgba(18,79,53,.14)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Avenir Next",Avenir,Inter,system-ui,sans-serif;line-height:1.62}
a{color:inherit}
.wrap{width:min(1160px,calc(100% - 40px));margin:auto}
.nav{position:sticky;z-index:100;top:0;display:flex;align-items:center;justify-content:space-between;width:100%;padding:11px max(14px,calc((100vw - 1160px)/2 + 14px));border:0;border-bottom:1px solid #ffffff2e;border-radius:0;background:#124f35;box-shadow:0 10px 28px #051c112e;backdrop-filter:blur(14px)}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:1.15rem;font-weight:780}
.brand-logo{width:39px;height:39px;border-radius:11px;object-fit:contain;background:#fff}
.links{display:flex;align-items:center;gap:21px}
.links a{color:#fff;font-size:.88rem;font-weight:650;text-decoration:none}
.links .app{padding:9px 15px;border-radius:999px;background:var(--lime);color:#111}
.hero{min-height:650px;padding:155px 0 90px;background:linear-gradient(90deg,rgba(18,79,53,.10),rgba(18,79,53,.025) 55%,rgba(18,79,53,0)),var(--hero) center/cover;color:#fff}
.hub-hero{display:flex;align-items:center;min-height:740px;padding:145px 0 85px;background:linear-gradient(90deg,rgba(18,79,53,.045) 0%,rgba(18,79,53,.012) 54%,rgba(18,79,53,0) 82%),var(--hub-hero) center/cover;background-color:#124f35;color:#fff}
.crumb{display:inline-block;margin-bottom:55px;color:#d7e5da;font-size:.83rem}
.eyebrow{margin:0 0 13px;color:var(--leaf);font-size:.75rem;font-weight:780;letter-spacing:.14em;text-transform:uppercase}
.hero .eyebrow,.hub-hero .eyebrow{color:var(--lime)}
.hero .wrap{text-shadow:0 2px 20px rgba(18,79,53,.38)}
h1{max-width:900px;margin:0;font-size:clamp(3.5rem,8vw,7rem);font-weight:620;line-height:.92;letter-spacing:-.065em}
.lead{max-width:750px;margin:25px 0 0;color:#d9e7de;font-size:clamp(1.08rem,2.1vw,1.34rem)}
main section{padding:88px 0}
.article-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:70px;align-items:start}
.section{padding:0 0 36px;margin-bottom:36px;border-bottom:1px solid var(--line)}
.section h2,.side-card h2{margin:0 0 13px;font-size:clamp(1.7rem,3vw,2.45rem);font-weight:630;line-height:1.08;letter-spacing:-.035em}
.section p,.side-card p{margin:0;color:var(--muted);font-size:1.04rem}
.questions{padding:32px;border-radius:20px;background:#e5f0e7}
.questions details{padding:17px 0;border-top:1px solid var(--line)}
.questions summary{cursor:pointer;font-weight:700}
.questions details p{margin:9px 0 0;color:var(--muted)}
aside{position:sticky;top:110px}
.side-card{padding:30px;border-radius:20px;background:var(--forest);color:#fff}
.side-card .eyebrow{color:var(--lime)}
.side-card p{color:#d0dfd5}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:24px;padding:0 21px;border-radius:999px;background:var(--lime);color:#111;font-weight:780;text-decoration:none;text-align:center;line-height:1.2;overflow-wrap:anywhere}
.button{transition:transform .18s ease,box-shadow .18s ease}
@media(hover:hover){.button:hover{transform:translateY(-2px);box-shadow:0 10px 22px #124f352b}}
.button:focus-visible{outline:3px solid var(--lime);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}
.side-links{padding:27px}
.side-links h3{margin:0 0 13px}
.side-links a{display:block;padding:10px 0;border-top:1px solid var(--line);color:var(--leaf);font-weight:650;text-decoration:none}
.more{background:#e5f0e7}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.card{display:block;padding:25px;border:1px solid #b8cbbd;border-radius:19px;background:#fff;text-decoration:none;box-shadow:0 12px 30px #124f3517}
main>section:nth-child(odd) .hub-cards .card{background:#dceadf;border-color:#adc5b2}
main>section:nth-child(even) .hub-cards .card{background:#fff;border-color:#b4c9b8}
.card span{color:var(--leaf);font-size:.69rem;font-weight:780;letter-spacing:.1em;text-transform:uppercase}
.card h3{margin:16px 0 8px;font-size:1.3rem;line-height:1.13}
.card p{margin:0;color:var(--muted);font-size:.88rem}
.card{transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.card:hover,.card:focus-visible,.card:active{transform:translateY(-3px);border-color:var(--lime)!important;background:var(--lime)!important;box-shadow:0 18px 38px #124f3520}
.card:hover p,.card:focus-visible p,.card:active p{color:#124f35}
.card:focus-visible{outline:4px solid var(--forest);outline-offset:4px}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover,.card:focus-visible,.card:active{transform:none}}
.group-title{max-width:760px;margin:0 0 30px;font-size:clamp(2.5rem,5vw,4.8rem);font-weight:610;line-height:.98;letter-spacing:-.055em}
.hub-cards{grid-template-columns:repeat(3,1fr)}
main section:nth-child(even){background:#e5f0e7}
.not-found{min-height:75vh;padding:170px 0}
.not-found h1{color:var(--forest)}
footer{padding:35px 0;background:var(--deep);color:#cfdbd3}
footer .wrap{display:flex;justify-content:space-between;gap:20px}
footer p{margin:0;font-size:.83rem}
@media(max-width:900px){.article-grid{grid-template-columns:1fr}
.article-grid aside{position:static}
.hub-cards,.cards{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:700px){.button{width:100%;}
.wrap{width:min(100% - 28px,1160px)}
.hero{min-height:590px;padding:135px 0 75px;background:linear-gradient(180deg,rgba(18,79,53,.10),rgba(18,79,53,.02)),var(--hero) 62% center/cover}
.hub-hero{min-height:690px;padding:135px 0 75px;background:linear-gradient(180deg,rgba(18,79,53,.05),rgba(18,79,53,.008)),var(--hub-hero) 64% center/cover}
.hero .wrap,.hub-hero .wrap{text-shadow:0 2px 14px rgba(18,79,53,.55)}
h1{font-size:clamp(3rem,15vw,3.6rem)}
.lead{font-size:1.05rem}
.crumb{margin-bottom:38px}
.article-grid{gap:40px}
main section{padding:65px 0}
.hub-cards,.cards{grid-template-columns:1fr}
.questions{padding:23px}
.group-title{font-size:2.8rem}
footer .wrap{display:block}
footer p+p{margin-top:8px}
}
