:root {
      --saffron:    #dc5b3a;
      --saffron-lt: #FFF3EA;
      --emerald:    #0A7A52;
      --emerald-lt: #E6F5EF;
      --navy:       #0B2B5C;
      --navy-lt:    #EEF3FB;
      --gold:       #D4A017;
      --gold-lt:    #FDF6E3;
      --sky:        #1890C8;
      --sky-lt:     #E8F5FC;
      --cream:      #FDFAF5;
      --text-main:  #1A1A2E;
      --text-muted: #5A6882;
      --border:     #E2E8F4;
      --shadow-sm:  0 2px 12px rgba(11,43,92,.08);
      --shadow-md:  0 8px 32px rgba(11,43,92,.12);
    }
    *, *::before, *::after { box-sizing: border-box; }
    body { font-family: 'Plus Jakarta Sans', sans-serif; background: var(--cream); color: var(--text-main); overflow-x: hidden; }

    /* NAVBAR */
    .site-nav { background: #fff; border-bottom: 3px solid var(--saffron); box-shadow: var(--shadow-sm); }
    .emblem-circle { width: 46px; height: 46px; border-radius: 50%; background: linear-gradient(135deg, var(--navy), var(--sky)); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
    .emblem-circle i { color: #fff; font-size: 1.3rem; }
    .brand-text .brand-main { font-family: 'Playfair Display', serif; font-size: 1.15rem; color: var(--navy); line-height: 1.1; }
    .brand-text .brand-sub  { font-size: .7rem; color: var(--saffron); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
    .nav-link-custom { font-weight: 600; font-size: .88rem; color: var(--text-main) !important; padding: .5rem .9rem !important; border-radius: 6px; transition: background .2s, color .2s; }
    .nav-link-custom:hover { background: var(--navy-lt); color: var(--navy) !important; }
    .btn-login    { background: var(--navy);    color: #fff !important; border-radius: 8px; font-weight: 700; font-size: .85rem; }
    .btn-login:hover { background: var(--sky); }
    .btn-register { background: var(--saffron); color: #fff !important; border-radius: 8px; font-weight: 700; font-size: .85rem; }
    .btn-register:hover { background: #c5540a; }

    /* TICKER */
    .ticker-bar { background: var(--navy); color: #fff; font-size: .8rem; overflow: hidden; white-space: nowrap; padding: .35rem 0; }
    .ticker-label { background: var(--saffron); padding: .2rem .9rem; border-radius: 0 20px 20px 0; font-weight: 700; margin-right: .8rem; display: inline-block; flex-shrink: 0; }
    .ticker-text { display: inline-block; animation: ticker 40s linear infinite; }
    @keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

    /* HERO */
    .hero-section { background: linear-gradient(135deg, var(--navy) 0%, #1a3f7a 55%, var(--sky) 100%); padding: 5rem 0 0rem; position: relative; overflow: hidden; display: flex; align-items: stretch; }
    .hero-section .row { display: flex; align-items: stretch; gap: 0; }
    .hero-section .col-lg-5.offset-lg-1 { height: 100%; display: flex; flex-direction: column; justify-content: flex-end; }
    .hero-section .col-lg-5.offset-lg-1 img { height: 100%; object-fit: cover; }
    .hero-section::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
    .hero-badge { display:inline-flex; align-items:center; gap:.4rem; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff; border-radius:50px; padding:.35rem 1rem; font-size:.78rem; font-weight:600; margin-bottom:1.2rem; backdrop-filter:blur(4px); }
    .hero-badge .dot { width:8px; height:8px; background:#4ade80; border-radius:50%; animation:pulse 1.5s infinite;    border: 2px solid #129b44; }
    @keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.5;transform:scale(1.3)} }
    .hero-title { font-family:'Playfair Display',serif; font-size:clamp(2rem,5vw,3.4rem); color:#fff; font-weight:800; line-height:1.15; margin-bottom:.8rem; }
    .hero-title span { color:#FCD34D; }
    .hero-sub { color:rgba(255,255,255,.82); font-size:1.05rem; max-width:540px; line-height:1.7; margin-bottom:2rem; }
    .hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-bottom:2.5rem; }
    .btn-hero-primary { background:var(--saffron); color:#fff; border:none; padding:.8rem 2rem; font-weight:700; border-radius:10px; font-size:1rem; box-shadow:0 4px 20px rgba(232,101,10,.5); transition:all .25s; }
    .btn-hero-primary:hover { background:#c5540a; transform:translateY(-2px); color:#fff; }
    .btn-hero-outline { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.5); padding:.78rem 1.6rem; font-weight:600; border-radius:10px; font-size:1rem; transition:all .25s; }
    .btn-hero-outline:hover { background:rgba(255,255,255,.12); border-color:#fff; color:#fff; }
    .hero-stats { display:flex; flex-wrap:wrap; gap:1.5rem; }
    .hero-stat { text-align:center; }
    .hero-stat .stat-val { font-family:'Playfair Display',serif; font-size:1.8rem; font-weight:800; color:#FCD34D; line-height:1; }
    .hero-stat .stat-lbl { font-size:.72rem; color:rgba(255,255,255,.7); text-transform:uppercase; letter-spacing:.06em; margin-top:.15rem; }
    .hero-stat-divider { width:1px; background:rgba(255,255,255,.2); align-self:stretch; }
    .hero-card-float { background:#fff; border-radius:18px; padding:1.6rem; box-shadow:0 20px 60px rgba(0,0,0,.35); position:relative; animation:floatUp 6s ease-in-out infinite; }
    .hero-section .col-lg-5.offset-lg-1 img { height: 100%; object-fit: cover; }
    @keyframes floatUp { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }
    .hero-card-float .card-label { font-size:.7rem; font-weight:700; color:var(--saffron); text-transform:uppercase; letter-spacing:.07em; margin-bottom:.5rem; }
    .hero-card-float .card-dept { font-weight:700; color:var(--navy); font-size:.95rem; }
    .hero-card-float .card-posts { display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.7rem; }
    .tag { background:var(--navy-lt); color:var(--navy); border-radius:6px; padding:.2rem .6rem; font-size:.72rem; font-weight:600; }
    .tag.green  { background:var(--emerald-lt); color:var(--emerald); }
    .tag.orange { background:var(--saffron-lt); color:var(--saffron); }

    /* SEARCH */
    .search-section { padding:2.2rem 0; background:#fff; border-bottom:1px solid var(--border); }
    .search-box { background:var(--cream); border:2px solid var(--border); border-radius:14px; padding:.5rem; display:flex; flex-wrap:wrap; gap:.5rem; align-items:center; box-shadow:var(--shadow-sm); }
    .search-box .form-control, .search-box .form-select { border:none; background:transparent; font-size:.9rem; box-shadow:none; color:var(--text-main); }
    .search-box .form-control:focus, .search-box .form-select:focus { box-shadow:none; }
    .search-divider { width:1px; height:36px; background:var(--border); flex-shrink:0; }
    .btn-search { background:var(--navy); color:#fff; border-radius:10px; padding:.65rem 1.6rem; font-weight:700; font-size:.9rem; border:none; white-space:nowrap; transition:all .2s; }
    .btn-search:hover { background:var(--sky); color:#fff; }
    .search-tags { margin-top:.8rem; display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
    .search-tags span { font-size:.78rem; color:var(--text-muted); }
    .search-tag-btn { background:var(--navy-lt); color:var(--navy); border:none; border-radius:20px; padding:.22rem .75rem; font-size:.78rem; font-weight:600; cursor:pointer; transition:all .2s; }
    .search-tag-btn:hover { background:var(--navy); color:#fff; }

    /* SECTION TITLES */
    .section-eyebrow { font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--saffron); margin-bottom:.4rem; }
    .section-title { font-family:'Playfair Display',serif; font-size:clamp(1.5rem,3vw,2.2rem); font-weight:800; color:var(--navy); margin-bottom:.5rem; }
    .section-sub { color:var(--text-muted); font-size:.95rem; max-width:520px; line-height:1.7; }

    /* STAT CARDS */
    .stat-card { background:#fff; border-radius:16px; padding:1.6rem 1.4rem; border:1px solid var(--border); box-shadow:var(--shadow-sm); transition:all .3s; position:relative; overflow:hidden; }
    .stat-card::before { content:''; position:absolute; top:0; left:0; right:0; height:4px; }
    .stat-card.c1::before { background:var(--saffron); }
    .stat-card.c2::before { background:var(--emerald); }
    .stat-card.c3::before { background:var(--sky); }
    .stat-card.c4::before { background:var(--gold); }
    .stat-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); }
    .stat-icon { width:52px; height:52px; border-radius:12px; display:flex; align-items:center; justify-content:center; margin-bottom:1rem; font-size:1.4rem; }
    .stat-icon.orange { background:var(--saffron-lt); color:var(--saffron); }
    .stat-icon.green  { background:var(--emerald-lt); color:var(--emerald); }
    .stat-icon.blue   { background:var(--sky-lt);     color:var(--sky); }
    .stat-icon.gold   { background:var(--gold-lt);    color:var(--gold); }
    .stat-number { font-family:'Playfair Display',serif; font-size:2.1rem; font-weight:800; color:var(--navy); line-height:1; }
    .stat-label  { color:var(--text-muted); font-size:.82rem; margin-top:.3rem; font-weight:500; }

    /* CATEGORY CARDS */
    .cat-card { background:#fff; border-radius:14px; padding:1.4rem; border:1px solid var(--border); box-shadow:var(--shadow-sm); display:flex; flex-direction:column; gap:.6rem; transition:all .25s; cursor:pointer; text-decoration:none; color:inherit; }
    .cat-card:hover { border-color:var(--navy); box-shadow:var(--shadow-md); transform:translateY(-3px); color:inherit; }
    .cat-icon { width:48px; height:48px; border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:1.3rem; }
    .cat-title { font-weight:700; font-size:.95rem; color:var(--navy); }
    .cat-count { font-size:.8rem; color:var(--text-muted); font-weight:500; }
    .cat-arrow { color:var(--text-muted); font-size:.85rem; margin-top:auto; }
    .cat-card:hover .cat-arrow { color:var(--navy); }

    /* JOB CARDS */
    .job-card { background:#fff; border-radius:14px; border:1px solid var(--border); box-shadow:var(--shadow-sm); padding:1.4rem; transition:all .25s; position:relative; }
    .job-card:hover { border-color:var(--sky); box-shadow:var(--shadow-md); transform:translateY(-2px); }
    .dept-badge { display:inline-flex; align-items:center; gap:.35rem; background:var(--navy-lt); color:var(--navy); border-radius:6px; padding:.18rem .6rem; font-size:.72rem; font-weight:700; }
    .job-title { font-weight:700; font-size:1.05rem; color:var(--text-main); margin:.6rem 0 .3rem; }
    .job-meta { display:flex; flex-wrap:wrap; gap:.5rem; font-size:.78rem; color:var(--text-muted); }
    .job-meta span { display:flex; align-items:center; gap:.25rem; }
    .job-tags { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.8rem; }
    .pill { font-size:.72rem; font-weight:600; border-radius:20px; padding:.2rem .65rem; }
    .pill-new    { background:#DCFCE7; color:#166534; }
    .pill-urgent { background:#FEE2E2; color:#991b1b; }
    .pill-exp    { background:var(--sky-lt); color:var(--sky); }
    .pill-type   { background:var(--navy-lt); color:var(--navy); }
    .pill-any    { background:var(--gold-lt); color:#92400e; }
    .pill-remote { background:#F3E8FF; color:#6d28d9; }
    .apply-btn { background:transparent; border:1.5px solid var(--navy); color:var(--navy); border-radius:8px; padding:.42rem 1rem; font-size:.8rem; font-weight:700; transition:all .2s; white-space:nowrap; }
    .apply-btn:hover { background:var(--navy); color:#fff; }
    .new-badge    { position:absolute; top:1rem; right:1rem; background:var(--saffron); color:#fff; font-size:.65rem; font-weight:700; border-radius:4px; padding:.15rem .45rem; letter-spacing:.05em; text-transform:uppercase; }
    .urgent-badge { position:absolute; top:1rem; right:1rem; background:#dc2626; color:#fff; font-size:.65rem; font-weight:700; border-radius:4px; padding:.15rem .45rem; letter-spacing:.05em; text-transform:uppercase; }
    .applicant-chip { display:inline-flex; align-items:center; gap:.25rem; font-size:.75rem; color:var(--emerald); font-weight:600; background:var(--emerald-lt); border-radius:6px; padding:.15rem .5rem; }
    .company-logo { width:38px; height:38px; border-radius:8px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:.85rem; flex-shrink:0; }

    /* STEPS */
    .step-card { background:#fff; border-radius:16px; padding:2rem 1.5rem; border:1px solid var(--border); box-shadow:var(--shadow-sm); text-align:center; }
    .step-number { width:56px; height:56px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-family:'Playfair Display',serif; font-size:1.4rem; font-weight:800; margin:0 auto 1.1rem; }
    .step-number.s1 { background:var(--saffron-lt); color:var(--saffron); border:2px solid var(--saffron); }
    .step-number.s2 { background:var(--sky-lt);     color:var(--sky);     border:2px solid var(--sky); }
    .step-number.s3 { background:var(--emerald-lt); color:var(--emerald); border:2px solid var(--emerald); }
    .step-number.s4 { background:var(--gold-lt);    color:var(--gold);    border:2px solid var(--gold); }
    .step-icon  { font-size:2rem; margin-bottom:.8rem; }
    .step-title { font-weight:700; font-size:1rem; color:var(--navy); margin-bottom:.5rem; }
    .step-text  { font-size:.85rem; color:var(--text-muted); line-height:1.65; }

    /* NOTIFICATIONS */
    .notif-row { display:flex; gap:1rem; align-items:flex-start; padding:1rem 0; border-bottom:1px dashed var(--border); }
    .notif-row:last-child { border-bottom:none; }
    .notif-icon { width:40px; height:40px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1.1rem; }
    .notif-title { font-weight:600; font-size:.9rem; color:var(--text-main); }
    .notif-meta  { font-size:.75rem; color:var(--text-muted); margin-top:.15rem; }
    .notif-new   { background:var(--saffron); color:#fff; font-size:.6rem; font-weight:700; border-radius:4px; padding:.1rem .35rem; text-transform:uppercase; margin-left:.4rem; }

    /* EMPLOYER CARDS */
    .employer-card { background:#fff; border-radius:14px; border:1px solid var(--border); box-shadow:var(--shadow-sm); padding:1.4rem; text-align:center; transition:all .25s; }
    .employer-card:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--sky); }
    .employer-logo { width:58px; height:58px; border-radius:14px; margin:0 auto .9rem; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:1rem; }
    .employer-name { font-weight:700; font-size:.92rem; color:var(--navy); }
    .employer-jobs { font-size:.78rem; color:var(--text-muted); margin-top:.2rem; }

    /* CTA */
    .cta-section { background:linear-gradient(272deg,#0b2b5c 0%,#f59e0b 100%); padding:3.5rem 0; position:relative; overflow:hidden; }
    .cta-section::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23fff' fill-opacity='0.07'%3E%3Cpath d='M0 38.59l2.83-2.83 1.41 1.41L1.41 40H0v-1.41zM0 20l2.83-2.83 1.41 1.41-2.83 2.83L0 20zm20 0l2.83-2.83 1.41 1.41-2.83 2.83-1.41-1.41zm0 20l2.83-2.83 1.41 1.41-2.83 2.83-1.41-1.41zM20 0l2.83-2.83 1.41 1.41-2.83 2.83L20 0zm0 20l2.83-2.83 1.41 1.41-2.83 2.83-1.41-1.41z'/%3E%3C/g%3E%3C/svg%3E"); }
    .cta-title { font-family:'Playfair Display',serif; font-size:clamp(1.6rem,4vw,2.5rem); color:#fff; font-weight:800; margin-bottom:.6rem; }
    .cta-sub   { color:rgba(255,255,255,.88); font-size:1rem; margin-bottom:1.6rem; }
    .btn-cta-white   { background:#fff; color:var(--saffron); border-radius:10px; padding:.75rem 1.8rem; font-weight:700; font-size:1rem; border:none; transition:all .2s; }
    .btn-cta-white:hover { background:var(--navy); color:#fff; transform:translateY(-2px); }
    .btn-cta-outline { background:transparent; color:#fff; border:2px solid rgba(255,255,255,.6); border-radius:10px; padding:.73rem 1.8rem; font-weight:700; font-size:1rem; transition:all .2s; }
    .btn-cta-outline:hover { background:rgba(255,255,255,.15); border-color:#fff; color:#fff; }

    /* FAQ */
    .faq-item { background:#fff; border:1px solid var(--border); border-radius:12px; margin-bottom:.75rem; overflow:hidden; }
    .faq-q { width:100%; background:none; border:none; text-align:left; padding:1.1rem 1.3rem; font-weight:700; font-size:.92rem; color:var(--navy); display:flex; justify-content:space-between; align-items:center; cursor:pointer; }
    .faq-q i { transition:transform .25s; color:var(--text-muted); }
    .faq-q[aria-expanded="true"] i { transform:rotate(180deg); color:var(--saffron); }
    .faq-body { padding:0 1.3rem 1rem; font-size:.88rem; color:var(--text-muted); line-height:1.7; }

    /* TABS */
    .custom-tabs .nav-link { border:none; border-radius:0; padding:.6rem 1.2rem; font-weight:600; font-size:.88rem; color:var(--text-muted); border-bottom:3px solid transparent; transition:all .2s; }
    .custom-tabs .nav-link.active, .custom-tabs .nav-link:hover { color:var(--navy); border-bottom-color:var(--navy); background:none; }
    .custom-tabs { border-bottom:1px solid var(--border); }

    /* FOOTER */
    .site-footer { background:#0B1D3A; color:rgba(255,255,255,.7); padding:3.5rem 0 1.5rem; }
    .footer-brand .brand-main { font-family:'Playfair Display',serif; color:#fff; font-size:1.2rem; }
    .footer-brand p { font-size:.83rem; line-height:1.7; margin-top:.6rem; }
    .footer-heading { color:#fff; font-weight:700; font-size:.85rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:1rem; }
    .footer-links { list-style:none; padding:0; margin:0; }
    .footer-links li { margin-bottom:.45rem; }
    .footer-links a { color:rgba(255,255,255,.6); text-decoration:none; font-size:.85rem; transition:color .2s; }
    .footer-links a:hover { color:var(--saffron); }
    .footer-divider { border-color:rgba(255,255,255,.1); margin:1.5rem 0 1rem; }
    .footer-bottom { font-size:.78rem; color:rgba(255,255,255,.45); text-align:center; }
    .social-icons a { display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; background:rgba(255,255,255,.07); border-radius:8px; color:rgba(255,255,255,.7); font-size:1rem; margin-right:.4rem; transition:all .2s; text-decoration:none; }
    .social-icons a:hover { background:var(--saffron); color:#fff; }

    @media(max-width:767px){
      .search-box { flex-direction:column; }
      .search-divider { display:none; }
      .hero-stats { justify-content:center; }
    }