/* Legal pages — mirrors the v2 homepage tokens. */
:root{
  --ink:#0E1116; --ink-2:#1A1F27; --ink-3:#59616E; --ink-4:#8A929E;
  --canvas:#FFFFFF; --canvas-2:#F3F5F2;
  --lime:#C8F04B; --coral:#FF5B38;
  --line:rgba(14,17,22,.12); --line-soft:rgba(14,17,22,.07);
  --display:'Bricolage Grotesque','Helvetica Neue',Helvetica,sans-serif;
  --body:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;
  --gut:clamp(20px,5vw,44px);
}
*,*::before,*::after{ box-sizing:border-box; }
body{ margin:0; background:var(--canvas); color:var(--ink); font-family:var(--body); font-size:17px; line-height:1.68; -webkit-font-smoothing:antialiased; }
:focus-visible{ outline:3px solid var(--coral); outline-offset:3px; border-radius:6px; }
.skip{ position:absolute; left:-9999px; background:var(--lime); color:var(--ink); padding:14px 22px; font-weight:700; text-decoration:none; z-index:10; }
.skip:focus{ left:0; }
.wrap{ width:100%; max-width:760px; margin-inline:auto; padding-inline:var(--gut); }

.hdr{ border-bottom:1px solid var(--line-soft); background:rgba(255,255,255,.9); position:sticky; top:0; backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
.hdr-in{ display:flex; align-items:center; justify-content:space-between; gap:20px; height:76px; max-width:1200px; margin-inline:auto; padding-inline:var(--gut); }
.brand{ display:flex; align-items:center; gap:11px; text-decoration:none; color:var(--ink); }
.brand-mark{ width:38px; height:38px; border-radius:11px; background:var(--ink); display:grid; place-items:center; font-family:var(--display); font-weight:800; font-size:19px; color:var(--lime); }
.brand-txt{ font-family:var(--display); font-weight:700; font-size:1.2rem; letter-spacing:-.04em; line-height:1; }
.brand-txt small{ display:block; font-family:var(--body); font-size:9.5px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-4); margin-top:4px; }
.back{ font-size:15px; font-weight:700; color:var(--ink); text-decoration:none; padding:11px 18px; border:2px solid var(--line); border-radius:100px; }
.back:hover{ border-color:var(--ink); }

main{ padding-block:clamp(48px,7vw,88px) clamp(60px,8vw,104px); }
h1{ font-family:var(--display); font-weight:700; font-size:clamp(2.2rem,5vw,3.2rem); letter-spacing:-.04em; line-height:1.04; margin:0 0 14px; }
.updated{ color:var(--ink-4); font-size:15px; margin:0 0 12px; font-weight:600; }
.intro{ font-size:1.08rem; color:var(--ink-3); margin:0 0 40px; padding-bottom:32px; border-bottom:2px solid var(--line); }
h2{ font-family:var(--display); font-weight:700; font-size:1.5rem; letter-spacing:-.035em; margin:44px 0 14px; }
p{ margin:0 0 17px; color:var(--ink-2); }
ul{ margin:0 0 17px; padding-left:22px; color:var(--ink-2); }
li{ margin-bottom:9px; }
a{ color:var(--ink); text-decoration:underline; text-decoration-color:var(--lime); text-decoration-thickness:3px; text-underline-offset:3px; }
a:hover{ background:var(--lime); }
strong{ font-weight:700; }
.note{ background:var(--canvas-2); border:2px solid var(--line); border-radius:16px; padding:22px 24px; margin:36px 0 0; font-size:15.4px; color:var(--ink-3); }
.note strong{ color:var(--ink-2); }

.ftr{ border-top:1px solid var(--line-soft); padding-block:26px; font-size:14.6px; color:var(--ink-4); }
.ftr-in{ max-width:1200px; margin-inline:auto; padding-inline:var(--gut); display:flex; flex-wrap:wrap; gap:14px; justify-content:space-between; }
.ftr a{ text-decoration:none; padding-block:9px; display:inline-block; color:var(--ink-3); }
.ftr a:hover{ background:none; color:var(--ink); text-decoration:underline; }
.ftr-legal{ display:flex; gap:22px; }

/* MN monogram, fixed top-right */
.mn{ position:fixed; top:clamp(12px,1.6vw,22px); right:clamp(14px,2.2vw,30px); z-index:160;
  width:clamp(44px,4.4vw,58px); height:clamp(44px,4.4vw,58px); display:grid; place-items:center;
  text-decoration:none; border-radius:50%; background:var(--ink); box-shadow:0 3px 14px rgba(6,7,10,.22);
  transition:transform .35s cubic-bezier(.2,.8,.3,1), box-shadow .35s; }
.mn:hover{ transform:rotate(-8deg) scale(1.07); box-shadow:0 8px 26px rgba(6,7,10,.3); background:var(--ink); }
.mn svg{ width:74%; height:74%; display:block; overflow:visible; }
.mn .ring{ transform-origin:50% 50%; animation:spin 16s linear infinite; }
@keyframes spin{ to{ transform:rotate(360deg); } }
/* Keep the header's Back button clear of the badge */
.hdr-in{ padding-right:clamp(76px,7vw,104px); }
@media (prefers-reduced-motion: reduce){ .mn .ring{ animation:none; } }
