@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap");

:root {
  --ink: #0c2340;
  --muted: #5f6c7b;
  --paper: #fbfaf7;
  --white: #ffffff;
  --line: #d8d9d7;
  --red: #e21b23;
  --shell: 1320px;
  font-family: "Manrope", "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { min-width: 0; margin: 0; background: var(--paper); color: var(--ink); -webkit-font-smoothing: antialiased; }
a { color: inherit; }
.legal-shell { width: min(var(--shell), calc(100% - 80px)); margin-inline: auto; }
.legal-header { position: sticky; top: 0; z-index: 10; height: 82px; border-bottom: 1px solid var(--line); background: rgba(251, 250, 247, .96); backdrop-filter: blur(12px); }
.legal-header-inner { height: 100%; display: flex; align-items: center; gap: 40px; }
.legal-logo { display: block; width: 151px; flex: 0 0 auto; }
.legal-logo img { display: block; width: 100%; }
.legal-nav { display: flex; align-items: center; gap: 34px; margin-left: 34px; }
.legal-nav a { padding: 8px 0; color: var(--ink); font-size: 13px; font-weight: 600; text-decoration: none; }
.legal-nav a:hover, .legal-nav a:focus-visible, .legal-nav a[aria-current="page"] { color: var(--red); }
.legal-home { margin-left: auto; display: inline-flex; align-items: center; min-height: 38px; padding: 0 17px; border: 1px solid var(--ink); color: var(--ink); font-size: 13px; font-weight: 600; text-decoration: none; transition: background .18s ease, color .18s ease; }
.legal-home:hover, .legal-home:focus-visible { border-color: var(--red); background: var(--red); color: white; }
.legal-main { padding: 70px 0 80px; }
.legal-layout { display: grid; grid-template-columns: minmax(460px, .82fr) minmax(0, 1.18fr); gap: 56px; align-items: start; }
.legal-aside { position: sticky; top: 116px; }
.legal-aside h1 { max-width: 100%; margin: 0; font-size: clamp(38px, 2.8vw, 46px); line-height: 1.09; letter-spacing: -.05em; font-weight: 650; hyphens: manual; overflow-wrap: anywhere; }
.legal-date { margin: 22px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.legal-contact { margin: 34px 0 0; padding: 24px; background: var(--ink); color: white; }
.legal-contact h2 { margin: 0 0 16px; font-size: 14px; line-height: 1.4; font-weight: 700; }
.legal-contact p { margin: 0; font-size: 13px; line-height: 1.72; }
.legal-contact p + p { margin-top: 12px; }
.legal-contact a { color: white; text-underline-offset: 3px; }
.legal-back { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; padding-bottom: 7px; border-bottom: 1px solid var(--red); color: var(--red); font-size: 14px; font-weight: 650; text-decoration: none; }
.legal-back::before { content: "←"; font-size: 19px; line-height: 1; }
.legal-back:hover, .legal-back:focus-visible { color: var(--ink); border-color: var(--ink); }
.legal-content { min-width: 0; }
.legal-section { padding: 27px 0 29px; border-top: 1px solid var(--line); }
.legal-section:last-child { border-bottom: 1px solid var(--line); }
.legal-section h2 { margin: 0 0 13px; font-size: 22px; line-height: 1.28; letter-spacing: -.025em; font-weight: 650; }
.legal-section p { max-width: 850px; margin: 0; color: #33475e; font-size: 15px; line-height: 1.75; }
.legal-section p + p { margin-top: 13px; }
.legal-section a { color: var(--red); font-weight: 600; text-underline-offset: 3px; }
.legal-section ul { margin: 0; padding: 0; list-style: none; }
.legal-section li { position: relative; padding-left: 18px; color: #33475e; font-size: 15px; line-height: 1.7; }
.legal-section li::before { content: ""; position: absolute; top: .75em; left: 0; width: 5px; height: 5px; border-radius: 50%; background: var(--red); }
.legal-section li + li { margin-top: 5px; }
.legal-footer { border-top: 1px solid var(--line); }
.legal-footer-inner { min-height: 88px; display: flex; align-items: center; gap: 28px; color: var(--muted); font-size: 12px; }
.legal-footer-brand { margin-right: auto; }
.legal-footer a { color: var(--muted); text-decoration: none; }
.legal-footer a:hover, .legal-footer a:focus-visible { color: var(--red); }
@media (max-width: 1000px) { .legal-shell { width: min(var(--shell), calc(100% - 40px)); } .legal-header-inner { gap: 26px; } .legal-nav { margin-left: 0; gap: 20px; } .legal-layout { display: block; } .legal-aside { position: static; } .legal-back { margin-bottom: 44px; } }
@media (max-width: 700px) { .legal-header { height: 70px; } .legal-logo { width: 132px; } .legal-nav { display: none; } .legal-home { min-height: 36px; padding: 0 13px; font-size: 12px; } .legal-main { padding: 42px 0 56px; } .legal-layout { display: block; } .legal-aside { position: static; } .legal-aside h1 { max-width: 100%; font-size: clamp(36px, 11vw, 46px); } .legal-contact { margin-top: 28px; padding: 22px; } .legal-back { margin: 22px 0 38px; } .legal-section { padding: 23px 0 25px; } .legal-section h2 { margin-bottom: 11px; font-size: 20px; } .legal-section p, .legal-section li { font-size: 14px; line-height: 1.7; } .legal-footer-inner { min-height: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; padding: 20px 0 28px; } .legal-footer-brand { grid-column: 1 / -1; margin: 0 0 14px; } .legal-footer a { min-height: 38px; display: flex; align-items: center; border-top: 1px solid var(--line); } }
