.legal-page { background: #f7faf8; color: #263d34; }
.legal-header { align-items: center; background: rgba(255,255,255,.96); border-bottom: 1px solid #dfe8e3; display: flex; justify-content: space-between; min-height: 72px; padding: 0 clamp(22px,6vw,88px); position: sticky; top: 0; z-index: 10; }
.legal-header nav, .legal-footer nav { align-items: center; display: flex; gap: 22px; }
.legal-header nav a, .legal-footer a { color: #496158; font-size: 12px; font-weight: 650; text-decoration: none; }
.legal-header .legal-login { background: #0f7a4f; border-radius: 8px; color: #fff; padding: 10px 14px; }
.legal-shell { display: grid; gap: clamp(44px,7vw,105px); grid-template-columns: minmax(240px,340px) minmax(0,760px); justify-content: center; padding: 76px clamp(22px,6vw,88px) 92px; }
.legal-aside { align-self: start; display: grid; gap: 12px; position: sticky; top: 120px; }
.legal-aside p { color: #0f7a4f; font-size: 11px; font-weight: 800; letter-spacing: .12em; margin: 0; text-transform: uppercase; }
.legal-aside h1 { color: #153e30; font-size: clamp(35px,4vw,52px); letter-spacing: -2px; line-height: 1.02; margin: 0 0 8px; }
.legal-aside span { color: #75867e; font-size: 12px; }
.legal-aside a { color: #0f7a4f; font-size: 12px; font-weight: 700; text-decoration: none; }
.legal-content { background: #fff; border: 1px solid #e0e9e4; border-radius: 18px; box-shadow: 0 20px 50px rgba(25,61,47,.06); padding: clamp(28px,5vw,64px); }
.legal-lead { color: #345448; font-size: 18px; line-height: 1.65; margin: 0 0 42px; }
.legal-content section { border-top: 1px solid #edf2ef; padding: 28px 0 2px; }
.legal-content h2 { color: #183f31; font-size: 20px; letter-spacing: -.3px; margin: 0 0 12px; }
.legal-content p, .legal-content li { color: #586e65; font-size: 14px; line-height: 1.78; }
.legal-content p { margin: 0 0 14px; }
.legal-content ul { display: grid; gap: 9px; margin: 0 0 15px; padding-left: 21px; }
.legal-content strong { color: #344f44; }
.legal-content a { color: #0f7a4f; font-weight: 700; }
.legal-footer { align-items: center; border-top: 1px solid #dfe8e3; color: #7b8c84; display: flex; font-size: 11px; justify-content: space-between; padding: 28px clamp(22px,6vw,88px); }
@media (max-width: 820px) {
  .legal-header nav > a:first-child { display: none; }
  .legal-shell { grid-template-columns: 1fr; padding-top: 48px; }
  .legal-aside { position: static; }
}
@media (max-width: 520px) {
  .legal-header { min-height: 64px; }
  .legal-header .brand { font-size: 16px; }
  .legal-content { border-radius: 13px; }
  .legal-footer { align-items: flex-start; flex-direction: column; gap: 14px; }
}
