    @keyframes float-up { from { transform: translateY(10px); opacity: 0 } to { transform: translateY(0); opacity: 1 } }
    .animate-float-up { animation: float-up .55s cubic-bezier(.2,.9,.25,1) both }
    .vh-100 { min-height: 100vh }
    .listing-shell {
        background: linear-gradient(135deg, #e0e7ff 0%, #ffffff 45%, #c7d2fe 100%);
    }
    .dark .listing-shell {
        background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 55%, #111827 100%);
    }
    .split-grid {
        display: grid;
        grid-template-columns: 1fr;
        min-height: 100vh;
    }
    @media (min-width: 1024px) {
        .split-grid { grid-template-columns: 1fr 1fr; }
    }

    .split-panel {
        color: #ffffff;
        position: relative;
        overflow: hidden;
        border: 1px solid rgba(255,255,255,0.18);
        will-change: transform;
        transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    }
    .split-panel:hover {
        transform: translateY(-4px) scale(1.01);
        box-shadow: 0 20px 45px rgba(15, 23, 42, 0.28);
        border-color: rgba(255,255,255,0.35);
    }
    .split-panel::before {
        content: "";
        position: absolute;
        inset: -30% -10% auto auto;
        width: 340px;
        height: 340px;
        border-radius: 9999px;
        background: rgba(255,255,255,0.12);
        filter: blur(30px);
        pointer-events: none;
    }
    .split-panel svg { color: inherit; }

    .split-left {
        background: radial-gradient(120% 120% at 80% 10%, #4f46e5 0%, #312e81 48%, #1e1b4b 100%) !important;
    }
    .split-right {
        background: linear-gradient(180deg, #4f46e5 0%, #7c3aed 62%, #312e81 100%) !important;
    }
    .dark .split-left {
        background: radial-gradient(120% 120% at 80% 10%, #4338ca 0%, #312e81 48%, #0f172a 100%) !important;
    }
    .dark .split-right {
        background: linear-gradient(180deg, #4338ca 0%, #6d28d9 60%, #0f172a 100%) !important;
    }

    .panel-badge {
        display: inline-flex;
        align-items: center;
        gap: .45rem;
        padding: .45rem .85rem;
        border-radius: 9999px;
        font-size: .78rem;
        font-weight: 700;
        letter-spacing: .03em;
        text-transform: uppercase;
        background: rgba(255,255,255,0.16);
        border: 1px solid rgba(255,255,255,0.2);
    }
    .step-strip {
        display: flex;
        flex-wrap: wrap;
        gap: .5rem;
    }
    .step-pill {
        display: inline-flex;
        align-items: center;
        border: 1px solid rgba(255,255,255,0.2);
        background: rgba(255,255,255,0.12);
        color: rgba(255,255,255,0.95);
        border-radius: 9999px;
        padding: .35rem .7rem;
        font-size: .76rem;
        font-weight: 600;
        letter-spacing: .01em;
    }
    .value-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: .6rem;
    }
    .value-item {
        display: flex;
        align-items: flex-start;
        gap: .55rem;
        font-size: .95rem;
        color: rgba(255,255,255,0.92);
    }
    .value-dot {
        width: 1.4rem;
        height: 1.4rem;
        border-radius: 9999px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        background: rgba(255,255,255,0.16);
        flex: 0 0 auto;
        margin-top: .05rem;
    }
    .meta-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: .75rem;
    }
    .meta-card {
        border-radius: .85rem;
        padding: .8rem;
        background: rgba(255,255,255,0.1);
        border: 1px solid rgba(255,255,255,0.14);
    }
    .meta-label {
        font-size: .75rem;
        color: rgba(255,255,255,0.78);
        text-transform: uppercase;
        letter-spacing: .03em;
        margin-bottom: .15rem;
    }
    .meta-value {
        font-size: .98rem;
        font-weight: 700;
        color: #ffffff;
    }
    .cta-box {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: .6rem;
        width: 100%;
        border-radius: 14px;
        padding: 16px 22px;
        background: #ffffff;
        color: #0f172a;
        text-decoration: none;
        transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
        border: 1px solid rgba(15,23,42,0.06);
        box-shadow: 0 8px 20px rgba(15,23,42,0.12);
        font-weight: 700;
        font-size: 1.02rem;
        overflow: hidden;
    }
    .cta-sub { font-size: .86rem; color: rgba(15,23,42,0.6); font-weight:500; }
    .cta-icon {
        position: absolute;
        right: 14px;
        top: 50%;
        transform: translateY(-50%);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 1.05rem;
        opacity: 0.95;
        pointer-events: none;
        color: rgba(15,23,42,0.8);
    }

    .cta-box::before {
        content: "";
        position: absolute;
        inset: 0;
        border-radius: 14px;
        pointer-events: none;
        z-index: 2;
        border: 2px solid transparent;
        box-sizing: border-box;
        background: none;
        mask-image: none;
        border-image: conic-gradient(
            from 0deg,
            transparent 0deg, 
            transparent 10deg,
            #ffd700 60deg, 
            #fffbe6 90deg, 
            #ffd700 120deg, 
            transparent 170deg, 
            transparent 360deg
        ) 1;
        animation: gold-border-spin 2.2s linear infinite;
        opacity: 0.95;
    }
    @keyframes gold-border-spin {
        0%   { border-image-source: conic-gradient(from 0deg, transparent 0deg, transparent 10deg, #ffd700 60deg, #fffbe6 90deg, #ffd700 120deg, transparent 170deg, transparent 360deg); }
        100% { border-image-source: conic-gradient(from 360deg, transparent 0deg, transparent 10deg, #ffd700 60deg, #fffbe6 90deg, #ffd700 120deg, transparent 170deg, transparent 360deg); }
    }

    @media (max-width: 640px) {
        .meta-grid,
        .trust-note,
        .legal-links,
        .value-list {
            display: none !important;
        }
    }
    .cta-box:hover {
        transform: translateY(-4px);
        box-shadow: 0 14px 35px rgba(15,23,42,0.18);
        background: #f8fafc;
    }
    .cta-box:focus-visible {
        outline: none;
        box-shadow: 0 0 0 4px rgba(99,102,241,0.14), 0 14px 35px rgba(15,23,42,0.18);
    }
    /* Dark mode: keep strong contrast but match dark aesthetic */
    .dark .cta-box {
        background: linear-gradient(90deg, rgba(255,255,255,0.06), rgba(255,255,255,0.04));
        color: #fff;
        border: 1px solid rgba(255,255,255,0.12);
        box-shadow: 0 10px 30px rgba(2,6,23,0.55);
    }
    .dark .cta-sub { color: rgba(255,255,255,0.9); }
    .dark .cta-icon { color: rgba(255,255,255,0.95); }

    .legal-links a {
        color: rgba(255,255,255,0.9);
        text-decoration: underline;
        text-underline-offset: 3px;
        font-size: .86rem;
    }
    .trust-note {
        margin-top: 1rem;
        padding: .75rem .85rem;
        border-radius: .75rem;
        border: 1px solid rgba(255,255,255,0.18);
        background: rgba(255,255,255,0.1);
        color: rgba(255,255,255,0.9);
        font-size: .84rem;
    }

    .panel-overlay-link {
        background: transparent !important;
        -webkit-tap-highlight-color: transparent;
    }

    .modal-scroll {
        max-height: 85vh;
    }

    .modal-content { color: #0f172a; }
    .dark .modal-content { color: #f8fafc; }
