/* =========================================================
   The Kitchen CFO — Policy / legal page styling
   Uses the existing brand palette & fonts (defined in styles.css)
   so these new pages read as part of the same site.
   ========================================================= */
.legal .l-hero{ background:var(--navy); color:#fff; padding:70px 44px 60px; position:relative; overflow:hidden; }
.legal .l-hero::before{ content:""; position:absolute; inset:0;
  background:radial-gradient(760px 400px at 84% -14%, rgba(217,169,74,.18), transparent 62%),
             radial-gradient(700px 380px at 6% 130%, rgba(198,126,109,.2), transparent 60%); }
.legal .l-hero .wrap{ max-width:900px; margin:0 auto; position:relative; }
.legal .l-eye{ display:inline-flex; align-items:center; gap:14px; color:var(--gold-soft);
  font-size:12.5px; letter-spacing:.26em; text-transform:uppercase; margin-bottom:20px; }
.legal .l-eye::before{ content:""; width:36px; height:1.5px; background:var(--gold); }
.legal .l-hero h1{ font-family:'Playfair Display',serif; font-size:clamp(38px,5.4vw,68px);
  font-weight:500; line-height:1.03; }
.legal .l-hero h1 em{ color:var(--coral); font-style:italic; }
.legal .l-hero .updated{ margin-top:18px; font-size:14px; color:#c7d0dc; letter-spacing:.02em; }

.legal .l-body{ max-width:820px; margin:0 auto; padding:56px 40px 90px; }
.legal .l-body h2{ font-family:'Playfair Display',serif; font-size:clamp(23px,3vw,30px);
  color:var(--navy); font-weight:500; margin:40px 0 14px; }
.legal .l-body h2:first-child{ margin-top:0; }
.legal .l-body h3{ font-family:'Playfair Display',serif; font-size:19px; color:var(--navy);
  font-weight:500; margin:26px 0 10px; }
.legal .l-body p{ font-size:16.5px; color:var(--text); margin-bottom:18px; }
.legal .l-body ul{ margin:0 0 18px 22px; }
.legal .l-body li{ font-size:16.5px; color:var(--text); margin-bottom:9px; }
.legal .l-body a{ color:var(--coral); text-decoration:underline; text-underline-offset:2px; }
.legal .l-body a:hover{ color:var(--coral-dark); }
.legal .l-body .note{ background:var(--paper); border:1px solid var(--line); border-left:3px solid var(--gold);
  border-radius:8px; padding:18px 22px; margin:26px 0; font-size:15px; color:var(--text-soft); }
.legal .l-body .lead-in{ font-family:'Playfair Display',serif; color:var(--navy); }
.legal .l-body table{ width:100%; border-collapse:collapse; margin:8px 0 22px; }
.legal .l-body th, .legal .l-body td{ text-align:left; padding:11px 12px; border-bottom:1px solid var(--line);
  font-size:15px; vertical-align:top; }
.legal .l-body th{ color:var(--navy); font-weight:600; }
.legal .l-toc{ display:flex; flex-wrap:wrap; gap:8px 14px; margin:28px 0 8px; padding-bottom:22px;
  border-bottom:1px solid var(--line); }
.legal .l-toc a{ font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--navy);
  text-decoration:none; border:1px solid var(--line); border-radius:999px; padding:7px 14px; }
.legal .l-toc a:hover{ border-color:var(--coral); color:var(--coral); }
@media(max-width:640px){ .legal .l-hero{ padding:54px 22px 46px; } .legal .l-body{ padding:40px 22px 70px; } }
