:root{--paper:#e8eadf;--ink:#14201c;--green:#1f3a33;--gold:#e0a816;--mute:#4a5a54}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 "IBM Plex Sans",Arial,sans-serif;overflow-x:clip}
h1,h2,h3{font-family:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;font-weight:800;line-height:1;margin:0 0 .5em;letter-spacing:.01em;overflow-wrap:anywhere}
h1{font-size:clamp(2.6rem,9vw,6.2rem)}
h2{font-size:clamp(2rem,5vw,3.2rem)}
h3{font-size:1.7rem}
p{margin:0 0 1em;max-width:62ch}
a{color:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.w{max-width:1080px;margin:0 auto;padding:0 20px}
.hd{background:var(--green);color:#fff;border-bottom:6px solid var(--gold)}
.hd .w{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-top:14px;padding-bottom:14px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font:800 1.35rem/1 "Big Shoulders Display",sans-serif;letter-spacing:.02em}
.brand img{height:68px;width:auto}
.nav{display:flex;flex-wrap:wrap;gap:4px 18px;margin-left:auto}
.nav a{text-decoration:none;padding:8px 2px;border-bottom:3px solid transparent;min-height:44px;display:inline-flex;align-items:center}
.nav a:hover,.nav a.on{border-bottom-color:var(--gold)}
.hero{background:var(--green);color:#fff;padding:64px 0 72px;position:relative}
.hero:after{content:"";position:absolute;left:0;right:0;bottom:28px;height:14px;background:var(--gold)}
.hero h1{max-width:12ch}
.hero p{font-size:1.2rem;max-width:46ch;color:#e3eadf}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}
.btn{display:inline-flex;align-items:center;min-height:48px;padding:0 24px;background:var(--gold);color:var(--ink);font-weight:700;text-decoration:none;border:2px solid var(--gold)}
.btn.o{background:transparent;color:inherit;border-color:currentColor}
.btn:hover{background:#fff;border-color:#fff;color:var(--ink)}
.sec{padding:64px 0}
.sec.alt{background:#d9ddcf}
.pg{background:var(--green);color:#fff;padding:48px 0 36px}
.pg h1{font-size:clamp(2.2rem,7vw,4.4rem);margin:0}
.ev{list-style:none;margin:0;padding:0}
.ev li{border-left:10px solid var(--gold);padding:6px 0 6px 20px;margin:0 0 28px}
.ev h3{margin:0 0 4px}
.ev p{margin:0}
.dark{background:var(--green);color:#fff}
.dark .btn.o:hover{color:var(--ink)}
.ft{background:var(--ink);color:#dfe5dc;padding:40px 0;font-size:.95rem}
.ft .w{display:flex;flex-wrap:wrap;gap:24px 56px}
.ft p{margin:0 0 .4em}
.ft strong{font:800 1.3rem "Big Shoulders Display",sans-serif;color:#fff}
.empty{border:2px dashed var(--mute);padding:28px;max-width:62ch}
.js .rv{opacity:0;transform:translateY(14px);transition:opacity .6s,transform .6s}
.js .rv.in{opacity:1;transform:none}
@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.hero h1,.hero p,.hero .btns{animation:up .8s both}
.hero p{animation-delay:.15s}.hero .btns{animation-delay:.3s}
@media(max-width:600px){body{font-size:16px}.sec{padding:44px 0}.nav{margin-left:0}.btn{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}html{scroll-behavior:auto}}
