        :root {
            --navy:      #1a3a5c;
            --gold:      #e8a020;
            --light-bg:  #f4f7fb;
            --border:    #dce6f0;
            --radius:    14px;
            --shadow:    0 8px 40px rgba(26,58,92,.11);
        }


        /* ── Section ── */
        .careers-section { padding: 70px 0 90px; }

        /* ── Form Card ── */
        .form-card {
            background: #fff;
            border-radius: var(--radius);
            box-shadow: var(--shadow);
            padding: 48px 44px;
            max-width: 800px;
            margin: 0 auto;
            position: relative;
            overflow: hidden;
        }
        .form-card::before {
            content: '';
            position: absolute; top: 0; left: 0; right: 0;
            height: 5px;
            background: linear-gradient(90deg, var(--navy), var(--gold));
        }

        .form-card h2 {
            font-family: 'Playfair Display', serif;
            font-size: 1.7rem; font-weight: 900;
            color: var(--navy); margin-bottom: 6px;
        }
        .form-card .subtitle {
            color: #888; font-size: .93rem; margin-bottom: 36px;
        }

        /* ── Field Group ── */
        .field-group { margin-bottom: 22px; }

        .field-group label {
            font-weight: 700;
            font-size: .82rem;
            letter-spacing: .06em;
            text-transform: uppercase;
            color: var(--navy);
            margin-bottom: 8px;
            display: flex;
            align-items: center;
            gap: 7px;
        }
        .field-group label i {
            width: 22px; height: 22px;
            background: var(--navy);
            color: #fff;
            border-radius: 50%;
            display: inline-flex; align-items: center; justify-content: center;
            font-size: .62rem;
        }
        .field-group label .req { color: #e05c2a; font-size: 1rem; line-height: 1; }

        .form-control,
        .form-select {
            border: 1.5px solid var(--border);
            border-radius: 9px;
            padding: 12px 16px;
            
            font-size: .95rem;
            color: #333;
            transition: border-color .2s, box-shadow .2s;
            background: #fafcff;
        }
        .form-control:focus,
        .form-select:focus {
            border-color: var(--navy);
            box-shadow: 0 0 0 3px rgba(26,58,92,.10);
            background: #fff;
            outline: none;
        }
        .form-control.is-invalid,
        .form-select.is-invalid {
            border-color: #dc3545;
            box-shadow: none;
        }
        .invalid-feedback { font-size: .8rem; margin-top: 5px; }

        /* ── File Upload ── */
        .upload-wrap {
            border: 2px dashed var(--border);
            border-radius: 9px;
            padding: 28px 20px;
            text-align: center;
            cursor: pointer;
            transition: border-color .2s, background .2s;
            background: #fafcff;
            position: relative;
        }
        .upload-wrap:hover,
        .upload-wrap.dragover { border-color: var(--navy); background: #eef4fb; }
        .upload-wrap input[type="file"] {
            position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%;
        }
        .upload-wrap .up-icon {
            font-size: 2rem; color: var(--navy); margin-bottom: 8px; display: block;
        }
        .upload-wrap .up-text {
            font-weight: 700; font-size: .9rem; color: var(--navy);
        }
        .upload-wrap .up-hint {
            font-size: .78rem; color: #999; margin-top: 3px;
        }
        .upload-wrap .up-chosen {
            font-size: .85rem; color: #27ae60;
            font-weight: 600; margin-top: 8px; display: none;
        }

        /* ── Robot Check ── */
        .robot-box {
            display: flex;
            align-items: center;
            gap: 14px;
            border: 1.5px solid var(--border);
            border-radius: 9px;
            padding: 16px 20px;
            background: #fafcff;
            cursor: pointer;
            user-select: none;
            transition: border-color .2s;
        }
        .robot-box:hover { border-color: var(--navy); }
        .robot-check-wrap {
            width: 24px; height: 24px; min-width: 24px;
            border: 2px solid #aaa;
            border-radius: 4px;
            display: flex; align-items: center; justify-content: center;
            transition: all .2s;
            background: #fff;
        }
        .robot-check-wrap i { color: #fff; font-size: .85rem; display: none; }
        .robot-box.checked .robot-check-wrap {
            background: #27ae60; border-color: #27ae60;
        }
        .robot-box.checked .robot-check-wrap i { display: block; }
        .robot-label { font-weight: 700; font-size: .93rem; color: #333; }
        .robot-logo  { margin-left: auto; text-align: right; }
        .robot-logo small { display: block; font-size: .62rem; color: #aaa; letter-spacing: .04em; }
        .robot-logo span  { font-size: .7rem; color: #aaa; }
        .robot-error { font-size: .8rem; color: #dc3545; margin-top: 6px; display: none; }

        /* ── Submit Button ── */
        .btn-submit {
            background: linear-gradient(135deg, var(--navy), #2a5f96);
            color: #fff; border: none;
            border-radius: 9px;
            padding: 14px 40px;
            font-family: 'Raleway', sans-serif;
            font-size: 1rem; font-weight: 700;
            letter-spacing: .04em;
            cursor: pointer;
            transition: opacity .2s, transform .15s, box-shadow .2s;
            box-shadow: 0 4px 18px rgba(26,58,92,.25);
            width: 100%;
        }
        .btn-submit:hover {
            opacity: .92; transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(26,58,92,.3);
        }
        .btn-submit:active { transform: translateY(0); }
        .btn-submit i { margin-right: 10px; }

        /* ── Divider ── */
        .form-divider {
            border: none; border-top: 1.5px solid var(--border);
            margin: 28px 0;
        }

        /* ── Success Message ── */
        .success-msg {
            display: none;
            text-align: center;
            padding: 40px 20px;
        }
        .success-msg .tick {
            width: 72px; height: 72px;
            background: #27ae60; border-radius: 50%;
            display: flex; align-items: center; justify-content: center;
            font-size: 2rem; color: #fff;
            margin: 0 auto 20px;
            animation: popIn .4s cubic-bezier(.175,.885,.32,1.275);
        }
        @keyframes popIn {
            from { transform: scale(0); opacity: 0; }
            to   { transform: scale(1); opacity: 1; }
        }
        .success-msg h3 {
            font-family: 'Playfair Display', serif;
            color: var(--navy); font-size: 1.6rem; margin-bottom: 8px;
        }
        .success-msg p { color: #666; }

        /* ── Responsive ── */
        @media (max-width: 576px) {
            .form-card { padding: 30px 20px; }
        }