:root{
  --cream:#F4EFE6; --cream-2:#EEE7DA; --ink:#0B0B0B; --muted:#6B6459; --line:rgba(11,11,11,.15);
  --hydrate:#F4D03F; --greens:#8FD3B8; --focus:#F26C5A; --sleep:#8E9BE3;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:"Bricolage Grotesque",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;line-height:1.6;overflow-x:hidden}
a{color:inherit}
ul,ol{padding-left:1.25rem}
.wrap{max-width:1400px;margin:0 auto;padding:0 24px}
@media(min-width:1024px){.wrap{padding:0 40px}}
.display{letter-spacing:-.03em;font-weight:800;line-height:.92}
.serif{font-family:"Fraunces",serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
.chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--ink);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}
.underline-slide{position:relative;text-decoration:none}
.underline-slide:after{content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;background:currentColor;transition:width .3s ease}
.underline-slide:hover:after{width:100%}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(244,239,230,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}
.logo{font-weight:800;font-size:22px;letter-spacing:-.02em;display:inline-flex;align-items:flex-start;gap:2px;text-decoration:none}
.logo sup{font-size:9px;font-weight:500;margin-top:2px}
.nav-links{display:flex;gap:24px;font-size:14px;font-weight:500}
.nav-links a{text-decoration:none}
@media(max-width:560px){.nav-links{gap:14px;font-size:13px}}

/* header */
.legal-head{padding:56px 0 40px;border-bottom:1px solid var(--line)}
@media(min-width:768px){.legal-head{padding:80px 0 56px}}
.legal-head h1{font-size:clamp(44px,8vw,96px);margin-top:22px}
.legal-head h1 .serif{display:block}
.legal-head .meta{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:28px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.legal-head .intro{max-width:44rem;margin-top:24px;font-size:17px;color:#2a2620}

/* layout */
.legal-grid{display:grid;gap:40px;padding:48px 0 96px}
@media(min-width:1024px){.legal-grid{grid-template-columns:3fr 8fr;gap:72px;padding:64px 0 120px}}
.toc{position:sticky;top:96px;align-self:start}
.toc h5{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;font-weight:500}
.toc ol{list-style:none;padding:0;border-top:1px solid var(--line)}
.toc li a{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px;text-decoration:none;color:#2a2620;transition:color .2s ease,padding-left .2s ease}
.toc li a:hover{color:var(--ink);padding-left:6px}
.toc li a b{font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums;min-width:22px}
@media(max-width:1023px){.toc{position:static}.toc ol{columns:2;column-gap:24px}.toc li{break-inside:avoid}}

/* article */
.doc{max-width:46rem}
.doc section{padding:36px 0;border-bottom:1px solid var(--line);scroll-margin-top:96px}
.doc section:first-child{padding-top:0}
.doc h2{font-size:clamp(26px,3.4vw,36px);letter-spacing:-.03em;font-weight:800;line-height:1.05;display:flex;gap:16px;align-items:baseline}
.doc h2 b{font-size:13px;letter-spacing:.14em;color:var(--muted);font-weight:600;flex:none}
.doc h3{font-size:18px;font-weight:700;letter-spacing:-.02em;margin-top:24px}
.doc p{margin-top:16px;font-size:16px;color:#2a2620}
.doc ul,.doc ol{margin-top:14px;font-size:16px;color:#2a2620}
.doc li{margin-top:8px}
.doc li::marker{color:var(--muted)}
.doc strong{font-weight:700;color:var(--ink)}
.doc .callout{margin-top:20px;border-radius:1.25rem;padding:20px 22px;background:var(--cream-2);border-left:4px solid var(--c,var(--hydrate));font-size:15px}
.doc .callout p{margin-top:0;font-size:15px}
.doc .callout p + p{margin-top:10px}
.doc table{width:100%;border-collapse:collapse;margin-top:18px;font-size:15px}
.doc th,.doc td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.doc th{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:600}
.doc td:first-child{font-weight:600;white-space:nowrap}
@media(max-width:560px){.doc td:first-child{white-space:normal}}
.doc address{font-style:normal;margin-top:16px;line-height:1.7;padding:20px 22px;border:1px solid var(--line);border-radius:1.25rem;display:inline-block;font-size:15px}
.doc address b{display:block;font-weight:700}

/* footer */
footer{background:var(--ink);color:var(--cream);padding:56px 0 36px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.1)}
.foot-logo{font-size:56px;font-weight:800;letter-spacing:-.04em;line-height:1;display:inline-flex;align-items:flex-start}
.foot-logo sup{font-size:14px;font-weight:500;margin-top:8px}
.foot-top p{font-size:13px;color:rgba(244,239,230,.7);max-width:26rem;margin-top:12px}
.foot-contact{font-size:13px;color:rgba(244,239,230,.8);line-height:1.8}
.foot-contact a{text-decoration:none}
.foot-bottom{display:flex;flex-direction:column;gap:12px;padding-top:24px;font-size:12px;color:rgba(244,239,230,.6)}
@media(min-width:768px){.foot-bottom{flex-direction:row;justify-content:space-between;align-items:center}}
.foot-bottom .links{display:flex;gap:20px}
.foot-bottom .links a{text-decoration:none}
