/* Legal pages (privacy, terms) — 2026-10-25.
   Full site width (--shell): a sticky contents column beside the text on
   wide screens, one column with the contents on top below 980px. Uses the
   site palette from styles.css. */

.legal{
  max-width:var(--shell);
  margin:0 auto;
  padding:clamp(20px,3vw,36px) var(--gut) clamp(64px,8vw,104px);
}
.legal__head{max-width:900px;margin-bottom:clamp(28px,4vw,44px)}
.legal .back{display:inline-block;margin:0 0 clamp(18px,3vw,28px);color:var(--mute);text-decoration:none;font-size:15px}
.legal .back:hover{color:var(--terra-ink)}
.legal .eyebrow{margin-bottom:12px}
.legal h1{font-size:clamp(34px,5.4vw,60px);font-weight:700;letter-spacing:-.02em;line-height:1.04;margin:0 0 14px;color:var(--ink)}
.legal .meta{color:var(--mute);font-size:15px;margin:0}

.legal__grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(32px,4vw,64px);align-items:start}

/* contents */
.legal__toc{
  position:sticky;top:96px;
  max-height:calc(100vh - 120px);overflow:auto;
  border-left:2px solid var(--rule);padding:4px 0 4px 18px;
}
.legal__toc p{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--terra-ink);margin:0 0 12px}
.legal__toc ol{list-style:none;margin:0;padding:0}
.legal__toc li{margin:0 0 9px;line-height:1.35}
.legal__toc a{color:var(--body);text-decoration:none;font-size:14.5px}
.legal__toc a:hover,.legal__toc a.is-current{color:var(--terra-ink)}

/* text */
.legal__body{min-width:0}
.legal__body section{scroll-margin-top:96px}
.legal__body h2{font-size:clamp(20px,2.2vw,24px);font-weight:700;letter-spacing:-.01em;margin:clamp(36px,4vw,48px) 0 12px;padding-top:clamp(20px,2.6vw,28px);border-top:1px solid var(--rule);color:var(--ink)}
.legal__body section:first-of-type h2{margin-top:0;padding-top:0;border-top:0}
.legal__body h3{font-size:17px;font-weight:700;margin:24px 0 8px;color:var(--ink)}
.legal__body p,.legal__body li{color:var(--body);font-size:clamp(16px,1.15vw,17px);line-height:1.72}
.legal__body p{margin:0 0 14px;max-width:880px}
.legal__body ul,.legal__body ol{margin:0 0 16px;padding-left:22px;max-width:880px}
.legal__body li{margin:0 0 7px}
.legal__body b,.legal__body strong{color:var(--ink);font-weight:600}
.legal__body a{color:var(--navy);text-underline-offset:3px;overflow-wrap:anywhere}
.legal__box{
  border:1px solid var(--rule);background:var(--surface);box-shadow:var(--shadow-s);
  border-radius:var(--r,14px);padding:clamp(16px,2vw,22px) clamp(18px,2.4vw,26px);margin:0 0 clamp(28px,3vw,36px);
}
.legal__box p{margin:0;max-width:none}
.legal__box p + p{margin-top:10px}

/* tablets and phones: one column, contents as a compact card on top */
@media (max-width:980px){
  .legal__grid{grid-template-columns:1fr}
  .legal__toc{
    position:static;max-height:none;border-left:0;
    border:1px solid var(--rule-soft);background:var(--surface);border-radius:var(--r,14px);padding:16px 18px;
  }
  .legal__toc ol{columns:2;column-gap:24px}
  .legal__toc li{break-inside:avoid}
}
@media (max-width:560px){
  .legal__toc ol{columns:1}
}
