/* ============================================================
   KEANU — Legal pages (Terms, Privacy, Cookie, Disclaimer)
   Clean editorial readability inspired by theowo.london/legal:
   single readable column, generous line-height, quiet hierarchy.
   Reuses tokens + fonts from the bundled style.css.
   ============================================================ */
.legal-body{
  background:var(--paper);
  color:var(--ink);
  min-height:100vh;
}

/* Topbar already styled by main CSS; force dark (paper) variant on legal pages */
.legal-body .topbar{
  position:sticky;background-color:rgba(244,242,236,.92);
  backdrop-filter:blur(18px) saturate(118%);
  -webkit-backdrop-filter:blur(18px) saturate(118%);
  border-bottom:1px solid var(--line);
  grid-template-columns:auto 1fr auto;
}
.legal-body .topbar .invite{color:var(--ink);}

/* Reading column */
.lg-main{
  max-width:760px;
  margin:0 auto;
  padding:clamp(80px,12vh,140px) clamp(24px,6vw,40px) clamp(80px,12vh,120px);
}
.lg-eyebrow{
  font-family:var(--bd);font-size:11px;font-weight:400;
  letter-spacing:.38em;text-transform:uppercase;color:var(--accent);
  margin:0 0 18px;
}
.lg-title{
  font-family:var(--hd);font-weight:400;font-style:normal;
  font-size:clamp(34px,5vw,56px);line-height:1.12;letter-spacing:.005em;
  color:var(--ink);margin:0 0 16px;
}
.lg-meta{
  font-family:var(--bd);font-size:12px;letter-spacing:.08em;
  color:var(--muted);margin:0 0 56px;
  padding-bottom:32px;border-bottom:1px solid var(--line);
}

/* Content blocks */
.lg-content{ }
.lg-h{
  font-family:var(--hd);font-weight:400;
  font-size:clamp(20px,2.4vw,28px);line-height:1.3;letter-spacing:.005em;
  color:var(--ink);
  margin:48px 0 16px;
}
.lg-h:first-child{margin-top:0;}
.lg-p{
  font-family:var(--bd);font-weight:300;
  font-size:clamp(15px,1.1vw,16.5px);line-height:1.85;
  color:var(--ink);margin:0 0 18px;
}
.lg-list{
  margin:0 0 22px;padding-left:22px;
  display:flex;flex-direction:column;gap:10px;
}
.lg-list li{
  font-family:var(--bd);font-weight:300;
  font-size:clamp(14.5px,1.05vw,16px);line-height:1.7;
  color:var(--ink);
  position:relative;list-style:none;padding-left:18px;
}
.lg-list li::before{
  content:"";position:absolute;left:0;top:11px;
  width:5px;height:5px;border-radius:50%;background:var(--accent);
}

/* Tables (Cookie policy annexes) */
.lg-tablewrap{overflow-x:auto;margin:8px 0 28px;}
.lg-table{
  width:100%;border-collapse:collapse;
  font-family:var(--bd);font-size:13px;line-height:1.5;
}
.lg-table th{
  text-align:left;font-weight:700;color:var(--ink);
  padding:12px 14px;border-bottom:2px solid var(--line);
  background:var(--paper-2);
  font-size:11px;letter-spacing:.08em;text-transform:uppercase;
}
.lg-table td{
  padding:12px 14px;border-bottom:1px solid var(--line);
  color:var(--muted);vertical-align:top;
}

.lg-foot-note{
  margin-top:56px;padding-top:32px;border-top:1px solid var(--line);
  font-family:var(--bd);font-size:14px;color:var(--muted);
}
.lg-foot-note a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;}

/* Footer */
.lg-footer{
  background:var(--night);color:var(--cream);
  padding:72px 24px 56px;
}
.lg-footer .f-stack{display:flex;flex-direction:column;align-items:center;gap:32px;text-align:center;}
.lg-footer .f-logo{height:48px;width:auto;opacity:.9;}
.lg-footer .f-legal{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:center;}
.lg-footer .f-legal a{
  font-family:var(--bd);font-size:11px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--cream);opacity:.7;transition:opacity .4s var(--ease);
}
.lg-footer .f-legal a:hover{opacity:1;}
.lg-footer .f-bot{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center;}
.lg-footer .f-bot span{font-family:var(--bd);font-size:11px;letter-spacing:.12em;color:rgba(231,221,202,.5);}

@media (max-width:820px){
  .lg-main{padding:90px 22px 70px;}
  .lg-meta{margin-bottom:40px;}
  .lg-h{margin:38px 0 14px;}
}
