:root {
    --c-ink: #17191d;
    --c-muted: #667085;
    --c-blue: #355cff;
    --c-cyan: #6ce7ff;
    --c-lime: #c7ff55;
    --c-line: #e4e7ec;
    --c-soft: #f5f7fb
}

* {
    box-sizing: border-box
}

.career-page {
    
    color: var(--c-ink);
    overflow-x: hidden
}

.career-page a {
    text-decoration: none
}

.career-click-header {
    background: rgba(255, 255, 255, .88);
    backdrop-filter: blur(18px);
    border-bottom: 1px solid rgba(20, 25, 35, .06);
    z-index: 50
}

.career-click-header .navbar-brand img {
    max-height: 42px
}

.career-click-header .nav-link {
    color: #20242b;
    font-weight: 500
}

.career-hero {
    position: relative;
    padding: 170px 0 110px;
    overflow: hidden;
    background: linear-gradient(135deg, #f7f9ff 0%, #fff 50%, #eef8ff 100%)
}

.career-grid,
.cta-grid {
    position: absolute;
    inset: 0;
    background-image: linear-gradient(rgba(53, 92, 255, .055) 1px, transparent 1px), linear-gradient(90deg, rgba(53, 92, 255, .055) 1px, transparent 1px);
    background-size: 60px 60px;
    mask-image: linear-gradient(to bottom, black, transparent 90%)
}

.career-orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(2px);
    opacity: .55
}

.orb-a {
    width: 360px;
    height: 360px;
    background: radial-gradient(circle, #7aa7ff 0%, rgba(122, 167, 255, 0) 70%);
    top: -120px;
    right: 8%
}

.orb-b {
    width: 300px;
    height: 300px;
    background: radial-gradient(circle, #b8ff6c 0%, rgba(184, 255, 108, 0) 70%);
    bottom: -120px;
    left: -50px
}

.orb-c {
    width: 180px;
    height: 180px;
    background: radial-gradient(circle, #ff9ed9 0%, rgba(255, 158, 217, 0) 70%);
    top: 38%;
    right: 40%
}

.hero-inner {
    position: relative;
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    align-items: center;
    gap: 70px
}
.hero-kicker{
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .14em;
    color: #3154d9;
    margin-bottom: 20px
}
.section-head>span,
.cta-inner>span {
    display: inline-flex;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .14em;
    color: #3154d9;
    margin-bottom: 20px
}

.hero-inner h1 {
    font-size: clamp(58px, 7vw, 105px);
    line-height: .95;
    letter-spacing: -.065em;
    margin: 0 0 28px;
    font-weight: 500
}

.hero-inner h1 span,
.section-head em,
.cta-inner em {
    font-style: normal;
    background: linear-gradient(90deg, #355cff, #8a5cff, #00b8d9);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent
}

.hero-inner p {
    max-width: 650px;
    font-size: 19px;
    line-height: 1.7;
    color: #535c6b
}

.hero-actions {
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
    margin-top: 34px
}

.career-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 0;
    border-radius: 999px;
    padding: 15px 24px;
    font-weight: 700;
    transition: .3s ease;
    cursor: pointer
}

.career-btn.primary {
    color: #fff;
    background: #151a24;
    box-shadow: 0 12px 35px rgba(21, 26, 36, .18)
}

.career-btn.primary:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 45px rgba(21, 26, 36, .25)
}

.career-btn.ghost {
    color: #1b2230;
    background: #fff;
    border: 1px solid #dfe3eb
}

.career-btn.ghost:hover {
    transform: translateY(-3px);
    border-color: #9da9c4
}

.hero-visual {
    position: relative;
    width: 480px;
    height: 480px;
    max-width: 100%;
    margin: auto
}

.signal-core {
    position: absolute;
    inset: 155px;
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: #171b25;
    color: #fff;
    box-shadow: 0 30px 80px rgba(30, 38, 60, .25);
    z-index: 3
}

.signal-core span {
    font-size: 12px;
    letter-spacing: .14em;
    font-weight: 500
}

.signal-core b {
    font-size: 38px;
    line-height: 1;
    color: var(--c-lime);
    margin: 5px
}

.signal-ring {
    position: absolute;
    border: 1px solid rgba(53, 92, 255, .28);
    border-radius: 50%;
    inset: 70px
}

.ring-2 {
    inset: 30px;
    border-color: rgba(0, 184, 217, .22)
}

.ring-3 {
    inset: 0;
    border-style: dashed;
    border-color: rgba(53, 92, 255, .18)
}

.sig {
    position: absolute;
    width: 54px;
    height: 54px;
    border-radius: 18px;
    background: #fff;
    display: grid;
    place-items: center;
    box-shadow: 0 15px 40px rgba(20, 30, 60, .14);
    z-index: 4;
    color: #355cff
}

.sig-1 {
    top: 40px;
    left: 90px
}

.sig-2 {
    top: 105px;
    right: 35px
}

.sig-3 {
    bottom: 65px;
    right: 80px
}

.sig-4 {
    bottom: 30px;
    left: 70px
}

.career-intro,
.benefits,
.positions,
.locations {
    padding: 120px 0
}

.career-intro {
    background: #fff
}

.section-head {
    max-width: 800px
}

.section-head h2 {
    font-size: clamp(42px, 5vw, 72px);
    letter-spacing: -.05em;
    line-height: 1;
    margin: 0 0 22px
}

.section-head p {
    font-size: 17px;
    line-height: 1.75;
    color: var(--c-muted);
    max-width: 760px
}

.section-head.centered {
    margin: 0 auto 55px;
    text-align: center
}

.section-head.centered p {
    margin: auto
}

.benefits {
    background: #f7f9fc
}

.benefit-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px
}

.benefit-card {
    padding: 28px;
    border: 1px solid var(--c-line);
    background: #fff;
    border-radius: 24px;
    min-height: 220px;
    transition: .35s ease
}

.benefit-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 20px 55px rgba(24, 34, 60, .1)
}

.benefit-card i {
    font-size: 23px;
    color: #355cff;
    margin-bottom: 38px
}

.benefit-card h3 {
    font-size: 19px;
    margin: 0 0 10px
}

.benefit-card p {
    color: var(--c-muted);
    line-height: 1.6;
    font-size: 14px
}

.positions {
    background: #fff
}

.job-toolbar {
    display: grid;
    grid-template-columns: 1fr 200px 200px;
    gap: 12px;
    margin: 45px 0 24px
}

.search-wrap {
    position: relative
}

.search-wrap i {
    position: absolute;
    left: 18px;
    top: 50%;
    transform: translateY(-50%);
    color: #7c8494
}

.search-wrap input,
.job-toolbar select {
    width: 100%;
    height: 54px;
    border: 1px solid #dfe3eb;
    border-radius: 14px;
    background: #fff;
    padding: 0 16px;
    color: #202631;
    outline: none
}

.search-wrap input {
    padding-left: 46px
}

.search-wrap input:focus,
.job-toolbar select:focus {
    border-color: #6c85ff;
    box-shadow: 0 0 0 4px rgba(53, 92, 255, .08)
}

.job-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px
}

.job-card {
    border: 1px solid var(--c-line);
    border-radius: 24px;
    padding: 30px;
    background: #fff;
    position: relative;
    overflow: hidden;
    transition: .35s ease
}

.job-card:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, #355cff, #6ce7ff, #c7ff55);
    transform: scaleX(0);
    transform-origin: left;
    transition: .4s
}

.job-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 55px rgba(20, 30, 55, .1)
}

.job-card:hover:before {
    transform: scaleX(1)
}

.job-top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 30px;
    color: #647089;
    font-size: 12px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: .08em
}

.job-card h3 {
    font-size: 28px;
    letter-spacing: -.03em;
    margin: 0 0 12px
}

.job-card p {
    color: var(--c-muted);
    line-height: 1.65;
    min-height: 74px
}

.view-job {
    background: none;
    border: 0;
    padding: 0;
    color: #3154d9;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer
}

.view-job i {
    transition: .3s
}

.view-job:hover i {
    transform: translateX(5px)
}

.ats-note {
    margin-top: 28px;
    border: 1px dashed #cfd6e4;
    border-radius: 18px;
    padding: 18px 20px;
    display: flex;
    gap: 12px;
    align-items: flex-start;
    color: #697386
}

.ats-note i {
    color: #355cff;
    margin-top: 3px
}

.ats-note p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6
}

.no-jobs {
    text-align: center;
    padding: 35px;
    color: #6b7280
}

.locations {
    background: #f7f9fc
}

.location-layout {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 80px;
    align-items: center
}

.location-cards {
    display: grid;
    gap: 16px
}

.location-card {
    background: #fff;
    border: 1px solid var(--c-line);
    border-radius: 24px;
    padding: 28px;
    display: flex;
    align-items: center;
    justify-content: space-between
}

.location-card span {
    font-size: 11px;
    letter-spacing: .12em;
    font-weight: 500;
    color: #355cff
}

.location-card h3 {
    margin: 8px 0;
    font-size: 24px
}

.location-card p {
    margin: 0;
    color: var(--c-muted);
    line-height: 1.6
}

.location-card>i {
    font-size: 30px;
    color: #cbd3e2
}

.career-cta {
    position: relative;
    overflow: hidden;
    padding: 130px 0;
    background: #121722;
    color: #fff
}

.career-cta .cta-grid {
    opacity: .35;
    background-image: linear-gradient(rgba(255, 255, 255, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .07) 1px, transparent 1px)
}

.cta-inner {
    position: relative;
    text-align: center
}

.cta-inner>span {
    color: #a9b9ff
}

.cta-inner h2 {
    font-size: clamp(50px, 7vw, 95px);
    line-height: .94;
    letter-spacing: -.06em;
    margin: 0 0 35px
}

.career-click-footer {
    background: #0d1118;
    color: #fff;
    padding: 55px 0 25px
}

.footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding-bottom: 35px;
    border-bottom: 1px solid rgba(255, 255, 255, .1)
}

.footer-top img {
    max-height: 40px;
    filter: brightness(0) invert(1)
}

.footer-top p {
    margin: 0;
    color: #aeb6c4;
    max-width: 500px;
    text-align: right
}

.footer-bottom {
    padding-top: 22px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
    color: #8f98a8;
    font-size: 13px
}

.footer-bottom div {
    display: flex;
    gap: 22px
}

.footer-bottom a {
    color: #aeb6c4
}

.job-modal {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 100
}

.job-modal.is-open {
    display: block
}

.modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 12, 20, .68);
    backdrop-filter: blur(10px);
    z-index: -1;
}

.job-modal-panel {
    position: relative;
    width: min(760px, calc(100% - 28px));
    max-height: calc(100vh - 30px);
    overflow: auto;
    margin: 15px auto;
    background: #fff;
    border-radius: 28px;
    padding: 38px;
    top: 50%;
    transform: translateY(-50%);
    box-shadow: 0 35px 100px rgba(0, 0, 0, .3)
}

.modal-close {
    position: absolute;
    right: 20px;
    top: 20px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid #e1e5ec;
    background: #fff;
    cursor: pointer
}

.modal-kicker {
    font-size: 11px;
    font-weight: 500;
    letter-spacing: .14em;
    color: #355cff;
    margin-bottom: 12px
}

.job-modal-panel h2 {
    font-size: 38px;
    letter-spacing: -.04em;
    margin: 0 45px 8px 0
}

.modal-sub {
    color: #6b7280;
    margin-bottom: 25px
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px
}

.job-modal-panel label {
    font-size: 13px;
    font-weight: 700;
    color: #333b48
}

.job-modal-panel input,
.job-modal-panel textarea {
    display: block;
    width: 100%;
    margin-top: 7px;
    border: 1px solid #dce1ea;
    border-radius: 12px;
    padding: 13px 14px;
    font: inherit;
    font-weight: 400;
    outline: none
}

.job-modal-panel input:focus,
.job-modal-panel textarea:focus {
    border-color: #6b82ff;
    box-shadow: 0 0 0 4px rgba(53, 92, 255, .08)
}

.full-field {
    display: block;
    margin-top: 15px
}

.full-field small {
    display: block;
    color: #8a93a3;
    margin-top: 6px;
    font-weight: 400
}

.consent {
    display: flex !important;
    gap: 9px;
    align-items: flex-start;
    margin: 20px 0 !important;
    font-weight: 500 !important
}

.consent input {
    width: auto !important;
    margin-top: 2px
}

.submit-app {
    margin-top: 4px
}

.application-status {
    margin: 12px 0 0;
    color: #3154d9;
    font-size: 13px
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important
}

@media(max-width:991px) {
    .hero-inner {
        grid-template-columns: 1fr
    }

    .hero-visual {
        margin-top: 20px
    }

    .benefit-grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .job-toolbar {
        grid-template-columns: 1fr 1fr
    }

    .search-wrap {
        grid-column: 1/-1
    }

    .location-layout {
        grid-template-columns: 1fr
    }

    .footer-top {
        align-items: flex-start;
        flex-direction: column
    }

    .footer-top p {
        text-align: left
    }

    .footer-bottom {
        flex-direction: column
    }
}

@media(max-width:600px) {
    .career-hero {
        padding: 130px 0 80px
    }

    .hero-inner h1 {
        font-size: 58px
    }

    .hero-inner p {
        font-size: 16px
    }

    .hero-visual {
        width: 340px;
        height: 340px
    }

    .signal-core {
        inset: 105px
    }

    .signal-ring {
        inset: 50px
    }

    .ring-2 {
        inset: 22px
    }

    .ring-3 {
        inset: 0
    }

    .sig {
        width: 45px;
        height: 45px
    }

    .sig-1 {
        top: 25px;
        left: 55px
    }

    .sig-2 {
        top: 65px;
        right: 10px
    }

    .sig-3 {
        bottom: 35px;
        right: 45px
    }

    .sig-4 {
        bottom: 15px;
        left: 40px
    }

    .career-intro,
    .benefits,
    .positions,
    .locations {
        padding: 80px 0
    }

    .benefit-grid,
    .job-grid,
    .form-grid {
        grid-template-columns: 1fr
    }

    .job-toolbar {
        grid-template-columns: 1fr
    }

    .job-card p {
        min-height: 0
    }

    .job-modal-panel {
        padding: 28px 20px;
        border-radius: 22px
    }

    .job-modal-panel h2 {
        font-size: 30px
    }

    .footer-bottom div {
        flex-wrap: wrap
    }

    .career-btn {
        width: 100%
    }
}

@media(prefers-reduced-motion:reduce) {

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important
    }
}