        /* ═══════════════════════════════════════════════════════
           ONBOARDING SECTION — KYA & KYAP
        ═══════════════════════════════════════════════════════ */
        .onboarding-section {
            padding: 6rem 0;
            background: linear-gradient(180deg, #fff 0%, var(--cream) 100%);
        }

        .onboarding-tabs {
            display: flex;
            justify-content: center;
            gap: 0;
            margin-bottom: 3rem;
            background: rgba(45,80,22,0.07);
            border-radius: 60px;
            padding: 6px;
            max-width: 540px;
            margin-left: auto;
            margin-right: auto;
            margin-bottom: 3rem;
        }

        .onboarding-tab-btn {
            flex: 1;
            padding: 0.85rem 1.4rem;
            border: none;
            border-radius: 60px;
            font-weight: 700;
            font-size: 0.9rem;
            cursor: pointer;
            transition: all 0.35s cubic-bezier(.34,1.56,.64,1);
            background: transparent;
            color: var(--primary-green);
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 0.45rem;
        }

        .onboarding-tab-btn.active {
            background: linear-gradient(135deg, var(--primary-green), #3d6b20);
            color: #fff;
            box-shadow: 0 6px 20px rgba(45,80,22,0.28);
        }

        .onboarding-tab-btn i { font-size: 1rem; }
        .onboarding-panel { display: none; }
        .onboarding-panel.active { display: block; }

        /* Entry Cards */
        .onboarding-entry-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            margin-bottom: 3.5rem;
        }

        @media (max-width: 768px) { .onboarding-entry-grid { grid-template-columns: 1fr; } }

        .entry-card {
            border-radius: 24px;
            padding: 2.2rem 1.8rem;
            position: relative;
            overflow: hidden;
            transition: transform 0.35s cubic-bezier(.34,1.56,.64,1), box-shadow 0.35s ease;
            border: 2px solid transparent;
        }

        .entry-card:hover { transform: translateY(-8px); box-shadow: 0 24px 60px rgba(0,0,0,0.11); }

        .entry-card.kya-card {
            background: linear-gradient(135deg, #f0f8f0, #e3f5e3);
            border-color: rgba(45,80,22,0.14);
        }

        .entry-card.kyap-card {
            background: linear-gradient(135deg, #fffbf0, #fff4d6);
            border-color: rgba(232,168,56,0.22);
        }

        .entry-card-badge {
            display: inline-flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.3rem 0.9rem;
            border-radius: 20px;
            font-size: 0.72rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 1.1rem;
        }

        .kya-card .entry-card-badge { background: rgba(45,80,22,0.11); color: var(--primary-green); }
        .kyap-card .entry-card-badge { background: rgba(232,168,56,0.17); color: #8a5e00; }

        .entry-card-icon {
            width: 64px; height: 64px;
            border-radius: 18px;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.8rem; margin-bottom: 1.1rem;
        }

        .kya-card .entry-card-icon {
            background: linear-gradient(135deg, var(--primary-green), #3d6b20);
            color: #fff; box-shadow: 0 8px 24px rgba(45,80,22,0.22);
        }

        .kyap-card .entry-card-icon {
            background: linear-gradient(135deg, var(--accent-gold), #d07a00);
            color: #fff; box-shadow: 0 8px 24px rgba(232,168,56,0.28);
        }

        .entry-card-title { font-family: 'Archivo Black', sans-serif; font-size: 1.4rem; margin-bottom: 0.45rem; }
        .kya-card .entry-card-title { color: var(--primary-green); }
        .kyap-card .entry-card-title { color: #7a4800; }

        .entry-card-desc { color: #555; font-size: 0.92rem; line-height: 1.6; margin-bottom: 1.3rem; }

        .entry-card-features { display: flex; flex-wrap: wrap; gap: 0.4rem; margin-bottom: 1.6rem; }

        .entry-chip { padding: 0.28rem 0.75rem; border-radius: 20px; font-size: 0.75rem; font-weight: 600; }
        .kya-card .entry-chip { background: rgba(45,80,22,0.07); color: var(--primary-green); }
        .kyap-card .entry-chip { background: rgba(232,168,56,0.1); color: #7a4800; }

        .entry-card-btn {
            display: inline-flex; align-items: center; gap: 0.55rem;
            padding: 0.8rem 1.6rem; border-radius: 50px; font-weight: 700;
            font-size: 0.9rem; text-decoration: none; border: none; cursor: pointer;
            transition: all 0.3s ease;
        }

        .kya-card .entry-card-btn { background: linear-gradient(135deg, var(--primary-green), #3d6b20); color:#fff; box-shadow: 0 6px 18px rgba(45,80,22,0.22); }
        .kya-card .entry-card-btn:hover { transform: translateX(4px); box-shadow: 0 10px 28px rgba(45,80,22,0.33); color:#fff; }
        .kyap-card .entry-card-btn { background: linear-gradient(135deg, var(--accent-gold), #d07a00); color:#fff; box-shadow: 0 6px 18px rgba(232,168,56,0.27); }
        .kyap-card .entry-card-btn:hover { transform: translateX(4px); box-shadow: 0 10px 28px rgba(232,168,56,0.37); color:#fff; }

        /* Steps Wizard */
        .steps-wizard {
            background: white; border-radius: 28px;
            box-shadow: 0 12px 50px rgba(0,0,0,0.08);
            overflow: hidden; border: 1px solid rgba(0,0,0,0.05);
        }

        .wizard-header {
            padding: 2rem 2.5rem 1.6rem;
            border-bottom: 1px solid rgba(0,0,0,0.06);
            display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem;
        }

        .wizard-header-left h3 { font-family: 'Archivo Black', sans-serif; font-size: 1.3rem; margin-bottom: 0.25rem; }
        .kya-wizard .wizard-header-left h3 { color: var(--primary-green); }
        .kyap-wizard .wizard-header-left h3 { color: #7a4800; }
        .wizard-header-left p { color: #888; font-size: 0.86rem; margin: 0; }

        .wizard-badge {
            display: flex; align-items: center; gap: 0.45rem;
            padding: 0.45rem 1.1rem; border-radius: 20px; font-size: 0.78rem; font-weight: 700;
        }
        .kya-wizard .wizard-badge { background: rgba(45,80,22,0.08); color: var(--primary-green); }
        .kyap-wizard .wizard-badge { background: rgba(232,168,56,0.11); color: #7a4800; }

        /* Progress Track */
        .steps-progress-track {
            display: flex; align-items: flex-start;
            padding: 2rem 2.5rem; overflow-x: auto; scrollbar-width: none; gap: 0;
        }
        .steps-progress-track::-webkit-scrollbar { display: none; }

        .step-node {
            display: flex; flex-direction: column; align-items: center;
            flex: 1; min-width: 80px; position: relative; cursor: pointer;
        }

        .step-node::before {
            content: ''; position: absolute; top: 20px; left: 50%; right: -50%;
            height: 3px; background: #ebebeb; z-index: 0; transition: background 0.4s ease;
        }
        .step-node:last-child::before { display: none; }
        .step-node.completed::before { background: #e8a838; }
        .kyap-wizard .step-node.completed::before { background: #e8a838; }

        .step-bubble {
            width: 42px; height: 42px; border-radius: 50%;
            border: 3px solid #ddd; background: white;
            display: flex; align-items: center; justify-content: center;
            font-weight: 800; font-size: 0.88rem; color: #bbb;
            z-index: 1; transition: all 0.4s cubic-bezier(.34,1.56,.64,1); position: relative;
        }

        .step-node.active .step-bubble {
            border-color: var(--primary-green); background: #fff; color: var(--primary-green);
            box-shadow: 0 0 0 5px rgba(45,80,22,0.1), 0 4px 12px rgba(45,80,22,0.2); transform: scale(1.1);
        }
        .kyap-wizard .step-node.active .step-bubble {
            border-color: var(--accent-gold); background: #fff; color: var(--accent-gold);
            box-shadow: 0 0 0 5px rgba(232,168,56,0.15), 0 4px 12px rgba(232,168,56,0.2);
        }
        .step-node.completed .step-bubble { border-color: #e8a838; background: #e8a838; color: #1a1a1a; }
        .kyap-wizard .step-node.completed .step-bubble { border-color: #e8a838; background: #e8a838; color: #1a1a1a; }

        .step-label { margin-top: 0.6rem; font-size: 0.72rem; font-weight: 700; text-align: center; color: #ccc; max-width: 80px; line-height: 1.3; transition: color 0.3s ease; }
        .step-node.active .step-label { color: var(--primary-green); }
        .kyap-wizard .step-node.active .step-label { color: var(--accent-gold); }
        .step-node.completed .step-label { color: #666; }

        /* Step Body */
        .wizard-body { padding: 1.5rem 2.5rem 2rem; }

        .step-panel { display: none; animation: stepIn 0.38s ease; }
        .step-panel.active { display: block; }

        @keyframes stepIn { from { opacity:0; transform: translateX(18px); } to { opacity:1; transform: translateX(0); } }

        .step-panel-title { font-size: 1.2rem; font-weight: 800; margin-bottom: 0.35rem; color: var(--dark-slate); }
        .step-panel-sub { color: #888; font-size: 0.87rem; margin-bottom: 1.6rem; }

        /* Req grid */
        .req-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; margin-bottom: 1.5rem; }
        @media (max-width: 600px) { .req-grid { grid-template-columns: 1fr; } }

        .req-item {
            display: flex; align-items: flex-start; gap: 0.8rem;
            padding: 0.9rem 1rem; background: #f8f9fa; border-radius: 14px;
            border: 1.5px solid transparent; transition: all 0.28s ease;
        }
        .req-item:hover { border-color: rgba(232,168,56,0.35); background: #fff8ec; }
        .vc-selected {
            border-color: #e8a838 !important;
            background: #fffbf0 !important;
        }
        .vc-selected .req-item-icon {
            background: #e8a838 !important;
            color: #1a1a1a !important;
        }
        .kyap-wizard .req-item:hover { border-color: rgba(232,168,56,0.26); background: #fffbf0; }

        .req-item-icon {
            width: 36px; height: 36px; border-radius: 10px;
            display: flex; align-items: center; justify-content: center;
            font-size: 1rem; flex-shrink: 0;
        }
        .kya-wizard .req-item-icon { background: rgba(232,168,56,0.1); color: #c8881a; }
        .kyap-wizard .req-item-icon { background: rgba(232,168,56,0.1); color: #c8881a; }

        .req-item-text strong { display: block; font-size: 0.84rem; font-weight: 700; color: #222; margin-bottom: 0.12rem; }
        .req-item-text span { font-size: 0.75rem; color: #999; line-height: 1.35; }
        .req-mandatory { font-size: 0.65rem; padding: 0.12rem 0.45rem; background: rgba(220,38,38,0.07); color: #c0392b; border-radius: 7px; font-weight: 700; display: inline-block; margin-top: 0.2rem; }
        .req-optional { font-size: 0.65rem; padding: 0.12rem 0.45rem; background: rgba(74,158,255,0.07); color: #1a6fc9; border-radius: 7px; font-weight: 700; display: inline-block; margin-top: 0.2rem; }

        /* Notices */
        .wizard-notice {
            display: flex; align-items: flex-start; gap: 0.9rem;
            padding: 0.9rem 1.1rem; border-radius: 12px; margin-bottom: 1.3rem;
            font-size: 0.85rem; line-height: 1.55;
        }
        .wizard-notice.info { background: rgba(74,158,255,0.07); border-left: 4px solid var(--sky-blue); color: #1a4a80; }
        .wizard-notice.success { background: rgba(232,168,56,0.07); border-left: 4px solid var(--accent-gold); color: #7a4800; }
        .wizard-notice.warning { background: rgba(232,168,56,0.09); border-left: 4px solid var(--accent-gold); color: #7a4800; }
        .wizard-notice i { font-size: 1.1rem; flex-shrink: 0; margin-top: 0.1rem; }

        /* Wizard nav */
        .wizard-nav {
            display: flex; align-items: center; justify-content: space-between;
            padding-top: 1.4rem; border-top: 1px solid rgba(0,0,0,0.06);
            flex-wrap: wrap; gap: 0.8rem;
        }
        .wizard-nav-info { font-size: 0.8rem; color: #aaa; }
        .wizard-nav-btns { display: flex; gap: 0.7rem; }

        .wiz-btn {
            padding: 0.7rem 1.5rem; border-radius: 50px; font-weight: 700; font-size: 0.88rem;
            border: none; cursor: pointer; display: inline-flex; align-items: center; gap: 0.45rem; transition: all 0.3s ease;
        }
        .wiz-btn-secondary { background: #f0f0f0; color: #666; }
        .wiz-btn-secondary:hover { background: #e3e3e3; }

        .kya-wizard .wiz-btn-primary { background: linear-gradient(135deg, var(--primary-green), #3d6b20); color:#fff; box-shadow: 0 5px 16px rgba(45,80,22,0.2); }
        .kya-wizard .wiz-btn-primary:hover { box-shadow: 0 9px 24px rgba(45,80,22,0.3); transform: translateY(-2px); }
        .kyap-wizard .wiz-btn-primary { background: linear-gradient(135deg, var(--accent-gold), #d07a00); color:#fff; box-shadow: 0 5px 16px rgba(232,168,56,0.27); }
        .kyap-wizard .wiz-btn-primary:hover { box-shadow: 0 9px 24px rgba(232,168,56,0.37); transform: translateY(-2px); }

        /* Completion */
        .wizard-complete { text-align: center; padding: 2.5rem 1.5rem; }
        .wizard-complete-icon {
            width: 82px; height: 82px; border-radius: 50%;
            display: flex; align-items: center; justify-content: center; font-size: 2.2rem;
            margin: 0 auto 1.3rem; animation: popIn 0.55s cubic-bezier(.34,1.56,.64,1);
        }
        .kya-wizard .wizard-complete-icon { background: linear-gradient(135deg, var(--primary-green), #3d6b20); color:#fff; box-shadow: 0 12px 36px rgba(45,80,22,0.28); }
        .kyap-wizard .wizard-complete-icon { background: linear-gradient(135deg, var(--accent-gold), #d07a00); color:#fff; box-shadow: 0 12px 36px rgba(232,168,56,0.28); }
        @keyframes popIn { from { transform: scale(0.5); opacity:0; } to { transform: scale(1); opacity:1; } }
        .wizard-complete h3 { font-family: 'Archivo Black', sans-serif; font-size: 1.7rem; margin-bottom: 0.7rem; }
        .kya-wizard .wizard-complete h3 { color: var(--primary-green); }
        .kyap-wizard .wizard-complete h3 { color: #7a4800; }
        .wizard-complete p { color: #777; font-size: 0.95rem; max-width: 460px; margin: 0 auto 1.8rem; line-height: 1.65; }
        .complete-actions { display: flex; gap: 0.9rem; justify-content: center; flex-wrap: wrap; }

        @media (max-width: 768px) {
            .steps-progress-track { padding: 1.2rem 1rem; }
            .step-label { font-size: 0.62rem; max-width: 65px; }
            .step-bubble { width: 36px; height: 36px; font-size: 0.78rem; }
            .wizard-body { padding: 1.2rem 1.3rem 1.5rem; }
            .wizard-header { padding: 1.3rem 1.3rem 1rem; }
        }

        /* ══════════════════════════════════════════════
           START YOUR JOURNEY — TABS & JOIN CARDS
        ══════════════════════════════════════════════ */
        .journey-tabs-wrapper {
            display: flex;
            justify-content: center;
            margin-bottom: 2.5rem;
            overflow-x: auto;
            scrollbar-width: none;
            padding: 0 1rem;
        }
        .journey-tabs-wrapper::-webkit-scrollbar { display: none; }

        .journey-tabs {
            display: inline-flex;
            background: rgba(45,80,22,0.07);
            border-radius: 60px;
            padding: 5px;
            gap: 0;
            flex-wrap: nowrap;
        }

        .journey-tab {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            padding: 0.7rem 1.4rem;
            border: none;
            border-radius: 50px;
            font-weight: 700;
            font-size: 0.88rem;
            cursor: pointer;
            background: transparent;
            color: #c8881a;
            transition: all 0.3s cubic-bezier(.34,1.56,.64,1);
            white-space: nowrap;
        }

        .journey-tab i { font-size: 1rem; }

        .journey-tab.active {
            background: linear-gradient(135deg, var(--primary-green), #3d6b20);
            color: #fff;
            box-shadow: 0 5px 18px rgba(45,80,22,0.28);
        }

        @media (max-width: 768px) {
            .journey-tabs-wrapper { padding: 0 0.5rem; }
            .journey-tabs {
                display: grid;
                grid-template-columns: repeat(5, 1fr);
                width: 100%;
                border-radius: 16px;
                padding: 6px;
                gap: 4px;
            }
            .journey-tab {
                flex-direction: column;
                align-items: center;
                justify-content: center;
                padding: 0.65rem 0.3rem;
                border-radius: 12px;
                gap: 0.3rem;
                font-size: 0;
                white-space: normal;
                text-align: center;
            }
            .journey-tab i { font-size: 1.25rem; }
            .journey-tab span {
                display: block;
                font-size: 0.6rem;
                font-weight: 800;
                line-height: 1.2;
                letter-spacing: 0;
                max-width: 52px;
            }
        }
        @media (max-width: 380px) {
            .journey-tab span { font-size: 0.55rem; }
            .journey-tab i { font-size: 1.1rem; }
        }

        .journey-panel { display: none; }
        .journey-panel.active { display: block; animation: stepIn 0.35s ease; }

        /* Join card grid */
        .join-card-grid {
            display: grid;
            grid-template-columns: 1.1fr 0.9fr;
            gap: 1.8rem;
            margin-bottom: 3rem;
        }
        @media (max-width: 768px) { .join-card-grid { grid-template-columns: 1fr; } }

        .join-hero-card {
            border-radius: 24px;
            padding: 2.2rem 2rem;
            color: white;
            position: relative;
            overflow: hidden;
        }
        .join-hero-card::before {
            content: '';
            position: absolute;
            top: -40px; right: -40px;
            width: 180px; height: 180px;
            border-radius: 50%;
            background: rgba(255,255,255,0.06);
        }
        .join-hero-card::after {
            content: '';
            position: absolute;
            bottom: -30px; left: -30px;
            width: 130px; height: 130px;
            border-radius: 50%;
            background: rgba(255,255,255,0.04);
        }
        .join-hero-icon {
            width: 60px; height: 60px;
            background: rgba(232,168,56,0.2);
            border-radius: 16px;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.7rem; margin-bottom: 1.2rem;
            backdrop-filter: blur(8px);
            border: 1.5px solid rgba(232,168,56,0.4);
            color: #e8a838;
        }
        .join-hero-card h3 {
            font-family: 'Archivo Black', sans-serif;
            font-size: 1.5rem; margin-bottom: 0.7rem;
            position: relative; z-index: 1;
        }
        .join-hero-card p {
            font-size: 0.92rem; line-height: 1.65;
            opacity: 0.9; margin-bottom: 1.3rem;
            position: relative; z-index: 1;
        }
        .join-chips {
            display: flex; flex-wrap: wrap; gap: 0.4rem;
            margin-bottom: 1.5rem; position: relative; z-index: 1;
        }
        .join-hero-card .join-chips span {
            background: rgba(255,255,255,0.18);
            color: white;
            padding: 0.25rem 0.75rem;
            border-radius: 20px;
            font-size: 0.75rem;
            font-weight: 600;
            border: 1px solid rgba(255,255,255,0.25);
        }
        .join-cta-btn {
            display: inline-flex; align-items: center; gap: 0.5rem;
            padding: 0.85rem 1.8rem;
            background: white;
            color: var(--primary-green);
            border: none; border-radius: 50px;
            font-weight: 800; font-size: 0.92rem;
            cursor: pointer; transition: all 0.3s ease;
            position: relative; z-index: 1;
            box-shadow: 0 6px 20px rgba(0,0,0,0.15);
        }
        .join-cta-btn:hover { transform: translateY(-3px); box-shadow: 0 10px 28px rgba(0,0,0,0.2); }

        .join-info-card {
            background: white;
            border-radius: 20px;
            padding: 1.8rem;
            box-shadow: 0 8px 30px rgba(0,0,0,0.07);
            border: 1.5px solid rgba(0,0,0,0.05);
        }
        .join-info-card h4 {
            font-size: 1rem; font-weight: 800;
            color: #222; margin-bottom: 1.1rem;
            padding-bottom: 0.7rem;
            border-bottom: 1.5px solid #f0f0f0;
        }
        .join-info-rows { display: grid; gap: 0.6rem; margin-bottom: 1.1rem; }
        .join-info-row {
            display: flex; align-items: center; gap: 0.75rem;
            font-size: 0.86rem; color: #555;
        }
        .join-info-row i {
            width: 28px; height: 28px; border-radius: 8px;
            background: rgba(232,168,56,0.1);
            display: flex; align-items: center; justify-content: center;
            color: #e8a838; font-size: 0.85rem; flex-shrink: 0;
        }
        .join-req-title {
            font-size: 0.75rem; font-weight: 800;
            text-transform: uppercase; letter-spacing: 0.5px;
            color: #999; margin-bottom: 0.3rem;
        }
        .join-info-card .join-chips span {
            background: rgba(232,168,56,0.1);
            color: #c8881a;
            padding: 0.25rem 0.7rem;
            border-radius: 20px;
            font-size: 0.73rem;
            font-weight: 600;
        }



        /* ══════════════════════════════════════════════
           REGISTRATION PAGE OVERLAY (full-screen)
        ══════════════════════════════════════════════ */
        /* Standalone registration page: normal document flow (was a fixed overlay) */
        body { padding-top: 0; }
        .reg-overlay {
            background: var(--cream);
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        .reg-page { width: 100%; min-height: 100vh; display: flex; flex-direction: column; }

        .reg-page-header {
            background: linear-gradient(135deg, #1a1a1a, #2a2a2a);
            padding: 0.9rem 1.5rem;
            display: flex;
            align-items: center;
            justify-content: space-between;
            position: sticky; top: 0; z-index: 10;
            box-shadow: 0 2px 20px rgba(0,0,0,0.2);
            gap: 0.75rem;
            min-height: 64px;
        }

        .reg-back-btn {
            display: flex; align-items: center; gap: 0.4rem;
            background: rgba(255,255,255,0.15);
            border: 1.5px solid rgba(255,255,255,0.3);
            color: white; padding: 0.5rem 1rem;
            border-radius: 50px; font-weight: 700;
            font-size: 0.82rem; cursor: pointer;
            transition: all 0.3s ease;
            flex-shrink: 0; white-space: nowrap;
        }
        .reg-back-btn:hover { background: rgba(255,255,255,0.25); }

        .reg-page-logo { display: flex; align-items: center; gap: 0.6rem; flex-shrink: 0; }

        /* Mobile: compact header */
        @media (max-width: 600px) {
            .reg-page-header { padding: 0.75rem 1rem; gap: 0.5rem; }
            .reg-back-btn { padding: 0.45rem 0.75rem; font-size: 0.75rem; gap: 0.3rem; }
            .reg-back-btn span.btn-back-text { display: none; }
            #regPageRoleLabel { font-size: 0.85rem !important; }
            .reg-page-logo span { display: none; }
            .reg-page-logo > div, .reg-page-logo > img { width: 32px !important; height: 32px !important; font-size: 1.1rem !important; }
        }

        .reg-page-body {
            flex: 1;
            display: flex;
            justify-content: center;
            padding: 3rem 1rem 4rem;
            background: linear-gradient(180deg, #f8f6f2 0%, #ffffff 60%, #f5f1e8 100%);
        }

        .reg-page-content {
            width: 100%;
            max-width: 860px;
        }

        /* Reg form styles */
        .reg-form-header {
            text-align: center;
            margin-bottom: 0;
            padding: 2.5rem 1.5rem 2rem;
            background: var(--reg-header-bg, linear-gradient(135deg,#1e4d08,#2d6b12));
            border-radius: 20px 20px 0 0;
            position: relative;
            overflow: hidden;
        }
        /* Decorative background texture */
        .reg-form-header::before {
            content: '';
            position: absolute; inset: 0;
            background:
                radial-gradient(ellipse at 10% 0%, rgba(255,255,255,0.08) 0%, transparent 50%),
                radial-gradient(ellipse at 90% 100%, rgba(0,0,0,0.25) 0%, transparent 50%);
            pointer-events: none;
        }
        /* Gold shimmer line at top */
        .reg-form-header::after {
            content: '';
            position: absolute; top: 0; left: 0; right: 0; height: 3px;
            background: linear-gradient(90deg, transparent, #e8a838, #f5c842, #e8a838, transparent);
        }
        .reg-form-role-icon {
            width: 76px; height: 76px; border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-size: 2rem; margin: 0 auto 1.1rem;
            color: white;
            background: rgba(0,0,0,0.25) !important;
            border: 2.5px solid rgba(255,255,255,0.3);
            box-shadow: 0 8px 28px rgba(0,0,0,0.3), 0 0 0 6px rgba(255,255,255,0.07);
            position: relative; z-index: 1;
            backdrop-filter: blur(4px);
        }
        .reg-form-header h2 {
            font-family: 'Archivo Black', sans-serif;
            font-size: 1.6rem; margin-bottom: 0.35rem;
            color: #ffffff !important;
            position: relative; z-index: 1;
            text-shadow: 0 2px 8px rgba(0,0,0,0.3);
        }
        .reg-form-header p {
            color: rgba(255,255,255,0.7); font-size: 0.88rem;
            position: relative; z-index: 1;
        }
        /* Progress area on coloured bg */
        .reg-form-progress {
            margin-top: 1.3rem;
            max-width: 420px;
            margin-left: auto;
            margin-right: auto;
            position: relative; z-index: 1;
        }
        .reg-form-progress-labels {
            display: flex; justify-content: space-between;
            font-size: 0.73rem; color: rgba(255,255,255,0.65);
            margin-bottom: 0.5rem;
        }
        .reg-form-progress-labels strong { color: #f5c842; }
        .reg-form-progress-labels span.pct { color: #f5c842; font-weight: 800; }
        .reg-form-progress-track {
            background: rgba(0,0,0,0.25); border-radius: 50px;
            height: 7px; overflow: hidden;
        }
        .reg-form-progress-fill {
            height: 100%;
            background: linear-gradient(90deg,#e8a838,#f5c842);
            border-radius: 50px;
            transition: width 0.5s cubic-bezier(.34,1.56,.64,1);
            box-shadow: 0 0 8px rgba(232,168,56,0.6);
        }

        .reg-wizard-box {
            background: white;
            border-radius: 24px;
            box-shadow: 0 12px 50px rgba(0,0,0,0.08);
            overflow: hidden;
            border: 1px solid rgba(0,0,0,0.05);
        }

        /* Form fields */
        .form-section { padding: 2rem 2.5rem; }
        .form-section-title {
            font-size: 1rem; font-weight: 800; color: #222;
            margin-bottom: 0.25rem;
        }
        .form-section-sub { font-size: 0.85rem; color: #888; margin-bottom: 1.5rem; }

        .form-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 1rem;
            margin-bottom: 1.2rem;
        }
        @media (max-width: 600px) { .form-grid { grid-template-columns: 1fr; } }
        .form-grid.full { grid-template-columns: 1fr; }

        .form-group { display: flex; flex-direction: column; gap: 0.4rem; }
        .form-group label {
            font-size: 0.82rem; font-weight: 700; color: #333;
        }
        .form-group input,
        .form-group select,
        .form-group textarea {
            padding: 0.75rem 1rem;
            border: 1.5px solid #e0e0e0;
            border-radius: 12px;
            font-family: 'Manrope', sans-serif;
            font-size: 0.9rem;
            color: #222;
            background: #fafafa;
            transition: all 0.25s ease;
            outline: none;
        }
        .form-group input:focus,
        .form-group select:focus,
        .form-group textarea:focus {
            border-color: #e8a838;
            background: white;
            box-shadow: 0 0 0 3px rgba(232,168,56,0.12);
        }
        .form-group textarea { resize: vertical; min-height: 90px; }
        .form-group .field-hint { font-size: 0.73rem; color: #aaa; }
        .field-mandatory { color: #c0392b; font-weight: 700; font-size: 0.7rem; }

        /* Upload zone */
        .upload-zone {
            border: 2px dashed #d0d0d0;
            border-radius: 14px;
            padding: 1.5rem 1rem;
            text-align: center;
            cursor: pointer;
            transition: all 0.25s ease;
            background: #fafafa;
        }
        .upload-zone:hover { border-color: #e8a838; background: #fff9ed; }
        .upload-zone i { font-size: 2rem; color: #ccc; margin-bottom: 0.5rem; display: block; }
        .upload-zone p { font-size: 0.82rem; color: #888; margin: 0; }
        .upload-zone strong { color: #c8881a; }

