@font-face{font-family:DM;src:url('assets/dm-sans-regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:DM;src:url('assets/dm-sans-medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
:root{--paper:#f6f2e9;--ink:#24271f;--green:#31513e;--muted:#6f7164;--line:#d9d9cd;--dark:#18291f;--cream:#f4edda}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px;touch-action:manipulation}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM,Arial,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:clip}a{color:inherit}h1,h2,h3,p,ul{margin:0}em{font-style:normal}
::selection{background:#cdd5b5;color:#1d2b1e}a:focus-visible{outline:3px solid #b6a06c;outline-offset:4px}
.wrap{width:calc(100% - 128px);max-width:1180px;margin-inline:auto}

/* Header: same wordmark as the landing page, frosted once the page moves. */
.legal-header{position:sticky;top:0;z-index:10;background:rgba(246,242,233,.9);backdrop-filter:blur(18px);border-bottom:1px solid transparent;transition:border-color .5s cubic-bezier(.16,1,.3,1)}
.legal-header.is-scrolled{border-color:var(--line)}
.legal-header .wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-size:30px;font-weight:500;letter-spacing:-1.5px;text-decoration:none;display:inline-flex;align-items:center;gap:6px}.brand svg{width:19px;height:25px;fill:currentColor}.brand span{color:#597248;margin-left:-6px}
.legal-nav{display:flex;gap:26px;font-size:12px}.legal-nav a{text-decoration:none;color:#6c7262;position:relative}.legal-nav a:after{content:'';position:absolute;left:0;bottom:-6px;height:1px;width:0;background:var(--green);transition:width .4s cubic-bezier(.16,1,.3,1)}.legal-nav a:hover:after,.legal-nav a[aria-current]:after{width:100%}.legal-nav a[aria-current]{color:var(--ink)}

/* Title block */
.legal-hero{padding:96px 0 56px;border-bottom:1px solid var(--line)}
.legal-hero .eyebrow{font-size:10px;letter-spacing:2.1px;text-transform:uppercase;font-weight:500;color:#7c856f;margin-bottom:26px}
.legal-hero h1{font-size:clamp(52px,7vw,96px);font-weight:400;letter-spacing:-4px;line-height:1}
.legal-hero h1 em{color:#53664a}
.legal-hero .meta{margin-top:28px;font-size:13px;color:var(--muted);line-height:1.8;max-width:620px}

/* Body: sticky index on the left, text on the right. */
.legal-body{display:grid;grid-template-columns:230px 1fr;gap:90px;padding:64px 0 110px}
.toc{position:sticky;top:120px;align-self:start;font-size:12px;line-height:1.5}
.toc p{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:#8b927b;margin-bottom:16px}
.toc ol{list-style:none;padding:0;margin:0;border-left:1px solid var(--line)}
.toc a{display:block;padding:6px 0 6px 16px;margin-left:-1px;border-left:1px solid transparent;text-decoration:none;color:#7b806f;transition:color .3s,border-color .3s}
.toc a:hover{color:var(--ink)}.toc a.is-active{color:var(--green);border-color:var(--green)}

.legal-text{max-width:720px;min-width:0}
.summary{background:#e9ebde;border-radius:18px;padding:30px 34px;margin-bottom:56px}
.summary h2{font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:500;color:var(--green);margin-bottom:16px}
.summary ul{padding-left:18px}.summary li{font-size:14px;line-height:1.8;color:#3d4436}
.legal-text section{padding-top:8px;margin-bottom:46px}
.legal-text h2{font-size:26px;font-weight:400;letter-spacing:-.8px;line-height:1.25;margin-bottom:16px;display:flex;gap:16px;align-items:baseline}
.legal-text h2 .num{font-size:11px;letter-spacing:1px;color:#99a183;font-weight:500;min-width:20px}
.legal-text h3{font-size:15px;font-weight:500;margin:24px 0 8px}
.legal-text p,.legal-text li{font-size:15px;line-height:1.85;color:#4a4e42;text-wrap:pretty}
.legal-text p+p{margin-top:12px}
.legal-text ul{padding-left:20px;margin-top:10px}.legal-text li+li{margin-top:6px}
.legal-text strong{font-weight:500;color:var(--ink)}
.legal-text .caps{text-transform:none}
.legal-text address{font-style:normal;font-size:15px;line-height:1.85;color:#4a4e42}
.legal-text a{text-underline-offset:3px;text-decoration-color:#b9c2a7}

/* Entrance: a calm fade into focus, CSS only. */
.legal-hero>*{animation:legal-rise 1.1s cubic-bezier(.16,1,.3,1) both}
.legal-hero>:nth-child(2){animation-delay:.08s}.legal-hero>:nth-child(3){animation-delay:.16s}
@keyframes legal-rise{from{opacity:0;filter:blur(6px)}to{opacity:1;filter:none}}

.legal-footer{border-top:1px solid var(--line);padding:26px 0 36px;font-size:11px;color:#8b927b}
.legal-footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.legal-footer nav{display:flex;gap:22px}.legal-footer a{text-decoration:none}.legal-footer a:hover{text-decoration:underline;text-underline-offset:4px}

@media(max-width:900px){.wrap{width:calc(100% - 64px)}.legal-body{grid-template-columns:1fr;gap:0}.toc{display:none}}
@media(max-width:600px){.wrap{width:calc(100% - 32px)}.legal-header .wrap{height:70px}.brand{font-size:26px}.legal-nav{gap:16px;font-size:11px}.legal-hero{padding:60px 0 40px}.legal-hero h1{letter-spacing:-2.5px}.legal-body{padding:40px 0 80px}.summary{padding:24px 22px;margin-bottom:44px}.legal-text h2{font-size:22px}.legal-text p,.legal-text li{font-size:14px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
