:root{
  --c-ink:#111111; --c-ink-2:#2B302D; --c-white:#FFFFFF;
  --c-green:#00945E; --c-green-deep:#00693F; --c-green-ink:#005033;
  --c-green-tint:#E7F4EE; --c-line:#DCDFDD; --c-bg:#F6F7F6; --c-bg-2:#EDEFEE;
  --c-muted:#4F5A54; --c-onink:#E6E9E7; --c-onink-2:#A9B2AD; --c-onink-3:#8D9791; --c-mint:#9BE3C4;
  --f-head:"Archivo","Helvetica Neue",sans-serif;
  --f-body:"Barlow","Helvetica Neue",sans-serif;
  --f-mono:"IBM Plex Mono",monospace;
  --t-hero:34px; --t-h1:27px; --t-h2:22px; --t-h3:18px; --t-lead:16px;
  --t-body:15px; --t-sm:13px; --t-xs:11px;
  --pad-x:24px; --sec-y:48px; --sec-y-lg:64px; --gap-col:24px; --card-pad:24px;
  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px; --s-6:32px;
  --s-7:48px; --s-8:64px; --s-9:96px;
  --r-sm:6px; --r-md:12px; --r-lg:20px; --r-pill:999px;
  --w-line:1px;
  --grain:url(data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22180%22%20height=%22180%22%3E%3Cfilter%20id=%22g%22%3E%3CfeTurbulence%20type=%22fractalNoise%22%20baseFrequency=%220.9%22%20numOctaves=%223%22%20stitchTiles=%22stitch%22/%3E%3CfeColorMatrix%20type=%22saturate%22%20values=%220.25%22/%3E%3C/filter%3E%3Crect%20width=%22180%22%20height=%22180%22%20filter=%22url%28%23g%29%22%20opacity=%220.38%22/%3E%3C/svg%3E);
}
*{box-sizing:border-box}
body{margin:0;font-family:var(--f-body);font-size:var(--t-body);line-height:1.55;color:var(--c-ink);background:var(--c-bg-2);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{margin:0;font-family:var(--f-head);line-height:1.12;letter-spacing:-0.025em}
p{margin:0}
img{display:block;max-width:100%}
a{color:var(--c-green-deep);text-decoration:none}
a:hover{color:var(--c-green-ink)}
button{font-family:var(--f-body);cursor:pointer}
@keyframes pulselogo{0%{transform:scale(0.72);opacity:.55}50%{transform:scale(1);opacity:1}100%{transform:scale(0.72);opacity:.55}}
@keyframes fadeout{to{opacity:0;visibility:hidden}}
@keyframes drawerin{from{transform:translateX(100%)}to{transform:translateX(0)}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes techdrift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes hogardrift{0%{background-position:0 0,0 0,0 0,0 0,0 0}50%{background-position:0 0,-2% 3%,-46px 0,0 46px,0 0}100%{background-position:0 0,0 0,0 0,0 0,0 0}}
@keyframes floatslow{0%{transform:translateY(0)}50%{transform:translateY(-14px)}100%{transform:translateY(0)}}
@keyframes heroprod{0%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-18px) rotate(1.5deg)}100%{transform:translateY(0) rotate(-2deg)}}
@keyframes heroglow{0%{transform:scale(1);opacity:.55}50%{transform:scale(1.12);opacity:.9}100%{transform:scale(1);opacity:.55}}
@keyframes heroanchor{0%{transform:translateY(0) rotate(-0.5deg)}50%{transform:translateY(-7px) rotate(0.5deg)}100%{transform:translateY(0) rotate(-0.5deg)}}
@keyframes sparkfly{0%{transform:translate(0,0) scale(1.2);opacity:0}6%{opacity:1}64%{opacity:1}100%{transform:translate(var(--sx),var(--sy)) scale(.15);opacity:0}}
@keyframes sparkstreak{0%{transform:translate(0,0) rotate(var(--sr)) scaleY(.4);opacity:0}10%{opacity:1}100%{transform:translate(var(--sx),var(--sy)) rotate(var(--sr)) scaleY(1.6);opacity:0}}
@keyframes emberdrift{0%{transform:translate(0,0);opacity:0}15%{opacity:.9}100%{transform:translate(var(--sx),var(--sy));opacity:0}}
@keyframes sparkflash{0%,100%{opacity:.25;transform:scale(.85)}50%{opacity:.8;transform:scale(1.15)}}