/* Legal page layout lives outside base.css so cached base variants cannot drop it. */
.legal-hero{
  padding:clamp(72px, 10vw, 132px) 0 clamp(32px, 4vw, 52px);
  border-bottom:1px solid var(--line);
}
.legal-shell{ max-width:980px; }
.legal-hero h1{
  font-size:clamp(2.7rem, 6vw, 5.8rem);
  max-width:12ch;
  margin:0;
}
.legal-intro{
  max-width:720px;
  margin-top:22px;
  color:var(--ink-soft);
  font-size:1.08rem;
  line-height:1.55;
}
.legal-date{
  display:flex; gap:10px; flex-wrap:wrap; align-items:baseline;
  margin-top:18px;
  color:var(--ink-soft);
  font-size:1.05rem;
}
.legal-date span:first-child{ font-weight:700; color:var(--ink); }
.legal-main{ padding:clamp(38px, 6vw, 76px) 0 clamp(72px, 8vw, 112px); }
.legal-copy{
  background:#FCFCFB;
  border:1px solid rgba(18,18,18,0.08);
  border-radius:var(--r-panel);
  padding:clamp(28px, 5vw, 64px);
  color:var(--ink-soft);
  box-shadow:0 22px 60px -48px rgba(18,18,18,0.45);
}
.legal-copy p,
.legal-copy li{
  color:var(--ink-soft);
  font-size:.98rem;
  line-height:1.72;
  text-wrap:auto;
}
.legal-copy p{ margin:0 0 1rem; }
.legal-copy strong{ color:var(--ink); font-weight:700; }
.legal-copy em{ color:var(--ink); }
.legal-copy a{
  color:var(--accent);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
  overflow-wrap:anywhere;
}
.legal-copy figure{
  float:right;
  max-width:118px;
  margin:0 0 24px 28px;
}
.legal-copy figure img{ border-radius:var(--r-card); }
.legal-copy ol{
  counter-reset:item;
  list-style:none;
  padding-left:0;
  margin:1rem 0;
}
.legal-copy ol > li{
  counter-increment:item;
  position:relative;
  padding-left:3rem;
  margin:0 0 .9rem;
}
.legal-copy ol ol > li{ padding-left:4rem; }
.legal-copy ol > li::before{
  content:counters(item, ".") " ";
  position:absolute;
  left:0;
  top:0;
  white-space:nowrap;
  color:var(--ink);
  font-weight:700;
}
.legal-copy > ol > li::before{ content:counters(item, ".") ". "; }
.legal-copy ul{
  list-style:none;
  padding-left:0;
  margin:1rem 0;
}
.legal-copy ul > li{
  list-style:none;
  padding-left:0;
  margin:0 0 .75rem;
}
.legal-copy .w-embed{ overflow-x:auto; margin:1.25rem 0; }
.legal-copy table{
  width:100%;
  min-width:680px;
  border-collapse:collapse;
  color:var(--ink-soft);
  font-size:.92rem;
  line-height:1.55;
}
.legal-copy th,
.legal-copy td{
  text-align:left;
  vertical-align:top;
  border:1px solid rgba(18,18,18,0.12);
  padding:14px 16px;
}
.legal-copy th{
  background:var(--paper-2);
  color:var(--ink);
  font-weight:700;
}
.legal-copy td ul{ margin:0; }
.legal-copy td li{ font-size:.92rem; line-height:1.55; margin-bottom:.45rem; }
.legal-copy > *:first-child{ margin-top:0; }
.legal-copy > *:last-child{ margin-bottom:0; }

@media (max-width: 720px){
  .legal-hero h1{ max-width:100%; }
  .legal-copy{ padding:24px 18px; }
  .legal-copy p,
  .legal-copy li{ font-size:.94rem; line-height:1.68; }
  .legal-copy ol > li{ padding-left:2.45rem; }
  .legal-copy ol ol > li{ padding-left:3.15rem; }
  .legal-copy figure{ float:none; margin:0 0 22px; }
}
