        :root {
            --primary: #156cf9;
            --primary-dark: #23529c;
            --bg: #f4f7f6;
            --card: #ffffff;
            --border: #dce7fb;
            --text: #243042;
            --muted: #5f6b7a;
        }

        html {  
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: var(--bg);
            color: var(--text);
            margin: 0;
            min-height: 100vh;
        }

        .navbar.is-custom {
            background: rgba(255, 255, 255, 0.92);
            backdrop-filter: blur(10px);
            box-shadow: 0 2px 14px rgba(0, 0, 0, 0.06);
        }

        .hero.is-legal {
            background: linear-gradient(135deg, #ffffff 0%, #edf4ff 45%, #dfeaff 100%);
            border-bottom: 1px solid var(--border);
        }

        .hero .title {
            color: var(--primary-dark);
        }

        .hero .subtitle {
            color: var(--muted);
        }

        .button.is-primary {
            background-color: var(--primary);
            border-color: var(--primary);
        }

        .button.is-primary:hover {
            background-color: var(--primary-dark);
            border-color: var(--primary-dark);
        }

        .button.is-light-blue {
            background-color: #edf4ff;
            color: var(--primary-dark);
            border: 1px solid #cfe0ff;
        }

        .legal-card {
            background: var(--card);
            border-radius: 16px;
            border: 1px solid var(--border);
            box-shadow: 0 8px 28px rgba(21, 108, 249, 0.08);
            padding: 2rem;
            margin-bottom: 1.5rem;
        }

        .section-title {
            color: var(--primary-dark);
            margin-bottom: 1rem;
        }

        .anchor-offset {
            scroll-margin-top: 90px;
        }

        .notice-box {
            background: #eef5ff;
            border-left: 4px solid var(--primary);
            border-radius: 12px;
            padding: 1rem 1.1rem;
            color: var(--text);
        }

        .small-note {
            color: var(--muted);
            font-size: 0.95rem;
        }

        .placeholder {
            color: #c63a3a;
            font-weight: 700;
        }

        .footer-custom {
            background: #ffffff;
            border-top: 1px solid var(--border);
            margin-top: 2rem;
            padding: 1.5rem 1rem;
        }

        .footer-custom p {
            margin-bottom: 0.6rem;
            font-size: 0.9rem;
        }

        .footer-logo {
            display: block;
            margin: 0 auto;
            max-height: 55px;
            width: auto;
            opacity: 0.9;
        }

        .content ul li,
        .content ol li {
            margin-bottom: 0.35rem;
        }

        .copy-box {
            background: #f8fbff;
            border: 1px solid var(--border);
            border-radius: 12px;
        }

        .tag.is-custom {
            background-color: #edf4ff;
            color: var(--primary-dark);
            border: 1px solid #cfe0ff;
        }

        @media (max-width: 768px) {
            .legal-card {
                padding: 1.25rem;
            }
            .footer-logo {
                max-height: 45px;
            }
        }