        :root {
            --pri: #667eea;
            --pri2: #764ba2;
            --dark: #0f0c29;
        }
        body { overflow-x: hidden; background: #f8f9fb; font-family: 'Segoe UI', system-ui, sans-serif; }
        a { text-decoration: none; }

        /* ── Hero ── */
        .career-hero {
            background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
            padding: 90px 0 70px;
            position: relative;
            overflow: hidden;
        }
        .career-hero::before {
            content: '';
            position: absolute;
            top: -60px; right: -60px;
            width: 400px; height: 400px;
            background: radial-gradient(circle, rgba(102,126,234,.25) 0%, transparent 70%);
            border-radius: 50%;
        }
        .career-hero::after {
            content: '';
            position: absolute;
            bottom: -80px; left: -80px;
            width: 350px; height: 350px;
            background: radial-gradient(circle, rgba(118,75,162,.2) 0%, transparent 70%);
            border-radius: 50%;
        }
        .hero-badge {
            display: inline-flex; align-items: center; gap: .5rem;
            background: rgba(255,255,255,.1); backdrop-filter: blur(8px);
            border: 1px solid rgba(255,255,255,.15);
            color: rgba(255,255,255,.9); font-size: .85rem; font-weight: 600;
            padding: .4rem 1rem; border-radius: 50px;
            margin-bottom: 1.25rem;
        }
        .hero-badge .dot { width: 8px; height: 8px; background: #4ade80; border-radius: 50%; animation: pulse 1.8s ease-in-out infinite; }
        @keyframes pulse { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.6; transform:scale(.85); } }

        /* ── Stats bar ── */
        .stats-bar {
            background: #fff;
            border-bottom: 1px solid #eee;
            padding: .85rem 0;
        }
        .stat-item { text-align: center; }
        .stat-item .num { font-size: 1.6rem; font-weight: 800; color: #1a1a2e; line-height: 1; }
        .stat-item .lbl { font-size: .78rem; color: #888; font-weight: 500; margin-top: .15rem; }
        .stat-divider { width: 1px; background: #e5e7eb; align-self: stretch; }

        /* ── Filter bar ── */
        .filter-bar { background: #fff; border-bottom: 1px solid #eee; padding: .65rem 0; }
        .filter-btn {
            display: inline-flex; align-items: center; gap: .4rem;
            padding: .38rem .9rem; border-radius: 50px;
            border: 1.5px solid #e5e7eb; background: transparent;
            font-size: .83rem; font-weight: 600; color: #555;
            cursor: pointer; transition: all .18s;
        }
        .filter-btn:hover { border-color: var(--pri); color: var(--pri); }
        .filter-btn.active { background: var(--pri); border-color: var(--pri); color: #fff; }

        /* ── Culture Section ── */
        .culture-section { background: #fff; padding: 70px 0; }
        .culture-icon { width: 60px; height: 60px; border-radius: 16px; display: flex; align-items: center; justify-content: center; font-size: 1.5rem; }

        /* ── Job Card ── */
        .job-card {
            background: #fff;
            border: 1.5px solid #eef0f4;
            border-radius: 16px;
            padding: 1.6rem;
            transition: all .22s ease;
            height: 100%;
        }
        .job-card:hover {
            border-color: var(--pri);
            box-shadow: 0 8px 32px rgba(102,126,234,.15);
            transform: translateY(-3px);
        }
        .job-dept-icon {
            width: 48px; height: 48px; border-radius: 12px;
            display: flex; align-items: center; justify-content: center;
            font-size: 1.25rem; flex-shrink: 0;
        }
        .job-title { font-size: 1.05rem; font-weight: 700; color: #1a1a2e; margin-bottom: .35rem; }
        .job-meta { font-size: .82rem; color: #888; }
        .job-meta i { width: 14px; }
        .job-desc { font-size: .87rem; color: #555; line-height: 1.65; margin: .9rem 0; }
        .job-tag {
            display: inline-flex; align-items: center; gap: .3rem;
            font-size: .76rem; font-weight: 600; padding: .25rem .65rem;
            border-radius: 50px;
        }
        .btn-apply {
            background: linear-gradient(135deg, var(--pri), var(--pri2));
            color: #fff; border: none; border-radius: 8px;
            padding: .55rem 1.25rem; font-size: .87rem; font-weight: 700;
            transition: all .2s; width: 100%; margin-top: auto;
        }
        .btn-apply:hover { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(102,126,234,.4); color: #fff; }
        .btn-details {
            background: transparent; color: var(--pri);
            border: 1.5px solid var(--pri); border-radius: 8px;
            padding: .5rem 1.1rem; font-size: .85rem; font-weight: 600;
            transition: all .2s; width: 100%; margin-top: .5rem;
        }
        .btn-details:hover { background: var(--pri); color: #fff; }

        /* ── Requirements Accordion ── */
        .req-accordion .accordion-button:not(.collapsed) { background: #eff6ff; color: var(--pri); }
        .req-accordion .accordion-button:focus { box-shadow: none; }

        /* ── Empty state ── */
        .empty-jobs { text-align: center; padding: 4rem 1rem; }
        .empty-jobs i { font-size: 3rem; color: #ddd; margin-bottom: 1rem; }

        /* ── CTA Section ── */
        .cta-section {
            background: linear-gradient(135deg, #0f0c29 0%, #302b63 100%);
            padding: 80px 0;
        }

        /* ── Modal ── */
        .req-list { list-style: none; padding: 0; margin: 0; }
        .req-list li { padding: .4rem 0; padding-left: 1.4rem; position: relative; font-size: .9rem; color: #374151; border-bottom: 1px solid #f3f4f6; }
        .req-list li:last-child { border-bottom: none; }
        .req-list li::before { content: '✓'; position: absolute; left: 0; color: var(--pri); font-weight: 700; }
