body.legal-redesign {
    --legal-primary: #7c3aed;
    --legal-primary-hover: #6d28d9;
    --legal-primary-light: #8b5cf6;
    --legal-grad: linear-gradient(135deg, #7c3aed 0%, #6d28d9 100%);
    --legal-teal: #14b8a6;
    --legal-bg-grad: linear-gradient(135deg, #f1f5fb 0%, #eef2ff 100%);
    --legal-border: #e2e8f0;
    --legal-border-light: #f1f5f9;
    --legal-text: #0f172a;
    --legal-text-light: #64748b;
    --legal-text-lighter: #94a3b8;
    --legal-success: #10b981; --legal-success-light: #ecfdf5; --legal-success-fg: #047857;
    --legal-danger: #f43f5e;  --legal-danger-light: #fef2f2;  --legal-danger-fg: #be123c;
    --legal-warning: #f59e0b; --legal-warning-light: #fffbeb; --legal-warning-fg: #b45309;
    --legal-r-md: 8px; --legal-r-lg: 12px; --legal-r-xl: 16px; --legal-r-2xl: 20px;
    --legal-card-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 24px 60px -28px rgba(79, 38, 145, .26);
    --legal-card-shadow-hover: 0 1px 2px rgba(15, 23, 42, .04), 0 30px 64px -22px rgba(79, 38, 145, .36);
    --legal-focus: 0 0 0 4px rgba(124, 58, 237, .12);
    --legal-t: 0.3s ease;
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

@keyframes legal-rise { from { opacity: 0; transform: translateY(16px) scale(.99); } to { opacity: 1; transform: none; } }
@keyframes legal-aura { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-1.5%, 1.5%) scale(1.05); } }
@keyframes legal-line { to { transform: scaleX(1); } }

body.legal-redesign,
body.legal-redesign *,
body.legal-redesign *::before,
body.legal-redesign *::after { box-sizing: border-box; }

body.legal-redesign {
    margin: 0;
    min-height: 100vh;
    position: relative;
    padding: 48px 20px 56px;
    color: var(--legal-text);
    background: var(--legal-bg-grad);
    line-height: 1.7;
    overflow-x: hidden;
}

body.legal-redesign::before {
    content: "";
    position: fixed;
    inset: -12%;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(38% 44% at 16% 20%, rgba(124, 58, 237, .17), transparent 60%),
        radial-gradient(34% 40% at 86% 16%, rgba(20, 184, 166, .13), transparent 60%),
        radial-gradient(46% 50% at 82% 88%, rgba(109, 40, 217, .15), transparent 62%),
        radial-gradient(40% 46% at 10% 86%, rgba(139, 92, 246, .13), transparent 62%);
    animation: legal-aura 22s ease-in-out infinite;
}

body.legal-redesign::after {
    content: "";
    position: fixed;
    right: -60px;
    bottom: -70px;
    width: 420px;
    height: 420px;
    z-index: 0;
    background: url("../images/openoura_icon_no_bg.png") no-repeat center / contain;
    opacity: .045;
    pointer-events: none;
}

body.legal-redesign > * { position: relative; z-index: 1; }

body.legal-redesign .band {
    max-width: 760px;
    margin: 0 auto;
    animation: legal-rise .55s cubic-bezier(.16, 1, .3, 1) both;
}

body.legal-redesign .band .inner { max-width: none; }

body.legal-redesign .brand {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--legal-primary);
}

body.legal-redesign .brand::before {
    content: "";
    width: 20px;
    height: 3px;
    border-radius: 999px;
    background: var(--legal-grad);
}

body.legal-redesign h1 {
    margin: 14px 0 0;
    font-size: clamp(1.7rem, 4.5vw, 2.35rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1.15;
    background: linear-gradient(115deg, #241148 0%, #7c3aed 58%, #6d28d9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

body.legal-redesign .band .meta {
    margin-top: 10px;
    font-size: 0.85rem;
    color: var(--legal-text-light);
}

body.legal-redesign .legal-back-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-size: 0.82rem;
    font-weight: 500;
    color: var(--legal-text-light);
    text-decoration: none;
    transition: color var(--legal-t);
}

body.legal-redesign .legal-back-link:hover {
    color: var(--legal-primary);
    text-decoration: none;
}

body.legal-redesign .wrap {
    max-width: 760px;
    margin: 26px auto 40px;
    padding: 0;
}

body.legal-redesign .card {
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, .9);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    border: 1px solid var(--legal-border-light);
    border-radius: var(--legal-r-2xl);
    box-shadow: var(--legal-card-shadow);
    padding: 42px clamp(24px, 5vw, 52px) 46px;
    animation: legal-rise .55s cubic-bezier(.16, 1, .3, 1) .08s both;
}

body.legal-redesign .card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: linear-gradient(90deg, var(--legal-primary) 0%, var(--legal-primary-hover) 55%, var(--legal-teal) 100%);
    transform: scaleX(0);
    transform-origin: left;
    animation: legal-line .55s .25s forwards;
}

body.legal-redesign .card h2 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 36px 0 12px;
    font-size: 0.76rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--legal-primary);
}

body.legal-redesign .card h2:first-child { margin-top: 0; }

body.legal-redesign .card h2::before {
    content: "";
    flex: 0 0 auto;
    width: 20px;
    height: 3px;
    border-radius: 999px;
    background: var(--legal-grad);
}

body.legal-redesign .card h3 {
    margin: 24px 0 8px;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--legal-primary);
}

body.legal-redesign .card p {
    margin: 10px 0;
    color: var(--legal-text);
    line-height: 1.7;
}

body.legal-redesign .card .lead {
    font-size: 1.02rem;
    color: var(--legal-text-light);
    line-height: 1.7;
    margin: 0 0 8px;
}

body.legal-redesign .card ul {
    margin: 10px 0;
    padding-left: 24px;
}

body.legal-redesign .card li {
    margin: 7px 0;
    color: var(--legal-text);
    line-height: 1.7;
}

body.legal-redesign .card li::marker { color: var(--legal-primary); }

body.legal-redesign a {
    color: var(--legal-primary);
    font-weight: 500;
    text-decoration: none;
    transition: color var(--legal-t);
}

body.legal-redesign a:hover {
    color: var(--legal-primary-hover);
    text-decoration: underline;
}

body.legal-redesign .card strong {
    font-weight: 700;
    color: var(--legal-text);
}

body.legal-redesign .footer {
    max-width: 760px;
    margin: 0 auto;
    padding: 0;
    font-size: 0.8rem;
    text-align: center;
    color: var(--legal-text-light);
    animation: legal-rise .55s cubic-bezier(.16, 1, .3, 1) .16s both;
}

@media (max-width: 480px) {
    body.legal-redesign { padding: 32px 16px 40px; }
    body.legal-redesign .card { padding: 30px 20px 34px; }
    body.legal-redesign::after { width: 280px; height: 280px; }
}

body.legal-redesign a:focus-visible,
body.legal-redesign button:focus-visible,
body.legal-redesign input:focus-visible,
body.legal-redesign select:focus-visible,
body.legal-redesign textarea:focus-visible {
    outline: 2px solid var(--legal-primary);
    outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
    body.legal-redesign,
    body.legal-redesign::before,
    body.legal-redesign::after,
    body.legal-redesign *,
    body.legal-redesign *::before,
    body.legal-redesign *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .08s !important;
    }
}
