:root { --ink:#1b302d; --paper:#f6f5ef; --cream:#e9e7da; --pine:#173a35; --green:#467b55; --line:#c9cbbf; --muted:#5d6b65; --serif:Georgia,"Iowan Old Style","Palatino Linotype",serif; --sans:"Trebuchet MS","Avenir Next",system-ui,sans-serif; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--paper); font-family:var(--sans); line-height:1.55; } a { color:inherit; text-decoration:none; } a:focus-visible,summary:focus-visible { outline:3px solid #d4a83c; outline-offset:4px; }
.skip-link { position:absolute; left:-999px; top:12px; z-index:20; padding:10px; background:#fff; }.skip-link:focus { left:12px; }
.site-header { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:24px; min-height:76px; padding:0 clamp(20px,5vw,88px); color:#f7f6ef; background:var(--pine); border-bottom:1px solid #507069; }.brand { display:inline-flex; align-items:center; gap:9px; width:max-content; font-weight:800; letter-spacing:.13em; }.brand img { width:34px; height:34px; filter:invert(1); }.primary-nav,footer nav { display:flex; gap:30px; font-size:.9rem; }.primary-nav a,.header-link,footer nav a { border-bottom:1px solid transparent; }.primary-nav a:hover,footer nav a:hover { border-color:currentColor; }.header-link { justify-self:end; color:#d7e6d9; font-size:.85rem; }.mobile-nav { display:none; justify-self:end; position:relative; }.mobile-nav summary { padding:7px 10px; border:1px solid #7d9690; cursor:pointer; }.mobile-nav nav { position:absolute; right:0; top:42px; z-index:5; display:grid; min-width:190px; padding:10px; background:var(--pine); border:1px solid #6f8982; }.mobile-nav nav a { padding:8px; }
h1,h2,h3 { font-family:var(--serif); font-weight:500; line-height:1.05; letter-spacing:-.035em; } h1 { max-width:640px; margin:0; font-size:clamp(3.2rem,6vw,6.4rem); } h2 { margin:0; font-size:clamp(2.25rem,4.1vw,4.35rem); } h3 { margin:0; font-size:1.55rem; }.eyebrow,.kicker { margin:0 0 20px; color:var(--green); font-size:.72rem; font-weight:800; letter-spacing:.13em; text-transform:uppercase; }.eyebrow:before,.kicker:before { content:""; display:inline-block; width:28px; height:1px; margin:0 10px 4px 0; background:currentColor; }
.hero { display:grid; grid-template-columns:minmax(280px,.82fr) minmax(440px,1.18fr); gap:clamp(42px,7vw,130px); align-items:center; max-width:1440px; margin:auto; padding:clamp(64px,9vw,130px) clamp(20px,6vw,96px); background:linear-gradient(90deg,var(--paper) 0 52%,var(--cream) 52%); }.lede { max-width:580px; margin:28px 0; color:var(--muted); font-size:1.12rem; }.button { display:inline-flex; justify-content:space-between; gap:36px; min-width:230px; padding:14px 18px; color:#fff; background:var(--pine); border:1px solid var(--pine); font-weight:bold; }.button:hover { background:var(--green); border-color:var(--green); }.proof-list { display:grid; gap:9px; margin:32px 0 0; padding:20px 0 0; list-style:none; border-top:1px solid var(--line); font-size:.9rem; }.proof-list li:before { content:"+"; display:inline-block; width:23px; color:var(--green); font-weight:bold; }.map-figure { margin:0; border:10px solid #fff; box-shadow:14px 14px 0 var(--pine); }.map-figure img { display:block; width:100%; aspect-ratio:1.25; object-fit:cover; filter:saturate(.8) contrast(1.06); } figcaption { padding:12px 14px; color:var(--muted); background:#fff; font-size:.76rem; } figcaption span { margin-right:9px; color:var(--pine); font-size:.65rem; font-weight:bold; letter-spacing:.08em; text-transform:uppercase; }
.section,.about { padding:clamp(72px,10vw,140px) clamp(20px,8vw,130px); }.gap { display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(50px,9vw,150px); align-items:center; background:#fff; }.section-intro { max-width:600px; }.section-intro>p:last-child,.trust>div>p,.about>p { color:var(--muted); font-size:1.06rem; }.record-flow { display:grid; grid-template-columns:1fr 70px 1fr; gap:15px; align-items:center; }.source-records { display:grid; gap:10px; }.source-records div { padding:15px 17px; background:var(--paper); border-left:3px solid #aeb8a3; }.source-records div:nth-child(2) { margin-left:16px; }.source-records div:nth-child(3) { margin-left:28px; }.source-records small,.source-records span { display:block; color:var(--muted); font-size:.7rem; }.source-records small { letter-spacing:.08em; }.source-records strong { display:block; margin:3px 0; }.flow-arrow { text-align:center; color:var(--green); font-size:2rem; }.season-record { padding:25px; color:#edf1e9; background:var(--pine); }.season-record p { margin:0; color:#9dc1a6; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }.season-record h3 { margin:10px 0 21px; }.season-record dl { margin:0; }.season-record dl div { display:flex; justify-content:space-between; padding:8px 0; border-top:1px solid #527068; font-size:.82rem; }.season-record dd { margin:0; color:#cee0cf; }
.process { color:#edf1e9; background:var(--pine); }.section-heading { display:flex; justify-content:space-between; gap:60px; align-items:end; max-width:1300px; margin:0 auto 55px; }.section-heading>div { max-width:750px; }.section-heading>p { max-width:400px; margin:0; color:#b9cbc2; }.process h2 { color:#fff; }.steps { display:grid; grid-template-columns:repeat(3,1fr); max-width:1300px; margin:0 auto; padding:0; list-style:none; border-top:1px solid #57736b; }.steps li { min-height:240px; padding:25px 25px 10px; border-right:1px solid #57736b; }.steps li:first-child { border-left:1px solid #57736b; }.steps span,.outcome-grid article>span { color:#9fc8a7; font-size:.7rem; font-weight:bold; letter-spacing:.1em; }.steps h3 { margin:55px 0 12px; color:#fff; }.steps p { margin:0; color:#b9cbc2; }.outcomes { background:var(--cream); }.outcomes .section-intro { margin-bottom:50px; }.outcome-grid,.resource-list { display:grid; grid-template-columns:repeat(3,1fr); max-width:1300px; border-top:1px solid var(--line); border-left:1px solid var(--line); }.outcome-grid article { min-height:250px; padding:26px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.outcome-grid h3 { margin:52px 0 12px; }.outcome-grid p { margin:0; color:var(--muted); font-size:.94rem; }
.trust { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(55px,10vw,160px); align-items:center; background:#fff; }.trust>div { max-width:590px; }.text-link { color:var(--green); font-weight:bold; }.ledger { margin:0; border-top:1px solid var(--line); }.ledger div { display:grid; grid-template-columns:180px 1fr; gap:20px; padding:19px 0; border-bottom:1px solid var(--line); }.ledger dt { font-family:var(--serif); font-size:1.2rem; }.ledger dd { margin:0; color:var(--muted); font-size:.91rem; }.resources { background:var(--paper); }.resource-list { margin:auto; }.resource-list a { display:flex; min-height:250px; flex-direction:column; padding:24px; background:#fff; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }.resource-list a:hover { background:#f0f4eb; }.resource-list p { margin:0 0 20px; color:var(--green); font-size:.7rem; font-weight:bold; letter-spacing:.08em; text-transform:uppercase; }.resource-list h3 { font-size:1.35rem; }.resource-list span { margin-top:auto; padding-top:20px; color:var(--green); font-size:.8rem; font-weight:bold; }.about { display:grid; grid-template-columns:1fr .7fr; gap:90px; align-items:end; background:#dce5d5; }.about h2 { max-width:820px; }.about>p { margin:0; }.contact { padding:clamp(80px,11vw,155px) clamp(20px,12vw,190px); color:#fff; background:var(--pine); }.contact h2 { max-width:800px; }.contact>p:not(.kicker) { max-width:600px; color:#c0d0c4; font-size:1.05rem; }.light { margin-top:15px; color:var(--pine); background:#e0ead8; border-color:#e0ead8; }.light:hover { color:#fff; background:var(--green); } footer { display:grid; grid-template-columns:auto 1fr auto; gap:20px 55px; align-items:center; padding:38px clamp(20px,8vw,130px); color:#c6d5ca; background:#102a26; font-size:.83rem; } footer p { margin:0; } footer small { grid-column:1/-1; padding-top:18px; color:#8ba098; border-top:1px solid #36534d; }
.article-hero { padding:clamp(65px,10vw,130px) clamp(20px,13vw,210px); color:#fff; background:var(--pine); }.article-hero>a { display:inline-block; margin-bottom:48px; color:#bad0c1; font-size:.82rem; }.article-hero>p,.article-cta>p { margin:0 0 18px; color:#9fc8a7; font-size:.7rem; font-weight:bold; letter-spacing:.11em; text-transform:uppercase; }.article-hero h1 { max-width:1100px; }.article-hero>div { max-width:780px; margin:30px 0; color:#cedbd1; font-size:1.16rem; line-height:1.7; }.article-hero small { color:#aebfb4; }.article-layout { display:grid; grid-template-columns:180px minmax(0,760px); gap:clamp(50px,10vw,150px); max-width:1200px; margin:auto; padding:clamp(65px,9vw,120px) 20px; }.article-layout aside { position:sticky; top:25px; align-self:start; display:grid; gap:11px; }.article-layout aside span { margin-bottom:8px; color:var(--muted); font-size:.68rem; font-weight:bold; letter-spacing:.1em; text-transform:uppercase; }.article-layout aside a { color:var(--muted); font-size:.82rem; }.article-layout aside a:hover { color:var(--green); }.article-body { color:#435751; }.article-body p { margin:0 0 22px; font-size:1.02rem; line-height:1.8; }.article-body .article-lede { color:var(--ink); font-family:var(--serif); font-size:1.38rem; line-height:1.55; }.article-body h2 { margin:70px 0 20px; font-size:clamp(2rem,3vw,3rem); scroll-margin-top:25px; }.article-body ol { display:grid; gap:12px; margin:25px 0; padding:0; list-style:none; counter-reset:steps; }.article-body li { position:relative; padding:18px 18px 18px 55px; background:#fff; border-left:2px solid #9ab099; line-height:1.6; counter-increment:steps; }.article-body li:before { content:counter(steps,decimal-leading-zero); position:absolute; left:17px; top:18px; color:var(--green); font-size:.7rem; font-weight:bold; }.article-body strong { color:var(--ink); }.article-callout { margin:48px 0; padding:25px 28px; background:#dfe9d8; border-left:4px solid var(--green); }.article-callout span { display:block; margin-bottom:7px; color:var(--green); font-size:.68rem; font-weight:bold; letter-spacing:.1em; text-transform:uppercase; }.article-callout strong { font-family:var(--serif); font-size:1.27rem; font-weight:500; line-height:1.45; }.article-cta { padding:clamp(65px,10vw,120px) clamp(20px,13vw,210px); color:#fff; background:#285047; }.article-cta h2 { max-width:720px; margin-bottom:28px; }
@media (max-width:900px) { .site-header { grid-template-columns:1fr auto; }.primary-nav,.header-link { display:none; }.mobile-nav { display:block; }.hero,.gap,.trust,.about { grid-template-columns:1fr; }.hero { background:var(--paper); }.map-figure { max-width:700px; }.record-flow { max-width:700px; }.section-heading { display:grid; gap:23px; }.steps,.outcome-grid,.resource-list { grid-template-columns:1fr; }.steps li,.steps li:first-child { min-height:0; border-left:1px solid #57736b; }.steps h3 { margin-top:27px; }.outcome-grid article { min-height:0; }.outcome-grid h3 { margin-top:25px; }.ledger { max-width:700px; }.about { gap:28px; } footer { grid-template-columns:1fr; }.article-layout { grid-template-columns:1fr; }.article-layout aside { position:static; display:none; } } @media (max-width:560px) { h1 { font-size:clamp(3rem,14vw,4.2rem); }.hero { padding-top:60px; }.record-flow { grid-template-columns:1fr; }.flow-arrow { transform:rotate(90deg); }.source-records div:nth-child(2),.source-records div:nth-child(3) { margin-left:0; }.ledger div { grid-template-columns:1fr; gap:5px; }.map-figure { border-width:6px; box-shadow:8px 8px 0 var(--pine); }.button { width:100%; }.section-heading { margin-bottom:35px; } } @media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
