/* ============================================================
   LEGAL PAGES (flex). .page-hero--light, .eyebrow in base.css.
   ============================================================ */
.legal-hero{ padding:70px 0 60px; }
.legal-hero-inner h1{ font-size:clamp(32px,4vw,48px); margin:12px 0 8px; color:var(--black); }
.legal-hero-inner p{ font-size:14px; color:var(--gray); }

.legal-section{ padding:70px 0 100px; background:var(--white); }
.legal-layout{ display:flex; gap:60px; align-items:flex-start; }
.legal-toc{
  position:sticky; top:90px; flex:none; width:240px;
  background:var(--purple-tint); border-radius:14px; padding:20px;
}
.toc-title{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--gray); margin-bottom:12px; }
.legal-toc ol{ display:flex; flex-direction:column; gap:6px; padding-left:16px; }
.legal-toc li{ font-size:13.5px; }
.legal-toc a{ color:var(--gray); transition:color .2s; }
.legal-toc a:hover{ color:var(--purple); }

.legal-content{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:44px; }
.legal-block h2{ font-size:20px; margin-bottom:14px; padding-bottom:12px; border-bottom:1px solid var(--line); }
.legal-block p{ font-size:14.5px; color:var(--gray); line-height:1.75; margin-bottom:12px; }
.legal-block p:last-child{ margin-bottom:0; }
.legal-block ul{ margin:12px 0 12px 20px; display:flex; flex-direction:column; gap:8px; list-style:disc; }
.legal-block ul li{ font-size:14.5px; color:var(--gray); line-height:1.65; }
.legal-block ul li strong{ color:var(--black); }
.legal-block a{ color:var(--purple); text-decoration:underline; }
.legal-notice{
  background:var(--purple-tint); border:1px solid var(--purple-tint-2);
  border-radius:12px; padding:18px 20px;
  font-size:14px; color:var(--black); line-height:1.6;
}
.legal-contact-box{
  background:var(--purple-tint); border-radius:12px; padding:20px 24px; margin-top:12px;
}
.legal-contact-box p{ font-size:14.5px; color:var(--gray); line-height:1.75; }
.legal-contact-box a{ color:var(--purple); }

.legal-table-wrap{ overflow-x:auto; margin-top:12px; }
.legal-table{ width:100%; border-collapse:collapse; font-size:14px; }
.legal-table th{ background:var(--purple-tint); padding:12px 16px; text-align:left; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--gray); }
.legal-table td{ padding:12px 16px; border-bottom:1px solid var(--line); color:var(--gray); }
.legal-table tr:last-child td{ border-bottom:none; }

/* ============ RESPONSIVE — LEGAL ============ */
@media (max-width:980px){
  .legal-layout{ flex-direction:column; gap:40px; }
  .legal-toc{ position:static; width:100%; }
}