.legal-page { padding-bottom: 0; }
.legal-main { min-height: 70vh; }
.legal-hero { padding-block: 86px 58px; }
.legal-back { display: inline-flex; margin-bottom: 40px; color: #8fa1bc; font-size: 13px; }
.legal-back:hover { color: white; }
.legal-hero h1 { max-width: 900px; margin: 10px 0 20px; font-size: clamp(42px, 7vw, 76px); letter-spacing: -.055em; }
.legal-hero > p { max-width: 780px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.85; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.legal-meta span { padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; color: #91a1ba; background: rgba(255,255,255,.025); font-size: 11px; }

.legal-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 76px; padding-bottom: 110px; }
.legal-sidebar { position: sticky; top: 118px; align-self: start; display: grid; gap: 4px; padding: 18px; border: 1px solid var(--line); border-radius: 18px; background: rgba(12,24,42,.72); }
.legal-sidebar strong { margin: 4px 10px 11px; color: #e7edfa; font-size: 12px; }
.legal-sidebar a { padding: 10px; border-radius: 10px; color: #8495af; font-size: 12px; }
.legal-sidebar a:hover, .legal-sidebar a.active { color: white; background: rgba(119,124,239,.14); }
.legal-sidebar a.active { box-shadow: inset 2px 0 #7c80f2; }

.legal-article { min-width: 0; }
.legal-article > section { padding: 36px 0; border-top: 1px solid var(--line); }
.legal-article > section:first-of-type { border-top: 0; padding-top: 8px; }
.legal-article h2 { display: flex; gap: 16px; margin: 0 0 20px; color: #edf2ff; font-size: clamp(20px, 3vw, 27px); letter-spacing: -.025em; }
.legal-article h2 span { flex: 0 0 auto; padding-top: 4px; color: #777ce9; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 11px; letter-spacing: .06em; }
.legal-article p, .legal-article li { color: #9cacc2; font-size: 14px; line-height: 1.9; }
.legal-article p { margin: 0 0 15px; }
.legal-article ul { display: grid; gap: 9px; margin: 18px 0 0; padding-left: 22px; }
.legal-article li::marker { color: #777ce9; }

.contact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-bottom: 34px; }
.contact-card { min-width: 0; display: grid; gap: 7px; padding: 23px; border: 1px solid var(--line); border-radius: 17px; color: inherit; background: linear-gradient(145deg, rgba(26,43,70,.76), rgba(10,22,39,.82)); }
.contact-card:hover { border-color: rgba(124,128,242,.45); transform: translateY(-2px); }
.contact-card span { color: #7789a5; font-size: 10px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.contact-card strong { overflow-wrap: anywhere; color: #f4f7ff; font-size: 16px; }
.contact-card small { color: #8192ab; font-size: 11px; line-height: 1.55; }

.legal-contact-strip { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 30px; padding: 27px 30px; border: 1px solid rgba(124,128,242,.28); border-radius: 20px; background: linear-gradient(120deg, rgba(83,88,198,.17), rgba(34,211,166,.07)); }
.legal-contact-strip div { display: grid; gap: 5px; }
.legal-contact-strip strong { color: #f0f3ff; font-size: 15px; }
.legal-contact-strip span { color: #8fa0b7; font-size: 12px; }
.legal-contact-strip .button { flex: 0 0 auto; min-height: 42px; padding-inline: 18px; font-size: 12px; }
.legal-footer-main { grid-template-columns: 2fr repeat(3, 1fr); }

@media (max-width: 900px) {
  .legal-layout { grid-template-columns: 1fr; gap: 34px; }
  .legal-sidebar { position: static; grid-template-columns: repeat(5, minmax(max-content, 1fr)); overflow-x: auto; }
  .legal-sidebar strong { grid-column: 1 / -1; }
  .legal-sidebar a { white-space: nowrap; }
}

@media (max-width: 720px) {
  .legal-hero { padding-block: 60px 42px; }
  .legal-back { margin-bottom: 30px; }
  .legal-hero > p { font-size: 15px; }
  .legal-layout { padding-bottom: 78px; }
  .legal-sidebar { margin-inline: -4px; padding: 12px; }
  .contact-grid { grid-template-columns: 1fr; }
  .legal-contact-strip { align-items: flex-start; flex-direction: column; padding: 24px; }
  .legal-footer-main { grid-template-columns: 1fr 1fr; }
}
