      /* Theme colors */
        :root{
            /* Brand palette */
            --brand:        #0F4C5C;
            --bizfoc-brand: #0a323f;
            --brand-mid:    #0a9396;
            --brand-light:  #e6f4f7;
            --brand-glow:   rgba(15,76,92,.12);
            --accent:       #E8A020;
            --accent-light: #fff4e0;
            --success:      #007c85;
            --success-bg:   #e6f9ef;
            --danger:       #d93025;
            --danger-bg:    #fce8e6;

            /* Neutrals */
            --text:         #1a2332;
            --text-muted:   #64748b;
            --text-light:   #94a3b8;
            --border:       #e1e8ef;
            --border-focus: #0F4C5C;
            --bg:           #f0f4f8;
            --card:         #ffffff;
            --header-bg:    #0F4C5C;
            --black:         #000000;

            /* Misc */
            --radius:   14px;
            --radius-sm: 8px;
            --shadow:   0 4px 20px rgba(15,76,92,.08);
            --shadow-md:0 8px 32px rgba(15,76,92,.13);
            --font-head:'Playfair Display',serif;
            --font-body:'Plus Jakarta Sans',sans-serif;
            }

        body {
            background-color: #f8f9fa;
            font-family: var(--font-body);
        }

        .main-content {
            padding: 40px 0 80px;
        }

        .steps-container {
            max-width: 810px;
            margin: 0 auto;
            padding: 0 24px;
        }

        .step-panel {
            display: none;
        }

        .step-panel.active {
            display: block;
            animation: fadeUp .35s ease;
        }

        .step-hero{
            margin-bottom:32px;
            padding:28px 32px 24px;
            background:var(--card);
            border-radius:var(--radius);
            border-left:4px solid var(--accent);
            box-shadow:var(--shadow);
            /* background-color: var(--brand-mid); */
        }

        .step-title {
            font-family: var(--font-head);
            font-size: 28px;
            color: #000000;
            line-height: 1.2;
            margin-bottom: 8px;
        }

        .form-card {
            background: var(--card);
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            padding: 28px 32px;
            margin-bottom: 20px;
        }

        .field-group {
            margin-bottom: 20px;
        }

        .field-label {
            display: block;
            font-size: 16px;
            font-weight: 600;
            color: var(--text);
            margin-bottom: 7px;
            letter-spacing: .01em;
        }

        .req {
            color: var(--danger);
        }

        .field-input {
            width: 100%;
            padding: 11px 15px;
            border: 1.5px solid var(--border);
            border-radius: var(--radius-sm);
            font-size: 16px;
            font-family: var(--font-body);
            color: var(--text);
            background: var(--card);
            outline: none;
            transition: border-color .2s, box-shadow .2s, background .2s;
        }

        .field-input:focus {
            border-color: var(--brand);
            box-shadow: 0 0 0 3px var(--brand-glow);
            background: #fafeff;
        }

        .field-input::placeholder {
            color: var(--text-light);
        }

        select.field-input {
            cursor: pointer;
            appearance: none;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2364748b' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
            background-repeat: no-repeat;
            background-position: right 14px center;
            padding-right: 38px;
        }

        button.btn-submit {
            background-color: var(--brand);
            color: #fff;
            padding: 12px;
            border: none;
            border-radius: var(--radius-sm);
            cursor: pointer;
            font-size: 18px;
            width: 100%;
        }

        button.btn-submit:hover {
            background-color: #0a3a47;
        }

        #relationField{
            display: none;
        }

        /* ------------------------------------------
        RADIO
        ------------------------------------------ */
        .radio-group{display:flex;gap:16px;margin-top:8px; width: 50%;}
        .radio-opt{
        display:flex;align-items:center;gap:7px;
        cursor:pointer;font-size:14px;color:var(--text);
        padding:8px 14px;border-radius:var(--radius-sm);
        border:1.5px solid var(--border);transition:all .2s;
        flex:1;justify-content:center;
        }
        .radio-opt input[type=radio]{display:none;}
        .radio-opt.checked,.radio-opt:has(input:checked){
        border-color:var(--brand);background:var(--brand-light);color:var(--brand);font-weight:600;
        }
        .radio-opt input[type=radio]{accent-color:var(--brand);}

        /* ------------------------------------------
        TOAST
        ------------------------------------------ */
        .toast-wrap{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;}
        .toast-item{
        display:flex;align-items:center;gap:10px;
        background:var(--card);border:1px solid var(--border);
        border-radius:10px;padding:11px 15px;
        font-size:13px;font-weight:500;
        box-shadow:var(--shadow-md);
        animation:toastIn .3s ease;min-width:220px;max-width:320px;
        }
        .toast-item.success{border-left:3px solid var(--success);}
        .toast-item.error  {border-left:3px solid var(--danger);}
        .toast-item.info   {border-left:3px solid var(--brand);}
        @keyframes toastIn{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:translateX(0);}}

        /* Responsive */
        @media(max-width:768px){
        .header-inner{padding:12px 16px;}
        .stepper-bar{padding:0 12px 16px;}
        .stepper-inner{justify-content:flex-start;}
        .steps-container{padding:0 12px;}
        .fields-grid-2,.fields-grid-3,.kyc-grid{grid-template-columns:1fr;}
        .pan-row{flex-direction:column;align-items:stretch;}
        .fetch-btn{width:100%;height:42px;}
        .step-hero{padding:20px;}
        .step-title{font-size:24px;}
        .step-lbl{width:64px;font-size:9px;}
        .step-dot-wrap{width:64px;}
        .step-item:not(:last-child)::after{min-width:16px;}
        .form-card{padding:20px 16px;}
        .draft-status{display:none;}
        }

        .fields-grid-3{
        display:grid;
        grid-template-columns:1fr 1fr 1fr;
        gap:16px;
        }

        .fields-grid-2{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:20px;
        }
        @media(max-width:768px){
        .fields-grid-2,
        .fields-grid-3,
        .kyc-grid{
            grid-template-columns:1fr;
        }

        .fields-grid-2{
        display:grid;
        gap:0px;
        }

        }

        /* ------------------------------------------
        FILE DROP ZONE
        ------------------------------------------ */
        .file-drop-zone{
        border:2px dashed var(--border);border-radius:var(--radius-sm);
        padding:22px 16px;text-align:center;cursor:pointer;
        background:var(--bg);transition:all .25s;
        display:flex;flex-direction:column;align-items:center;gap:5px;
        }
        .file-drop-zone:hover{
        border-color:var(--brand);
        background:var(--brand-light);
        box-shadow:0 0 0 3px var(--brand-glow);
        }
        .file-drop-zone i{font-size:26px;color:var(--brand);opacity:.4;transition:opacity .2s;}
        .file-drop-zone:hover i{opacity:.7;}
        .file-drop-zone span{font-size:13px;font-weight:600;color:var(--text);}
        .file-drop-zone small{font-size:11px;color:var(--text-muted);}
        .file-drop-zone .hidden-file{display:none;}
        .file-drop-zone.has-file{border-color:var(--success);background:var(--success-bg);}
        .file-drop-zone.has-file i{color:var(--success);opacity:1;}
        .file-drop-zone.has-file span{color:var(--success);}

        .file-status-area{margin-top:7px;font-size:12px;}
        .file-status-area .fs-item{
        display:flex;align-items:center;gap:6px;
        padding:6px 10px;border-radius:6px;
        background:var(--success-bg);color:var(--success);
        margin-top:4px;font-weight:500;
        }

        /* ------------------------------------------
        SUCCESS SCREEN
        ------------------------------------------ */
        .success-screen{
        text-align:center;padding:80px 20px;
        background:var(--card);border-radius:var(--radius);
        box-shadow:var(--shadow-md);
        }
        .success-icon{
        font-size:72px;color:var(--success);margin-bottom:24px;
        display:block;animation:pop .5s cubic-bezier(.34,1.56,.64,1);
        }
        @keyframes pop{from{transform:scale(0);}to{transform:scale(1);}}
        .success-screen h1{font-family:var(--font-head);font-size:34px;margin-bottom:12px;color:var(--text);}
        .success-screen p{font-size:15px;color:var(--text-muted);max-width:460px;margin:0 auto 20px;line-height:1.7;}
        .success-meta{
        display:inline-block;
        background:var(--brand-light);color:var(--brand);
        font-size:13px;font-weight:600;padding:8px 20px;border-radius:99px;
        }

         /* ------------------------------------------
           TOP HEADER
        ------------------------------------------ */
        .top-header{
          background:var(--bizfoc-brand);
          position:sticky;top:0;z-index:100;
          box-shadow:0 4px 24px rgba(0,0,0,.18);
        }

        .header-inner{
          display:flex;align-items:center;justify-content:space-between;
          padding:14px 40px;
        }

        .brand{display:flex;align-items:center;gap:12px;}
        .brand-icon{
          width:40px;height:40px;
          background:var(--accent);
          border-radius:10px;
          display:flex;align-items:center;justify-content:center;
          font-size:19px;color:var(--brand);flex-shrink:0;
          box-shadow:0 2px 8px rgba(232,160,32,.4);
        }
        .brand-name{font-family:var(--font-head);font-size:18px;line-height:1;color:#fff;letter-spacing:.01em;}
        .brand-sub{font-size:11px;color:rgba(255,255,255,.5);margin-top:3px;letter-spacing:.04em;}

        .header-right{display:flex;align-items:center;gap:12px;}

        .step-hero{
            background-color: #0a9396;
            color: white;
        }

        .step-title{
            color: white;
        }

        .brand-logo{
            padding: 10px;
        }

        .form-name{
            color: white;
        }

        .form-name {
            font-size: 20px;
            font-weight: 600;
            color: #ffffff;
            padding: 6px 14px;
            border-radius: 20px;
            letter-spacing: 0.5px;
            text-transform: uppercase;
            transition: all 0.3s ease;
        }

        .note-msg{
            margin-top: 20px;
        }

        #not-same-address{
            display: none;
        }

        .owned-field{
            display: none;
        }

        .rented-field{
            display: none;
        }

        .rental-details{
            display: none;
        }

        /* this class in startup india form  */
        .company-incorp{
            display: none;
        }
        .person-number{
            display: none;
        }

        .director-heading {
            display: flex;
            align-items: center;
            text-align: center;
            margin: 15px 0;
            font-weight: 600;
            font-size: 18px;
        }

        .director-heading::before,
        .director-heading::after {
            content: "";
            flex: 1;
            border-bottom: 1px solid #999;
        }

        .director-heading::before {
            margin-right: 10px;
        }

        .director-heading::after {
            margin-left: 10px;
        }
