/* ===========================================================
   legal.css — Common Ground Pilates legal / policy pages
   (privacy.html · sms-policy.html · studio-policies.html)
   added 2026-06-22 (Tier-1 content port).

   Loads ON TOP of studio-hub.css + nav.css, so it inherits the
   site tokens (--paper/--ink/--terracotta…), the fixed .topnav,
   the .mesh/.topo background and the .page-foot footer. This
   sheet only styles the editorial legal-document body.
   Editorial-luxury per DESIGN-SYSTEM.md: Fraunces display,
   Inter body, warm paper, terracotta accent, hairline rules.
   =========================================================== */

.legal-main{
  max-width:860px;margin:0 auto;
  /* clear the fixed top nav */
  padding:clamp(118px,15vh,172px) clamp(20px,5vw,40px) clamp(70px,9vh,120px);
}

/* ---------- hero ---------- */
.legal-hero{border-bottom:1px solid var(--rule);padding-bottom:clamp(26px,4vh,42px)}
.legal-eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font:600 12px/1 "Inter";letter-spacing:.28em;text-transform:uppercase;color:var(--terracotta);
}
.legal-eyebrow .dot{width:6px;height:6px;border-radius:50%;background:var(--terracotta)}
.legal-hero h1{
  font:300 clamp(40px,7vw,76px)/1.02 "Fraunces";letter-spacing:-.025em;
  margin:18px 0 0;color:var(--ink);
}
.legal-hero h1 b{font-weight:500;font-style:italic;color:var(--terracotta-2)}
.legal-dates{
  display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:22px;
  font:500 11.5px/1 "Inter";letter-spacing:.16em;text-transform:uppercase;color:var(--ink-mute);
}
.legal-dates b{color:var(--ink-soft);font-weight:600}
.legal-lede{
  font:300 clamp(18px,1.9vw,24px)/1.5 "Fraunces";letter-spacing:-.01em;
  color:var(--ink-soft);max-width:62ch;margin:24px 0 0;
}

/* ---------- table of contents ---------- */
.legal-toc{
  display:flex;flex-wrap:wrap;gap:10px;margin:clamp(28px,4vh,40px) 0 0;
}
.legal-toc a{
  font:500 12px/1 "Inter";letter-spacing:.04em;color:var(--ink-soft);text-decoration:none;
  border:1px solid var(--rule);border-radius:999px;padding:9px 15px;
  background:#f3eee3;transition:.25s cubic-bezier(.16,1,.3,1);
}
.legal-toc a:hover{border-color:var(--terracotta);color:var(--terracotta);transform:translateY(-2px)}

/* ---------- body ---------- */
.legal-body{padding-top:clamp(30px,5vh,52px)}
.legal-section{
  padding:clamp(26px,4vh,40px) 0;border-bottom:1px solid var(--rule-2);
  scroll-margin-top:110px;
}
.legal-section:last-child{border-bottom:none}
.legal-section > h2{
  font:400 clamp(24px,2.6vw,34px)/1.12 "Fraunces";letter-spacing:-.02em;color:var(--ink);margin:0;
  display:flex;gap:16px;align-items:baseline;
}
.legal-section > h2 .n{
  font:600 13px/1 "Inter";letter-spacing:.14em;color:var(--terracotta);flex:none;
  transform:translateY(-2px);
}
.legal-section h3{
  font:500 clamp(16px,1.4vw,20px)/1.3 "Fraunces";letter-spacing:-.01em;color:var(--ink);
  margin:26px 0 0;
}
.legal-body p{
  font:400 clamp(15px,1.05vw,17px)/1.75 "Inter";color:var(--ink-soft);max-width:68ch;margin:16px 0 0;
}
.legal-body p:first-of-type{margin-top:18px}
.legal-body strong{color:var(--ink);font-weight:600}
.legal-body a{color:var(--terracotta);text-decoration:none}
.legal-body a:hover{text-decoration:underline}

.legal-body ul{margin:16px 0 0;padding:0;list-style:none;max-width:68ch}
.legal-body ul li{
  position:relative;padding:7px 0 7px 26px;
  font:400 clamp(15px,1.05vw,17px)/1.65 "Inter";color:var(--ink-soft);
  border-bottom:1px solid var(--rule-2);
}
.legal-body ul li:last-child{border-bottom:none}
.legal-body ul li::before{
  content:"";position:absolute;left:4px;top:15px;width:6px;height:6px;border-radius:50%;
  background:var(--terracotta);opacity:.7;
}

/* ---------- A2P / compliance callout (STOP-HELP box) ---------- */
.legal-callout{
  margin:28px 0 0;padding:clamp(22px,3vw,30px);border-radius:16px;
  background:#f3eee3;border:1px solid var(--rule);
  box-shadow:0 18px 50px -34px rgba(26,24,22,.5);
}
.legal-callout .co-eyebrow{
  font:600 11px/1 "Inter";letter-spacing:.22em;text-transform:uppercase;color:var(--terracotta);
  display:block;margin-bottom:12px;
}
.legal-callout p{margin-top:10px}
.legal-callout p:first-of-type{margin-top:0}
.legal-callout .kw{
  font-weight:600;color:var(--ink);
  border-bottom:2px solid var(--gold);
}

/* ---------- contact card ---------- */
.legal-contact{
  margin-top:clamp(34px,5vh,52px);padding:clamp(24px,3.4vw,34px);
  border-radius:16px;background:var(--ink);color:var(--paper);
}
.legal-contact .lc-eyebrow{
  font:600 11px/1 "Inter";letter-spacing:.24em;text-transform:uppercase;color:var(--gold);
}
.legal-contact .lc-name{font:400 clamp(22px,2.4vw,30px)/1.15 "Fraunces";margin:12px 0 14px;color:var(--paper)}
.legal-contact .lc-rows{display:grid;gap:4px}
.legal-contact .lc-rows a,.legal-contact .lc-rows span{
  font:400 15px/1.7 "Inter";color:rgba(246,241,230,.82);text-decoration:none;
}
.legal-contact .lc-rows a:hover{color:var(--gold)}

/* ---------- footnote / cross-links ---------- */
.legal-foot-note{
  margin-top:clamp(30px,4vh,44px);font:400 13.5px/1.7 "Inter";color:var(--ink-mute);
}
.legal-foot-note a{color:var(--terracotta);text-decoration:none}
.legal-foot-note a:hover{text-decoration:underline}
