:root {
    --legal-blue: #0753d6;
    --legal-pink: #f50057;
    --legal-navy: #071b4d;
    --legal-text: #4f5e77;
    --legal-border: #dce7f7;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    min-height: 100vh;
    color: var(--legal-navy);
    background:
        radial-gradient(circle at 7% 5%, rgba(47, 140, 255, .12), transparent 24%),
        radial-gradient(circle at 94% 8%, rgba(245, 0, 87, .08), transparent 22%),
        #f7faff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.legal-shell { width: min(960px, calc(100% - 32px)); margin: 0 auto; padding: 32px 0 70px; }
.legal-topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 26px; }
.legal-topbar img { width: 180px; max-width: 48vw; }
.legal-back { display: inline-flex; align-items: center; min-height: 42px; padding: 0 14px; border: 1px solid #bdd5fa; border-radius: 13px; color: var(--legal-blue); background: rgba(255,255,255,.82); font-size: 13px; font-weight: 900; text-decoration: none; }
.legal-document { overflow: hidden; border: 1px solid var(--legal-border); border-radius: 30px; background: #fff; box-shadow: 0 24px 70px rgba(7, 27, 77, .11); }
.legal-hero { padding: 38px clamp(24px, 6vw, 62px) 30px; color: #fff; background: linear-gradient(135deg, #0753d6, #2449a8 62%, #7b3297); }
.legal-hero span { display: inline-flex; padding: 7px 11px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; background: rgba(255,255,255,.12); font-size: 11px; font-weight: 950; letter-spacing: .8px; }
.legal-hero h1 { margin: 15px 0 10px; font-size: clamp(34px, 6vw, 58px); line-height: 1; }
.legal-hero p { max-width: 720px; margin: 0; color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.6; }
.legal-beta-note { margin: 0; padding: 16px clamp(24px, 6vw, 62px); border-bottom: 1px solid #f2d7e4; color: #8d2750; background: #fff7fb; font-size: 13px; line-height: 1.5; }
.legal-content { padding: 32px clamp(24px, 6vw, 62px) 50px; }
.legal-content section { padding: 22px 0; border-bottom: 1px solid #e7eef9; }
.legal-content section:last-child { border-bottom: 0; }
.legal-content h2 { margin: 0 0 10px; color: var(--legal-navy); font-size: 22px; }
.legal-content h3 { margin: 18px 0 8px; color: var(--legal-blue); font-size: 15px; }
.legal-content p, .legal-content li { color: var(--legal-text); font-size: 14px; line-height: 1.65; }
.legal-content ul { margin: 10px 0 0; padding-left: 22px; }
.legal-content a { color: var(--legal-blue); font-weight: 850; }
.legal-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.legal-summary div { padding: 16px; border: 1px solid #dce7f7; border-radius: 17px; background: #f8fbff; }
.legal-summary strong { display: block; color: var(--legal-blue); font-size: 12px; }
.legal-summary small { display: block; margin-top: 5px; color: var(--legal-text); line-height: 1.4; }
.legal-footer { display: flex; justify-content: center; gap: 18px; flex-wrap: wrap; padding-top: 24px; color: #6d7890; font-size: 12px; }
.legal-footer a { color: var(--legal-blue); font-weight: 900; }

@media (max-width: 700px) {
    .legal-shell { width: min(100% - 20px, 960px); padding-top: 18px; }
    .legal-topbar { align-items: flex-start; }
    .legal-document { border-radius: 23px; }
    .legal-summary { grid-template-columns: 1fr; }
}
