.legal-page { background:var(--paper); line-height:1.7; }
.legal-header { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px max(20px,calc((100% - 1080px)/2)); border-bottom:1px solid var(--line); background:var(--cream); }
.legal-brand { display:flex; align-items:center; gap:12px; color:var(--cocoa); text-decoration:none; font-weight:800; }
.legal-brand img { width:60px; height:60px; object-fit:contain; border-radius:12px; }
.legal-header > a:last-child { color:var(--green-deep); font-weight:700; text-underline-offset:4px; }
.legal-wrap { width:min(920px,calc(100% - 40px)); margin:auto; padding:54px 0 72px; }
.legal-wrap h1 { max-width:800px; margin:0 0 18px; font-size:clamp(2.5rem,6vw,4.3rem); line-height:1.08; letter-spacing:-.035em; }
.legal-wrap h2 { margin:36px 0 14px; font-size:clamp(1.45rem,3vw,1.9rem); line-height:1.2; }
.legal-wrap h3 { margin:26px 0 10px; font-size:1.3rem; line-height:1.3; }
.legal-wrap p, .legal-wrap li { color:var(--ink); }
.legal-wrap a { color:var(--green-deep); text-underline-offset:3px; overflow-wrap:anywhere; }
.legal-wrap li + li { margin-top:8px; }
.legal-wrap ul, .legal-wrap ol { padding-left:24px; }
.legal-meta { color:var(--muted) !important; font-size:.9rem; }
.legal-intro { padding:22px 26px; margin:24px 0; border-left:5px solid var(--lime); border-radius:0 14px 14px 0; background:var(--cream); }
.legal-intro p { margin:0; }
.legal-toc { display:flex; flex-wrap:wrap; gap:10px 18px; padding:18px 0 24px; border-bottom:1px solid var(--line); font-size:.9rem; }
.legal-wrap section { scroll-margin-top:20px; }
.legal-data { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.legal-data article { padding:22px; border:1px solid var(--line); border-radius:16px; background:#fff; }
.legal-data h3 { margin-top:0; }
.legal-data p:last-child { margin-bottom:0; }
.legal-contact { padding:26px; margin-top:38px; border-radius:18px; background:var(--cocoa); color:white; }
.legal-contact h2 { margin-top:0; color:white; }
.legal-contact p, .legal-contact a { color:white; }
.legal-contact .button { color:var(--cocoa-deep); margin:6px 10px 0 0; background:var(--mango-light); }
.legal-footer { display:flex; flex-wrap:wrap; justify-content:center; gap:10px 24px; padding:26px 20px; border-top:1px solid var(--line); background:var(--cream); font-size:.9rem; }
.legal-footer a { color:var(--green-deep); text-underline-offset:3px; }
@media(max-width:620px) {
  .legal-header { align-items:flex-start; gap:16px; padding:16px 20px; }
  .legal-brand { gap:8px; font-size:.9rem; }
  .legal-brand img { width:44px; height:44px; }
  .legal-header > a:last-child { font-size:.85rem; }
  .legal-wrap { padding-top:36px; }
  .legal-data { grid-template-columns:1fr; }
  .legal-intro, .legal-contact { padding:20px; }
}
@media print {
  .legal-header, .legal-toc, .legal-footer, .skip-link { display:none; }
  .legal-wrap { width:100%; padding:0; }
  .legal-data { display:block; }
  .legal-data article { break-inside:avoid; margin-bottom:10px; }
  .legal-contact { background:white; border:1px solid var(--line); }
  .legal-contact h2, .legal-contact p, .legal-contact a { color:var(--ink); }
}
