.jobs-hero{
    padding:104px 0 92px;
    background:
            radial-gradient(circle at 82% 18%, rgba(91,156,255,.18), transparent 26rem),
            linear-gradient(135deg, #ffffff, #f5f8fc);
    border-bottom:1px solid var(--line);
}

.jobs-hero-layout{
    display:grid;
    grid-template-columns:minmax(0, 1.1fr) minmax(360px, .55fr);
    gap:48px;
    align-items:center;
}

.jobs-hero-copy small,
.jobs-section-head small{
    display:block;
    margin-bottom:18px;
    color:var(--blue);
    font-size:14px;
    font-weight:800;
    letter-spacing:.32em;
    text-transform:uppercase;
}

.jobs-hero-copy h1{
    margin:0 0 24px;
    max-width:850px;
    color:var(--navy-2);
    font-size:clamp(3rem, 5vw, 5.4rem);
    line-height:1;
    letter-spacing:-.06em;
    font-weight:900;
    text-wrap:balance;
}

.jobs-hero-copy p{
    margin:0 0 34px;
    max-width:760px;
    color:var(--muted);
    font-size:clamp(1.08rem, 1.35vw, 1.38rem);
    line-height:1.65;
}

.jobs-hero-actions{
    display:flex;
    align-items:center;
    gap:14px;
    flex-wrap:wrap;
}

.jobs-hero-actions .btn,
.jobs-refresh,
.jobs-cta .btn{
    min-height:52px;
    padding:0 26px;
    font-size:15px;
    font-weight:800;
}

.jobs-hero-actions .btn{
    box-shadow:0 16px 34px rgba(15,27,45,.16);
}

.btn-primary{
    background:var(--navy);
    color:#ffffff;
}

.btn-secondary{
    border-color:rgba(23,32,51,.18);
    background:#ffffff;
    color:var(--navy-2);
}

.jobs-hero-card{
    padding:34px;
    border-radius:28px;
    background:linear-gradient(135deg, var(--navy), #18315e);
    box-shadow:var(--shadow);
    color:#ffffff;
}

.jobs-hero-card h2{
    margin:0 0 16px;
    color:#ffffff;
    font-size:clamp(1.8rem, 2.2vw, 2.6rem);
    line-height:1.05;
    letter-spacing:-.045em;
}

.jobs-hero-card p{
    margin:0;
    color:rgba(255,255,255,.78);
    line-height:1.65;
}

.jobs-section{
    padding:86px 0;
}

.jobs-browser{
    display:grid;
    grid-template-columns:minmax(320px, .7fr) minmax(520px, 1.2fr);
    gap:22px;
    align-items:start;
}

.jobs-list-panel{
    display:grid;
    gap:18px;
}

/* Premium search/filter panel */
.jobs-search-section{
    position:relative;
    z-index:2;
    padding:34px 0 16px;
    margin-top:0;
    border-top:1px solid rgba(205,213,221,.8);
    border-bottom:1px solid rgba(205,213,221,.55);
    background:#f3f6fa;
}

.jobs-search-section .container{
    max-width:1840px;
}

.jobs-search-form{
    position:relative;
    overflow:visible;
    display:grid;
    gap:28px;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    backdrop-filter:none;
}

.jobs-search-form::before{
    content:none;
}

.jobs-search-primary{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(360px, 1fr) minmax(360px, 1fr) 280px;
    gap:30px;
    align-items:center;
}

.jobs-search-field{
    position:relative;
    display:block;
    min-width:0;
    color:transparent;
    font-size:0;
    letter-spacing:0;
    text-transform:none;
}

.jobs-search-field span{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
}

.jobs-search-field::before,
.jobs-search-field::after{
    content:"";
    position:absolute;
    z-index:2;
    pointer-events:none;
}

.jobs-search-field:first-child::before{
    top:50%;
    left:24px;
    width:15px;
    height:15px;
    border:3px solid #1c2430;
    border-radius:50%;
    transform:translateY(-58%);
}

.jobs-search-field:first-child::after{
    top:50%;
    left:40px;
    width:11px;
    height:3px;
    border-radius:999px;
    background:#1c2430;
    transform:translateY(6px) rotate(45deg);
}

.jobs-search-field:nth-child(2)::before{
    top:50%;
    left:28px;
    width:17px;
    height:17px;
    border-radius:50% 50% 50% 0;
    background:#1c2430;
    transform:translateY(-62%) rotate(-45deg);
}

.jobs-search-field:nth-child(2)::after{
    top:50%;
    left:33px;
    width:7px;
    height:7px;
    border-radius:50%;
    background:#ffffff;
    transform:translateY(-92%);
}

.jobs-search-field input{
    width:100%;
    min-height:74px;
    padding:0 28px 0 62px;
    border:1px solid #dbe3ed;
    border-radius:18px;
    background:#ffffff;
    color:var(--navy-2);
    font:inherit;
    font-size:18px;
    line-height:1.2;
    font-weight:800;
    outline:none;
    box-shadow:0 12px 26px rgba(15,27,45,.055), inset 0 1px 0 rgba(255,255,255,.95);
    transition:background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.jobs-search-field:nth-child(2) input:focus + *{
    background:#ffffff;
}

.jobs-search-field input::placeholder{
    color:#25324a;
    opacity:1;
    font-weight:800;
}

.jobs-search-field input:focus{
    border-color:rgba(47,128,237,.65);
    background:#ffffff;
    box-shadow:0 0 0 4px rgba(47,128,237,.15), 0 18px 38px rgba(15,27,45,.1);
}

.jobs-search-button{
    min-height:74px;
    padding:0 34px;
    border:0;
    border-radius:38px;
    background:#162844;
    color:#ffffff;
    font-size:22px;
    font-weight:800;
    letter-spacing:-.02em;
    cursor:pointer;
    box-shadow:0 16px 34px rgba(15,27,45,.18);
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.jobs-search-button:hover{
    transform:translateY(-2px);
    background:#10223d;
    box-shadow:0 18px 34px rgba(15,27,45,.2);
}

.jobs-filter-row{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
    padding-top:2px;
}

.jobs-filter-pill{
    position:relative;
    display:inline-flex;
    align-items:center;
    min-height:56px;
    padding:0;
    border:0;
    border-radius:999px;
    background:transparent;
    color:transparent;
    font-size:0;
    letter-spacing:0;
    text-transform:none;
    box-shadow:none;
}

.jobs-filter-pill > span{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    white-space:nowrap;
}

.jobs-location-option span{
    position:static;
    width:auto;
    height:auto;
    overflow:visible;
    clip:auto;
    white-space:normal;
}

.jobs-filter-pill::after{
    content:"";
    position:absolute;
    right:20px;
    top:50%;
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:6px solid #7b838d;
    transform:translateY(-38%);
    pointer-events:none;
}

.jobs-filter-pill select{
    appearance:none;
    -webkit-appearance:none;
    width:auto;
    min-width:0;
    max-width:none;
    min-height:56px;
    padding:0 46px 0 20px;
    border:1px solid #cdd5dd;
    border-radius:999px;
    background:#f5f8fa;
    color:#707781;
    font:inherit;
    font-size:16px;
    line-height:1;
    font-weight:800;
    outline:none;
    cursor:pointer;
    box-shadow:none;
    transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

#jobs-location-filter,
#jobs-distance-filter,
#jobs-specialization-filter,
#jobs-type-filter{
    width:max-content;
}

#jobs-location-filter{
    min-width:160px;
}

#jobs-distance-filter{
    min-width:150px;
}

#jobs-specialization-filter{
    min-width:210px;
}

#jobs-type-filter{
    min-width:180px;
}

.jobs-location-filter{
    position:relative;
}

.jobs-location-filter::after{
    display:none;
}

.jobs-location-trigger{
    min-width:160px;
    min-height:56px;
    padding:0 44px 0 20px;
    border:1px solid #cdd5dd;
    border-radius:999px;
    background:#f5f8fa;
    color:#707781;
    font:inherit;
    font-size:16px;
    line-height:1;
    font-weight:800;
    cursor:pointer;
    text-align:left;
    position:relative;
}

.jobs-location-trigger::after{
    content:"";
    position:absolute;
    right:20px;
    top:50%;
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:6px solid #7b838d;
    transform:translateY(-38%);
    pointer-events:none;
}

.jobs-location-trigger[aria-expanded="true"]{
    border-color:rgba(47,128,237,.55);
    background:#ffffff;
    box-shadow:0 0 0 4px rgba(47,128,237,.12);
}

.jobs-location-dropdown{
    position:absolute;
    left:0;
    top:calc(100% + 10px);
    z-index:30;
    width:min(360px, calc(100vw - 40px));
    padding:18px;
    border:1px solid #dfe6ef;
    border-radius:20px;
    background:#ffffff;
    box-shadow:0 24px 60px rgba(15,27,45,.16);
    color:var(--text);
}

.jobs-location-dropdown-title{
    margin:0 0 14px;
    color:var(--navy-2);
    font-size:18px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.03em;
}

.jobs-location-divider{
    height:1px;
    margin:14px 0;
    background:#e7ecf2;
}

.jobs-location-options{
    display:grid;
    gap:10px;
    max-height:260px;
    overflow:auto;
    padding-right:4px;
}

.jobs-location-option{
    display:flex;
    align-items:center;
    gap:12px;
    color:#2f3d4d;
    font-size:15px;
    line-height:1.35;
    font-weight:750;
    cursor:pointer;
}

.jobs-location-option input{
    appearance:none;
    width:24px;
    height:24px;
    flex:0 0 24px;
    display:grid;
    place-items:center;
    border:1.5px solid #cbd5e1;
    border-radius:7px;
    background:#ffffff;
    cursor:pointer;
}

.jobs-location-option input:checked{
    border-color:var(--navy);
    background:var(--navy);
}

.jobs-location-option input:checked::after{
    content:"";
    width:7px;
    height:12px;
    border-right:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
    transform:rotate(45deg) translate(-1px, -1px);
}

.jobs-location-select-all{
    font-weight:900;
}

.jobs-location-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.jobs-location-cancel,
.jobs-location-apply{
    min-height:42px;
    padding:0 18px;
    border-radius:999px;
    font:inherit;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.jobs-location-cancel{
    border:1px solid #dfe6ef;
    background:#ffffff;
    color:var(--navy-2);
}

.jobs-location-apply{
    border:0;
    background:var(--navy);
    color:#ffffff;
}

@media (max-width:640px){
    .jobs-location-dropdown{
        position:fixed;
        left:20px;
        right:20px;
        top:auto;
        bottom:20px;
        width:auto;
    }

    .jobs-location-trigger{
        width:100%;
    }
}
.jobs-custom-filter{
    position:relative;
}

.jobs-custom-filter::after{
    display:none;
}

.jobs-filter-trigger{
    min-width:160px;
    min-height:56px;
    padding:0 44px 0 20px;
    border:1px solid #cdd5dd;
    border-radius:999px;
    background:#f5f8fa;
    color:#707781;
    font:inherit;
    font-size:16px;
    line-height:1;
    font-weight:800;
    cursor:pointer;
    text-align:left;
    position:relative;
}

.jobs-filter-trigger::after{
    content:"";
    position:absolute;
    right:20px;
    top:50%;
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:6px solid #7b838d;
    transform:translateY(-38%);
    pointer-events:none;
}

.jobs-filter-trigger[aria-expanded="true"]{
    border-color:rgba(47,128,237,.55);
    background:#ffffff;
    box-shadow:0 0 0 4px rgba(47,128,237,.12);
}

.jobs-filter-dropdown{
    position:absolute;
    left:0;
    top:calc(100% + 10px);
    z-index:30;
    width:min(360px, calc(100vw - 40px));
    padding:18px;
    border:1px solid #dfe6ef;
    border-radius:20px;
    background:#ffffff;
    box-shadow:0 24px 60px rgba(15,27,45,.16);
    color:var(--text);
}

.jobs-filter-dropdown-title{
    margin:0 0 14px;
    color:var(--navy-2);
    font-size:18px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.03em;
}

.jobs-filter-divider{
    height:1px;
    margin:14px 0;
    background:#e7ecf2;
}

.jobs-filter-options{
    display:grid;
    gap:10px;
    max-height:260px;
    overflow:auto;
    padding-right:4px;
}

.jobs-filter-option{
    display:flex;
    align-items:center;
    gap:12px;
    color:#2f3d4d;
    font-size:15px;
    line-height:1.35;
    font-weight:750;
    cursor:pointer;
}

.jobs-filter-option input{
    appearance:none;
    width:24px;
    height:24px;
    flex:0 0 24px;
    display:grid;
    place-items:center;
    border:1.5px solid #cbd5e1;
    border-radius:7px;
    background:#ffffff;
    cursor:pointer;
}

.jobs-filter-option input:checked{
    border-color:var(--navy);
    background:var(--navy);
}

.jobs-filter-option input:checked::after{
    content:"";
    width:7px;
    height:12px;
    border-right:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
    transform:rotate(45deg) translate(-1px, -1px);
}

.jobs-filter-select-all{
    font-weight:900;
}

.jobs-filter-actions{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}

.jobs-filter-cancel,
.jobs-filter-apply{
    min-height:42px;
    padding:0 18px;
    border-radius:999px;
    font:inherit;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
}

.jobs-filter-cancel{
    border:1px solid #dfe6ef;
    background:#ffffff;
    color:var(--navy-2);
}

.jobs-filter-apply{
    border:0;
    background:var(--navy);
    color:#ffffff;
}

@media (max-width:640px){
    .jobs-filter-dropdown{
        position:fixed;
        left:20px;
        right:20px;
        top:auto;
        bottom:20px;
        width:auto;
    }

    .jobs-filter-trigger{
        width:100%;
    }
}

.jobs-filter-pill select:focus{
    border-color:rgba(47,128,237,.55);
    background:#ffffff;
    box-shadow:0 0 0 4px rgba(47,128,237,.12);
}

@media (max-width:1100px){
    .jobs-search-primary{
        grid-template-columns:1fr;
        gap:14px;
    }

    .jobs-search-button{
        width:100%;
    }
}

@media (max-width:760px){
    .jobs-search-field input,
    .jobs-search-button{
        min-height:62px;
    }

    .jobs-filter-row{
        gap:10px;
    }

    .jobs-filter-pill,
    .jobs-filter-pill select{
        appearance:none;
        -webkit-appearance:none;
        width:max-content;
        min-width:max-content;
    }

    #jobs-location-filter,
    #jobs-distance-filter,
    #jobs-specialization-filter,
    #jobs-type-filter{
        width:100%;
    }
}


/* Count + sort toolbar above list */
.jobs-list-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:14px 16px;
    border:1px solid #dbe3ed;
    border-radius:22px;
    background:rgba(255,255,255,.96);
    box-shadow:0 16px 36px rgba(15,27,45,.075), inset 0 1px 0 rgba(255,255,255,.95);
    backdrop-filter:blur(10px);
}

.jobs-count{
    color:var(--navy-2);
    font-size:14px;
    font-weight:900;
    letter-spacing:-.01em;
}

.jobs-sort{
    position:relative;
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:#6b7480;
    font-size:12px;
    font-weight:900;
    letter-spacing:.02em;
    white-space:nowrap;
}

.jobs-sort select{
    appearance:none;
    -webkit-appearance:none;
    width:auto;
    min-width:132px;
    min-height:40px;
    padding:0 42px 0 16px;
    border:1px solid #cfd9e6;
    border-radius:999px;
    background:linear-gradient(180deg, #ffffff, #f8fbff);
    color:var(--navy-2);
    font:inherit;
    font-size:13px;
    line-height:1;
    font-weight:900;
    outline:none;
    cursor:pointer;
    box-shadow:0 8px 18px rgba(15,27,45,.055), inset 0 1px 0 rgba(255,255,255,.95);
    transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.jobs-sort::after{
    content:"";
    position:absolute;
    right:16px;
    top:50%;
    width:0;
    height:0;
    border-left:5px solid transparent;
    border-right:5px solid transparent;
    border-top:6px solid #7b838d;
    transform:translateY(-34%);
    pointer-events:none;
}

.jobs-sort select:focus{
    border-color:rgba(47,128,237,.58);
    background:#ffffff;
    box-shadow:0 0 0 4px rgba(47,128,237,.12), 0 10px 24px rgba(15,27,45,.08);
}

@media (max-width:1280px){
    .jobs-search-form label:nth-child(1),
    .jobs-search-form label:nth-child(2){
        grid-column:span 6;
    }

    .jobs-search-form label:nth-child(3),
    .jobs-search-form label:nth-child(4),
    .jobs-search-form label:nth-child(5),
    .jobs-search-form label:nth-child(6){
        grid-column:span 6;
    }

    .jobs-search-button{
        grid-column:1 / -1;
        width:100%;
    }
}

@media (max-width:720px){
    .jobs-search-section{
        margin-top:-18px;
    }

    .jobs-search-form{
        grid-template-columns:1fr;
        padding:18px;
        border-radius:24px;
    }

    .jobs-search-form label,
    .jobs-search-form label:nth-child(1),
    .jobs-search-form label:nth-child(2),
    .jobs-search-form label:nth-child(3),
    .jobs-search-form label:nth-child(4),
    .jobs-search-form label:nth-child(5),
    .jobs-search-form label:nth-child(6),
    .jobs-search-button{
        grid-column:1 / -1;
    }

    .jobs-list-toolbar{
        align-items:stretch;
        flex-direction:column;
    }

    .jobs-sort{
        align-items:stretch;
        flex-direction:column;
        gap:8px;
    }

    .jobs-sort select{
        width:100%;
        min-width:0;
    }

    .jobs-sort::after{
        top:auto;
        bottom:16px;
    }
}

.jobs-list{
    display:grid;
    gap:14px;
}

.jobs-list{
    display:grid;
    gap:14px;
}

.jobs-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px;
    border:1px solid var(--line);
    border-radius:20px;
    background:#ffffff;
    box-shadow:var(--shadow);
}

.jobs-pagination[hidden]{
    display:none;
}

.jobs-page-button{
    min-height:44px;
    padding:0 18px;
    border-color:rgba(23,32,51,.18);
    background:#ffffff;
    color:var(--navy-2);
    font-size:14px;
    cursor:pointer;
}

.jobs-page-button:disabled{
    cursor:not-allowed;
    opacity:.45;
    transform:none;
}

.jobs-page-status{
    color:var(--muted);
    font-size:14px;
    font-weight:800;
    white-space:nowrap;
}

.job-listing,
.jobs-status,
.job-detail{
    border:1px solid var(--line);
    border-radius:24px;
    background:#ffffff;
    box-shadow:var(--shadow);
}

.job-listing{
    min-height:auto;
    width:100%;
    appearance:none;
    border:1px solid var(--line);
    display:block;
    padding:24px;
    text-align:left;
    cursor:pointer;
    font:inherit;
    color:inherit;
    transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}

.job-listing:focus-visible{
    outline:3px solid rgba(47,128,237,.32);
    outline-offset:3px;
}

.job-listing:hover,
.job-listing.is-selected{
    transform:translateY(-3px);
    border-color:rgba(47,128,237,.38);
    background:linear-gradient(135deg, rgba(47,128,237,.055), #ffffff);
    box-shadow:0 22px 55px rgba(14,27,45,.11);
}

.job-listing.is-selected{
    border-left:6px solid var(--blue);
}

.job-listing-action{
    display:none;
}

.job-detail{
    position:sticky;
    top:112px;
    min-height:420px;
    overflow:hidden;
    padding:0;
}

.job-detail-empty{
    padding:34px;
}

.job-detail-empty small{
    display:block;
    margin-bottom:12px;
    color:var(--blue);
    font-size:13px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.job-detail-content{
    min-height:inherit;
    display:flex;
    flex-direction:column;
}

.job-detail-hero{
    position:relative;
    isolation:isolate;
    overflow:hidden;
    display:flex;
    align-items:flex-end;
    min-height:320px;
    padding:34px;
    border-radius:23px 23px 0 0;
    background:
            linear-gradient(135deg, rgba(2,7,51,.82), rgba(24,41,87,.42)),
            url("../assets/home-ban.png") center / cover no-repeat;
    color:#ffffff;
}

.job-detail-hero::before,
.job-detail-hero::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
}

.job-detail-hero::before{
    background:
            linear-gradient(180deg, rgba(2,7,51,.16), rgba(2,7,51,.86)),
            linear-gradient(110deg, rgba(2,7,51,.92), rgba(2,7,51,.54) 58%, rgba(2,7,51,.2));
}

.job-detail-hero::after{
    opacity:.34;
    background:
            radial-gradient(circle at 14% 18%, rgba(91,156,255,.46), transparent 11rem),
            linear-gradient(135deg, rgba(255,255,255,.14), transparent 42%);
    mix-blend-mode:screen;
}

.job-detail-hero-content{
    position:relative;
    z-index:1;
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    gap:16px;
    width:100%;
    max-width:720px;
}

.job-detail-hero small{
    display:block;
    margin:0;
    color:rgba(255,255,255,.78);
    font-size:12px;
    font-weight:850;
    letter-spacing:.14em;
    line-height:1.35;
    text-transform:uppercase;
    overflow-wrap:anywhere;
}

.job-detail-hero h3{
    margin:0;
    color:#ffffff;
    font-size:clamp(2rem, 3vw, 3.35rem);
    line-height:1.02;
    letter-spacing:0;
    font-weight:900;
    text-wrap:balance;
    overflow-wrap:anywhere;
}

.job-detail-hero-apply{
    min-height:50px;
    padding:0 26px;
    background:#ffffff;
    color:var(--navy);
    font-size:15px;
    font-weight:900;
    box-shadow:0 18px 38px rgba(2,7,51,.24);
}

.job-detail-hero-apply:hover{
    background:#f6f8fb;
    box-shadow:0 22px 44px rgba(2,7,51,.28);
}

.job-detail-summary{
    padding:30px 34px 0;
    background:#ffffff;
}

.job-detail-summary-title{
    margin:0 0 20px;
    color:var(--navy-2);
    font-size:22px;
    line-height:1.15;
    letter-spacing:0;
    font-weight:900;
}

.job-detail-summary-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
}

.job-detail-summary-item{
    display:flex;
    gap:14px;
    min-width:0;
    padding:22px 18px;
}

.job-detail-summary-item:first-child{
    padding-left:0;
}

.job-detail-summary-item:last-child{
    padding-right:0;
}

.job-detail-summary-item + .job-detail-summary-item{
    border-left:1px solid var(--line);
}

.job-detail-summary-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    width:38px;
    height:38px;
    border:1px solid rgba(47,128,237,.22);
    border-radius:12px;
    background:rgba(47,128,237,.06);
    color:var(--blue);
}

.job-detail-summary-icon svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.job-detail-summary-label{
    margin:1px 0 6px;
    color:var(--navy-2);
    font-size:13px;
    line-height:1.2;
    font-weight:900;
}

.job-detail-summary-value{
    color:var(--muted);
    font-size:15px;
    line-height:1.35;
    font-weight:750;
    overflow-wrap:anywhere;
}

.job-detail-body{
    padding:30px 34px 34px;
}

.job-detail-description{
    margin:0;
    color:var(--muted);
    font-size:16px;
    line-height:1.75;
}

.job-detail-description > *:first-child{
    margin-top:0;
}

.job-detail-description > *:last-child{
    margin-bottom:0;
}

.job-detail-description h2,
.job-detail-description h3,
.job-detail-description h4{
    margin:28px 0 10px;
    color:var(--navy-2);
    line-height:1.18;
    letter-spacing:-.035em;
}

.job-detail-description h2{
    font-size:26px;
}

.job-detail-description h3{
    font-size:22px;
}

.job-detail-description h4{
    font-size:19px;
}

.job-detail-description p{
    margin:0 0 16px;
}

.job-detail-description div{
    margin:0 0 16px;
}

.job-detail-description br{
    display:block;
    margin:0 0 10px;
    content:"";
}

.job-detail-description strong,
.job-detail-description b{
    color:var(--navy-2);
    font-weight:900;
}

.job-detail-description ul,
.job-detail-description ol{
    margin:0 0 18px;
    padding-left:22px;
}

.job-detail-description li{
    margin-bottom:8px;
}

.job-detail-description li:last-child{
    margin-bottom:0;
}

body.job-detail-modal-open{
    overflow:hidden;
}

.job-detail-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:0;
}

.job-detail-modal[hidden]{
    display:none;
}

.job-detail-modal-backdrop{
    position:absolute;
    inset:0;
    background:rgba(2,7,51,.68);
    backdrop-filter:blur(5px);
}

.job-detail-modal-panel{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    width:100vw;
    max-width:none;
    height:auto;
    max-height:calc(100vh - 18px);
    max-height:calc(100dvh - 18px);
    border:1px solid rgba(255,255,255,.28);
    border-bottom:0;
    border-radius:28px 28px 0 0;
    background:#ffffff;
    box-shadow:0 -24px 80px rgba(2,7,51,.36);
}

.job-detail-modal-close{
    position:absolute;
    top:14px;
    right:14px;
    z-index:4;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border:1px solid rgba(255,255,255,.48);
    border-radius:50%;
    background:rgba(255,255,255,.92);
    color:var(--navy);
    font:inherit;
    font-size:28px;
    line-height:1;
    font-weight:500;
    cursor:pointer;
    box-shadow:0 14px 28px rgba(2,7,51,.22);
}

.job-detail-modal-close:focus-visible{
    outline:3px solid rgba(47,128,237,.34);
    outline-offset:3px;
}

.job-detail-modal-content{
    overflow:auto;
    width:100%;
    max-height:inherit;
    overscroll-behavior:contain;
}

.job-detail-modal-content .job-detail-content{
    min-height:auto;
}

.job-listing h3{
    margin:0 0 10px;
    color:var(--navy-2);
    font-size:clamp(1.45rem, 2vw, 2rem);
    line-height:1.12;
    letter-spacing:-.04em;
    font-weight:900;
}

.job-listing-body{
    min-width:0;
}

.job-listing h3{
    margin-bottom:12px;
}

.job-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin:0 0 14px;
}

.job-meta-compact{
    margin-bottom:0;
}

.job-meta-compact span{
    min-height:26px;
    max-width:100%;
    padding:0 9px;
    font-size:12px;
}

.job-meta span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:0 10px;
    border-radius:999px;
    background:rgba(47,128,237,.08);
    color:var(--navy-2);
    font-size:13px;
    line-height:1;
    font-weight:800;
}

.job-listing p{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:0;
    color:var(--muted);
    line-height:1.65;
}

.job-listing-action .btn{
    min-height:48px;
    padding:0 22px;
    background:var(--navy);
    color:#ffffff;
    white-space:nowrap;
}

.jobs-status{
    padding:28px;
    color:var(--muted);
}

.jobs-cta-section{
    padding:84px 0;
}

.jobs-cta{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px;
    padding:44px;
    color:white;
    border-radius:32px;
    background:linear-gradient(135deg, var(--navy), #18315e);
    box-shadow:var(--shadow);
}

.jobs-cta::after{
    content:"";
    position:absolute;
    right:-8rem;
    top:-10rem;
    width:24rem;
    height:24rem;
    border-radius:50%;
    background:rgba(91,156,255,.16);
    pointer-events:none;
}

.jobs-cta > *{
    position:relative;
    z-index:1;
}

.jobs-cta h2{
    margin:0 0 10px;
    font-size:clamp(2rem, 4vw, 3.2rem);
    line-height:1.02;
    letter-spacing:-.04em;
}

.jobs-cta p{
    margin:0;
    max-width:58ch;
    color:rgba(255,255,255,.78);
}

.jobs-cta .btn{
    background:#ffffff;
    color:var(--navy);
}

@media (max-width:640px){
    .job-detail-modal-panel{
        max-height:calc(100vh - 10px);
        max-height:calc(100dvh - 10px);
        border-radius:24px 24px 0 0;
    }

    .job-detail-modal-close{
        top:12px;
        right:12px;
    }
}
@media (min-width:981px){
    .job-detail-modal{
        display:none !important;
    }
}

@media (max-width:980px){
    .jobs-hero-layout{
        grid-template-columns:1fr;
    }

    .jobs-browser{
        grid-template-columns:1fr;
    }

    .jobs-cta{
        align-items:flex-start;
        flex-direction:column;
    }

    .job-detail{
        display:none;
    }
}

@media (max-width:640px){
    .jobs-hero{
        padding:82px 0 64px;
    }

    .job-listing{
        padding:24px;
    }

    .jobs-pagination{
        align-items:stretch;
        flex-direction:column;
    }

    .jobs-page-button,
    .jobs-cta .btn{
        width:100%;
    }

    .job-detail-hero{
        min-height:300px;
        padding:28px 24px;
    }

    .job-detail-hero h3{
        font-size:2rem;
        line-height:1.08;
    }

    .job-detail-hero-apply{
        width:100%;
    }

    .job-detail-summary{
        padding:26px 24px 0;
    }

    .job-detail-summary-grid{
        grid-template-columns:1fr;
    }

    .job-detail-summary-item,
    .job-detail-summary-item:first-child,
    .job-detail-summary-item:last-child{
        padding:18px 0;
    }

    .job-detail-summary-item + .job-detail-summary-item{
        border-left:0;
        border-top:1px solid var(--line);
    }

    .job-detail-body,
    .job-detail-empty{
        padding:26px 24px 28px;
    }
}
