body {
    font-family: 'Source Sans Pro', 'Noto Sans SC', system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.partner-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    padding: 0.75rem 1.5rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    background: rgba(255, 255, 255, 0.8);
    color: #0B2E5B;
    box-shadow: 0 18px 40px -24px rgba(11, 46, 91, 0.5);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.partner-chip:hover {
    transform: translateY(-4px);
    box-shadow: 0 18px 40px -16px rgba(11, 46, 91, 0.55);
}

#site-header.scrolled {
    background: rgba(11, 46, 91, 0.92);
    backdrop-filter: blur(12px);
}

.phase-button.active {
    border-color: rgba(11, 46, 91, 0.8);
    box-shadow: 0 16px 32px -24px rgba(11, 46, 91, 0.6);
}

.hero-swiper .swiper-slide {
    position: relative;
}

.hero-swiper .swiper-pagination-bullet {
    background: rgba(255, 255, 255, 0.6);
}

.service-card {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.service-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 24px 45px -30px rgba(11, 46, 91, 0.65);
}

.team-card {
    position: relative;
    overflow: hidden;
}

.team-card__toggle {
    background: rgba(255, 255, 255, 0.6);
    backdrop-filter: blur(4px);
}

.team-card__toggle i {
    transition: transform 0.3s ease;
}

.team-card__toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.team-card__details {
    border-top: 1px solid rgba(11, 46, 91, 0.12);
    padding-top: 1rem;
}

.team-card__details ul {
    list-style: disc;
    padding-left: 1.25rem;
}

.team-card__details ul li::marker {
    color: #D5A64A;
}

[data-phase-card] {
    transition: transform 0.4s ease, box-shadow 0.4s ease;
}

[data-phase-card].ring-champagne {
    transform: translateY(-6px);
    box-shadow: 0 24px 45px -30px rgba(213, 166, 74, 0.55);
}

#faq-accordion {
    position: relative;
}

#faq-accordion::before {
    content: "";
    position: absolute;
    inset: -80px -40px;
    z-index: 0;
    background: radial-gradient(circle at center, rgba(82, 140, 201, 0.2), transparent 65%);
    filter: blur(12px);
}

.faq-item {
    position: relative;
    z-index: 1;
    background: linear-gradient(135deg, rgba(82, 140, 201, 0.16), rgba(255, 255, 255, 0.95));
    transition: transform 0.35s ease, box-shadow 0.35s ease;
    box-shadow: 0 18px 45px -28px rgba(11, 46, 91, 0.18);
}

.faq-item:hover {
    transform: translateY(-4px);
    box-shadow: 0 24px 55px -28px rgba(11, 46, 91, 0.24);
}

.faq-item.active .faq-content {
    display: block;
}

.faq-item.active .faq-toggle i {
    transform: rotate(45deg);
}

form .success {
    color: #2F8F6B;
}

form .error {
    color: #D64545;
}

body[data-page="consultation"] a[data-nav="consultation"] {
    background: #ffffff;
    color: #0B2E5B;
    box-shadow: 0 20px 45px -20px rgba(11, 46, 91, 0.45);
}

body[data-page="consultation"] a[data-nav="consultation"]:hover {
    background: rgba(255, 255, 255, 0.92);
}

body[data-page="home"] [data-nav="home"],
body[data-page="careers"] [data-nav="careers"] {
    color: #D5A64A;
}

.site-brand__title,
.site-brand__tagline {
    transition: color 0.3s ease;
}

#site-header .site-brand__title {
    color: #D5A64A;
}

#site-header .site-brand__tagline {
    color: rgba(255, 255, 255, 0.85);
}

body.header-solid #site-header {
    background: rgba(11, 46, 91, 0.92);
    backdrop-filter: blur(12px);
}

.careers-hero {
    position: relative;
}

.careers-hero__gradient,
.careers-hero__mesh,
.careers-hero__particles {
    pointer-events: none;
}

.careers-hero__gradient,
.careers-hero__mesh {
    z-index: 0;
}

.careers-hero__grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    overflow: hidden;
}

.careers-hero__grid::before {
    content: "";
    position: absolute;
    left: -25%;
    right: -25%;
    bottom: -55%;
    height: 150%;
    background-image:
        repeating-linear-gradient(90deg, rgba(213, 166, 74, 0.18) 0 2px, transparent 2px 110px),
        repeating-linear-gradient(0deg, rgba(82, 140, 201, 0.18) 0 2px, transparent 2px 120px);
    transform: perspective(1100px) rotateX(72deg);
    transform-origin: center top;
    opacity: 0.45;
    mix-blend-mode: screen;
    animation: careersGridFloat 18s ease-in-out infinite alternate;
    -webkit-mask-image: linear-gradient(to top, transparent 0%, rgba(0, 0, 0, 0.45) 35%, rgba(0, 0, 0, 0.9) 75%, rgba(0, 0, 0, 1) 100%);
    mask-image: linear-gradient(to top, transparent 0%, rgba(0, 0, 0, 0.45) 35%, rgba(0, 0, 0, 0.9) 75%, rgba(0, 0, 0, 1) 100%);
}

.careers-hero__grid::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 50% 85%, rgba(11, 46, 91, 0.55), transparent 65%);
    opacity: 0.35;
}

.careers-hero__content {
    position: relative;
    z-index: 3;
}

.careers-hero::before {
    content: "";
    position: absolute;
    top: -40%;
    left: -20%;
    width: 70vw;
    height: 70vw;
    background: radial-gradient(circle at center, rgba(213, 166, 74, 0.35), transparent 60%);
    filter: blur(40px);
    opacity: 0.65;
    animation: careersPulse 12s ease-in-out infinite alternate;
    mix-blend-mode: screen;
}

.careers-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.08), transparent 50%),
        radial-gradient(circle at 15% 75%, rgba(47, 143, 107, 0.2), transparent 60%);
    opacity: 0.5;
    animation: careersAurora 16s ease-in-out infinite alternate;
    mix-blend-mode: screen;
}

.careers-hero__mesh {
    position: absolute;
    inset: -30% -10% -20% -10%;
    background-image:
        linear-gradient(120deg, rgba(5, 20, 53, 0.5), rgba(5, 20, 53, 0)),
        repeating-linear-gradient(0deg, rgba(213, 166, 74, 0.1) 0 1px, transparent 1px 120px),
        repeating-linear-gradient(90deg, rgba(213, 166, 74, 0.08) 0 1px, transparent 1px 160px);
    opacity: 0.35;
    animation: meshDrift 24s linear infinite;
    transform-origin: center;
}

.careers-hero__particles {
    display: none;
}

.careers-hero__particles span {
    position: absolute;
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 9999px;
    background: rgba(213, 166, 74, 0.9);
    box-shadow: 0 0 18px rgba(213, 166, 74, 0.6);
    opacity: 0.85;
    animation: particleFloat 14s linear infinite;
}

.careers-hero__particles span:nth-child(1) {
    top: 18%;
    left: 16%;
    animation-duration: 16s;
}

.careers-hero__particles span:nth-child(2) {
    top: 32%;
    left: 68%;
    animation-duration: 20s;
    animation-delay: 2s;
}

.careers-hero__particles span:nth-child(3) {
    top: 58%;
    left: 24%;
    animation-duration: 18s;
    animation-delay: 4s;
}

.careers-hero__particles span:nth-child(4) {
    top: 70%;
    left: 78%;
    animation-duration: 22s;
    animation-delay: 6s;
}

.careers-hero__particles span:nth-child(5) {
    top: 42%;
    left: 8%;
    animation-duration: 19s;
    animation-delay: 1s;
}

.careers-hero__particles span:nth-child(6) {
    top: 12%;
    left: 82%;
    animation-duration: 23s;
    animation-delay: 3s;
}

.privacy-hero {
    position: relative;
    overflow: hidden;
    color: #ffffff;
}

.privacy-hero__gradient,
.privacy-hero__pattern {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.privacy-hero__gradient {
    background: radial-gradient(circle at 15% 20%, rgba(213, 166, 74, 0.4), transparent 55%),
        radial-gradient(circle at 80% 30%, rgba(47, 143, 107, 0.35), transparent 60%),
        linear-gradient(135deg, rgba(2, 9, 21, 0.9), rgba(11, 46, 91, 0.95));
}

.privacy-hero__pattern {
    background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 28px),
        repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 28px);
    mix-blend-mode: screen;
    opacity: 0.35;
    transform: rotate(1deg) scale(1.2);
    animation: privacyGrid 26s linear infinite;
}

.privacy-hero__content {
    position: relative;
    z-index: 2;
}

.privacy-hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    border-radius: 9999px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.08);
    font-size: 0.75rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}

.privacy-card {
    position: relative;
    border-radius: 1.5rem;
    background: linear-gradient(135deg, rgba(230, 236, 242, 0.85), #ffffff);
    border: 1px solid rgba(11, 46, 91, 0.08);
    box-shadow: 0 30px 60px -35px rgba(11, 46, 91, 0.45);
    padding: 2.5rem;
    overflow: hidden;
}

.privacy-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(213, 166, 74, 0.15), transparent 55%);
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
}

.privacy-card:hover::after {
    opacity: 1;
}

.privacy-card ul {
    margin-top: 1.5rem;
    display: grid;
    gap: 0.75rem;
    color: rgba(31, 31, 31, 0.8);
    font-size: 0.95rem;
}

.privacy-card li {
    display: flex;
    align-items: flex-start;
    gap: 0.75rem;
}

.privacy-card li::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    margin-top: 0.3rem;
    border-radius: 9999px;
    background: rgba(11, 46, 91, 0.75);
    box-shadow: 0 0 10px rgba(11, 46, 91, 0.35);
}

.privacy-contact-card {
    border-radius: 1.5rem;
    background: rgba(230, 236, 242, 0.9);
    border: 1px solid rgba(11, 46, 91, 0.12);
    padding: 2rem;
    box-shadow: 0 24px 48px -40px rgba(11, 46, 91, 0.6);
}

@keyframes privacyGrid {
    0% {
        transform: rotate(1deg) scale(1.2) translate3d(0, 0, 0);
    }
    50% {
        transform: rotate(0deg) scale(1.22) translate3d(1%, -1%, 0);
    }
    100% {
        transform: rotate(-1deg) scale(1.2) translate3d(-1%, 1%, 0);
    }
}

@keyframes careersPulse {
    0% {
        transform: scale(0.9) rotate(0deg);
        opacity: 0.55;
    }
    100% {
        transform: scale(1.1) rotate(15deg);
        opacity: 0.85;
    }
}

@keyframes careersAurora {
    0% {
        opacity: 0.35;
        transform: translate3d(0, 0, 0) scale(1);
    }
    100% {
        opacity: 0.65;
        transform: translate3d(-4%, 2%, 0) scale(1.05);
    }
}

@keyframes careersGridFloat {
    0% {
        transform: perspective(1100px) rotateX(72deg) translate3d(0, 0, 0);
        opacity: 0.4;
    }
    100% {
        transform: perspective(1100px) rotateX(68deg) translate3d(0, 8%, 0);
        opacity: 0.6;
    }
}

@keyframes meshDrift {
    0% {
        transform: rotate(0deg) translate3d(0, 0, 0) scale(1.05);
    }
    50% {
        transform: rotate(2deg) translate3d(3%, -2%, 0) scale(1.1);
    }
    100% {
        transform: rotate(-2deg) translate3d(-3%, 2%, 0) scale(1.05);
    }
}

@keyframes particleFloat {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
        opacity: 0.8;
    }
    50% {
        transform: translate3d(20px, -40px, 0) scale(1.2);
        opacity: 1;
    }
    100% {
        transform: translate3d(-10px, -80px, 0) scale(0.9);
        opacity: 0.4;
    }
}

@media (max-width: 1024px) {
    #site-header {
        background: rgba(11, 46, 91, 0.9);
    }

    .careers-hero__particles span {
        display: none;
    }
}

@media (max-width: 640px) {
    .announcement-bar {
        font-size: 0.6rem;
        letter-spacing: 0.22em;
        padding-block: 0.45rem;
        padding-inline: 1rem;
    }

    #site-header .mx-auto {
        flex-wrap: wrap;
        gap: 0.75rem;
        padding-inline: 1rem;
    }

    #site-header .site-brand__title {
        font-size: 1rem;
    }

    #site-header .site-brand__tagline {
        font-size: 0.75rem;
        letter-spacing: 0.08em;
    }

    .hero-swiper {
        height: 70vh;
    }

    .hero-swiper h1,
    .hero-swiper h2 {
        font-size: 2.25rem !important;
        line-height: 1.2;
    }

    .hero-swiper p {
        font-size: 0.95rem;
    }

    .hero-swiper .flex.flex-wrap.gap-4 {
        gap: 0.75rem;
    }

    [aria-label="Key statistics"] .rounded-3xl,
    [aria-labelledby="about-heading"] .rounded-2xl,
    #services .rounded-3xl,
    [aria-labelledby="masterplan-heading"] .rounded-3xl,
    [aria-labelledby="portfolio-heading"] .rounded-3xl,
    [aria-labelledby="team-heading"] .team-card,
    [aria-label="FAQ"] .faq-item,
    [aria-labelledby="contact-heading"] .rounded-3xl,
    [aria-labelledby="open-roles-heading"] .rounded-3xl,
    [aria-labelledby="careers-values-heading"] .rounded-3xl,
    [aria-labelledby="careers-values-heading"] .rounded-2xl,
    [aria-labelledby="apply-heading"] .rounded-3xl,
    [aria-labelledby="apply-heading"] .rounded-2xl {
        padding: 1.5rem;
    }

    #masterplan .phase-button {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }

    #masterplan .phase-button i {
        align-self: flex-start;
    }

    #team .grid {
        gap: 1.5rem;
    }

    #team .team-card {
        padding: 1.75rem;
    }

    #team .team-card__toggle {
        width: 100%;
        justify-content: center;
    }

    #team .team-card__details ul {
        padding-left: 1rem;
    }

    #faq-accordion {
        gap: 1rem;
    }

    footer .grid {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        text-align: center;
        gap: 2rem;
    }

    footer .grid > div:not(:last-child) {
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
        padding-bottom: 1.5rem;
    }

    footer .grid > div + div {
        padding-top: 1.5rem;
    }

    footer .grid ul {
        justify-content: center;
    }

    footer .grid ul li a {
        display: inline-flex;
        justify-content: center;
    }

    .careers-hero {
        min-height: 75vh;
    }

    .careers-hero__content {
        padding-inline: 1.25rem;
    }

    .careers-hero__content h1 {
        font-size: 2.3rem;
        line-height: 1.2;
    }

    .careers-hero__content p {
        font-size: 0.95rem;
    }

    .careers-hero__content .flex.flex-wrap {
        gap: 0.75rem;
    }

    .rounded-3xl.bg-mist.p-8,
    .rounded-3xl.bg-white\/80.p-8 {
        padding: 1.75rem;
    }

    [data-i18n="careersPage.role1Title"] {
        font-size: 1.75rem;
    }

    #apply .grid.md\:grid-cols-2,
    #apply form .grid.md\:grid-cols-2,
    [aria-label="Contact"] .grid.lg\:grid-cols-2,
    [aria-labelledby="open-roles-heading"] .grid.md\:grid-cols-2 {
        gap: 1.5rem;
    }

    .hero-prev,
    .hero-next {
        height: 44px;
        width: 44px;
    }
}

@media (max-width: 480px) {
    .announcement-bar {
        letter-spacing: 0.18em;
    }

    #site-header .site-brand__text {
        max-width: 70%;
    }

    .hero-swiper {
        height: 65vh;
    }

    .hero-swiper h1,
    .hero-swiper h2 {
        font-size: 2rem !important;
    }

    .careers-hero__content h1 {
        font-size: 2rem;
    }

    [aria-label="Key statistics"] .font-heading {
        font-size: 1.75rem;
    }
}
