/* Decode Lyfe · legal pages (disclaimer, privacy, terms) */
.legal{padding:clamp(28px,4vw,48px) 0 clamp(56px,7vw,96px)}
.legal-tabs{display:flex;gap:6px;flex-wrap:wrap;padding:6px;background:var(--white);border:1px solid var(--line);border-radius:999px;width:max-content;max-width:100%}
.legal-tabs a{padding:8px 16px;border-radius:999px;font-size:14.5px;font-weight:600;color:var(--ink-2);text-decoration:none}
.legal-tabs a:hover{color:var(--ink)}
.legal-tabs a[aria-current="page"]{background:var(--green);color:#fff}
.legal-head{margin:clamp(28px,4vw,44px) 0 clamp(24px,3vw,36px);max-width:760px}
.legal-head h1{font-size:clamp(32px,4vw,48px)}
.legal-sub{margin-top:10px;font-size:18px;color:var(--ink-2)}
.legal-meta{margin-top:6px;font-size:14px;color:var(--ink-3)}
.legal-grid{display:grid;grid-template-columns:240px minmax(0,760px);gap:clamp(32px,5vw,72px);align-items:start}
.legal-toc{position:sticky;top:96px;font-size:14px}
.legal-toc p{font-weight:700;color:var(--ink-3);font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.legal-toc ol{display:grid;gap:2px;border-left:1px solid var(--line)}
.legal-toc a{display:block;padding:5px 0 5px 14px;color:var(--ink-2);text-decoration:none;line-height:1.4}
.legal-toc a:hover{color:var(--green)}
.legal-body{font-size:16px;color:var(--ink-2)}
.legal-intro{padding:16px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);color:var(--ink)}
.legal-body h2{font-size:clamp(20px,2vw,24px);margin:44px 0 14px;scroll-margin-top:96px}
.legal-body h2 span{color:var(--gold)}
.legal-body h3{font-size:16.5px;margin:24px 0 8px;color:var(--ink)}
.legal-body p{margin:0 0 12px}
.legal-body ul{margin:4px 0 16px;display:grid;gap:8px}
.legal-body li{position:relative;padding-left:22px}
.legal-body li::before{content:"";position:absolute;left:4px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--green)}
.legal-body a{color:var(--green);font-weight:600}
.legal-note{margin:16px 0 20px;padding:16px 20px;border-radius:var(--r);background:var(--gold-soft);border-left:3px solid var(--gold)}
.legal-note p{margin:0;color:var(--ink)}
.legal-note strong{color:var(--green-deep)}
.legal-table{margin:12px 0 20px;overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--white)}
.legal-table table{width:100%;border-collapse:collapse;font-size:14.5px}
.legal-table th,.legal-table td{padding:12px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.legal-table th{background:var(--sage);color:var(--green-deep)}
.legal-table tr:last-child td{border-bottom:0}
.legal-contact{font-style:normal;margin-top:8px;padding:18px 20px;background:var(--white);border:1px solid var(--line);border-radius:var(--r);line-height:1.8;color:var(--ink)}
.footer--slim{padding:26px 0}
.footer--slim .footer__base{padding-top:0}
@media (max-width:900px){
  .legal-grid{grid-template-columns:1fr}
  .legal-toc{position:static}
}
@media (max-width:640px){
  .legal-tabs{border-radius:var(--r);width:100%}
  .legal-tabs a{flex:1 1 auto;text-align:center;font-size:13.5px;padding:8px 10px}
  .legal-table thead{display:none}
  .legal-table table,.legal-table tbody,.legal-table tr,.legal-table td{display:block}
  .legal-table tr{border-bottom:1px solid var(--line)}
  .legal-table tr:last-child{border-bottom:0}
  .legal-table td{border:0;padding:6px 16px}
  .legal-table td::before{content:attr(data-label);display:block;font-size:12px;font-weight:700;color:var(--ink-3)}
  .legal-table tr td:first-child{padding-top:14px;color:var(--ink);font-weight:600}
  .legal-table tr td:last-child{padding-bottom:14px}
  .header .btn--sm{min-height:38px;padding:0 12px;font-size:13px}
}
