.button {
    display: inline-flex;
    gap: 22px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 999px;
    padding: 16px 22px;
    background: #0759e6;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s cubic-bezier(.22, 1, .36, 1), box-shadow .25s ease
}

.button:hover {
    background: #064dc6;
}

.button:disabled {
    cursor: wait;
    opacity: .82;
    transform: none;
    box-shadow: none
}

.button.compact {
    padding: 12px 18px;
    font-size: 14px
}

.textLink {
    font-size: 14px;
    font-weight: 700
}

.textLink span {
    margin-left: 8px;
    color: #0759e6
}

.tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.tags span {
    border: 1px solid #354052;
    border-radius: 999px;
    padding: 7px 11px;
    color: #aeb8c7;
    font-size: 11px
}

.lightTags span {
    border-color: #dce6f5;
    color: #64738a
}

.outline {
    background: white;
    color: #0759e6;
    border: 1px solid #0759e6
}

.outline:hover {
    background: #f8fbff;
    border-color: #064dc6
}

.lightButton {
    background: #fff;
    color: #0759e6;
    align-self: flex-start
}

.lightButton:hover {
    background: #eef5ff;
    color: #064dc6
}

.formStatus {
    margin: -8px 0 0;
    min-height: 22px;
    color: #eef5ff;
    font-size: 14px
}

.formStatus.is-success {
    color: #d9ffef
}

.formStatus.is-error {
    color: #fff1f1
}

.feedbackPopup {
    --feedbackPopupAccent: #19aa59;
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 220;
    overflow: hidden;
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    width: min(360px, calc(100vw - 48px));
    min-height: 68px;
    border: 1px solid #edf2f7;
    border-radius: 16px;
    background: #fff;
    color: #0f172a;
    font-family: "Manrope", sans-serif;
    padding: 14px 16px 14px 14px;
    box-shadow: 0 20px 44px -28px rgba(15, 23, 42, .18), 0 10px 22px -18px rgba(15, 23, 42, .10)
}

.feedbackPopup::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    border-radius: 16px 0 0 16px;
    background: var(--feedbackPopupAccent)
}

.feedbackPopup[hidden] {
    display: none
}

.feedbackPopup.is-warning {
    --feedbackPopupAccent: #ff9716
}

.feedbackPopup.is-error {
    --feedbackPopupAccent: #eb3125
}

.feedbackPopupIcon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    background: #fff;
    border: 3px solid var(--feedbackPopupAccent);
    color: var(--feedbackPopupAccent);
    justify-self: center;
    flex-shrink: 0
}

.feedbackPopupIcon svg {
    width: 18px;
    height: 18px;
    display: block
}

.feedbackPopupCopy {
    min-width: 0;
    display: grid;
    gap: 4px
}

.feedbackPopupLabel {
    margin: 0;
    color: var(--feedbackPopupAccent);
    font: 800 11px/1 "Manrope";
    letter-spacing: .05em;
    text-transform: uppercase
}

.feedbackPopupHeadline {
    margin: 0;
    color: #0f172a;
    font: 800 clamp(15px, 1.05vw, 16px)/1.12 "Manrope";
    letter-spacing: -.03em
}

.feedbackPopupMessage {
    margin: 0;
    min-width: 0;
    color: #6b7280;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.28
}

.socials {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    gap: 10px !important;
    margin-top: 16px
}

.socials a {
    width: 40px;
    height: 40px;
    border: 1px solid #cad7e9;
    border-radius: 50%;
    display: grid !important;
    place-items: center;
    color: #0759e6 !important;
    font: 700 11px 'Manrope';
    box-sizing: border-box;
    flex: 0 0 40px;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .22s cubic-bezier(.22, 1, .36, 1)
}

.socials a span {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    line-height: 0;
    color: inherit !important
}

.socials a svg {
    width: 16px;
    height: 16px;
    display: block;
    flex: none
}

.socials a:hover {
    background: #0759e6;
    color: #fff !important;
    border-color: #0759e6;
}

.contact .socials a {
    border-color: #7aa9f7;
    color: #fff !important
}

.contact .socials a:hover {
    background: #fff;
    color: #0759e6 !important;
    border-color: #fff
}

.dropdown {
    position: relative
}

.dropdownCaret {
    width: 16px;
    height: 16px;
    color: #0759e6;
    display: inline-grid;
    place-items: center;
    flex: none
}

.dropdownCaret svg {
    width: 16px;
    height: 16px;
    display: block
}

.dropdownPanel {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    background: #fff;
    border: 1px solid #dbe5f5;
    border-radius: 16px;
    padding: 7px;
    box-shadow: 0 18px 50px #1c3e701f;
    z-index: 50
}

.languageMenuTrigger {
    height: 42px;
    border: 1px solid #dbe5f5;
    border-radius: 999px;
    background: #fff;
    padding: 0 13px;
    display: flex;
    align-items: center;
    gap: 7px;
    color: #354258;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer
}

.languageMenuIcon,
.languageMenuCaret {
    display: inline-grid;
    place-items: center
}

.languageMenuIcon {
    color: #0759e6;
    font-size: 14px
}

.languageOptions {
    right: 0;
    left: auto;
    top: 50px;
    width: 184px;
    min-width: 184px
}

.languageOption {
    width: 100%;
    border: 0;
    background: transparent;
    border-radius: 11px;
    padding: 10px;
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 8px;
    align-items: center;
    text-align: left;
    cursor: pointer;
    color: #5e6b7e
}

.languageOption:hover,
.languageOption.selected {
    background: #eef4ff;
    color: #0759e6
}

.languageOptionName {
    font-size: 11px
}

.languageOptionCode {
    font-weight: 700
}

/* Gentle ambient motion for the rounded geometric language */
.shape,
.vacancyShape,
.cultureArt i {
    will-change: transform;
    animation: softFloat 8s ease-in-out infinite alternate
}

.shapeA,
.vs1 {
    animation-duration: 9.5s;
    animation-delay: -1.5s
}

.shapeB,
.vs2 {
    animation-name: softFloatReverse;
    animation-duration: 7.5s;
    animation-delay: -4s
}

.shapeC,
.vs3 {
    animation-duration: 11s;
    animation-delay: -6s
}

.shapeD,
.vs4 {
    animation-name: softFloatReverse;
    animation-duration: 6.5s;
    animation-delay: -2s
}

.cultureArt i:last-child {
    animation-name: softFloatReverse;
    animation-delay: -5s
}

.careerArt:before {
    animation: careerFloat 9s ease-in-out -2s infinite alternate
}

.careerArt:after {
    animation: careerFloatReverse 11s ease-in-out -6s infinite alternate
}

.shape:after,
.vacancyShape:after {
    animation: innerDrift 6s ease-in-out infinite alternate
}

@keyframes softFloat {
    0% {
        transform: translate3d(-4px, -3px, 0) rotate(39deg)
    }

    50% {
        transform: translate3d(7px, -10px, 0) rotate(44deg)
    }

    100% {
        transform: translate3d(-2px, 8px, 0) rotate(40deg)
    }
}

@keyframes softFloatReverse {
    0% {
        transform: translate3d(4px, 5px, 0) rotate(45deg)
    }

    50% {
        transform: translate3d(-8px, -7px, 0) rotate(39deg)
    }

    100% {
        transform: translate3d(5px, -2px, 0) rotate(43deg)
    }
}

@keyframes careerFloat {
    0% {
        transform: translate3d(0, 0, 0) rotate(43deg)
    }

    100% {
        transform: translate3d(10px, -12px, 0) rotate(48deg)
    }
}

@keyframes careerFloatReverse {
    0% {
        transform: translate3d(0, 0, 0) rotate(47deg)
    }

    100% {
        transform: translate3d(-11px, 9px, 0) rotate(41deg)
    }
}

@keyframes innerDrift {
    from {
        translate: 0 0
    }

    to {
        translate: 5px -5px
    }
}

@media(max-width:850px) {
    .languageMenuTrigger {
        height: 38px
    }

    .languageOptions {
        right: -5px
    }

    .feedbackPopup {
        left: 16px;
        right: 16px;
        bottom: 16px;
        width: auto;
        min-height: 94px;
        grid-template-columns: 48px minmax(0, 1fr);
        gap: 12px;
        padding: 14px 14px 14px 12px
    }

    .feedbackPopup::before {
        width: 4px
    }

    .feedbackPopupIcon {
        width: 38px;
        height: 38px;
        border-width: 3px
    }

    .feedbackPopupIcon svg {
        width: 15px;
        height: 15px
    }

    .feedbackPopupLabel {
        font-size: 10px
    }

    .feedbackPopupHeadline {
        font-size: 14px
    }

    .feedbackPopupMessage {
        font-size: 11px
    }
}

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

    .shape,
    .vacancyShape,
    .cultureArt i,
    .careerArt:before,
    .careerArt:after,
    .shape:after,
    .vacancyShape:after {
        animation: none !important
    }
}