@font-face{font-family:"DM Sans";src:url(fonts/dmsans.woff2) format("woff2");font-weight:100 1000;font-display:swap}
@font-face{font-family:"Space Grotesk";src:url(fonts/heading.woff2) format("woff2");font-weight:300 700;font-display:swap}
:root{--bg:#f4f5f1;--fg:#0e1a12;--muted:#58635a;--border:#dfe3db;--primary:#1e8538;--strong:#176c2d;--leaf:#57c76a;--soft:#ddf3d9;--forest:#0b2414;--fence:#c8321f;--mist:#eef2ec;--sage:#a3b3a6;--r:14px;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:"DM Sans",system-ui,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:"Space Grotesk","DM Sans",sans-serif;letter-spacing:-.03em;line-height:1.08;font-weight:500}
a{color:inherit}.wrap{max-width:1180px;margin:auto;padding:0 24px}
/* header */
header{position:fixed;inset:0 0 auto;z-index:60;padding:12px;transition:transform .5s var(--ease)}
header.hide{transform:translateY(-130%)}
nav{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 20px;border-radius:18px;position:relative;transition:background .4s,box-shadow .4s;--la:#fff;--ln:#fff;--tx:#fff}
header.solid nav{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 12px 32px -16px rgba(14,26,18,.3),0 0 0 1px rgba(0,0,0,.05);--la:var(--strong);--ln:var(--fg);--tx:var(--strong)}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:"Space Grotesk";font-weight:600;font-size:1.15rem;color:var(--ln);transition:color .4s}
.logo svg{width:28px}.logo .a{fill:var(--la);transition:fill .4s}
.nav-links{display:flex;gap:4px;list-style:none;padding:0}
.nav-links a{display:block;padding:8px 14px;border-radius:99px;text-decoration:none;font-size:15px;color:var(--tx);transition:background .3s,color .4s}
.nav-links a:hover,.nav-links a.on{background:rgba(255,255,255,.18)}
header.solid .nav-links a:hover,header.solid .nav-links a.on{background:var(--soft)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;border-radius:99px;background:var(--strong);color:#fff;font:inherit;font-weight:500;text-decoration:none;border:0;cursor:pointer;transition:background .25s,transform .2s}
.btn:hover{background:var(--forest)}.btn:active{transform:scale(.97)}.btn.alt{background:#fff;color:var(--forest)}.btn.alt:hover{background:var(--soft)}
.menu{display:none;width:42px;height:42px;border-radius:12px;border:0;background:rgba(255,255,255,.2);color:var(--tx);font-size:1.3rem;cursor:pointer}
header.solid .menu{background:var(--soft)}
/* footer */
footer{background:#071a0e;color:var(--sage);padding:64px 0 32px;font-size:.95rem}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}
footer h4{color:#fff;margin-bottom:12px}footer p{max-width:36ch}footer a{display:block;text-decoration:none;margin-bottom:6px}footer a:hover{color:var(--leaf)}
.copy{padding-top:24px;font-size:.85rem}.credit{padding-top:6px;font-size:.78rem}.credit a{display:inline;text-decoration:underline}
/* legal pages */
.doc{padding:150px 0 80px}.doc .wrap{max-width:780px}.doc h1{font-weight:300;font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:8px}
.doc .upd{color:var(--muted);margin-bottom:40px}.doc h2{font-size:1.5rem;margin:36px 0 10px}.doc p,.doc li{color:#2f3b32;margin-bottom:12px}.doc ul{padding-left:22px;margin-bottom:12px}
.doc .box{background:var(--soft);border-radius:var(--r);padding:20px 24px;margin:28px 0}.doc a{color:var(--strong);text-decoration:underline}.doc .back{display:inline-block;margin-bottom:24px;text-decoration:none}
/* 3D page flip between pages */
@view-transition{navigation:auto}
@keyframes vsOut{to{opacity:0;transform:perspective(1400px) rotateY(28deg) translateX(-6%) scale(.92)}}
@keyframes vsIn{from{opacity:0;transform:perspective(1400px) rotateY(-28deg) translateX(6%) scale(.92)}}
::view-transition-old(root){animation:vsOut .45s cubic-bezier(.4,0,.2,1) both;transform-origin:0 50%}
::view-transition-new(root){animation:vsIn .6s var(--ease) both;transform-origin:100% 50%}
@media(max-width:860px){.nav-links,nav>.btn{display:none}.menu{display:inline-grid;place-items:center}
nav.open .nav-links{display:flex;position:absolute;top:68px;left:0;right:0;flex-direction:column;background:#fff;padding:10px;border-radius:18px;box-shadow:0 24px 48px -24px rgba(14,26,18,.45)}
nav.open .nav-links a{color:var(--strong)}.fgrid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none}html{scroll-behavior:auto}}
