.legal-page { width:min(46em, 100%); margin-inline:auto; padding-block:clamp(30px, 5vw, 64px); }
.legal-page h1 { margin:var(--sp-sm) 0 var(--sp-xs); overflow-wrap:anywhere; font-size:clamp(2.4rem, 6vw, 3.8rem); line-height:1; }
.legal-page .lead { max-width:38em; color:var(--ink-soft); font-size:var(--txt-md); line-height:1.6; }
.breadcrumb { display:flex; align-items:center; gap:var(--sp-xs); color:var(--ink-soft); font-size:var(--txt-sm); margin-bottom:var(--sp-md); }
.legal-section { padding-top:clamp(24px, 3.5vw, 38px); }
.legal-section h2 { font-size:1.35rem; margin-bottom:var(--sp-xs); }
.legal-section p, .legal-section li { color:var(--ink-soft); line-height:1.62; }
.legal-section p { margin:0 0 var(--sp-sm); }
.legal-section ul { margin:0; padding-left:1.25em; display:grid; gap:var(--sp-xs); }
.legal-details { margin:var(--sp-sm) 0 0; display:flex; flex-direction:column; gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--r-sm); overflow:hidden; }
.legal-details > div { display:grid; grid-template-columns:11em 1fr; gap:var(--sp-md); padding:10px 14px; background:var(--paper); }
.legal-details dt { font-size:var(--txt-sm); font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
.legal-details dd { margin:0; line-height:1.55; }
.legal-actions { display:flex; flex-wrap:wrap; gap:var(--sp-sm); margin-top:var(--sp-xl); padding-top:var(--sp-md); border-top:1px solid var(--line); }
.site-footer { display:flex; justify-content:space-between; align-items:center; gap:var(--sp-md); padding:var(--sp-lg) max(var(--sp-md), calc((100vw - var(--maxw)) / 2)); background:var(--plum-dark); color:#fff; }
.site-footer nav { display:flex; flex-wrap:wrap; gap:var(--sp-md); }
.site-footer a { color:#fff; }
@media (max-width:520px) {
  .legal-details > div { grid-template-columns:1fr; gap:var(--sp-2xs); }
  .site-footer { align-items:flex-start; flex-direction:column; }
}
