﻿/* Stages */
        .stage-card {
            background: var(--bg-card);
            border: 1px solid var(--border-subtle);
            border-radius: var(--radius-lg);
            padding: 28px;
            position: relative;
            overflow: hidden;
            transition: all var(--transition-base);
        }

        .stage-card:hover {
            border-color: var(--border-accent);
            transform: translateY(-2px);
        }

        .stage-card::before {
            content: attr(data-num);
            position: absolute;
            top: -8px;
            right: 12px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 72px;
            font-weight: 900;
            color: rgba(192, 132, 252, 0.04);
            line-height: 1;
            pointer-events: none;
        }

        .stage-badge {
            font-family: 'JetBrains Mono', monospace;
            font-size: 10px;
            letter-spacing: 2px;
            color: var(--accent);
            margin-bottom: 6px;
            display: block;
        }

        .stage-card h3 {
            font-size: 18px;
            margin-bottom: 6px;
        }

        .stage-sub {
            font-size: 12px;
            color: var(--text-muted);
            margin-bottom: 14px;
            font-style: italic;
            display: block;
        }

        .stage-card p {
            font-size: 13.5px;
            color: var(--text-secondary);
            line-height: 1.8;
        }

        .stage-milestone {
            margin-top: 14px;
            padding: 10px 14px;
            background: var(--bg-elevated);
            border-radius: 8px;
            border-left: 2px solid var(--accent);
            font-size: 12px;
            color: var(--text-muted);
            line-height: 1.7;
        }

        .stage-milestone strong {
            color: var(--text-secondary);
        }

        /* Law cards */
        .law-card {
            background: var(--bg-card);
            border: 1px solid var(--border-subtle);
            border-radius: var(--radius-lg);
            overflow: hidden;
            transition: all var(--transition-base);
        }

        .law-card:hover {
            border-color: var(--border-accent);
            transform: translateY(-2px);
        }

        .law-vis {
            background: var(--bg-elevated);
            padding: 36px;
            text-align: center;
            font-size: 48px;
            position: relative;
        }

        .law-vis::before {
            content: '';
            position: absolute;
            inset: 0;
            background: radial-gradient(circle at center, rgba(192, 132, 252, 0.04) 0%, transparent 70%);
        }

        .law-body {
            padding: 24px 28px 28px;
        }

        .law-num {
            font-family: 'JetBrains Mono', monospace;
            font-size: 10px;
            letter-spacing: 2px;
            color: var(--accent);
            margin-bottom: 4px;
            display: block;
        }

        .law-card h3 {
            font-size: 18px;
            margin-bottom: 10px;
        }

        .law-card p {
            font-size: 13.5px;
            color: var(--text-secondary);
            line-height: 1.8;
        }

        .law-example {
            margin-top: 14px;
            padding: 12px 14px;
            background: var(--bg-elevated);
            border-radius: 8px;
            font-size: 12px;
            color: var(--text-muted);
            line-height: 1.7;
        }

        /* Download banner */
        .download-banner {
            background: linear-gradient(135deg, rgba(192, 132, 252, 0.08), rgba(99, 102, 241, 0.06));
            border: 1px solid rgba(192, 132, 252, 0.15);
            border-radius: var(--radius-lg);
            padding: 40px;
            display: flex;
            align-items: center;
            gap: 32px;
        }

        .download-icon {
            font-size: 48px;
            flex-shrink: 0;
        }

        .download-info h3 {
            font-size: 18px;
            margin-bottom: 6px;
        }

        .download-info p {
            font-size: 13px;
            color: var(--text-secondary);
            margin-bottom: 16px;
            line-height: 1.7;
        }

        @media (max-width: 768px) {
            .download-banner {
                flex-direction: column;
                text-align: center;
            }
        }
