/* ============================================================
   LEGAL PAGES — terms, privacy, community guidelines
   Shares the site's tokens, nav, footer and eyebrow from style.css.
   ============================================================ */
html{scroll-behavior:smooth}
.page-legal .nav{transition:none}
.legal{max-width:var(--maxw);margin:0 auto;padding:calc(var(--gap) + 3.5rem) var(--pad) var(--gap)}
.legal__head{max-width:60rem;margin:0 0 clamp(2.5rem,6vh,4.5rem);padding-bottom:clamp(1.6rem,4vh,2.6rem);border-bottom:1px solid var(--hair)}
.legal__title{font-family:var(--serif);font-weight:340;font-size:clamp(2.8rem,7vw,5.6rem);line-height:1;letter-spacing:-.03em;margin:.1em 0 .35em}
.legal__title em{font-family:var(--serif);font-style:italic;font-weight:300;color:var(--coral)}
.legal__meta{font-family:var(--mono);font-size:.74rem;letter-spacing:.12em;color:var(--ivory-faint);margin:0}
.legal__meta a{color:var(--ivory-dim)}

.legal__grid{display:grid;grid-template-columns:15rem minmax(0,1fr);column-gap:clamp(2rem,6vw,6rem);align-items:start}
.legal__toc{position:sticky;top:6.5rem}
.legal__toc-label{font-family:var(--mono);font-size:.68rem;letter-spacing:.28em;text-transform:uppercase;color:var(--ivory-faint);margin:0 0 1rem}
.legal__toc ol{list-style:none;margin:0;padding:0;counter-reset:t}
.legal__toc li{margin:0;padding:.45rem 0;border-top:1px solid var(--hair-soft)}
.legal__toc li::before{counter-increment:t;content:counter(t,decimal-leading-zero);font-family:var(--mono);font-size:.68rem;color:var(--coral);margin-right:.8em;opacity:.85}
.legal__toc a{color:var(--ivory-dim);font-size:.92rem;transition:color .3s var(--ease)}
.legal__toc a:hover{color:var(--ivory)}

.legal__body{min-width:0;max-width:68ch;font-size:1.06rem;line-height:1.75;color:var(--ivory-dim)}
.legal__body > p:first-child{font-size:1.18rem;color:var(--ivory);line-height:1.6}
.legal__body h2{font-family:var(--serif);font-weight:400;font-size:clamp(1.5rem,2.4vw,1.9rem);line-height:1.15;letter-spacing:-.02em;color:var(--ivory);margin:2.8rem 0 .8rem;scroll-margin-top:6.5rem}
.legal__body p{margin:0 0 1.1rem}
.legal__body strong{color:var(--ivory);font-weight:600}
.legal__body a{color:var(--coral);text-decoration:underline;text-underline-offset:.2em;text-decoration-color:rgba(255,107,125,.4)}
.legal__body a:hover{text-decoration-color:var(--coral)}
.legal__body ul{margin:0 0 1.2rem;padding-left:1.25rem}
.legal__body li{margin:.45rem 0;padding-left:.2rem}
.legal__body li::marker{color:var(--coral)}
.legal__table{overflow-x:auto;margin:0 0 1.4rem;-webkit-overflow-scrolling:touch}
.legal__body table{width:100%;min-width:34rem;border-collapse:collapse;font-size:.95rem;line-height:1.5}
.legal__body th,.legal__body td{text-align:left;vertical-align:top;padding:.75rem .7rem .75rem 0;border-top:1px solid var(--hair)}
.legal__body th{font-family:var(--mono);font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ivory-faint);border-top:0;padding-top:0}
.legal__body td:first-child{color:var(--ivory);font-weight:500;white-space:nowrap}

.legal__related{margin-top:clamp(3rem,8vh,5rem);padding-top:clamp(2rem,5vh,3rem);border-top:1px solid var(--hair)}
.legal__related-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}

@media (max-width:900px){
  .legal__grid{grid-template-columns:minmax(0,1fr);row-gap:2rem}
  .legal__toc{position:static;padding:1.2rem 1.3rem;border:1px solid var(--hair);border-radius:18px}
  .legal__toc li:first-child{border-top:0}
}
@media (max-width:520px){
  .legal{padding-top:calc(var(--gap) + 2rem)}
  .legal__body{font-size:1rem}
}
