/* Openwell — legal pages (privacy/, terms/). Same tokens and type as the landing;
   a reading column with a sticky contents rail, and the night footer. */
:root{--paper:#f6f7f9;--surface:#fff;--ink:#16181f;--soft:#565a66;--faint:#7f8592;--rule:rgba(20,22,38,.08);--rules:rgba(20,22,38,.14);--indigo:#4b50e6;--deep:#3437b8;--wash:#ecedfc;--night:#14161d;--nsoft:#1e2028;--green:#2e9a63;--gwash:#e3f6ec;--mono:"IBM Plex Sans",system-ui,sans-serif;--serif:"IBM Plex Serif",Georgia,serif;--sans:"IBM Plex Sans",system-ui,sans-serif}
*{margin:0;padding:0;box-sizing:border-box}
html{color-scheme:light;scroll-behavior:smooth;scroll-padding-top:96px}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
.wrap{width:min(1120px,92vw);margin:0 auto}
em{font-family:var(--serif);font-style:italic;font-weight:300}
a{color:inherit}
:focus-visible{outline:2px solid var(--indigo);outline-offset:3px;border-radius:3px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
.kick{display:inline-flex;align-items:center;gap:9px;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:0;color:var(--soft)}
.kick::before{content:"";width:7px;height:7px;border-radius:2px;background:var(--indigo)}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:var(--indigo);color:#fff;padding:13px 26px;font-size:15px;font-weight:500;border:0;cursor:pointer;text-decoration:none;box-shadow:0 10px 24px -10px rgba(75,80,230,.45);transition:transform .2s,background .2s}
.btn:hover{background:var(--deep);transform:translateY(-1px)}

/* head */
.legal-head{margin-top:-68px;padding:132px 0 40px;border-bottom:1px solid var(--rule);background:radial-gradient(120% 90% at 50% -10%,#fff 0%,var(--paper) 60%)}
.legal-head h1{font-weight:200;font-size:clamp(38px,6vw,62px);line-height:1.02;letter-spacing:-.028em;margin-top:18px;max-width:16ch}
.legal-meta{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:18px;font-family:var(--sans);font-size:12.5px;letter-spacing:0;color:var(--faint)}
.legal-meta span:not(:last-child)::after{content:"·";margin-left:10px}

/* layout: contents rail + reading column */
.legal{display:grid;grid-template-columns:240px minmax(0,720px);gap:64px;padding:56px 0 112px;align-items:start}
.legal-toc{position:sticky;top:104px;max-height:calc(100vh - 128px);overflow-y:auto;scrollbar-width:thin}
.toc-label{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:0;color:var(--faint);padding-bottom:12px;border-bottom:1px solid var(--rule)}
.legal-toc ol{list-style:none;margin-top:8px;display:flex;flex-direction:column}
.legal-toc a{display:grid;grid-template-columns:26px 1fr;gap:6px;align-items:baseline;padding:7px 0;font-size:13px;line-height:1.35;color:var(--soft);text-decoration:none;border-left:2px solid transparent;margin-left:-14px;padding-left:12px;transition:color .2s,border-color .2s}
.legal-toc a span{font-family:var(--sans);font-size:11.5px;letter-spacing:0;color:var(--faint);font-variant-numeric:tabular-nums}
.legal-toc a:hover{color:var(--ink)}
.legal-toc a.on{color:var(--ink);border-left-color:var(--indigo)}
.legal-toc a.on span{color:var(--indigo)}

/* body copy */
.legal-body{font-size:15.5px;line-height:1.7;color:var(--ink)}
.legal-body>p:first-child{font-size:17px;font-weight:300;color:var(--soft)}
.legal-body p{margin-top:14px;text-wrap:pretty}
.legal-body h2{font-weight:300;font-size:clamp(24px,2.6vw,30px);line-height:1.15;letter-spacing:-.02em;margin-top:56px;padding-top:28px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;text-wrap:balance}
.legal-body h2 .num{font-family:var(--sans);font-size:13px;letter-spacing:.02em;color:var(--indigo);font-weight:500;align-self:center;font-variant-numeric:tabular-nums}
.legal-body h2 small{flex-basis:100%;font-family:var(--serif);font-style:italic;font-weight:300;font-size:19px;letter-spacing:-.005em;color:var(--soft);margin-top:2px}
.legal-body h2:first-child{margin-top:0;padding-top:0;border-top:0}
.legal-body h3{font-weight:500;font-size:16px;letter-spacing:-.005em;margin-top:32px}
.legal-body h2+h3{margin-top:22px}
.legal-body h2+p,.legal-body h3+p{margin-top:12px}
.legal-body ul{margin-top:12px;padding-left:22px;display:flex;flex-direction:column;gap:9px}
.legal-body li{padding-left:2px}
.legal-body li::marker{color:var(--indigo);font-size:.85em}
.legal-body ul ul{margin-top:9px}
.legal-body strong{font-weight:500}
.legal-body a{color:var(--deep);text-decoration:underline;text-decoration-color:rgba(52,55,184,.35);text-underline-offset:3px;transition:text-decoration-color .2s}
.legal-body a:hover{text-decoration-color:var(--deep)}
@media(max-width:960px){.legal{grid-template-columns:1fr;gap:32px;padding-top:40px}.legal-toc{position:static;max-height:none;overflow:visible;background:var(--surface);border:1px solid var(--rule);border-radius:14px;padding:18px 20px}.legal-toc a{margin-left:0;padding-left:0;border-left:0}.legal-toc a.on{color:var(--deep)}}
@media(max-width:767px){.legal-head{margin-top:-60px;padding-top:104px}}
@media(max-width:640px){.legal-head{padding-bottom:32px}.legal-body{font-size:15px}.legal-body h2{margin-top:44px}}

