/* SENERGY — compact, readable legal documents */
.legal-body { min-height:100vh; background:var(--paper-2); }
.legal-header { position:sticky; top:0; z-index:10; border-bottom:1px solid var(--line); background:rgba(247,249,253,.96); }
.legal-header__inner { display:flex; align-items:center; justify-content:space-between; min-height:64px; gap:1rem; }
.legal-brand { display:inline-flex; align-items:baseline; gap:.7rem; color:var(--ink); }
.legal-brand strong { font-size:1rem; letter-spacing:.24em; }
.legal-brand span, .legal-back { font-size:.8125rem; }
.legal-brand span { color:var(--ink-3); }
.legal-back { display:inline-flex; align-items:center; gap:.5rem; min-height:44px; font-weight:700; color:var(--blue-700); }
.legal-back::before { content:"←"; }
.legal-back:hover::before { transform:translateX(-4px); }
.legal-main { padding:clamp(1rem,3vw,2rem) var(--gutter); }
.legal-card { width:min(100%,900px); margin:0 auto; padding:clamp(1rem,3vw,2rem); border:1px solid var(--line); border-radius:24px; background:#fff; font-size:.9375rem; line-height:1.6; }
.legal-eyebrow { display:block; margin-bottom:.5rem; color:var(--blue-700); font-size:.6875rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.legal-title { color:var(--ink); font-family:var(--font-display); font-size:clamp(1.7rem,4.5vw,2.8rem); font-weight:600; line-height:1.08; letter-spacing:-.02em; }
.legal-lead { margin-top:.65rem; font-size:.875rem; color:var(--ink-2); }
.legal-meta { margin:1rem 0; color:var(--ink-3); font-size:.75rem; }
.legal-section { padding:1rem 0; border-top:1px solid var(--line); scroll-margin-top:80px; }
.legal-section:last-child { padding-bottom:0; }
.legal-section h2 { margin-bottom:.6rem; color:var(--ink); font-family:var(--font-display); font-size:1.5rem; font-weight:600; line-height:1.15; }
.legal-section p + p { margin-top:.6rem; }
.legal-section a, .legal-footer a { color:var(--blue-700); text-decoration:underline; text-underline-offset:.18em; }
.legal-requisites { padding:.9rem 1rem; border-radius:12px; background:var(--paper-2); font-size:.8125rem; overflow-wrap:anywhere; }
.legal-requisites p + p { margin-top:.35rem; }
.legal-account { font-variant-numeric:tabular-nums; }
.legal-footer { padding:0 var(--gutter) 1.5rem; text-align:center; font-size:.8125rem; color:var(--ink-3); }
@media (max-width:640px) {
  .legal-header__inner { min-height:60px; }
  .legal-brand span { display:none; }
  .legal-card { border-radius:18px; font-size:.875rem; }
  .legal-title { font-size:clamp(1.45rem,6.8vw,2.3rem); overflow-wrap:normal; }
  .legal-section h2 { font-size:1.35rem; }
  .legal-back { font-size:.75rem; }
}
@media print {
  .legal-header,.legal-footer { display:none; }
  .legal-main { padding:0; }
  .legal-card { width:100%; padding:0; border:0; font-size:10pt; }
  .legal-section { break-inside:avoid; }
}
