/* ==========================================================================
   Legal_Style.css — privacy statement, terms. Long-form reading, so the
   priority is measure, rhythm and scannability rather than visual flourish.
   ========================================================================== */

.legal{padding:40px 0 72px;}
.legal .wrap{max-width:760px;}

.legal-head{
  padding-bottom:28px;
  margin-bottom:32px;
  border-bottom:1px solid var(--line);
}
.legal-head h1{
  font-size:clamp(30px,5vw,44px);
  margin-bottom:14px;
}
.legal-lede{
  font-size:17px;color:var(--ink-3);
  line-height:1.65;max-width:60ch;
}
.legal-date{
  font-size:13px;color:var(--ink-4);
  margin-top:16px;
}

/* Body copy: ~65 characters is the comfortable reading measure. */
.legal-body{max-width:66ch;}
.legal-body h2{
  font-size:23px;
  margin:40px 0 12px;
  scroll-margin-top:90px;
}
.legal-body h3{
  font-size:17px;
  margin:26px 0 8px;
}
.legal-body p{
  font-size:16px;color:var(--ink-2);
  line-height:1.72;
  margin-bottom:14px;
}
.legal-body p.small{
  font-size:14px;color:var(--ink-3);
}
.legal-body a{
  color:var(--accent-text);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}
.legal-body strong,.legal-body b{color:var(--ink);font-weight:700;}

/* Summary box at the top: the version most people will actually read. */
.legal-note{
  background:var(--sage-lt);
  border-left:3px solid var(--sage);
  border-radius:0 var(--r) var(--r) 0;
  padding:18px 20px;
  margin-bottom:34px;
  font-size:15.5px;
  line-height:1.65;
  color:var(--ink-2);
}
.legal-note strong{color:var(--sage);}

.bullets{
  margin:0 0 16px;
  padding-left:20px;
}
.bullets li{
  font-size:16px;color:var(--ink-2);
  line-height:1.65;
  margin-bottom:7px;
  padding-left:4px;
}

/* Company details: label/value pairs, not prose. */
.kvlist{list-style:none;padding:0;margin:0 0 18px;}
.kvlist li{
  display:flex;flex-wrap:wrap;gap:6px 16px;
  padding:10px 0;
  border-bottom:1px dashed var(--line);
  font-size:15px;
}
.kvlist li:last-child{border-bottom:none;}
.kvlist span{color:var(--ink-3);min-width:150px;}
.kvlist b{color:var(--ink);font-weight:600;}

/* Anything the owner still has to supply is marked, not silently blank. */
.todo{
  background:var(--amber-lt);
  color:var(--amber) !important;
  font-weight:700 !important;
  padding:2px 8px;
  border-radius:5px;
  font-size:13.5px;
}

.party-list{list-style:none;padding:0;margin:0 0 18px;}
.party-list li{
  padding:14px 16px;
  background:var(--paper-2);
  border-radius:var(--r);
  margin-bottom:9px;
}
.party-list b{
  display:block;
  font-size:15px;color:var(--ink);
  margin-bottom:3px;
}
.party-list span{
  display:block;
  font-size:14.5px;color:var(--ink-3);
  line-height:1.6;
}

.tw{overflow-x:auto;margin:0 0 20px;}
.legal-body table{
  border-collapse:collapse;width:100%;
  font-size:14.5px;min-width:520px;
}
.legal-body th{
  text-align:left;
  font-family:'Inter',sans-serif;
  font-size:11.5px;font-weight:700;
  letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-4);
  padding:0 14px 9px 0;
  border-bottom:1.5px solid var(--line);
}
.legal-body td{
  padding:11px 14px 11px 0;
  border-bottom:1px solid var(--line);
  vertical-align:top;
  color:var(--ink-2);
  line-height:1.55;
}
.legal-body tr:last-child td{border-bottom:none;}

.legal-cta{
  margin-top:44px;padding:24px;
  background:var(--paper-2);
  border-radius:var(--r-lg);
  display:flex;flex-direction:column;gap:14px;
  align-items:flex-start;
}
@media (min-width:620px){
  .legal-cta{flex-direction:row;align-items:center;justify-content:space-between;}
}
.legal-cta p{margin:0 !important;font-size:15.5px;}
