:root{color-scheme:light;--deep:#112e24;--ink:#152c23;--muted:#4b6559;--lime:#d5f578;--paper:#f6f8f3;--line:#d6e2d8;--measure:47rem;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);line-height:1.65}
a{color:inherit;text-underline-offset:.22em}
a:focus-visible{outline:3px solid #ac6b20;outline-offset:4px;border-radius:2px}
.skip{position:absolute;left:1rem;top:-10rem;padding:.6rem 1rem;background:#fff;z-index:2}
.skip:focus{top:1rem}
.wrap{width:min(72rem,calc(100% - 2.5rem));margin-inline:auto}
.header{background:#fff;border-bottom:1px solid var(--line)}
.header-row,.footer-row{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;padding-block:1rem}
.brand{display:inline-flex;align-items:center;gap:.62rem;font-size:1.12rem;font-weight:830;letter-spacing:.04em;text-decoration:none;white-space:nowrap}
.brand b{color:#236348}
nav{display:flex;flex-wrap:wrap;gap:.55rem 1.35rem;margin-left:auto}
nav a{font-size:.92rem;color:var(--muted);text-decoration:none}
nav a:hover,nav a[aria-current=page]{color:var(--deep);text-decoration:underline}
.hero,.subhead{background:var(--deep);color:#f3f8ef}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;min-height:25rem;align-items:stretch}
.hero-copy,.subhead .wrap{padding-block:clamp(3rem,7vw,6.5rem)}
.eyebrow{margin:0 0 .8rem;font-size:.76rem;letter-spacing:.13em;font-weight:790;color:#37634f}
.hero .eyebrow,.subhead .eyebrow{color:var(--lime)}
h1,h2{line-height:1.12;letter-spacing:-.025em}
h1{margin:0;font-size:clamp(2.8rem,8.8vw,6.1rem);font-weight:850}
.hero h1 span{color:var(--lime)}
.subhead h1{font-size:clamp(2.35rem,7vw,4.8rem)}
h2{font-size:clamp(1.35rem,3vw,2rem)}
.lead{font-size:clamp(1.04rem,2vw,1.3rem);max-width:32rem;color:#d4e5da}
.actions{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-top:1.55rem;font-size:.93rem}
.button{display:inline-flex;gap:.7rem;align-items:center;background:var(--lime);padding:.7rem 1rem;border-radius:.45rem;text-decoration:none;color:var(--deep);font-weight:750}
.course{position:relative;min-width:0;overflow:hidden;align-self:stretch}
.course svg{position:absolute;width:100%;height:100%}
.course span{position:absolute;right:.7rem;bottom:1.3rem;color:#bad0c1;display:flex;align-items:center;gap:.6rem;font-size:.72rem;letter-spacing:.14em}
.course i{width:2rem;border-top:1px solid #739a83}
.content,.prose{padding-block:clamp(2.4rem,6vw,4.8rem)}
.home-details{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem}
.home-details p:not(.eyebrow),.prose p,.prose li{color:var(--muted)}
.link-list{list-style:none;padding:0}
.link-list li{border-bottom:1px solid var(--line);padding:.55rem 0}
.prose{max-width:var(--measure)}
.prose h2:not(:first-child){margin-top:1.8rem}
.prose p,.prose li{max-width:68ch}
.prose a{color:#245e45}
code{padding:.15em .3em;background:#e2ede3;border-radius:.2em;overflow-wrap:anywhere;font-size:.86em}
.callout{padding:.9rem 1.1rem;border:1px solid #b5cab8;border-left:4px solid #47785a;border-radius:.35rem;background:#eef4eb}
.callout p{margin:.25rem 0 0}
.footer{border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:.9rem}
.footer-row span:first-child{margin-right:auto}
@media(max-width:42rem){.header-row{gap:.65rem}.header-row nav{width:100%;margin:0;gap:.45rem .9rem}.hero-grid,.home-details{grid-template-columns:1fr}.hero-copy{padding-bottom:2rem}.course{min-height:9rem}.course svg{height:20rem;top:-7rem}.footer-note{display:none}}
