/* ============================================================
   tuto — legal pages (privacy / terms)
   Monochrome, no card, no accent — plain typographic document.
   Reuses tokens + fonts from styles.css.
   ============================================================ */

.legal-page{background:var(--bg);}
.legal-page main{display:block;}

/* ---------- slim static header ---------- */
.legal-header{border-bottom:1px solid var(--outline);}
.legal-header .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;}
.lh-brand{display:inline-flex;align-items:center;gap:8px;font-family:'Sansation',sans-serif;font-weight:700;
  font-size:1.12rem;color:var(--ink);}
.lh-brand img{width:26px;height:26px;object-fit:contain;}
.lh-back{font-family:'Onest',sans-serif;font-size:.9rem;color:var(--ink-muted);
  transition:color .2s var(--ease);}
.lh-back:hover{color:var(--ink);}

/* ---------- document — no container, sits on the page ---------- */
.legal-wrap{max-width:680px;}
.legal-doc{padding:clamp(2.4rem,6vw,4rem) 0 clamp(2.8rem,8vw,4.6rem);}

.legal-doc h1{font-family:'Sansation',sans-serif;font-weight:700;font-size:var(--fs-h2);line-height:1.1;
  letter-spacing:-.01em;color:var(--ink);}
.legal-meta{font-family:'Onest',sans-serif;font-size:var(--fs-small);color:var(--ink-faint);margin-top:.85rem;}
.legal-lead{font-size:var(--fs-lead);color:var(--ink-muted);line-height:1.65;margin-top:1.6rem;}

/* numbered sections — clause numbering is meaningful, kept monochrome */
.legal-body{counter-reset:sec;margin-top:2.6rem;}
.legal-body section{margin-top:2.4rem;}
.legal-body section:first-child{margin-top:0;}
.legal-body h2{counter-increment:sec;font-family:'Sansation',sans-serif;font-weight:700;
  font-size:var(--fs-h3);line-height:1.25;color:var(--ink);display:flex;gap:.6rem;}
.legal-body h2::before{content:counter(sec);color:var(--ink-faint);font-variant-numeric:tabular-nums;
  font-weight:400;min-width:1.3em;}
.legal-body p{font-size:var(--fs-body);line-height:1.75;color:var(--ink);margin-top:.9rem;}

/* lists — em-dash markers, not dots */
.legal-body ul{margin:.85rem 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem;}
.legal-body li{position:relative;padding-left:1.3rem;font-size:var(--fs-body);line-height:1.7;color:var(--ink);}
.legal-body li::before{content:"—";position:absolute;left:0;color:var(--ink-faint);}

.legal-body a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:1px;text-decoration-color:var(--ink-faint);
  transition:text-decoration-color .2s var(--ease);}
.legal-body a:hover{text-decoration-color:var(--ink);}
.legal-body strong{font-weight:600;}

/* fill-me placeholder — monochrome, still easy to spot before publish */
.ph{color:var(--ink-muted);background:color-mix(in srgb,var(--ink) 6%,transparent);
  padding:.05em .35em;border-radius:4px;}

/* ---------- slim footer ---------- */
.legal-foot{border-top:1px solid var(--outline);padding:1.8rem 0 2.2rem;
  margin-top:clamp(2.6rem,7vw,4rem);}
.legal-foot .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1.4rem;}
.legal-foot .lf-copy{font-family:'Onest',sans-serif;font-size:.82rem;color:var(--ink-faint);}
.legal-foot nav{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;}
.legal-foot a{font-family:'Onest',sans-serif;font-size:.88rem;color:var(--ink-muted);
  transition:color .2s var(--ease);}
.legal-foot a:hover{color:var(--ink);}
