/* Employment gateway on the public homepage. Loaded last to isolate it from legacy home sections. */
.page-home .hero-job-entry {
    display: grid;
    grid-template-columns: auto 1fr 1fr;
    width: min(680px, 100%);
    margin: 26px 0 18px;
    border: 1px solid rgba(151, 195, 215, .24);
    background: rgba(3, 16, 27, .72);
    box-shadow: 0 22px 55px rgba(0, 6, 12, .24);
    backdrop-filter: blur(12px);
}
.page-home .hero-job-entry > span,
.page-home .hero-job-entry > a {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 54px;
    padding: 11px 14px;
}
.page-home .hero-job-entry > span {
    color: #8ea8b5;
    font: 700 .65rem/1 ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.page-home .hero-job-entry > span i,
.page-home .home-job-kicker i,
.page-home .home-job-live header i {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #8eea35;
    box-shadow: 0 0 0 6px rgba(142, 234, 53, .1);
    animation: home-job-pulse 2.4s ease-in-out infinite;
}
.page-home .hero-job-entry > a {
    justify-content: space-between;
    border-left: 1px solid rgba(151, 195, 215, .2);
    color: #e9f2f5;
    font-size: .78rem;
    font-weight: 750;
    line-height: 1.25;
    text-decoration: none;
    transition: color .2s ease, background .2s ease;
}
.page-home .hero-job-entry > a:hover { color: #03101b; background: #11bfff; }
.page-home .hero-job-entry b { font-size: 1rem; }

.page-home .home-job-gateway {
    --job-x: 0px;
    --job-y: 0px;
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: clamp(78px, 10vw, 148px) 0 clamp(72px, 9vw, 128px);
    color: #edf6f8;
    background: #020c14;
}
.page-home .home-job-gateway::before {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    background:
        linear-gradient(90deg, rgba(2, 12, 20, .99) 0%, rgba(2, 12, 20, .88) 45%, rgba(2, 12, 20, .38) 74%, rgba(2, 12, 20, .72) 100%),
        linear-gradient(0deg, #020c14 0%, transparent 22%, transparent 80%, #020c14 100%);
}
.page-home .home-job-gateway::after {
    position: absolute;
    z-index: -1;
    inset: 0;
    content: "";
    opacity: .16;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(139, 198, 221, .22) 1px, transparent 1px),
        linear-gradient(90deg, rgba(139, 198, 221, .22) 1px, transparent 1px);
    background-size: 80px 80px;
    mask-image: linear-gradient(90deg, transparent 0%, #000 54%, #000 100%);
}
.page-home .home-job-gateway-art {
    position: absolute;
    z-index: -2;
    inset: -4%;
    background: url("../img/home-editorial/jobs-belgium-it-2026.webp") 74% center / cover no-repeat;
    transform: translate3d(var(--job-x), var(--job-y), 0) scale(1.05);
    transition: transform .8s cubic-bezier(.2,.8,.2,1);
    filter: saturate(.8) contrast(1.07);
}
.page-home .home-job-gateway-inner {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
    gap: clamp(46px, 7vw, 100px);
    align-items: end;
}
.page-home .home-job-gateway-copy { min-width: 0; }
.page-home .home-job-kicker {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #8fcce0;
    font: 750 .68rem/1.3 ui-monospace, SFMono-Regular, Menlo, monospace;
    letter-spacing: .13em;
    text-transform: uppercase;
}
.page-home .home-job-gateway h2 {
    max-width: 900px;
    margin: 20px 0 22px;
    color: #fff;
    font-size: clamp(3rem, 5.9vw, 6.8rem);
    line-height: .9;
    letter-spacing: -.055em;
}
.page-home .home-job-gateway-copy > p {
    max-width: 680px;
    margin: 0 0 30px;
    color: #b7c8d0;
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.65;
}
.page-home .home-job-search {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(190px, .8fr) auto;
    width: min(920px, 100%);
    border-top: 5px solid #11bfff;
    color: #071a27;
    background: #fff;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .38);
}
.page-home .home-job-search label {
    display: grid;
    gap: 6px;
    padding: 13px 16px;
    border-right: 1px solid #cbd6da;
    color: #526976;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.page-home .home-job-search input {
    width: 100%;
    border: 0;
    outline: 0;
    color: #071a27;
    background: transparent;
    font: 650 1rem/1.3 "Gilroy", sans-serif;
}
.page-home .home-job-search input:focus { box-shadow: 0 3px 0 #11bfff; }
.page-home .home-job-search button {
    min-height: 72px;
    padding: 0 24px;
    border: 0;
    color: #03101b;
    background: #11bfff;
    font: 800 .76rem/1.2 "Gilroy", sans-serif;
    text-transform: uppercase;
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}
.page-home .home-job-search button:hover { color: #fff; background: #075a75; }
.page-home .home-job-choice-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    width: min(920px, 100%);
    margin-top: 18px;
    background: rgba(151, 195, 215, .28);
}
.page-home .home-job-choice {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 208px;
    padding: 24px;
    color: #fff;
    background: rgba(3, 17, 28, .85);
    text-decoration: none;
    backdrop-filter: blur(14px);
    transition: transform .25s ease, background .25s ease;
}
.page-home .home-job-choice:hover { z-index: 1; background: rgba(8, 48, 65, .96); transform: translateY(-6px); }
.page-home .home-job-choice > span { grid-column: 1 / -1; color: #7eb8ca; font: 750 .64rem/1 ui-monospace, monospace; letter-spacing: .09em; text-transform: uppercase; }
.page-home .home-job-choice strong { grid-column: 1 / -1; margin: 16px 0 8px; font-size: clamp(1.4rem, 2vw, 2rem); line-height: 1; }
.page-home .home-job-choice small { max-width: 42ch; color: #aebfc7; font-size: .82rem; line-height: 1.5; }
.page-home .home-job-choice b { align-self: end; color: #11bfff; font-size: .72rem; line-height: 1.3; text-transform: uppercase; }
.page-home .home-job-choice b i { font-style: normal; }
.page-home .home-job-choice.is-employer { box-shadow: inset 0 -4px #8eea35; }
.page-home .home-job-choice.is-candidate { box-shadow: inset 0 -4px #11bfff; }

.page-home .home-job-live {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    min-height: 690px;
    padding: 22px;
    border: 1px solid rgba(159, 202, 219, .28);
    background: rgba(2, 14, 23, .74);
    box-shadow: 0 28px 80px rgba(0, 0, 0, .38);
    backdrop-filter: blur(18px);
}
.page-home .home-job-live header { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding-bottom: 16px; border-bottom: 1px solid rgba(159, 202, 219, .22); }
.page-home .home-job-live header span { display: flex; align-items: center; gap: 10px; color: #bdd0d8; font-size: .67rem; font-weight: 750; text-transform: uppercase; }
.page-home .home-job-live header b { color: #638393; font: 700 .62rem/1 ui-monospace, monospace; letter-spacing: .08em; }
.page-home .home-job-live-map {
    position: relative;
    flex: 1 1 230px;
    min-height: 210px;
    max-height: 320px;
    overflow: hidden;
    margin-top: 14px;
    border: 1px solid rgba(159, 202, 219, .14);
    border-bottom-color: rgba(159, 202, 219, .25);
    background:
        radial-gradient(circle at 51% 47%, rgba(17, 191, 255, .12), transparent 34%),
        linear-gradient(rgba(139, 198, 221, .07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(139, 198, 221, .07) 1px, transparent 1px),
        rgba(4, 23, 35, .62);
    background-size: auto, 28px 28px, 28px 28px, auto;
}
.page-home .home-job-live-map::before,
.page-home .home-job-live-map::after {
    position: absolute;
    border: 1px solid rgba(17, 191, 255, .18);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}
.page-home .home-job-live-map::before { top: -102px; right: -78px; width: 250px; height: 250px; }
.page-home .home-job-live-map::after { top: -57px; right: -33px; width: 160px; height: 160px; }
.page-home .home-job-live-map svg { position: absolute; inset: 8px 12px; width: calc(100% - 24px); height: calc(100% - 16px); }
.page-home .home-job-country { fill: rgba(9, 47, 63, .62); stroke: rgba(139, 220, 239, .52); stroke-width: 1.2; }
.page-home .home-job-map-links { fill: none; stroke: rgba(17, 191, 255, .48); stroke-width: 1.2; stroke-dasharray: 5 7; animation: home-job-map-flow 12s linear infinite; }
.page-home .home-job-map-nodes { fill: #061923; stroke: #8eea35; stroke-width: 1.8; }
.page-home .home-job-map-nodes circle:nth-child(3n+2) { fill: rgba(142, 234, 53, .2); animation: home-job-map-node 2.8s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.page-home .home-job-live-map > span {
    position: absolute;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #11bfff;
    box-shadow: 0 0 0 6px rgba(17, 191, 255, .08), 0 0 18px rgba(17, 191, 255, .74);
    animation: home-job-pulse 2.4s ease-in-out infinite;
}
.page-home .home-job-live-map > span:nth-of-type(1) { top: 27%; left: 34%; }
.page-home .home-job-live-map > span:nth-of-type(2) { top: 45%; left: 57%; animation-delay: .7s; }
.page-home .home-job-live-map > span:nth-of-type(3) { top: 67%; left: 68%; animation-delay: 1.4s; }
.page-home .home-job-live dl { margin: 0; }
.page-home .home-job-live dl > div { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 20px; padding: 17px 0; border-bottom: 1px solid rgba(159, 202, 219, .18); }
.page-home .home-job-live dt { max-width: 16ch; color: #9eb2bc; font-size: .72rem; line-height: 1.3; text-transform: uppercase; }
.page-home .home-job-live dd { margin: 0; color: #fff; font-size: clamp(2.15rem, 3vw, 3.35rem); font-weight: 800; line-height: .78; letter-spacing: -.08em; }
.page-home .home-job-live.is-prelaunch { min-height: 620px; }
.page-home .home-job-launch-state {
    position: relative;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    justify-content: center;
    min-height: 280px;
    margin: 14px 0 0;
    padding: clamp(28px, 5vw, 48px) 24px;
    overflow: hidden;
    border: 1px solid rgba(159, 202, 219, .2);
    background:
        linear-gradient(rgba(139, 198, 221, .06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(139, 198, 221, .06) 1px, transparent 1px),
        rgba(4, 23, 35, .68);
    background-size: 28px 28px, 28px 28px, auto;
}
.page-home .home-job-launch-state::after {
    position: absolute;
    right: -70px;
    bottom: -90px;
    width: 230px;
    height: 230px;
    border: 1px solid rgba(17, 191, 255, .2);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(17, 191, 255, .025), 0 0 0 76px rgba(17, 191, 255, .018);
    content: "";
}
.page-home .home-job-launch-state > span { position: relative; z-index: 1; color: #8eea35; font: 750 .65rem/1 ui-monospace, monospace; letter-spacing: .12em; }
.page-home .home-job-launch-state > strong { position: relative; z-index: 1; max-width: 13ch; margin: 24px 0 16px; color: #fff; font-size: clamp(1.8rem, 3.2vw, 3rem); line-height: .98; letter-spacing: -.045em; }
.page-home .home-job-launch-state > p { position: relative; z-index: 1; max-width: 42ch; margin: 0; color: #b3c7cf; font-size: .82rem; line-height: 1.6; }
.page-home .home-job-live-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1px;
    margin: 14px 0;
    background: rgba(159, 202, 219, .2);
}
.page-home .home-job-live-actions a {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    min-height: 92px;
    padding: 14px;
    color: #edf6f8;
    background: rgba(4, 24, 37, .96);
    text-decoration: none;
    transition: color .2s ease, background .2s ease, transform .2s ease;
}
.page-home .home-job-live-actions a:first-child { box-shadow: inset 0 -3px #11bfff; }
.page-home .home-job-live-actions a:last-child { box-shadow: inset 0 -3px #8eea35; }
.page-home .home-job-live-actions span { grid-column: 1 / -1; color: #729aaa; font: 700 .59rem/1 ui-monospace, monospace; letter-spacing: .09em; }
.page-home .home-job-live-actions strong { align-self: end; max-width: 12ch; font-size: .78rem; line-height: 1.2; }
.page-home .home-job-live-actions b { align-self: end; color: #11bfff; font-size: .9rem; }
.page-home .home-job-live-actions a:last-child b { color: #8eea35; }
.page-home .home-job-live-actions a:hover { z-index: 1; color: #03101b; background: #11bfff; transform: translateY(-3px); }
.page-home .home-job-live-actions a:last-child:hover { background: #8eea35; }
.page-home .home-job-live-actions a:hover span,
.page-home .home-job-live-actions a:hover b { color: #03101b; }
.page-home .home-job-live p { margin: 0 0 14px; color: #819ba7; font-size: .69rem; line-height: 1.45; }
.page-home .home-job-live > a { display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid rgba(159, 202, 219, .22); color: #11bfff; font-size: .76rem; font-weight: 800; text-decoration: none; }

.page-home .home-job-latest { position: relative; margin-top: clamp(70px, 9vw, 120px); }
.page-home .home-job-latest-head { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 24px; }
.page-home .home-job-latest-head > div:first-child > span { color: #73a0b2; font: 750 .65rem/1 ui-monospace, monospace; letter-spacing: .1em; text-transform: uppercase; }
.page-home .home-job-latest-head h3 { margin: 8px 0 0; color: #fff; font-size: clamp(2rem, 4vw, 4rem); line-height: 1; }
.page-home .home-job-latest-head .carousel-heading-actions > a { color: #b9d6df; font-size: .78rem; font-weight: 800; text-decoration: none; }
.page-home .home-job-latest .carousel-controls button { border-color: rgba(159, 202, 219, .35); color: #fff; background: rgba(3, 17, 28, .85); }
.page-home .home-job-latest .home-carousel-viewport { overflow: hidden; }
.page-home .home-job-latest .home-jobs-track { gap: 14px; }
.page-home .home-job-latest .board-card {
    min-height: 260px;
    padding: 26px;
    border: 1px solid rgba(159, 202, 219, .2);
    color: #eaf4f7;
    background: rgba(4, 22, 34, .9);
    box-shadow: none;
    backdrop-filter: blur(14px);
}
.page-home .home-job-latest .board-card:hover { padding: 26px; border-color: #11bfff; background: rgba(7, 45, 61, .96); }
.page-home .home-job-latest .board-card h3,
.page-home .home-job-latest .board-card h3 a { color: #fff; }
.page-home .home-job-latest .board-card p,
.page-home .home-job-latest .board-card-meta { color: #98adb7; }
.page-home .home-job-latest .board-empty { color: #d8e6eb; background: rgba(4, 22, 34, .9); }

@keyframes home-job-pulse { 0%, 100% { opacity: .65; transform: scale(.85); } 50% { opacity: 1; transform: scale(1.15); } }
@keyframes home-job-map-flow { to { stroke-dashoffset: -120; } }
@keyframes home-job-map-node { 50% { opacity: .5; transform: scale(.72); } }

@media (max-width: 980px) {
    .page-home .home-job-gateway-inner { grid-template-columns: 1fr; }
    .page-home .home-job-live { min-height: 0; }
    .page-home .home-job-gateway::before { background: linear-gradient(90deg, rgba(2,12,20,.98), rgba(2,12,20,.7)); }
}
@media (max-width: 720px) {
    .page-home .hero-job-entry { grid-template-columns: 1fr; }
    .page-home .hero-job-entry > a { border-top: 1px solid rgba(151, 195, 215, .2); border-left: 0; }
    .page-home .home-job-gateway { padding-top: 72px; }
    .page-home .home-job-gateway h2 { font-size: clamp(2.75rem, 14vw, 4.5rem); }
    .page-home .home-job-search,
    .page-home .home-job-choice-grid { grid-template-columns: 1fr; }
    .page-home .home-job-search label { border-right: 0; border-bottom: 1px solid #cbd6da; }
    .page-home .home-job-choice { min-height: 190px; }
    .page-home .home-job-live-actions a { min-height: 86px; }
    .page-home .home-job-latest-head { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
    .page-home .home-job-gateway-art { transform: none; transition: none; }
    .page-home .hero-job-entry > span i,
    .page-home .home-job-kicker i,
    .page-home .home-job-live header i { animation: none; }
    .page-home .home-job-map-links,
    .page-home .home-job-map-nodes circle,
    .page-home .home-job-live-map > span { animation: none; }
    .page-home .home-job-choice { transition: none; }
}
