/* ===== Legal pages (Privacy / Terms) ===== */
.legal-hero{padding:28px 0 32px;border-bottom:1px solid var(--line);}
.legal-hero .breadcrumb{margin-bottom:32px;}
.legal-hero .page-hero-grid{display:grid;grid-template-columns:1fr;justify-items:center;text-align:center;gap:32px;}
.legal-hero .lead{max-width:660px;text-wrap:balance;}
.legal-meta{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}

.legal{padding:64px 0 96px;}
.legal-grid{display:grid;grid-template-columns:230px 1fr;gap:64px;align-items:start;}

/* sticky table of contents */
.legal-toc{position:sticky;top:calc(var(--header-h) + 28px);align-self:start;}
.legal-toc h4{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:16px;}
.legal-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc;}
.legal-toc li{counter-increment:toc;margin:0 0 2px;}
.legal-toc a{display:flex;gap:10px;padding:7px 0;font-size:13.5px;line-height:1.4;color:var(--ink-soft);border-bottom:1px solid transparent;transition:color .2s;}
.legal-toc a::before{content:counter(toc,decimal-leading-zero);font-family:var(--serif);font-size:12px;color:var(--green);flex:0 0 auto;padding-top:1px;}
.legal-toc a:hover{color:var(--green);}

/* body copy */
.legal-body{max-width:720px;min-width:0;}
.legal-sec{padding:0 0 40px;}
.legal-sec + .legal-sec{border-top:1px solid var(--line-soft);padding-top:40px;}
.legal-sec h2{font-size:26px;display:flex;align-items:baseline;gap:14px;scroll-margin-top:calc(var(--header-h) + 24px);}
.legal-sec h2 .n{font-family:var(--serif);font-size:16px;color:var(--green);flex:0 0 auto;}
.legal-sec h3{font-family:var(--sans);font-size:13px;letter-spacing:.04em;font-weight:600;color:var(--ink);margin:26px 0 8px;}
.legal-sec p{font-size:16px;line-height:1.75;color:var(--ink-soft);margin-top:14px;}
.legal-sec p:first-of-type{margin-top:18px;}
.legal-sec strong{color:var(--ink);font-weight:600;}
.legal-sec a.inline{color:var(--green);text-decoration:underline;text-underline-offset:2px;}
.legal-sec a.inline:hover{opacity:.65;}
.legal-sec ul{margin:16px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px;}
.legal-sec ul li{position:relative;padding-left:26px;font-size:16px;line-height:1.7;color:var(--ink-soft);}
.legal-sec ul li::before{content:"";position:absolute;left:4px;top:11px;width:6px;height:6px;background:var(--green);border-radius:50%;}
.legal-sec ul li strong{color:var(--ink);}

.legal-note{margin-top:14px;padding:18px 22px;background:var(--paper-2);border:1px solid var(--line);font-size:14.5px;line-height:1.7;color:var(--ink-soft);}
.legal-note strong{color:var(--ink);}

.legal-contact{margin-top:48px;padding-top:32px;border-top:1px solid var(--line);}
.legal-contact h4{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;}
.legal-contact a{font-family:var(--serif);font-size:22px;color:var(--ink);}
.legal-contact a:hover{color:var(--green);}

@media (max-width:860px){
  .legal-grid{grid-template-columns:1fr;gap:8px;}
  .legal-toc{position:static;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--line);}
  .legal-toc ol{columns:2;column-gap:32px;}
}
@media (max-width:520px){
  .legal-toc ol{columns:1;}
}
