#jobs-distance-filter-wrap[hidden],
#jobs-mobile-distance-section[hidden]{
    display:none !important;
}

.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;
}

/* Prevent search containers from overflowing viewport */
.jobs-search-section,
.jobs-search-section .container,
.jobs-search-form,
.jobs-search-primary,
.jobs-search-field{
    min-width:0;
}

.jobs-search-field,
.jobs-search-button{
    box-sizing:border-box;
    max-width:100%;
}

/* 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:5;
    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{
    box-sizing:border-box;
    width:100%;
    max-width:100%;
    min-width:0;
    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;
}

/* Location autocomplete suggestions dropdown */
.jobs-location-suggestions{
    position:absolute;
    top:calc(100% + 6px);
    left:0;
    right:0;
    z-index:200;
    list-style:none;
    margin:0;
    padding:6px 0;
    border:1px solid #dbe3ed;
    border-radius:16px;
    background:#ffffff;
    box-shadow:0 16px 40px rgba(15,27,45,.12), 0 4px 12px rgba(15,27,45,.06);
    max-height:280px;
    overflow-y:auto;
}

.jobs-location-suggestions li{
    padding:11px 20px;
    font-size:15px;
    font-weight:500;
    color:#17284d;
    cursor:pointer;
    transition:background .12s ease;
}

.jobs-location-suggestions li:hover,
.jobs-location-suggestions li.is-focused{
    background:#f3f6fa;
}

.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;
    max-width:100%;
    overflow:visible;
}

.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-distance-option input[type="radio"]{
    appearance:none;
    width:24px;
    height:24px;
    flex:0 0 24px;
    display:grid;
    place-items:center;
    border:1.5px solid #cbd5e1;
    border-radius:999px;
    background:#ffffff;
    cursor:pointer;
}

.jobs-distance-option input[type="radio"]:checked{
    border-color:var(--navy);
    background:var(--navy);
}

.jobs-distance-option input[type="radio"]: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{
        display:grid;
        grid-template-columns:1fr;
        gap:16px;
        width:100%;
    }

    .jobs-search-field,
    .jobs-search-button{
        width:100%;
        max-width:none;
        min-width:0;
    }

    .jobs-search-button{
        justify-self:stretch;
    }
}

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

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

    .jobs-filter-row{
        flex-wrap:wrap;
        gap:12px;
    }

    .jobs-filter-pill{
        min-width:0;
    }

    .jobs-filter-pill select{
        appearance:none;
        -webkit-appearance:none;
    }

    #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:16px;
    margin:0 0 18px;
    padding:0 2px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

.jobs-count{
    flex:1 1 auto;
    min-width:0;
    color:var(--navy-2);
    font-size:14px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.02em;
    white-space:nowrap;
}

.jobs-sort{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#7a8798;
    font-size:12px;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
}

.jobs-sort-label{
    color:#7a8798;
    font-weight:800;
}

.jobs-sort-option{
    appearance:none;
    border:0;
    padding:0;
    background:transparent;
    color:#7a8798;
    font:inherit;
    font-weight:800;
    cursor:pointer;
    transition:color .18s ease;
}

.jobs-sort-option:hover,
.jobs-sort-option:focus-visible{
    color:#17284d;
}

.jobs-sort-option.is-active{
    color:var(--navy-2);
    font-weight:950;
}

.jobs-sort-separator{
    color:#a6b0bf;
    font-weight:700;
}

@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:980px){
    .jobs-search-section{
        padding-bottom:24px;
    }
}

@media (max-width:640px){
    .jobs-search-section{
        padding-bottom:18px;
    }
}

@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{
    display:grid;
    gap:14px;
}

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

@media (max-width:760px){
    .jobs-list-toolbar{
        margin-bottom:14px;
        padding:0;
        gap:10px;
    }

    .jobs-count{
        font-size:13px;
    }

    .jobs-sort{
        font-size:12px;
        gap:4px;
    }

    .jobs-pagination{
        margin-top:20px;
        grid-template-columns:72px auto 72px;
        column-gap:12px;
    }

    .jobs-page-button{
        font-size:13px;
    }

    .jobs-page-status{
        font-size:12px;
    }
}

.jobs-pagination{
    display:grid;
    grid-template-columns:96px auto 96px;
    align-items:center;
    column-gap:14px;
    width:100%;
    margin:24px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
}

#jobs-prev{
    justify-self:end;
}

#jobs-next{
    justify-self:start;
}

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

.jobs-page-button{
    width:auto;
    min-width:0;
    height:auto;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    color:var(--navy-2);
    box-shadow:none;
    font:inherit;
    font-size:13px;
    line-height:1;
    font-weight:900;
    letter-spacing:-.01em;
    cursor:pointer;
    transition:color .18s ease, opacity .18s ease, transform .18s ease;
}

.jobs-page-button:hover,
.jobs-page-button:focus-visible{
    color:#2f80ed;
    transform:translateY(-1px);
}

.jobs-page-button:disabled{
    color:#a6b0bf;
    cursor:not-allowed;
    opacity:.65;
    transform:none;
}

.jobs-page-button#jobs-prev::before{
    content:"← ";
}

.jobs-page-button#jobs-next::after{
    content:" →";
}

.jobs-page-status{
    justify-self:center;
    color:#7a8798;
    font-size:12px;
    line-height:1;
    font-weight:800;
    white-space:nowrap;
}

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

.job-card{
    position:relative;
    overflow:hidden;
    width:100%;
    appearance:none;
    display:block;
    padding:24px 24px 22px;
    text-align:left;
    font:inherit;
    color:inherit;
    border:1px solid rgba(15,39,64,.08);
    border-radius:22px;
    background:
        radial-gradient(circle at 18% 0%, rgba(47,128,237,.07), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.99), rgba(247,250,255,.96));
    box-shadow:0 16px 36px rgba(15,27,45,.075);
    cursor:pointer;
    transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease, background .22s ease;
}

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

.job-card:hover,
.job-card:focus-visible{
    transform:translateY(-2px);
    border-color:rgba(47,128,237,.28);
    box-shadow:0 24px 52px rgba(15,27,45,.12);
}

.job-card.is-active{
    border-color:rgba(15,27,45,.55);
    background:
        radial-gradient(circle at 18% 0%, rgba(15,27,45,.18), transparent 38%),
        linear-gradient(135deg, rgba(248,249,252,1), rgba(222,227,236,1));
    box-shadow:0 24px 56px rgba(15,27,45,.28), 0 8px 24px rgba(15,27,45,.16);
}

.job-card.is-active::after{
    content:"";
    position:absolute;
    left:0;
    top:18px;
    bottom:18px;
    width:4px;
    border-radius:999px;
    background:#17284d;
}

.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-summary .job-card-rule{
    margin:20px 0 16px;
}

.job-detail-summary .job-card-meta{
    gap:14px 24px;
}

.job-detail-summary .job-card-meta-item{
    font-size:14px;
    gap:8px;
}

.job-detail-summary .job-card-meta-item i{
    font-size:13px;
}

.job-detail-summary .job-card-compensation{
    gap:10px;
    margin-top:0;
}

.job-detail-summary .job-card-compensation i{
    font-size:13px;
}

.job-detail-summary .job-card-compensation strong{
    font-size:17px;
}

.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;
}

/* Location kicker above title */
.job-card-location{
    margin-bottom:9px;
    color:#8b9ab0;
    font-size:11px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}

/* Job title */
.job-card-title{
    margin:0;
    color:var(--navy-2);
    font-size:clamp(22px, 1.55vw, 28px);
    line-height:1.03;
    letter-spacing:-.06em;
    font-weight:900;
}

.job-card:hover .job-card-title,
.job-card:focus-visible .job-card-title{
    color:#102a62;
}

/* Divider */
.job-card-rule{
    height:1px;
    margin:16px 0 13px;
    background:linear-gradient(90deg, rgba(15,39,64,.10), rgba(15,39,64,.03));
}

/* Meta row: job type, shift, specialization */
.job-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:10px 14px;
    align-items:center;
}

.job-card-meta-item{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#516075;
    font-size:12px;
    font-weight:800;
}

.job-card-meta-item i{
    color:#95a3b7;
    font-size:11px;
}

/* Compensation */
.job-card-compensation{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:0;
    color:#526174;
    background:transparent;
    border:0;
}

.job-card-compensation i{
    color:#95a3b7;
    font-size:11px;
}

.job-card-compensation strong{
    color:#36445a;
    font-size:13px;
    font-weight:900;
}

/* Excerpt */
.job-card-excerpt{
    display:-webkit-box;
    -webkit-line-clamp:3;
    -webkit-box-orient:vertical;
    overflow:hidden;
    margin:15px 0 0;
    color:#5f6b7c;
    font-size:13px;
    line-height:1.6;
    font-weight:450;
}

/* Posted age */
.job-card-posted-age{
    margin-top:10px;
    color:#94a3b8;
    font-size:11.5px;
    line-height:1.35;
    font-weight:600;
    letter-spacing:.01em;
}

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

/* ── Clear filters inline button (all breakpoints) ─────── */
.jobs-clear-filters{
    appearance:none;
    border:0;
    padding:0;
    background:transparent;
    color:#7a8798;
    font:inherit;
    font-size:13px;
    font-weight:800;
    cursor:pointer;
    white-space:nowrap;
    text-align:center;
    text-decoration:underline;
    text-underline-offset:3px;
    transition:color .18s ease;
}

@media (max-width:980px){
    .jobs-clear-filters{
        width:100%;
    }
}

.jobs-clear-filters:hover,
.jobs-clear-filters:focus-visible{
    color:#17284d;
}

/* ── Mobile filter trigger ───────────────────────────────── */
.jobs-mobile-filter-trigger{
    display:none;
}

.jobs-mobile-filter-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:var(--navy);
    color:#ffffff;
    font-size:11px;
    font-weight:900;
}

@media (max-width:980px){
    .jobs-filter-pill{
        display:none !important;
    }

    .jobs-mobile-filter-trigger{
        display:inline-flex;
        align-items:center;
        justify-content:center;
        gap:8px;
        width:100%;
        min-height:56px;
        padding:0 24px;
        border:1.5px solid rgba(23,32,51,.18);
        border-radius:999px;
        background:#ffffff;
        color:var(--navy-2);
        font:inherit;
        font-size:16px;
        font-weight:800;
        cursor:pointer;
        box-shadow:0 8px 18px rgba(15,27,45,.06);
        transition:border-color .2s ease, box-shadow .2s ease;
    }

    .jobs-mobile-filter-trigger:hover{
        border-color:rgba(47,128,237,.38);
        box-shadow:0 12px 24px rgba(15,27,45,.10);
    }
}

/* ── Mobile filter sheet (bottom drawer) ────────────────── */
.jobs-mobile-filter-sheet{
    position:fixed;
    inset:0;
    z-index:1000;
    display:flex;
    align-items:flex-end;
    justify-content:center;
}

.jobs-mobile-filter-sheet[hidden]{
    display:none;
}

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

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

.jobs-mobile-filter-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:20px 24px;
    border-bottom:1px solid var(--line);
    flex-shrink:0;
}

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

.jobs-mobile-filter-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:36px;
    height:36px;
    border:1px solid var(--line);
    border-radius:50%;
    background:#ffffff;
    color:var(--navy);
    font:inherit;
    font-size:22px;
    font-weight:400;
    line-height:1;
    cursor:pointer;
}

.jobs-mobile-filter-body{
    flex:1;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:20px 24px;
    display:flex;
    flex-direction:column;
    gap:24px;
}

.jobs-mobile-filter-section{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.jobs-mobile-filter-section-title{
    color:var(--navy-2);
    font-size:12px;
    font-weight:900;
    letter-spacing:.10em;
    text-transform:uppercase;
}

.jobs-mobile-filter-options{
    display:flex;
    flex-direction:column;
    gap:10px;
}

.jobs-mobile-distance{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    min-height:52px;
    padding:0 20px;
    border:1px solid #dbe3ed;
    border-radius:12px;
    background:#f8fafc;
    color:var(--navy-2);
    font:inherit;
    font-size:15px;
    font-weight:700;
    outline:none;
    cursor:pointer;
}

.jobs-mobile-filter-footer{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:16px 24px 28px;
    border-top:1px solid var(--line);
    flex-shrink:0;
}

.jobs-mobile-filter-clear{
    appearance:none;
    border:0;
    padding:0;
    background:transparent;
    color:var(--muted);
    font:inherit;
    font-size:15px;
    font-weight:700;
    cursor:pointer;
    text-align:center;
    text-decoration:underline;
    text-underline-offset:3px;
}

.jobs-mobile-filter-apply{
    min-height:54px;
    width:100%;
    font-size:16px;
    font-weight:900;
}

.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{
        display:none;
    }

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

    .jobs-section{
        padding-top:24px;
    }

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

    .jobs-list-panel{
        margin-top:0;
    }

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

    .job-detail{
        display:none;
    }
}

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

    .jobs-section{
        padding-top:18px;
    }

    .jobs-browser{
        gap:18px;
    }

    .jobs-list-toolbar{
        margin-top:0;
    }

    .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;
    }
}
