/*
Theme Name: The Recruiter
Theme URI: https://the-recruiter.lu
Author: WaitAgency
Version: 1.0.0
Text Domain: the-recruiter
*/

/* ==========================================================================
   CSS Variables - Design System from Figma (Pixel Perfect)
   ========================================================================== */

:root {
    /* Colors - Iron Shadow (Dark) */
    --iron-shadow-500: #0a0d11;
    --iron-shadow-400: #1a1a1a;
    --iron-shadow-300: #2e2e2e;
    --iron-shadow-200: #4a4a4a;
    --iron-shadow-100: #6e6e6e;

    /* Colors - Silver Dew (White) */
    --silver-dew-500: #ffffff;
    --silver-dew-800: #cccccc;

    /* Colors - Silver Mist (Gray) */
    --silver-mist-300: #eaecef;
    --silver-mist-500: #c4c9d1;
    --silver-mist-700: #8c94a5;

    /* Colors - Soft Silver */
    --soft-silver-300: #f7f7f7;
    --soft-silver-400: #dfdfdf;
    --soft-silver-500: #b0b0b0;
    --soft-silver-700: #6d6d6d;

    /* Colors - Mushroom Beige */
    --mushroom-beige-400: #dedcca;
    --mushroom-beige-500: #bcb595;
    --mushroom-beige-600: #958661;

    /* Colors - Soft Olive Green */
    --soft-olive-300: #eaf1e7;
    --soft-olive-400: #d6e2d0;
    --soft-olive-500: #a1bc96;
    --soft-olive-700: #435a3b;

    /* Colors - Background */
    --bg-light: #f4f7f6;
    --bg-dark: #171717;

    /* Typography - Font Families */
    --font-heading: 'fields-display', Georgia, serif;
    --font-body: 'halyard-display', 'Helvetica Neue', Arial, sans-serif;

    /* Typography - Font Sizes (Figma exact) */
    --text-h0: 80px;
    --text-h2: 48px;
    --text-h4: 28px;
    --text-h6: 20px;
    --text-highlight: 46px;
    --text-highlight-small: 38px;
    --text-brand-cards: 22px;
    --text-body-large: 22px;
    --text-body-medium: 20px;
    --text-body-small: 18px;
    --text-btn-primary: 22px;

    /* Typography - Line Heights (Figma exact) */
    --lh-h0: 86px;
    --lh-h2: 56px;
    --lh-h4: 32px;
    --lh-h6: 26px;
    --lh-highlight: 52px;
    --lh-highlight-small: 42px;
    --lh-brand-cards: 24px;
    --lh-body-large: 26px;
    --lh-body-medium: 22px;
    --lh-body-small: 20px;

    /* Spacing (Figma exact) */
    --space-xxxs: 2px;
    --space-xxs: 4px;
    --space-xs: 6px;
    --space-small: 8px;
    --space-medium: 16px;
    --space-large: 24px;
    --space-xl: 32px;
    --space-xxl: 48px;
    --space-xxxl: 64px;
    --space-xxxxl: 96px;
    --space-xxxxxl: 160px;

    /* Border Radius (Figma exact) */
    --radius-sm: 4px;
    --radius-md: 8px;
    --radius-lg: 12px;
    --radius-xl: 20px;
    --radius-pill: 5555px;

    /* Shadows (Figma exact) */
    --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.06);

    /* Container */
    --container-max: 1600px;
    --container-padding: 24px;
}

/* ==========================================================================
   Reset & Base
   ========================================================================== */

*, *::before, *::after {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

a,
button,
input,
select,
textarea,
.btn,
.network-card,
.solution-card,
.expertise-card,
.job-item,
.service-network-card,
.switch-btn,
.filter-dropdown__trigger,
.filter-dropdown__item,
.pagination__number,
.pagination__arrow,
.article-share__icon {
    transition: all 0.3s ease;
}

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    max-width: 100%;
    overflow-x: hidden;
}

body {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: var(--text-body-small);
    line-height: var(--lh-body-small);
    color: var(--iron-shadow-300);
    background-color: var(--bg-light);
    max-width: 100%;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
    transition: color 0.3s ease;
}

ul, ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* ==========================================================================
   Typography (Figma exact)
   ========================================================================== */

h1, .h1 {
    font-family: var(--font-heading);
    font-size: var(--text-h0);
    font-weight: 400;
    line-height: var(--lh-h0);
    color: var(--iron-shadow-500);
}

h2, .h2 {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: 400;
    line-height: var(--lh-h2);
    color: var(--iron-shadow-500);
}

h3, .h3 {
    font-family: var(--font-body);
    font-size: var(--text-h4);
    font-weight: 300;
    line-height: var(--lh-h4);
    color: var(--iron-shadow-500);
}

h4, .h4 {
    font-family: var(--font-body);
    font-size: var(--text-body-large);
    font-weight: 300;
    line-height: var(--lh-body-large);
    color: var(--iron-shadow-500);
}

/* ==========================================================================
   Container
   ========================================================================== */

.container {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: 0 var(--container-padding);
}

.container--narrow {
    max-width: 1330px;
}

/* ==========================================================================
   Buttons (Figma exact)
   ========================================================================== */

.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    font-family: var(--font-body);
    font-weight: 300;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    text-decoration: none;
}

.btn--primary {
    background-color: var(--soft-silver-700);
    color: var(--silver-dew-500);
    font-size: var(--text-btn-primary);
    line-height: var(--lh-body-large);
    padding: var(--space-medium) var(--space-large);
    border-radius: var(--radius-sm);
    overflow: hidden;
    position: relative;
}

.btn--primary .btn__text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 26px;
    overflow: hidden;
    position: relative;
}

.btn--primary .btn__text span {
    display: block;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.btn--primary:hover .btn__text span {
    transform: translateY(calc(-100% - 10px));
}

/* Fallback pour les boutons sans structure .btn__text */
.btn--primary:hover {
    background-color: var(--soft-silver-700);
    color: var(--silver-dew-500);
}

.btn--advisory {
    background-color: #c4a092;
}

.btn--advisory:hover {
    background-color: #b08e80;
}

.btn--secondary {
    background-color: transparent;
    color: var(--iron-shadow-500);
    font-size: var(--text-body-medium);
    line-height: var(--lh-body-small);
    padding: 0;
    padding-bottom: var(--space-small);
    border-bottom: 1.5px solid var(--silver-dew-800);
    border-radius: 0;
}

.btn--secondary:hover {
    color: #A3AAB7;
    border-color: #A3AAB7;
}

/* ==========================================================================
   Header (Figma exact - node 3510:4697)
   ========================================================================== */

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    background-color: var(--iron-shadow-400);
    padding: var(--space-medium) 0;
    transition: all 0.3s ease;
}

/* Main content - gap after fixed header */
.site-main {
    padding-top: calc(82px + 110px); /* header height + 110px gap from Figma */
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
}

/* .site-header__left removed - logo and nav are now direct children of __inner */

.site-header__logo {
    flex-shrink: 0;
    width: clamp(140px, 11.5vw, 220px);
    height: auto;
}

.site-header__logo img {
    height: clamp(30px, 2.5vw, 47px);
    width: auto;
}

.site-header__nav {
    display: flex;
    align-items: center;
    flex: 1;
    justify-content: center;
    min-width: 0;
}

.site-header__menu {
    display: flex;
    align-items: center;
    gap: 32px;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 100%;
}

.site-header__menu li {
    white-space: normal;
    min-width: 0;
}

.site-header__menu li a {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    color: var(--soft-silver-400);
    font-family: var(--font-body);
    font-size: 20px;
    font-style: normal;
    font-weight: 300;
    line-height: 22px;
    letter-spacing: -0.01em;
    white-space: normal;
    transition: color 0.3s ease;
}

.site-header__menu li a:hover {
    color: #A3AAB7;
}

.site-header--light .site-header__menu > li.is-current > a,
.site-header__menu li.is-current > a {
    color: #A3AAB7;
}

.site-header__menu .dropdown-icon-wrapper {
    display: flex;
    align-items: center;
    padding-top: 0;
    flex-shrink: 0;
}

.site-header__menu .dropdown-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.site-header__menu li:last-child a {
    /* Actualités n'a pas d'icône */
}

/* Mega Menu Dropdown */
.site-header__nav {
    position: static;
}

.site-header__menu li.has-dropdown {
    position: static;
}

.site-header .container {
    position: relative;
}

.mega-menu {
    position: absolute;
    left: 24px;
    right: 24px;
    top: calc(100% + 32px);
    display: flex;
    gap: 96px;
    align-items: flex-start;
    padding: 24px;
    background-color: var(--iron-shadow-300);
    border: 1.5px solid rgba(255, 255, 255, 0.15);
    border-radius: 40px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1001;
}

.mega-menu.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.mega-menu__logo {
    width: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    align-self: stretch;
    flex-shrink: 0;
}

.mega-menu__logo-icon {
    width: 38px;
    height: 38px;
}

.mega-menu__logo-text {
    height: 22px;
    width: auto;
}

.mega-menu__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 32px 0;
    min-width: 0;
    max-width: 100%;
}

.mega-menu__title {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 400;
    line-height: 22px;
    color: var(--iron-shadow-100);
    text-transform: uppercase;
    margin: 0;
}

.mega-menu__links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
}

.mega-menu__links li a {
    display: inline-flex;
    align-items: center;
    gap: 0;
    padding: 6px 0;
    font-family: var(--font-body);
    font-size: 22px;
    font-style: normal;
    font-weight: 300;
    line-height: 26px;
    letter-spacing: 0;
    color: var(--soft-silver-400);
    transition: color 0.3s ease, gap 0.3s ease;
}

.mega-menu__links li a::before {
    content: '';
    display: inline-block;
    width: 0;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6' stroke='%236e6e6e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
    opacity: 0;
    transition: width 0.3s ease, opacity 0.3s ease;
}

.mega-menu__links li a:hover,
.mega-menu__links li a.is-active {
    color: var(--iron-shadow-100);
    gap: 8px;
}

.mega-menu__links li a:hover::before,
.mega-menu__links li a.is-active::before {
    width: 24px;
    opacity: 1;
}

/* Executive Search & Recrutement Mega Menu Variant */
.mega-menu--recrutement .mega-menu__links li a {
    width: 450px;
}

/* HR Advisory Mega Menu Variant */

.mega-menu--advisory .mega-menu__logo {
    width: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    flex-shrink: 0;
}

.mega-menu--advisory .mega-menu__logo img {
    width: 220px;
    height: 60px;
}

.mega-menu--advisory .mega-menu__links li a {
    width: 450px;
}

/* Background Check Mega Menu Variant */
.mega-menu--check .mega-menu__logo {
    width: 320px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: stretch;
    flex-shrink: 0;
}

.mega-menu--check .mega-menu__logo img {
    width: 220px;
    height: 56px;
}

.mega-menu--check .mega-menu__content {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 32px 0;
    align-items: center;
}

.mega-menu--check .mega-menu__columns {
    display: flex;
    gap: 96px;
    align-items: center;
}

.mega-menu--check .mega-menu__column {
    padding: 32px 0;
}

.mega-menu--check .mega-menu__links li a {
    width: 450px;
}

.mega-menu--check .mega-menu__btn {
    background-color: #c0b388;
}

.mega-menu__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px;
    background-color: #8C94A5;
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-dew-500);
    text-decoration: none;
    overflow: hidden;
    cursor: pointer;
    border: none;
    white-space: nowrap;
}

.mega-menu__btn svg {
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.mega-menu__btn .btn__text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    height: 26px;
    overflow: hidden;
}

.mega-menu__btn .btn__text span {
    display: block;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.mega-menu__btn:hover .btn__text span {
    transform: translateY(calc(-100% - 10px));
}

.mega-menu__btn,
.mega-menu__btn:hover,
.mega-menu__btn .btn__text span {
    color: var(--silver-dew-500);
}

/* Cabinet Mega Menu Variant */
.mega-menu--cabinet .mega-menu__links li a {
    width: 450px;
}

.site-header__actions {
    display: flex;
    align-items: center;
    gap: clamp(24px, 2.5vw, 48px);
    flex-shrink: 0;
}

.site-header__btns {
    display: flex;
    align-items: center;
    gap: clamp(12px, 1.25vw, 24px);
}

.site-header__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-body);
    font-size: clamp(14px, 0.95vw, 18px);
    font-style: normal;
    font-weight: 300;
    line-height: 20px;
    padding: clamp(6px, 0.4vw, 8px) clamp(10px, 0.85vw, 16px);
    height: clamp(28px, 1.9vw, 36px);
    border-radius: 4px;
    color: var(--silver-dew-500);
    white-space: nowrap;
    transition: all 0.3s ease;
    overflow: hidden;
}

.site-header__btn .btn__text {
    display: flex;
    flex-direction: column;
    gap: 8px;
    height: 20px;
    overflow: hidden;
}

.site-header__btn .btn__text span {
    display: block;
    flex-shrink: 0;
    transition: transform 0.3s ease;
}

.site-header__btn:hover .btn__text span {
    transform: translateY(calc(-100% - 8px));
}

.site-header__btn--dark {
    background-color: var(--iron-shadow-400);
}

.site-header__btn--dark:hover {
    background-color: var(--iron-shadow-400);
    color: var(--silver-dew-500);
}

.site-header__btn--gray {
    background-color: var(--soft-silver-700);
}

.site-header__btn--gray:hover {
    background-color: var(--soft-silver-700);
    color: var(--silver-dew-500);
}

.site-header__lang {
    font-family: var(--font-body);
    font-size: clamp(16px, 1.15vw, 22px);
    font-style: normal;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-dew-500);
    cursor: pointer;
}

/* Header Border */
.site-header__border {
    position: relative;
    width: 100%;
    height: 1px;
    background-color: var(--silver-dew-800);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 1;
}

/* Mobile Menu Toggle */
.menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: var(--space-small);
}

.menu-toggle span {
    display: block;
    width: 24px;
    height: 2px;
    background-color: var(--silver-dew-500);
    margin: 5px 0;
    transition: all 0.3s ease;
}

/* Mobile Navigation Overlay */
.mobile-nav-overlay {
    display: none;
}

/* Mobile Navigation Sidebar */
.mobile-nav {
    display: none;
}

@media (max-width: 1255px) {
    .mobile-nav-overlay {
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.5);
        z-index: 9999;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.3s ease, visibility 0.3s ease;
    }

    .mobile-nav-overlay.is-open {
        opacity: 1;
        visibility: visible;
    }

    .mobile-nav {
        display: block;
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        width: 85%;
        max-width: 400px;
        background-color: var(--iron-shadow-500);
        z-index: 10000;
        transform: translateX(100%);
        transition: transform 0.3s ease;
        overflow: hidden;
    }

    .mobile-nav.is-open {
        transform: translateX(0);
    }
}

/* Very small screens - clamp header elements */
@media (max-width: 403px) {
    .site-header__logo {
        width: clamp(100px, 30vw, 140px);
    }

    .site-header__logo img {
        height: clamp(24px, 7vw, 30px);
    }

    .menu-toggle {
        padding: 8px;
    }

    .menu-toggle span {
        width: clamp(18px, 5vw, 24px);
        margin: 4px 0;
    }

    .site-header .container {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* Ultra small screens - aggressive clamp for mobile nav */
@media (max-width: 375px) {
    .mobile-nav__panel {
        padding: 50px 12px 20px !important;
    }

    .mobile-nav__link,
    a.mobile-nav__link,
    button.mobile-nav__link {
        font-size: 11px !important;
        padding: 6px 0 !important;
    }

    .mobile-nav__actions {
        gap: 6px;
        padding-top: 12px;
    }

    .mobile-nav__actions .btn {
        font-size: 10px !important;
        padding: 6px 10px !important;
    }

    .mobile-nav__lang-current {
        font-size: 11px !important;
    }

    .mobile-nav__lang {
        margin-top: 10px;
        padding-top: 10px;
    }

    .mobile-nav__close {
        top: 12px;
        right: 12px;
    }

    .mobile-nav__close svg {
        width: 18px;
        height: 18px;
    }

    .mobile-nav__arrow {
        width: 8px;
        height: 5px;
    }

    .mobile-nav__menu li {
        margin-bottom: 4px;
    }
}

/* Close button */
.mobile-nav__close {
    position: absolute;
    top: 24px;
    right: 24px;
    background: none;
    border: none;
    color: var(--silver-dew-500);
    cursor: pointer;
    padding: 8px;
    z-index: 10;
}

.mobile-nav__close:hover {
    color: #A3AAB7;
}

/* Panels system */
.mobile-nav__panel {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    padding: clamp(60px, 15vw, 80px) clamp(16px, 5vw, 32px) clamp(24px, 8vw, 40px);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
}

.mobile-nav__panel.is-active {
    transform: translateX(0);
}

.mobile-nav__panel--main.is-active ~ .mobile-nav__panel {
    transform: translateX(100%);
}

/* Back button */
.mobile-nav__back {
    display: flex;
    align-items: center;
    gap: 12px;
    background: none;
    border: none;
    color: var(--soft-silver-500);
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 300;
    cursor: pointer;
    padding: 0;
    margin-bottom: 24px;
}

.mobile-nav__back:hover {
    color: var(--silver-dew-500);
}

/* Menu title */
.mobile-nav__title {
    font-family: var(--font-body);
    font-size: 24px;
    font-weight: 400;
    color: var(--silver-dew-500);
    margin-bottom: 32px;
}

.mobile-nav__subtitle {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--soft-silver-500);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 16px;
}

.mobile-nav__submenu-divider {
    height: 1px;
    background-color: var(--iron-shadow-300);
    margin: 24px 0;
}

.mobile-nav__btn {
    display: block;
    width: 100%;
    padding: 16px 24px;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 400;
    line-height: 24px;
    text-align: center;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

.mobile-nav__btn--check {
    background-color: #8C94A5;
    color: var(--silver-dew-500);
}

.mobile-nav__btn--check:hover {
    background-color: #8fa985;
}

/* Menu items */
.mobile-nav__menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-nav__menu li {
    margin-bottom: 8px;
}

.mobile-nav__link,
a.mobile-nav__link,
button.mobile-nav__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: clamp(8px, 4vw, 16px) 0;
    background: none;
    border: none;
    border-bottom: 1px solid var(--iron-shadow-300);
    color: var(--silver-dew-500);
    font-family: var(--font-body);
    font-size: clamp(12px, 5vw, 18px) !important;
    font-weight: 300;
    text-align: left;
    cursor: pointer;
    text-decoration: none;
    transition: color 0.2s ease;
}

.mobile-nav__link:hover {
    color: #A3AAB7;
}

.mobile-nav__arrow {
    flex-shrink: 0;
    color: var(--soft-silver-500);
    transform: rotate(-90deg);
}

/* Actions */
.mobile-nav__actions {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 4vw, 16px);
    margin-top: auto;
    padding-top: clamp(16px, 8vw, 32px);
}

.mobile-nav__actions .btn {
    width: 100%;
    text-align: center;
    padding: clamp(8px, 4vw, 16px) clamp(12px, 6vw, 24px) !important;
    font-size: clamp(11px, 4vw, 16px) !important;
}

/* Language */
.mobile-nav__lang {
    margin-top: clamp(12px, 6vw, 24px);
    padding-top: clamp(12px, 6vw, 24px);
    border-top: 1px solid var(--iron-shadow-300);
}

.mobile-nav__lang-current {
    font-family: var(--font-body);
    font-size: clamp(12px, 5vw, 18px);
    font-weight: 300;
    color: var(--silver-dew-500);
}

/* Body when menu is open */
body.menu-open {
    overflow: hidden;
}

/* Old styles - keep for compatibility */
.mobile-nav__inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.mobile-nav__menu {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.mobile-nav__menu li a {
    font-family: var(--font-body);
    font-size: 24px;
    font-weight: 300;
    color: var(--silver-dew-500);
}

.mobile-nav__actions {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.mobile-nav__actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 24px;
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    color: var(--silver-dew-500);
}

.mobile-nav__actions .btn--dark {
    background-color: var(--iron-shadow-400);
}

.mobile-nav__actions .btn--gray {
    background-color: var(--soft-silver-700);
}

/* Header Light Mode (Homepage) - Figma exact */
.site-header--light {
    position: absolute;
    background-color: transparent;
    padding-top: 64px;
    padding-bottom: 0;
}

.site-header--light .site-header__inner {
    margin-bottom: 32px;
}

/* Fix header container width */
.site-header .container {
    max-width: 1600px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Large screens - ensure header stays proportional */
@media (min-width: 1790px) {
    .site-header .container {
        max-width: 1760px;
    }

    .site-header__menu {
        gap: 32px;
    }

    .site-header__menu li a {
        font-size: 20px;
    }

    .site-header__actions {
        gap: 48px;
    }

    .site-header__btns {
        gap: 24px;
    }

    .site-header__btn {
        font-size: 18px;
        padding: 8px 16px;
        height: 36px;
    }

    .site-header__lang {
        font-size: 22px;
    }

    .site-header__logo {
        width: 220px;
    }

    .site-header__logo img {
        height: 47px;
    }
}

.site-header--light .site-header__border {
    opacity: 1;
    background-color: #CCCCCC;
}

.site-header--light .site-header__menu > li > a {
    color: #0A0D11;
}

.site-header--light .site-header__menu > li > a:hover {
    color: #A3AAB7;
}

.site-header--light .site-header__btn--dark {
    background-color: var(--iron-shadow-400);
}

.site-header--light .site-header__btn--gray {
    background-color: var(--soft-silver-700);
}

.site-header--light .site-header__lang {
    color: #0A0D11;
}

.site-header--light .menu-toggle span {
    background-color: #0A0D11;
}

/* Header Scrolled State */
.site-header--scrolled {
    background-color: var(--silver-dew-500);
    padding: var(--space-small) 0;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.site-header--scrolled .site-header__menu li a {
    color: #0A0D11;
}

.site-header--scrolled .site-header__lang {
    color: #0A0D11;
}

.site-header--scrolled .menu-toggle span {
    background-color: #0A0D11;
}

.site-header--scrolled .site-header__border {
    opacity: 0;
}

/* ==========================================================================
   Section Spacing (Figma exact)
   ========================================================================== */

.section {
    padding: var(--space-xxxxxl) 0;
}

.section--dark {
    background-color: var(--bg-dark);
}

.section--gray {
    background-color: var(--silver-mist-300);
}

.section--light {
    background-color: var(--bg-light);
}

/* Section Header */
.section__header {
    text-align: center;
    margin-bottom: var(--space-xxxl);
}

.section__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin-bottom: var(--space-medium);
}

.section__title--white {
    color: var(--silver-dew-500);
}

.section__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
}

/* ==========================================================================
   Footer (Figma exact - node 3362-8253)
   ========================================================================== */

.site-footer {
    background-color: var(--bg-dark);
    padding-top: var(--space-xxxxxl);
}

.site-footer > .container {
    max-width: 1600px;
    padding: 0;
}

/* Divider - full width 1600px, 160px margin after */
.site-footer__divider {
    height: 1px;
    background-color: #4a4a4a;
    width: 100%;
    margin-bottom: var(--space-xxxxxl);
}

/* Main footer content - 96px gap to bottom */
.site-footer__main {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 var(--container-padding);
    margin-bottom: var(--space-xxxxl);
}

/* Brand column - left side */
.site-footer__brand {
    display: flex;
    flex-direction: column;
    gap: var(--space-xxxl);
    flex-shrink: 0;
}

.site-footer__logo img {
    height: 51px;
    width: auto;
}

.site-footer__contact {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
}

.site-footer__address {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--silver-dew-500);
}

.site-footer__contact-links {
    display: flex;
    align-items: center;
    gap: var(--space-small);
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    white-space: nowrap;
}

.site-footer__contact-links a {
    color: var(--silver-dew-500);
}

.site-footer__contact-links span {
    color: var(--silver-mist-700);
}

/* Navigation columns - right side */
.site-footer__nav {
    display: flex;
    align-items: flex-start;
    gap: var(--space-xxxxl);
}

.site-footer__nav-col {
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
}

.site-footer__nav-title {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
}

.site-footer__nav-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
    list-style: none;
    padding: 0;
    margin: 0;
}

.site-footer__nav-list li {
    margin: 0;
}

.site-footer__nav-list a {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--silver-dew-500);
}

.site-footer__nav-list a:hover {
    color: #A3AAB7;
}

/* Social icons - aligned with nav column titles */
.site-footer__social {
    display: flex;
    align-items: center;
    gap: var(--space-medium);
    padding-top: 4px;
}

.site-footer__social a {
    color: var(--silver-mist-700);
    transition: color 0.3s ease;
}

.site-footer__social a:hover {
    color: var(--silver-dew-500);
}

/* Footer bottom */
.site-footer__bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 var(--container-padding);
}

.site-footer__credits {
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--silver-mist-700);
}

.site-footer__legal {
    display: flex;
    gap: var(--space-medium);
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
}

.site-footer__legal a {
    color: var(--silver-mist-700);
}

.site-footer__legal a:hover {
    color: var(--silver-dew-500);
}

.site-footer__copyright {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--silver-mist-700);
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 1400px) {
    :root {
        --container-max: 1200px;
    }

    .site-footer__nav {
        gap: var(--space-xxl);
    }

    .site-footer__main {
        gap: var(--space-xxl);
    }
}

/* Shrink top-level navbar (labels, gaps, paddings) below 1473px — mega-menu overlays unaffected */
@media (max-width: 1472px) {
    .site-header__inner {
        gap: 24px;
    }

    .site-header__menu li a {
        font-size: 16px;
        line-height: 20px;
    }

    .site-header__menu {
        gap: 20px;
    }

    .site-header__menu .dropdown-icon {
        width: 14px;
        height: 14px;
    }

    .site-header__actions {
        gap: 20px;
    }

    .site-header__btns {
        gap: 12px;
    }

    .site-header__btn {
        font-size: 14px;
        line-height: 18px;
        padding: 6px 12px;
        height: 30px;
    }

    .site-header__btn .btn__text {
        height: 18px;
    }
}

/* Tablet breakpoint - show hamburger */
@media (max-width: 1255px) {
    .site-header__nav,
    .site-header__actions {
        display: none;
    }

    .menu-toggle {
        display: block;
    }

    .site-header--light {
        padding-top: var(--space-xl);
    }

    .site-header--light .site-header__inner {
        margin-bottom: var(--space-medium);
    }

    .site-header__logo {
        width: 160px;
    }

    .site-header__logo img {
        height: 34px;
    }

    .site-footer > .container {
        padding: 0 var(--container-padding);
    }

    .site-footer__main {
        flex-direction: column;
        gap: var(--space-xxl);
        padding: 0;
    }

    .site-footer__nav {
        flex-wrap: wrap;
        gap: var(--space-xl);
    }

    .site-footer__bottom {
        flex-direction: column;
        gap: var(--space-medium);
        text-align: center;
        padding: 0 0 var(--space-large);
    }
}

@media (max-width: 768px) {
    :root {
        --text-h0: 48px;
        --lh-h0: 54px;
        --text-h2: 32px;
        --lh-h2: 40px;
    }

    .section {
        padding: var(--space-xxxxl) 0;
    }
}

/* ==========================================================================
   Page Hero (Recrutement page - Figma node 2878-769)
   ========================================================================== */

.page-hero {
    padding-top: 0;
    padding-bottom: 0;
    text-align: center;
    background-color: var(--bg-light);
}

.page-hero__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-medium);
}

.page-hero__title {
    font-family: var(--font-heading);
    font-size: 64px;
    font-weight: 400;
    line-height: 72px;
    color: var(--iron-shadow-500);
    max-width: 1098px;
}

.page-hero__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
    max-width: 1098px;
}

/* ==========================================================================
   Content Split Section (Image + Text)
   ========================================================================== */

.content-split {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-xxxl);
    max-width: 1330px;
    margin: 0 auto;
}

.content-split__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-xxl);
    max-width: 655px;
}

.content-split__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
}

.content-split__title .text-muted {
    color: var(--silver-mist-700);
}

.content-split__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
}

.content-split__body p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.content-split__image {
    flex-shrink: 0;
}

/* Image Card with overlay */
.image-card {
    position: relative;
    width: 540px;
    height: 560px;
    border-radius: var(--radius-xl);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18), 0 2px 8px rgba(0, 0, 0, 0.1);
}

.image-card > img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--radius-xl);
}

.image-card--zoomed {
    overflow: hidden;
}

.image-card--zoomed > img {
    transform: none;
    object-position: 35% 20%;
}

.image-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.1);
    border-radius: var(--radius-xl);
    pointer-events: none;
    z-index: 0;
}

.image-card__border {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 24px;
    z-index: 1;
    overflow: hidden;
}

.image-card__overlay .image-card__circles-pattern {
    position: absolute !important;
    inset: auto !important;
    top: 0 !important;
    right: 0 !important;
    width: 220px !important;
    height: 122px !important;
    max-width: 220px !important;
    max-height: 122px !important;
    pointer-events: none;
    z-index: 0;
    object-fit: none !important;
    border-radius: 0 !important;
    transform: translateX(-15px) !important;
}

.image-card__overlay {
    position: absolute;
    bottom: -1px;
    left: 0;
    right: 0;
    padding: 24px;
    padding-top: 20px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.2);
}

.image-card__badge {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.image-card__dot {
    width: 12px;
    height: 12px;
    background-color: var(--silver-dew-500);
    border-radius: 50%;
}

.image-card__badge span:last-child {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--silver-dew-500);
}

.image-card__title {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 400;
    line-height: 44px;
    color: var(--silver-dew-500);
    margin: 0;
}

.image-card__overlay .image-card__pattern {
    inset: auto !important;
    position: absolute !important;
    top: -30px !important;
    right: 0 !important;
    width: 200px !important;
    height: 200px !important;
    opacity: 0.25;
    pointer-events: none;
    object-fit: contain;
    border-radius: 0 !important;
    transform: none !important;
    z-index: 0;
}

/* ==========================================================================
   Section Header Component
   ========================================================================== */

.section-header {
    margin-bottom: var(--space-xxxl);
}

.section-header--center {
    text-align: center;
}

.section-header__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin-bottom: var(--space-medium);
}

.section-header--light .section-header__title {
    color: var(--silver-dew-500);
}

.section-header__title .text-muted {
    color: var(--silver-mist-700);
}

.section-header__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
}

/* ==========================================================================
   Solutions Grid Section
   ========================================================================== */

.solutions-grid {
    display: flex;
    gap: var(--space-xl);
    align-items: stretch;
    max-width: 1600px;
    margin: 0 auto;
}

.solution-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0;
    flex: 1;
    padding: 32px 40px;
    background-color: var(--silver-dew-500);
    border: none;
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-card);
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.solution-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}

.solution-card__icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
}

.solution-card__icon img {
    object-fit: contain;
}

.solution-card__label {
    color: #6E6E6E;
    text-align: center;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    margin-top: auto;
    margin-bottom: 8px;
}

.solution-card__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    text-align: center;
    margin: 0 0 24px;
}

.solution-card__link {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
    text-decoration: underline;
    text-underline-offset: 8px;
    text-decoration-color: var(--silver-dew-800);
}

/* ==========================================================================
   Mission Section (5 steps - dark background)
   ========================================================================== */

.mission-section {
    padding-top: 0;
    padding-bottom: var(--space-xxxxxl);
}

.mission-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1330px;
    margin: 0 auto;
    padding: var(--space-xxxxxl) 0 var(--space-xxxxl);
}

.mission-header__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--silver-dew-500);
    margin: 0;
}

.mission-header__title .text-muted {
    color: var(--silver-mist-700);
}

.mission-header__right {
    max-width: 790px;
}

.mission-header__right p {
    font-family: var(--font-body);
    font-size: 24px;
    font-weight: 300;
    line-height: 28px;
    color: var(--silver-dew-500);
    margin: 0 0 var(--space-medium);
}

.mission-header__right p:last-child {
    margin-bottom: 0;
}

/* Mission Cards - Horizontal Accordion */
.mission-cards {
    display: flex;
    gap: var(--space-medium);
    max-width: 1330px;
    margin: 0 auto;
}

.mission-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 400px;
    border-radius: var(--radius-xl);
    background: linear-gradient(85.83deg, #2e2e2e 13.553%, #0a0d11 187.95%);
    padding: var(--space-xxl) var(--space-medium);
    cursor: pointer;
    overflow: hidden;
    flex-shrink: 0;
    width: 186px;
    transition: width 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                background 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                padding 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.mission-card--active {
    width: 520px;
    background: linear-gradient(78.48deg, #2e2e2e 13.553%, #0a0d11 187.95%);
    padding: var(--space-xxl) var(--space-xl);
    cursor: default;
}

.mission-card__toggle {
    position: absolute;
    top: var(--space-xxl);
    right: var(--space-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1.2px solid #dadde3;
    border-radius: 50%;
    color: var(--silver-dew-500);
    opacity: 1;
    transition: opacity 0.3s ease, background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
}

.mission-card:hover .mission-card__toggle {
    background-color: #fff;
    color: #000;
    border-color: #fff;
}

.mission-card--active .mission-card__toggle {
    opacity: 0;
    pointer-events: none;
}

.mission-card__content {
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: flex-end;
    gap: var(--space-small);
    transition: justify-content 0.5s ease, gap 0.5s ease;
}

.mission-card--active .mission-card__content {
    justify-content: space-between;
    gap: 0;
}

.mission-card__number {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    order: 1;
}

.mission-card--active .mission-card__number {
    order: 0;
}

.mission-card__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-dew-500);
    margin: 0;
    order: 2;
    transition: font-size 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                line-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.mission-card--active .mission-card__title {
    font-size: 60px;
    line-height: 52px;
    order: 0;
}

.mission-card__list {
    list-style: square;
    padding-left: 20px;
    margin: 0;
    order: 3;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.4s ease;
}

.mission-card--active .mission-card__list {
    max-height: 200px;
    opacity: 1;
}

.mission-card__list li {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
}

.mission-card__list li::marker {
    font-size: 12px;
}

/* ==========================================================================
   Expertise Grid Section
   ========================================================================== */

.expertise-grid {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    max-width: 1326px;
    margin: 0 auto;
}

.expertise-row {
    display: flex;
    gap: var(--space-xl);
}

.expertise-card {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    flex: 1;
    padding: 40px;
    background-color: var(--silver-dew-500);
    border-radius: var(--radius-xl);
    box-shadow: var(--shadow-card);
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: none;
    cursor: pointer;
    text-align: left;
    font: inherit;
}

.expertise-card--hover-gray:hover {
    background-color: #6d6d6d;
}

.expertise-card--hover-beige:hover {
    background-color: #c4a092;
}

.expertise-card--hover-olive:hover {
    background-color: #c0b388;
}

.expertise-card--hover-gray:hover .expertise-card__title,
.expertise-card--hover-gray:hover .expertise-card__subtitle,
.expertise-card--hover-beige:hover .expertise-card__title,
.expertise-card--hover-beige:hover .expertise-card__subtitle,
.expertise-card--hover-olive:hover .expertise-card__title,
.expertise-card--hover-olive:hover .expertise-card__subtitle {
    color: #ffffff;
}

.expertise-card--hover-gray:hover .expertise-card__icon img,
.expertise-card--hover-beige:hover .expertise-card__icon img,
.expertise-card--hover-olive:hover .expertise-card__icon img {
    filter: brightness(0) invert(1);
}

.expertise-card--accent:hover {
    background-color: #f4f7f6;
}

.expertise-card--accent:hover .expertise-card__title {
    color: #0a0d11;
}

.expertise-card--accent:hover .expertise-card__subtitle {
    color: #8c94a5;
}

.expertise-card__icon {
    width: 80px;
    height: 80px;
}

.expertise-card__icon svg,
.expertise-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.expertise-card__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 400;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.expertise-card__link {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
    text-decoration: none;
    border-bottom: 1px solid var(--silver-dew-800);
    padding-bottom: 4px;
}

/* ==========================================================================
   Singularity Section (2-column layout)
   ========================================================================== */

.singularity-section {
    text-align: center;
}

.section-title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin-bottom: var(--space-xxxl);
}

.section-title--center {
    text-align: center;
}

.singularity-grid {
    display: flex;
    gap: var(--space-xxxl);
    text-align: left;
    max-width: 1330px;
    margin: 0 auto;
}

.singularity-column {
    display: flex;
    flex-direction: column;
    gap: var(--space-xxxxl);
    flex: 1;
}

.singularity-item {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.singularity-item__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.singularity-item__divider {
    height: 1px;
    background-color: var(--silver-dew-800);
}

.singularity-item__content p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0 0 var(--space-medium);
}

.singularity-item__content p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Cooperation Section (2-column CTA)
   ========================================================================== */

.cooperation-section {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1600px;
    margin: 0 auto;
}

.cooperation-section__left {
    display: flex;
    flex-direction: column;
    gap: var(--space-xxl);
    max-width: 767px;
}

.cooperation-section__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.cooperation-section__right {
    flex: 1;
    max-width: 750px;
}

.cooperation-section__right p {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
    margin: 0 0 var(--space-medium);
}

.cooperation-section__right p:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   Network Cards Section (Brand cards)
   ========================================================================== */

.network-section {
    padding-top: var(--space-xxxxxl);
    padding-bottom: var(--space-xxxxxl);
}

.network-cards {
    display: flex;
    gap: var(--space-large);
    justify-content: center;
}

.network-card {
    position: relative;
    display: block;
    width: 460px;
    height: 308px;
    padding: 24px;
    background-color: var(--iron-shadow-300);
    border-radius: var(--radius-md);
    text-decoration: none;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.network-card:hover {
    transform: translateY(-4px);
}

.network-card__logo {
    position: absolute;
    top: 64px;
    left: 50%;
    transform: translateX(-50%);
}

.network-card__logo img {
    height: 43px;
    width: auto;
}

.network-card--advisory .network-card__logo img {
    height: 54px;
}

.network-card--check .network-card__logo img {
    height: 51px;
}

.network-card__content {
    position: absolute;
    bottom: 24px;
}

.network-card__title {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 400;
    line-height: 24px;
    color: var(--silver-dew-500);
    margin: 0 0 var(--space-small);
}

.network-card__description {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    margin: 0;
}

.network-card--recruiter .network-card__description {
    color: var(--soft-silver-400);
}

.network-card--advisory .network-card__description {
    color: var(--mushroom-beige-400);
}

.network-card--check .network-card__description {
    color: var(--soft-olive-400);
}

/* Button Gray variant */
.btn--gray {
    background-color: var(--soft-silver-700);
}

/* Text muted utility */
.text-muted {
    color: var(--silver-mist-700);
}

/* ==========================================================================
   Responsive - Page Templates
   ========================================================================== */

@media (max-width: 1400px) {
    .content-split {
        gap: var(--space-xxl);
    }

    .content-split__text {
        max-width: 560px;
    }

    .image-card {
        width: 460px;
        height: 480px;
    }
}

/* Shrink mission cards fluidly between 1101px and 1472px so the row fits on one line */
@media (max-width: 1472px) and (min-width: 1101px) {
    .mission-cards {
        max-width: 100%;
        gap: 12px;
    }

    .mission-card {
        width: clamp(140px, 13vw, 186px);
        padding: var(--space-xl) var(--space-small);
    }

    .mission-card--active {
        width: clamp(380px, 36vw, 520px);
        padding: var(--space-xl) var(--space-medium);
    }

    .mission-card__title {
        font-size: 22px;
        line-height: 28px;
    }

    .mission-card--active .mission-card__title {
        font-size: clamp(40px, 4.2vw, 60px);
        line-height: 1.05;
    }

    .mission-card__number,
    .mission-card__list li {
        font-size: 18px;
        line-height: 22px;
    }

    .mission-card__toggle {
        width: 36px;
        height: 36px;
        top: var(--space-xl);
        right: var(--space-medium);
    }
}

@media (max-width: 1100px) {
    .content-split {
        flex-direction: column;
        gap: var(--space-xxl);
    }

    .content-split__text {
        max-width: 100%;
    }

    .content-split__image {
        width: 100%;
    }

    .image-card {
        width: 100%;
        max-width: 540px;
        height: 560px;
    }

    .mission-header {
        flex-direction: column;
        gap: var(--space-xxl);
    }

    .mission-header__right {
        max-width: 100%;
    }

    .mission-cards {
        flex-wrap: wrap;
    }

    .mission-card--active {
        width: 100%;
        height: auto;
        min-height: 280px;
    }

    .mission-card:not(.mission-card--active) {
        width: calc(50% - 8px);
        height: auto;
        min-height: 140px;
    }

    .cooperation-section {
        flex-direction: column;
        gap: var(--space-xxl);
    }

    .cooperation-section__left,
    .cooperation-section__right {
        max-width: 100%;
    }
}

@media (max-width: 1024px) {
    .page-hero {
        padding-top: 0;
    }

    .page-hero__title {
        font-size: 48px;
        line-height: 56px;
    }

    .page-hero__subtitle {
        font-size: 24px;
        line-height: 28px;
    }

    .solutions-grid {
        flex-direction: column;
    }

    .solution-card {
        flex: none;
        width: 100%;
    }

    .expertise-row {
        flex-wrap: wrap;
    }

    .expertise-row:nth-child(2) .expertise-card,
    .expertise-row:nth-child(3) .expertise-card {
        flex: 1 1 calc(50% - 16px);
        min-width: 280px;
    }

    .singularity-grid {
        flex-direction: column;
    }

    .network-cards {
        flex-direction: column;
        align-items: center;
    }

    .network-card {
        width: 100%;
        max-width: 460px;
    }
}

@media (max-width: 768px) {
    .page-hero__title {
        font-size: 36px;
        line-height: 44px;
    }

    .page-hero__subtitle {
        font-size: 20px;
        line-height: 24px;
    }

    .content-split__title {
        font-size: 32px;
        line-height: 40px;
    }

    .image-card {
        height: 400px;
    }

    .section-header__title,
    .section-title,
    .mission-header__title,
    .cooperation-section__title {
        font-size: 32px;
        line-height: 40px;
    }

    .solution-card__title,
    .expertise-card__title,
    .singularity-item__title {
        font-size: 24px;
        line-height: 28px;
    }

    .mission-card {
        height: auto;
    }

    .mission-card:not(.mission-card--active) {
        width: 100%;
        min-height: 100px;
        padding: 20px;
    }

    .mission-card--active {
        min-height: 280px;
    }

    .mission-card--active .mission-card__title {
        font-size: 40px;
        line-height: 44px;
    }

    .expertise-row {
        flex-direction: column;
    }

    .expertise-card {
        flex: none;
        width: 100%;
    }

    .cooperation-section__right p {
        font-size: 22px;
        line-height: 28px;
    }
}

/* ==========================================================================
   Jobs Archive Page (Postes à pourvoir)
   ========================================================================== */

.jobs-archive {
    padding-top: 0;
    padding-bottom: var(--space-xxxxxl);
    background-color: var(--bg-light);
}

.jobs-archive__header {
    text-align: center;
    margin-bottom: var(--space-xxxl);
}

.jobs-archive__title {
    font-family: var(--font-heading);
    font-size: 64px;
    font-weight: 400;
    line-height: 72px;
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-medium);
}

.jobs-archive__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
    margin: 0;
}

/* Search Bar */
.jobs-archive__search {
    display: flex;
    justify-content: center;
    margin-bottom: var(--space-xxxl);
}

.jobs-archive__search-input {
    position: relative;
    width: 790px;
    max-width: 100%;
}

.jobs-archive__search-icon {
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--silver-mist-700);
    pointer-events: none;
}

.jobs-archive__search-input input {
    width: 100%;
    height: 58px;
    padding: 8px 16px 8px 56px;
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--iron-shadow-500);
    background-color: transparent;
    border: 1px solid var(--silver-mist-700);
    border-radius: var(--radius-md);
    outline: none;
    transition: border-color 0.3s ease;
}

.jobs-archive__search-input input::placeholder {
    color: var(--silver-mist-700);
}

.jobs-archive__search-input input:focus {
    border-color: var(--iron-shadow-500);
}

/* Filters */
.jobs-archive__filters {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    max-width: 1124px;
    margin: 0 auto var(--space-xxxl);
}

.jobs-archive__filter-buttons {
    display: flex;
    gap: var(--space-medium);
}

.filter-dropdown {
    position: relative;
}

.filter-dropdown__trigger {
    display: flex;
    align-items: center;
    gap: var(--space-small);
    padding: var(--space-small) var(--space-medium);
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
    background-color: var(--silver-mist-300);
    border: none;
    border-radius: var(--radius-sm);
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.filter-dropdown__trigger:hover {
    background-color: var(--silver-mist-500);
}

.filter-dropdown__trigger.is-active {
    background-color: var(--silver-mist-500);
}

.filter-dropdown__trigger svg {
    color: var(--silver-mist-700);
    transition: transform 0.3s ease;
}

.filter-dropdown__trigger.is-active svg {
    transform: rotate(180deg);
}

.filter-dropdown__menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    min-width: 220px;
    padding: 12px 0;
    background-color: var(--silver-dew-500);
    border: 1px solid var(--silver-mist-300);
    border-radius: var(--radius-md);
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
    z-index: 100;
}

.filter-dropdown__menu.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.filter-dropdown__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.filter-dropdown__item:hover {
    background-color: var(--silver-mist-300);
}

.filter-dropdown__item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    accent-color: var(--soft-silver-700);
    cursor: pointer;
}

.filter-dropdown__item span {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
}

/* Reset Filters Button */
.jobs-archive__reset {
    display: inline-flex;
    align-items: center;
    padding: 0;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--silver-mist-700);
    background: none;
    border: none;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 4px;
    transition: color 0.3s ease;
}

.jobs-archive__reset:hover {
    color: var(--iron-shadow-500);
}

/* Job List */
.jobs-archive__list {
    display: flex;
    flex-direction: column;
    max-width: 1124px;
    margin: 0 auto;
}

.jobs-archive__empty {
    text-align: center;
    padding: var(--space-xxxl);
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 24px;
    color: var(--silver-mist-700);
}

/* Job Item */
.job-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: var(--space-xxxl) var(--space-xl);
    text-decoration: none;
    border-radius: var(--radius-xl);
    transition: background-color 0.3s ease;
}

.job-item--light {
    background-color: rgba(244, 247, 246, 0.75);
}

.job-item--alt {
    background-color: rgba(234, 236, 239, 0.75);
}

.job-item:hover {
    background-color: rgba(234, 236, 239, 1);
}

.job-item__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    max-width: 1060px;
}

.job-item__left {
    display: flex;
    align-items: center;
    gap: var(--space-xxl);
}

.job-item__image {
    flex-shrink: 0;
    width: 160px;
    height: 120px;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.job-item__image img,
.job-item__thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.job-item__placeholder {
    width: 100%;
    height: 100%;
    background-color: var(--silver-mist-300);
}

.job-item__placeholder img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.job-item__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
    width: 599px;
}

.job-item__title {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.job-item__meta {
    display: flex;
    align-items: center;
    gap: var(--space-xl);
    flex-wrap: wrap;
}

.job-item__meta span {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--silver-mist-700);
}

.job-item__excerpt {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--silver-mist-700);
    margin: 0;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    max-height: 46px;
}

.job-item__arrow {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: 1.5px solid var(--silver-mist-500);
    border-radius: 50%;
    color: var(--iron-shadow-500);
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

.job-item:hover .job-item__arrow {
    border-color: var(--iron-shadow-500);
    background-color: var(--iron-shadow-500);
    color: var(--silver-dew-500);
}

/* Pagination */
.jobs-archive__pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-large);
    margin-top: var(--space-xxl);
}

.pagination__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1.5px solid var(--silver-mist-500);
    border-radius: 50%;
    color: var(--iron-shadow-500);
    text-decoration: none;
    transition: border-color 0.3s ease, background-color 0.3s ease;
}

.pagination__arrow:hover {
    border-color: var(--iron-shadow-500);
    background-color: var(--iron-shadow-500);
    color: var(--silver-dew-500);
}

.pagination__arrow--disabled {
    opacity: 0.4;
    pointer-events: none;
}

.pagination__numbers {
    display: flex;
    align-items: center;
    gap: var(--space-small);
}

.pagination__number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
    text-decoration: none;
    border-radius: 50%;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.pagination__number:hover {
    background-color: var(--silver-mist-300);
}

.pagination__number--active {
    background-color: var(--iron-shadow-500);
    color: var(--silver-dew-500);
}

/* ==========================================================================
   Job Detail Page
   ========================================================================== */

.job-detail {
    padding: var(--space-xxxxxl) 0;
    background-color: var(--bg-light);
}

.job-detail__back-wrapper {
    margin-bottom: 48px;
}

.job-detail__header {
    margin-bottom: 48px;
}

.job-detail__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: #000;
    margin: 0 0 32px;
}

.job-detail__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.job-detail__tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    background-color: #eaecef;
    border-radius: 4px;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: #0a0d11;
}

.job-detail__content {
    display: flex;
    flex-direction: column;
    gap: 48px;
    max-width: 1060px;
}

.job-detail__section {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.job-detail__section-title {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #0a0d11;
    margin: 0;
}

.job-detail__body {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #8c94a5;
}

.job-detail__body ul {
    padding-left: 33px;
    margin: 0;
    list-style-type: disc;
}

.job-detail__body li {
    margin-bottom: 0;
}

.job-detail__body p {
    margin: 0;
}

.job-detail__cta {
    margin-top: 48px;
    text-align: center;
}

@media (max-width: 768px) {
    .job-detail__title {
        font-size: 32px;
        line-height: 40px;
    }

    .job-detail__section-title {
        font-size: 20px;
    }
}

/* ==========================================================================
   Application Modal
   ========================================================================== */

.application-modal .modal__overlay {
    position: fixed;
    inset: 0;
    background: rgba(10, 13, 17, 0.4);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    z-index: 9998;
}

.application-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.application-modal.is-open {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 20px;
}

.application-modal__container {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 900px;
    max-height: 800px;
    overflow-y: auto;
    background: linear-gradient(180deg, #2e2e2e 0%, #0a0d11 100%);
    border: 1.5px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
    z-index: 10000;
    margin: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.25) transparent;
}

.application-modal__container::-webkit-scrollbar {
    width: 6px;
}

.application-modal__container::-webkit-scrollbar-track {
    background: transparent;
    margin: 20px 0;
}

.application-modal__container::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.25);
    border-radius: 3px;
}

.application-modal__container::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.4);
}

.application-modal__close {
    position: sticky;
    top: 20px;
    align-self: flex-end;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #fff;
    cursor: pointer;
    z-index: 10;
    border-radius: 50%;
    transition: background 0.2s;
    margin: 20px 20px -40px 0;
    flex-shrink: 0;
}

.application-modal__close:hover {
    background: rgba(255, 255, 255, 0.1);
}

/* Layout */
.application-modal__layout {
    display: flex;
}

.application-modal__sidebar {
    width: 200px;
    flex-shrink: 0;
    padding: 48px 24px 48px 32px;
    position: sticky;
    top: 0;
    align-self: flex-start;
}

.application-modal__steps {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.application-modal__step {
    display: flex;
    align-items: center;
    gap: 12px;
    cursor: pointer;
    padding: 4px 0;
}

.application-modal__step-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    border: 2px solid rgba(255, 255, 255, 0.3);
    flex-shrink: 0;
    transition: all 0.3s;
}

.application-modal__step.is-active .application-modal__step-dot {
    background: #fff;
    border-color: #fff;
}

.application-modal__step-label {
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.4);
    transition: color 0.3s;
    white-space: nowrap;
}

.application-modal__step.is-active .application-modal__step-label {
    color: #fff;
}

.application-modal__step-line {
    width: 2px;
    height: 32px;
    background: rgba(255, 255, 255, 0.15);
    margin-left: 5px;
}

/* Main content */
.application-modal__main {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    padding: 48px 48px 64px;
}

/* Sections */
.application-modal__section {
    padding: 48px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 20px;
    margin-bottom: 48px;
}

.application-modal__section--dark {
    background: #2e2e2e;
}

.application-modal__section--light {
    background: #f4f7f6;
}

.application-modal__section-title {
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 26px;
    line-height: 1.3;
    margin: 0 0 16px;
    color: #1a1a1a;
}

.application-modal__section-title--light {
    color: #fff;
}

.application-modal__separator {
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
    margin-bottom: 32px;
}

.application-modal__separator--dark {
    background: rgba(0, 0, 0, 0.1);
}

/* Form fields */
.application-modal__field-group {
    margin-bottom: 24px;
}

.application-modal__label {
    display: block;
    font-family: var(--font-body);
    font-size: 14px;
    color: #8c94a5;
    margin-bottom: 8px;
}

.application-modal__label--light {
    color: #8c94a5;
}

.application-modal__row {
    display: flex;
    gap: 16px;
    margin-bottom: 16px;
}

.application-modal__field {
    margin-bottom: 16px;
}

.application-modal__field--small {
    width: 250px;
    flex-shrink: 0;
}

.application-modal__field--flex {
    flex: 1;
    min-width: 0;
}

.application-modal__input {
    display: block;
    width: 100%;
    height: 58px;
    padding: 0 16px;
    font-family: var(--font-body);
    font-weight: 300;
    font-size: 20px;
    border: 1px solid #8c94a5;
    border-radius: 8px;
    background: transparent;
    color: #fff;
    outline: none;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.application-modal__input:focus {
    border-color: #fff;
}

.application-modal__input--dark {
    color: #1a1a1a;
    border-color: #8c94a5;
}

.application-modal__input--dark:focus {
    border-color: #1a1a1a;
}

.application-modal__input.is-invalid {
    border-color: #ff6363;
}

.application-modal__input::placeholder {
    color: #8c94a5;
    opacity: 0.6;
}

select.application-modal__input {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%238c94a5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    padding-right: 40px;
}

/* File upload */
.application-modal__file-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
}

.application-modal__upload-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 14px 20px;
    border: 1px solid #cfd3d4;
    border-radius: 8px;
    background: transparent;
    color: #fff;
    font-family: var(--font-body);
    font-size: 16px;
    cursor: pointer;
    transition: border-color 0.2s, background 0.2s;
}

.application-modal__upload-btn:hover {
    border-color: #fff;
    background: rgba(255, 255, 255, 0.05);
}

.application-modal__upload-btn.has-file {
    border-color: #22c55e;
    color: #22c55e;
}

.application-modal__file-name {
    display: none;
    font-family: var(--font-body);
    font-size: 14px;
    color: #8c94a5;
    margin-top: 8px;
}

.application-modal__file-name.is-visible {
    display: block;
}

/* Textarea */
.application-modal__textarea {
    height: 163px;
    padding: 16px;
    resize: vertical;
}

/* Input suffix (for euro) */
.application-modal__input-suffix {
    position: relative;
}

.application-modal__input-suffix .application-modal__input {
    padding-right: 40px;
}

.application-modal__suffix {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    font-family: var(--font-body);
    font-size: 20px;
    color: #8c94a5;
    pointer-events: none;
}

/* Bottom */
.application-modal__bottom {
    padding: 32px 48px 48px;
}

.application-modal__checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 32px;
    cursor: pointer;
}

.application-modal__checkbox {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    margin-top: 2px;
    accent-color: #fff;
}

.application-modal__checkbox-text {
    font-family: var(--font-body);
    font-size: 14px;
    color: rgba(255, 255, 255, 0.6);
    line-height: 1.5;
}

.application-modal__submit {
    display: block;
    width: 100%;
    padding: 18px 32px;
    background: #6d6d6d;
    border: none;
    border-radius: 4px;
    color: #fff;
    font-family: var(--font-body);
    font-size: 22px;
    cursor: pointer;
    transition: background 0.2s;
    text-align: center;
}

.application-modal__submit:hover {
    background: #5a5a5a;
}

.application-modal__submit:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.application-modal__error {
    margin-top: 16px;
    padding: 12px 16px;
    background: rgba(255, 99, 99, 0.1);
    border: 1px solid #ff6363;
    border-radius: 8px;
    color: #ff6363;
    font-family: var(--font-body);
    font-size: 14px;
}

/* Success state */
.application-modal__success-state {
    padding: 80px 48px;
    text-align: center;
}

.application-modal__success-logo {
    width: 200px;
    margin-bottom: 40px;
    filter: brightness(0) invert(1);
}

.application-modal__success-title {
    font-family: var(--font-heading);
    font-size: 32px;
    color: #fff;
    margin: 0 0 16px;
}

.application-modal__success-text {
    font-family: var(--font-body);
    font-size: 18px;
    color: rgba(255, 255, 255, 0.6);
    margin: 0 0 40px;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6;
}

.application-modal__success-state .application-modal__submit {
    max-width: 300px;
    margin: 0 auto;
}

/* Responsive */
@media (max-width: 768px) {
    .application-modal.is-open {
        padding: 20px 10px;
    }

    .application-modal__sidebar {
        display: none;
    }

    .application-modal__section {
        padding: 24px;
        border-radius: 12px;
    }

    .application-modal__row {
        flex-direction: column;
        gap: 0;
    }

    .application-modal__field--small {
        width: 100%;
    }

    .application-modal__bottom {
        padding: 24px;
    }

    .application-modal__section-title {
        font-size: 22px;
    }

    .application-modal__success-state {
        padding: 40px 24px;
    }

    .application-modal__success-title {
        font-size: 24px;
    }
}

/* ==========================================================================
   Spontaneous Application Section (Candidature spontanée)
   ========================================================================== */

.spontaneous-section {
    padding: var(--space-xxxxxl) 0;
    background-color: var(--silver-mist-300);
}

.spontaneous-section__content {
    display: flex;
    gap: var(--space-xxxxl);
    max-width: 1330px;
    margin: 0 auto;
}

.spontaneous-section__left {
    flex: 0 0 520px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xxl);
}

/* Switch Buttons */
.spontaneous-section__switch {
    display: flex;
    gap: 0;
    background-color: #f4f7f6;
    padding: 8px;
    border-radius: 8px;
    width: fit-content;
}

.switch-btn {
    padding: 16px 24px;
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: #a3aab7;
    background-color: transparent;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.switch-btn:hover {
    color: var(--iron-shadow-500);
}

.switch-btn--active {
    background-color: #b0b0b0;
    color: #ffffff;
}

.switch-btn--active:hover {
    background-color: #a0a0a0;
    color: #ffffff;
}

/* Text Content */
.spontaneous-section__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-medium);
    text-align: center;
}

.spontaneous-section__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
    text-align: center;
}

.spontaneous-section__title .text-muted {
    color: var(--silver-mist-700);
}

.spontaneous-section__description {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
    max-width: 520px;
    text-align: center;
}

/* CTA Button with slide effect */
.spontaneous-section__left .btn--primary {
    align-self: center;
    background-color: #6d6d6d;
}

/* Adjust button text container for slide effect */
.btn--large {
    padding: var(--space-medium) var(--space-xl);
}

.btn--large .btn__text {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 10px;
    height: 26px;
    overflow: hidden;
}

.btn--large .btn__text span {
    display: block;
    flex-shrink: 0;
    line-height: 26px;
    transition: transform 0.3s ease;
}

.btn--large:hover .btn__text span {
    transform: translateY(calc(-100% - 10px));
}

/* Right Column - Tips */
.spontaneous-section__right {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Tip Item */
.tip-item {
    padding: var(--space-large) 0;
    border-bottom: 1px solid var(--silver-mist-500);
}

.tip-item:first-child {
    padding-top: 0;
}

.tip-item:last-child {
    border-bottom: none;
}

.tip-item__header {
    display: inline-flex;
    align-items: center;
    gap: var(--space-medium);
    margin-bottom: var(--space-small);
}

.tip-item__title {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 400;
    line-height: 26px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.tip-item__tag {
    flex-shrink: 0;
    padding: 6px 12px;
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 300;
    line-height: 16px;
    color: var(--iron-shadow-500);
    background-color: var(--silver-dew-500);
    border-radius: var(--radius-sm);
}

.tip-item__description {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 24px;
    color: var(--silver-mist-700);
    margin: 0;
}

/* ==========================================================================
   Jobs Archive & Spontaneous Section - Responsive
   ========================================================================== */

@media (max-width: 1400px) {
    .spontaneous-section__content {
        gap: var(--space-xxl);
    }
}

@media (max-width: 1024px) {
    .jobs-archive {
        padding-top: 0;
    }

    .jobs-archive__title {
        font-size: 48px;
        line-height: 56px;
    }

    .jobs-archive__subtitle {
        font-size: 24px;
        line-height: 28px;
    }

    .jobs-archive__filters {
        flex-direction: column;
        gap: var(--space-large);
        align-items: flex-start;
    }

    .jobs-archive__filter-buttons {
        flex-wrap: wrap;
    }

    .spontaneous-section__content {
        flex-direction: column;
        gap: var(--space-xxxl);
    }

    .spontaneous-section__title {
        font-size: 40px;
        line-height: 48px;
    }
}

@media (max-width: 768px) {
    .jobs-archive__title {
        font-size: 36px;
        line-height: 44px;
    }

    .jobs-archive__subtitle {
        font-size: 20px;
        line-height: 24px;
    }

    .job-item {
        padding: var(--space-xl);
    }

    .job-item__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-medium);
    }

    .job-item__left {
        flex-direction: column;
        align-items: flex-start;
        width: 100%;
    }

    .job-item__image {
        width: 100%;
        height: 180px;
    }

    .job-item__content {
        width: 100%;
    }

    .job-item__arrow {
        align-self: flex-end;
    }

    .spontaneous-section__switch-wrapper {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .spontaneous-section__switch-label {
        display: block;
        font-family: var(--font-body);
        font-size: 16px;
        font-weight: 300;
        color: #a3aab7;
        white-space: nowrap;
    }

    .spontaneous-section__switch {
        flex-direction: row;
        width: 100%;
        flex: 1;
    }

    .spontaneous-section__switch .switch-btn {
        flex: 1;
        text-align: center;
        padding: 12px 16px;
        font-size: 14px;
        line-height: 20px;
        white-space: nowrap;
    }

    .spontaneous-section__title {
        font-size: 32px;
        line-height: 40px;
    }

    .tip-item__header {
        flex-direction: column;
        gap: var(--space-small);
    }
}

/* ==========================================================================
   Contact Page
   ========================================================================== */

.contact-hero {
    padding-top: 0;
    padding-bottom: var(--space-xxxl);
    background-color: var(--bg-light);
}

.contact-card {
    display: flex;
    gap: var(--space-xxxl);
    padding: var(--space-xxxxl);
    background-color: var(--silver-dew-500);
    border-radius: var(--radius-xl);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.contact-card__left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-xxl);
    align-items: center;
    text-align: center;
}

.contact-card__switch-label,
.spontaneous-section__switch-label {
    display: none;
}

.switch-btn__short {
    display: none;
}

.contact-card__switch {
    display: inline-flex;
    gap: var(--space-small);
    padding: var(--space-small);
    background-color: #f4f7f6;
    border-radius: var(--radius-md);
}

.contact-card__switch .switch-btn {
    padding: var(--space-medium);
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #a3aab7;
    background-color: transparent;
    border: none;
    border-radius: var(--radius-md);
    cursor: pointer;
    transition: all 0.3s ease;
}

.contact-card__switch .switch-btn:hover {
    color: var(--iron-shadow-500);
}

.contact-card__switch .switch-btn--active {
    background-color: #b0b0b0;
    color: var(--silver-dew-500);
}

.contact-card__switch .switch-btn--active:hover {
    background-color: #9a9a9a;
    color: var(--silver-dew-500);
}

/* Content wrappers for stacking */
.contact-card__text-wrapper,
.contact-card__cta-wrapper,
.contact-card__tips-wrapper {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
}

.contact-card__text-wrapper > *,
.contact-card__cta-wrapper > *,
.contact-card__tips-wrapper > * {
    grid-column: 1;
    grid-row: 1;
}

.contact-card__cta-wrapper .btn {
    width: 100%;
}

/* Content switching animation */
.contact-card__content {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease, visibility 0.35s ease;
}

.contact-card__content--active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.contact-card__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
}

.contact-card__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.contact-card__title .text-muted {
    color: var(--silver-mist-700);
}

.contact-card__description {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
    max-width: 520px;
}

.contact-card__right {
    flex: 1;
}

.contact-tips {
    display: flex;
    flex-direction: column;
}

.contact-tip {
    padding: var(--space-xl) 0;
    border-bottom: 1px solid var(--silver-mist-300);
}

.contact-tip:first-child {
    padding-top: 0;
}

.contact-tip:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.contact-tip__header {
    display: flex;
    align-items: center;
    gap: var(--space-medium);
    margin-bottom: var(--space-medium);
}

.contact-tip__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.contact-tip__tag {
    flex-shrink: 0;
    padding: var(--space-xs) var(--space-small);
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
    background-color: var(--bg-light);
    border-radius: var(--radius-sm);
}

.contact-tip__description {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
}

/* Contact Form Section */
.contact-form-section {
    padding: var(--space-xxxxxl) 0 0;
    background-color: var(--bg-dark);
}

.contact-form-wrapper {
    display: flex;
    gap: var(--space-xxxl);
    align-items: center;
}

.contact-form__image {
    position: relative;
    flex-shrink: 0;
}

.contact-form__image-inner {
    position: relative;
    width: 790px;
    height: 960px;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.contact-form__image-inner::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    border-radius: var(--radius-xl);
    pointer-events: none;
}

.contact-form__image-inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.contact-form__image-border {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1px solid white;
    border-radius: 24px;
    pointer-events: none;
    z-index: 1;
    -webkit-mask-image: linear-gradient(to bottom, black 0%, black 10%, transparent 70%);
    mask-image: linear-gradient(to bottom, black 0%, black 10%, transparent 70%);
}

.contact-form__content {
    flex: 1;
    max-width: 655px;
}

.contact-form__logo {
    display: flex;
    align-items: center;
    gap: var(--space-sm);
    margin-bottom: var(--space-xxl);
}

.contact-form__logo-icon {
    height: 39px;
    width: 39px;
    object-fit: contain;
}

.contact-form__logo-text {
    height: 21px;
    width: auto;
    object-fit: contain;
}

.contact-form__header {
    margin-bottom: var(--space-large);
}

.contact-form__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--silver-dew-500);
    margin: 0 0 var(--space-xxxs);
}

.contact-form__subtitle {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 400;
    line-height: 44px;
    color: var(--silver-mist-700);
    margin: 0 0 var(--space-large);
}

.contact-form__description {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin: 0;
}

/* Form Fields */
.contact-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
}

.contact-form__row {
    display: flex;
    gap: 21px;
}

.contact-form__row .contact-form__field {
    flex: 1;
}

.contact-form__field {
    display: flex;
    flex-direction: column;
    gap: var(--space-small);
}

.contact-form__field label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    line-height: normal;
    color: var(--silver-mist-700);
}

.contact-form__field input,
.contact-form__field textarea {
    padding: var(--space-small) var(--space-medium);
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--silver-mist-300);
    background-color: transparent;
    border: 1px solid var(--silver-mist-700);
    border-radius: var(--radius-md);
    outline: none;
    transition: border-color 0.3s ease;
}

.contact-form__field input::placeholder,
.contact-form__field textarea::placeholder {
    color: var(--silver-mist-700);
}

.contact-form__field input:focus,
.contact-form__field textarea:focus {
    border-color: var(--silver-mist-500);
}

.contact-form__field--error label {
    color: #ff6363;
}

.contact-form__field--error input,
.contact-form__field--error textarea {
    border-color: #ff6363;
    color: #ff6363;
}

.contact-form__field input.error,
.contact-form__field textarea.error {
    border-color: #ff6363;
    color: #ff6363;
}

.contact-form__field textarea {
    resize: vertical;
    min-height: 163px;
}

.contact-form__checkbox {
    display: flex;
    gap: var(--space-medium);
    align-items: flex-start;
}

.contact-form__checkbox input[type="checkbox"] {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin: 0;
    border: 1px solid var(--silver-mist-700);
    border-radius: var(--radius-sm);
    background-color: transparent;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.contact-form__checkbox input[type="checkbox"]:checked {
    background-color: var(--soft-silver-700);
    border-color: var(--soft-silver-700);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L19 7'/%3E%3C/svg%3E");
    background-size: 16px;
    background-position: center;
    background-repeat: no-repeat;
}

.contact-form__checkbox label {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--silver-mist-500);
}

.contact-form__checkbox label a {
    color: var(--silver-mist-500);
    text-decoration: underline;
}

.contact-form__checkbox label a:hover {
    color: var(--silver-dew-500);
}

.contact-form .btn {
    align-self: flex-start;
    margin-top: var(--space-xl);
}

/* Contact Page Responsive */
@media (max-width: 1400px) {
    .contact-form__image-inner {
        width: 600px;
        height: 800px;
    }

    .contact-form__image-border {
        top: 16px;
        left: 16px;
        right: 16px;
        bottom: 16px;
    }
}

@media (max-width: 1200px) {
    .contact-card {
        flex-direction: column;
    }

    .contact-form-wrapper {
        flex-direction: column;
    }

    .contact-form__image {
        display: none;
    }

    .contact-form__content {
        max-width: 100%;
    }
}

@media (max-width: 1024px) {
    .contact-hero {
        padding-top: calc(var(--space-xxxl) + 150px);
    }

    .contact-card__title {
        font-size: 40px;
        line-height: 48px;
    }

    .contact-tip__title {
        font-size: 24px;
        line-height: 28px;
    }

    .contact-form__title {
        font-size: 40px;
        line-height: 48px;
    }

    .contact-form__subtitle {
        font-size: 28px;
        line-height: 36px;
    }
}

@media (max-width: 768px) {
    .contact-card {
        padding: var(--space-xl);
    }

    .contact-card__title {
        font-size: 32px;
        line-height: 40px;
    }

    .contact-card__switch-wrapper {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .contact-card__switch-label,
    .spontaneous-section__switch-label {
        display: block;
        font-family: var(--font-body);
        font-size: 16px;
        font-weight: 300;
        color: #a3aab7;
        white-space: nowrap;
    }

    .contact-card__switch {
        flex-direction: row;
        flex-wrap: nowrap;
        flex: 1;
    }

    .contact-card__switch .switch-btn {
        padding: 12px 16px;
        font-size: 14px;
        line-height: 20px;
        flex: 1;
        text-align: center;
        white-space: nowrap;
    }

    .switch-btn__full {
        display: none;
    }

    .switch-btn__short {
        display: inline;
    }

    .contact-tip__header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-small);
    }

    .contact-tip__title {
        font-size: 22px;
        line-height: 26px;
    }

    .contact-form__row {
        flex-direction: column;
        gap: var(--space-medium);
    }

    .contact-form__title {
        font-size: 32px;
        line-height: 40px;
    }

    .contact-form__subtitle {
        font-size: 24px;
        line-height: 32px;
    }
}


/* ==========================================================================
   ACTUALITÉS PAGE
   ========================================================================== */

/* Hero Section */
.actualites-hero {
    padding: 150px 0 var(--space-xxxl);
}

.actualites-featured {
    display: flex;
    gap: var(--space-xxxl);
    align-items: center;
}

.actualites-featured__image {
    flex: 1;
    max-width: 580px;
    border-radius: var(--radius-lg);
    overflow: hidden;
}

.actualites-featured__image img {
    width: 100%;
    height: 400px;
    object-fit: cover;
}

.actualites-featured__content {
    flex: 1;
    max-width: 600px;
}

.actualites-featured__meta {
    display: flex;
    align-items: center;
    gap: var(--space-medium);
    margin-bottom: var(--space-medium);
}

.actualites-featured__category {
    display: inline-block;
    padding: var(--space-xxs) var(--space-small);
    background-color: var(--iron-shadow-500);
    color: var(--silver-dew-500);
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    border-radius: var(--radius-sm);
}

.actualites-featured__date {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 300;
    color: var(--silver-mist-500);
}

.actualites-featured__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-medium);
}

.actualites-featured__excerpt {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin: 0 0 var(--space-large);
}

/* Page Header */
.page-header {
    padding: var(--space-xxxl) 0;
    background-color: var(--fog-white-500);
}

.page-header__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-medium);
    text-align: center;
}

.page-header__title {
    font-family: var(--font-heading);
    font-size: 64px;
    font-weight: 400;
    line-height: 72px;
    color: var(--black);
    margin: 0;
}

.page-header__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
    margin: 0;
}

/* Listing Section */
.actualites-listing {
    padding: var(--space-xxxl) 0;
    background-color: var(--fog-white-500);
}

.news-listing-item__meta {
    display: flex;
    align-items: center;
    gap: var(--space-small);
    margin-bottom: var(--space-xs);
}

.news-listing-item__category {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 400;
    color: var(--silver-mist-500);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.news-listing-item__date {
    font-family: var(--font-body);
    font-size: 12px;
    font-weight: 300;
    color: var(--silver-mist-500);
}

/* Pagination */
.pagination {
    margin-top: var(--space-xxxl);
    display: flex;
    justify-content: center;
}

.pagination__nav {
    display: inline-block;
}

.pagination__list {
    display: flex;
    align-items: center;
    gap: var(--space-xs);
    list-style: none;
    margin: 0;
    padding: 0;
}

.pagination__item a,
.pagination__item span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 var(--space-small);
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    color: var(--iron-shadow-500);
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: var(--radius-sm);
    text-decoration: none;
    transition: all 0.2s ease;
}

.pagination__item a:hover {
    border-color: var(--iron-shadow-500);
}

.pagination__item .current {
    background-color: var(--iron-shadow-500);
    color: var(--silver-dew-500);
}

.pagination__item .prev,
.pagination__item .next {
    border: 1px solid var(--silver-mist-500);
}

.pagination__item .prev:hover,
.pagination__item .next:hover {
    border-color: var(--iron-shadow-500);
}

.pagination__item .dots {
    border: none;
    cursor: default;
}

/* Responsive */
@media (max-width: 1024px) {
    .actualites-featured {
        flex-direction: column;
        gap: var(--space-xl);
    }

    .actualites-featured__image {
        max-width: 100%;
        width: 100%;
    }

    .actualites-featured__content {
        max-width: 100%;
    }

    .actualites-featured__title {
        font-size: 36px;
        line-height: 44px;
    }
}

@media (max-width: 768px) {
    .actualites-hero {
        padding: 120px 0 var(--space-xl);
    }

    .actualites-featured__image img {
        height: 300px;
    }

    .actualites-featured__title {
        font-size: 28px;
        line-height: 36px;
    }

    .actualites-featured__excerpt {
        font-size: 16px;
        line-height: 24px;
    }

    .pagination__item a,
    .pagination__item span {
        min-width: 36px;
        height: 36px;
        font-size: 14px;
    }
}

/* ==========================================================================
   Single Article Page
   ========================================================================== */

.single-article {
    background-color: var(--bg-light);
}

.article-section {
    padding: 0 0 var(--space-xxxxxl);
}

.article-wrapper {
    max-width: 1060px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-xxl);
}

/* Back Link */
.article-back__link {
    display: inline-flex;
    flex-direction: column;
    gap: var(--space-small);
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
    text-decoration: none;
    transition: color 0.2s ease;
}

.article-back__underline {
    display: block;
    width: 100%;
    height: 1.5px;
    background-color: var(--silver-dew-800);
    transition: background-color 0.2s ease;
}

.article-back__link:hover {
    color: var(--silver-mist-700);
}

.article-back__link:hover .article-back__underline {
    background-color: var(--silver-mist-700);
}

/* Article Title */
.article-title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

/* Article Content */
.article-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
}

.article-content p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0 0 var(--space-large);
}

.article-content p:last-child {
    margin-bottom: 0;
}

.article-content h2,
.article-content h3,
.article-content h4 {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
    margin: var(--space-xl) 0 var(--space-large);
}

.article-content h2:first-child,
.article-content h3:first-child,
.article-content h4:first-child {
    margin-top: 0;
}

.article-content ul {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0 0 var(--space-large);
    padding-left: 33px;
    list-style: square;
}

.article-content ol {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0 0 var(--space-large);
    padding-left: 33px;
    list-style: decimal;
}

.article-content li {
    margin-bottom: var(--space-small);
}

.article-content li:last-child {
    margin-bottom: 0;
}

.article-content blockquote {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    border-left: 3px solid var(--iron-shadow-500);
    padding-left: var(--space-large);
    margin: var(--space-xl) 0;
    font-style: italic;
}

.article-content a {
    color: var(--iron-shadow-500);
    text-decoration: underline;
}

.article-content a:hover {
    color: var(--silver-mist-700);
}

/* Article Image */
.article-image {
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin: var(--space-xxl) 0;
}

.article-image img {
    display: block;
    width: 100%;
    height: 530px;
    object-fit: cover;
    border-radius: var(--radius-lg);
}

/* Article Image inside content (WordPress editor) */
.article-content .article-image {
    margin: var(--space-xxl) 0;
}

.article-content .article-image + h3 {
    margin-top: var(--space-xxl);
}

/* Article Separator */
.article-separator {
    width: 100%;
    height: 0;
    border: none;
    border-top: 1.5px dashed var(--silver-dew-800);
}

/* Article Footer */
.article-footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.article-date {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
}

/* Article Share */
.article-share {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-medium);
    width: 150px;
}

.article-share__label {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
    margin: 0;
    text-align: center;
}

.article-share__icons {
    display: flex;
    align-items: center;
    gap: var(--space-small);
}

.article-share__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--silver-mist-700);
    transition: color 0.2s ease;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.article-share__icon:hover {
    color: var(--iron-shadow-500);
}

/* Job Offer Specific Styles */
.job-tags {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-medium);
}

.job-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-small) var(--space-medium);
    background-color: var(--silver-mist-300);
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
}

.job-apply-cta {
    display: flex;
    justify-content: center;
}

/* Recruitment Process Section */
.recruitment-process {
    background-color: var(--bg-dark);
    padding: var(--space-xxxxl) 0 0;
}

.recruitment-process__header {
    text-align: center;
    margin-bottom: var(--space-xxxl);
}

.recruitment-process__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--silver-dew-500);
    margin: 0 0 var(--space-medium);
}

.recruitment-process__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
    margin: 0;
}

.recruitment-process__steps {
    max-width: 1060px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.recruitment-step {
    padding: var(--space-xl);
    border-radius: var(--radius-lg);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.recruitment-step--postuler {
    background-color: var(--soft-silver-700);
    min-height: 324px;
}

.recruitment-step--evaluation {
    background-color: var(--soft-silver-500);
    min-height: 244px;
}

.recruitment-step--entretien {
    background-color: var(--soft-silver-300);
    min-height: 184px;
}

.recruitment-step__title {
    font-family: var(--font-body);
    font-weight: 300;
    margin: 0;
}

.recruitment-step--postuler .recruitment-step__title {
    font-size: 88px;
    line-height: 120px;
    color: var(--soft-silver-400);
}

.recruitment-step--evaluation .recruitment-step__title {
    font-size: 60px;
    line-height: 1;
    color: var(--soft-silver-400);
}

.recruitment-step--entretien .recruitment-step__title {
    font-size: 46px;
    line-height: 1;
    color: var(--soft-silver-500);
}

.recruitment-step__description {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    text-align: right;
    margin: 0;
}

.recruitment-step--postuler .recruitment-step__description,
.recruitment-step--evaluation .recruitment-step__description {
    color: var(--soft-silver-400);
}

.recruitment-step--entretien .recruitment-step__description {
    color: var(--soft-silver-500);
}

.recruitment-process__separator {
    width: 100%;
    max-width: 1600px;
    height: 0;
    border: none;
    border-top: 1.5px solid var(--iron-shadow-200);
    margin: var(--space-xxxxxl) auto 0;
}

/* Services Network Section */
.services-network {
    padding: var(--space-xxxxl) 0 0;
}

.services-network__header {
    text-align: center;
    margin-bottom: var(--space-xxxl);
}

.services-network__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--silver-dew-500);
    margin: 0;
}

.services-network__title .text-muted {
    color: var(--silver-mist-700);
}

.services-network__cards {
    display: flex;
    gap: var(--space-large);
    justify-content: center;
    margin-bottom: var(--space-xxxxxl);
}

/* Service Network Card */
.service-network-card {
    position: relative;
    display: block;
    width: 460px;
    height: 308px;
    border-radius: var(--radius-md);
    overflow: hidden;
    text-decoration: none;
    color: var(--silver-dew-500);
}

.service-network-card__bg {
    position: absolute;
    inset: 0;
    background-color: var(--iron-shadow-300);
    transition: background-color 0.3s ease;
}

.service-network-card:hover .service-network-card__bg {
    background-color: var(--iron-shadow-400);
}

.service-network-card__logo {
    position: absolute;
    top: 64px;
    left: 50%;
    transform: translateX(-50%);
    width: 200px;
    display: flex;
    justify-content: center;
}

.service-network-card__logo img {
    max-width: 100%;
    max-height: 54px;
    object-fit: contain;
}

.service-network-card__arrow {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--silver-dew-500);
    border-radius: 50%;
    color: var(--iron-shadow-500);
    opacity: 0;
    transition: opacity 0.3s ease;
}

.service-network-card:hover .service-network-card__arrow {
    opacity: 1;
}

.service-network-card__content {
    position: absolute;
    bottom: 24px;
    left: 24px;
    right: 24px;
    display: flex;
    flex-direction: column;
    gap: var(--space-small);
}

.service-network-card__tagline {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 400;
    line-height: 24px;
    color: var(--silver-dew-500);
    margin: 0;
}

.service-network-card__description {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--soft-silver-400);
    margin: 0;
}

.service-network-card__title {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 400;
    line-height: 24px;
    color: var(--silver-dew-500);
    margin: 0;
}

/* Card Variants */
.service-network-card--advisory .service-network-card__description,
.service-network-card__description--beige {
    color: var(--mushroom-beige-400);
}

.service-network-card--bgcheck .service-network-card__description,
.service-network-card__description--olive {
    color: var(--soft-olive-400);
}

/* Dark variant (used on job detail page) */
.services-network--dark {
    background-color: var(--bg-dark);
    padding-top: var(--space-xxxxxl);
}

.services-network__separator {
    width: 100%;
    max-width: 1600px;
    height: 0;
    border: none;
    border-top: 1.5px solid var(--iron-shadow-200);
    margin: 0 auto;
}

/* Responsive */
@media (max-width: 1200px) {
    .services-network__cards {
        flex-wrap: wrap;
    }

    .service-network-card {
        width: calc(50% - var(--space-medium));
    }
}

@media (max-width: 1024px) {
    .article-section {
        padding: 0 0 var(--space-xxxxl);
    }

    .article-title {
        font-size: 40px;
        line-height: 48px;
    }

    .article-image img {
        height: 400px;
    }

    .services-network__title {
        font-size: 40px;
        line-height: 48px;
    }
}

@media (max-width: 768px) {
    .article-section {
        padding: 0 0 var(--space-xxxl);
    }

    .article-title {
        font-size: 32px;
        line-height: 40px;
    }

    .article-content p,
    .article-content h2,
    .article-content h3,
    .article-content h4,
    .article-content ul,
    .article-content ol {
        font-size: 18px;
        line-height: 24px;
    }

    .article-image img {
        height: 300px;
    }

    .article-footer {
        flex-direction: column;
        gap: var(--space-xl);
    }

    .article-share {
        width: 100%;
        align-items: flex-start;
    }

    .article-share__label {
        text-align: left;
    }

    .article-date {
        font-size: 18px;
    }

    .services-network__cards {
        flex-direction: column;
    }

    .service-network-card {
        width: 100%;
    }

    .services-network__title {
        font-size: 28px;
        line-height: 36px;
    }
}

/* ==========================================================================
   HR Advisory Page Styles
   ========================================================================== */

/* Hero Section */
.advisory-hero {
    padding: var(--space-xxxxxl) 0 0;
    background-color: var(--bg-light);
    text-align: center;
}

.advisory-hero__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xl);
    max-width: 1098px;
    margin: 0 auto;
}

.advisory-hero__logo {
    margin-bottom: var(--space-medium);
}

.advisory-hero__logo img {
    height: 71px;
    width: auto;
}

.advisory-hero__title {
    font-family: var(--font-heading);
    font-size: 80px;
    font-weight: 400;
    line-height: 86px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.advisory-hero__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
    margin: 0;
}

/* Intro Section */
.advisory-intro {
    padding: var(--space-xxxxxl) 0;
    background-color: var(--bg-light);
}

.advisory-intro__content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: var(--space-xxxxl);
    max-width: 1330px;
    margin: 0 auto;
}

.advisory-intro__left {
    flex: 1 1 0;
    min-width: 0;
    max-width: 694px;
    display: flex;
    flex-direction: column;
    gap: var(--space-xxl);
}

.advisory-intro__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
    white-space: nowrap;
}

.advisory-intro__title .text-muted {
    color: var(--silver-mist-700);
}

.advisory-intro__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
}

.advisory-intro__text p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.advisory-intro__quote {
    font-size: 28px !important;
    line-height: 32px !important;
}

.advisory-intro__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-small);
}

.advisory-intro__list li {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
    display: flex;
    gap: var(--space-medium);
    align-items: flex-start;
}

.advisory-intro__list li::before {
    content: '';
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    background-color: var(--iron-shadow-500);
    border-radius: 1px;
    margin-top: 11px;
}

/* Advisory Button */
.btn--advisory {
    background-color: var(--mushroom-beige-500);
    color: var(--silver-dew-500);
    padding: var(--space-medium) var(--space-large);
}

.btn--advisory:hover {
    background-color: var(--mushroom-beige-400);
}

/* Image with Overlay */
.advisory-intro__right {
    flex: 0 0 540px;
}

.advisory-intro__image-wrapper {
    position: relative;
}

.advisory-intro__image {
    width: 540px;
    height: 560px;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.advisory-intro__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: right center;
    transform: scale(1.1);
    transform-origin: right center;
}

.advisory-intro__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    border-radius: var(--radius-xl);
}

.advisory-intro__overlay {
    position: absolute;
    left: 20px;
    top: 20px;
    right: 20px;
    bottom: 20px;
    width: auto;
    height: auto;
    border: 1px solid white;
    border-radius: 24px;
    overflow: hidden;
}

.advisory-intro__pattern {
    position: absolute;
    top: -10px;
    right: -30px;
    width: 292px;
    height: 131px;
    pointer-events: none;
    z-index: 0;
}

.advisory-intro__overlay-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: var(--space-large);
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(20px);
    overflow: hidden;
}

.advisory-intro__badge {
    display: flex;
    align-items: center;
    gap: var(--space-small);
    margin-bottom: var(--space-medium);
}

.advisory-intro__dot {
    width: 12px;
    height: 12px;
    background-color: white;
    border-radius: 50%;
}

.advisory-intro__badge span:last-child {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: white;
}

.advisory-intro__overlay-title {
    font-family: var(--font-heading);
    font-size: 30px;
    font-weight: 400;
    line-height: 36px;
    color: white;
    margin: 0;
}

/* Expertise Section */
.advisory-expertise {
    padding: var(--space-xxxxxl) 0;
    background-color: var(--bg-light);
}

.advisory-expertise__content {
    display: flex;
    justify-content: space-between;
    max-width: 1330px;
    margin: 0 auto;
}

.advisory-expertise__left {
    flex: 0 0 520px;
    position: sticky;
    top: 100px;
    align-self: flex-start;
    padding-top: var(--space-xxl);
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
}

.advisory-expertise__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.advisory-expertise__subtitle {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
    max-width: 385px;
}

.advisory-expertise__right {
    flex: 0 0 846px;
}

.advisory-expertise__item {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 160px;
    padding: var(--space-xxl) 0;
    border-bottom: 1px solid var(--silver-dew-800);
    background-color: var(--bg-light);
}

.advisory-expertise__item:last-child {
    border-bottom: 1px solid var(--silver-dew-800);
}

.advisory-expertise__item-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px;
    max-width: 476px;
}

.advisory-expertise__item-title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.advisory-expertise__item-desc {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--silver-mist-700);
    margin: 0;
}

.advisory-expertise__item-link {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
    text-decoration: none;
    display: inline-flex;
    flex-direction: column;
    gap: var(--space-small);
    width: fit-content;
}

.advisory-expertise__item-link::after {
    content: '';
    display: block;
    width: 100%;
    height: 1.5px;
    background-color: var(--silver-dew-800);
}

.advisory-expertise__item-link:hover::after {
    background-color: var(--iron-shadow-500);
}

.advisory-expertise__item-icon {
    flex: 0 0 210px;
    height: 210px;
    background-color: var(--mushroom-beige-400);
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06);
}

/* Services Network Advisory variant */
.services-network--advisory {
    background-color: var(--bg-dark);
    padding: var(--space-xxxxxl) 0;
}

.services-network--advisory .services-network__header {
    text-align: center;
    margin-bottom: var(--space-xxxl);
}

.services-network--advisory .services-network__title {
    color: white;
}

.services-network--advisory .services-network__title .text-muted {
    color: var(--silver-mist-700);
}

.services-network--advisory .services-network__cards {
    display: flex;
    gap: var(--space-large);
    justify-content: center;
}

.services-network--advisory .services-network__card {
    width: 460px;
    height: 308px;
    background-color: var(--iron-shadow-300);
    border-radius: var(--radius-md);
    padding: var(--space-large);
    display: flex;
    flex-direction: column;
    position: relative;
    text-decoration: none;
    overflow: hidden;
    transition: transform 0.3s ease;
}

.services-network--advisory .services-network__card:hover {
    transform: translateY(-4px);
}

.services-network--advisory .services-network__card--advisory {
    background-color: var(--iron-shadow-300);
}

.services-network--advisory .services-network__card--bgcheck {
    background-color: var(--iron-shadow-300);
}

.services-network__card-logo {
    position: absolute;
    top: 64px;
    left: 50%;
    transform: translateX(-50%);
}

.services-network__card-logo img {
    height: 43px;
    width: auto;
}

.services-network__card--advisory .services-network__card-logo img {
    height: 54px;
}

.services-network__card--bgcheck .services-network__card-logo img {
    height: 51px;
}

.services-network__card-content {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-small);
}

.services-network__card-title {
    font-family: var(--font-heading);
    font-size: 22px;
    font-weight: 400;
    line-height: 24px;
    color: white;
    margin: 0;
}

.services-network__card-desc {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--soft-silver-400);
    margin: 0;
}

.services-network--advisory .services-network__card--advisory .services-network__card-desc {
    color: var(--mushroom-beige-400);
}

.services-network--advisory .services-network__card--bgcheck .services-network__card-desc {
    color: var(--soft-olive-400);
}

.services-network__card-arrow {
    position: absolute;
    top: 24px;
    right: 24px;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.services-network--advisory .services-network__card:hover .services-network__card-arrow {
    opacity: 1;
}

/* Responsive */
@media (max-width: 1400px) {
    .advisory-hero__title {
        font-size: 64px;
        line-height: 72px;
    }

    .advisory-intro__content {
        gap: var(--space-xxxl);
    }

    .advisory-intro__right {
        flex: 0 0 480px;
    }

    .advisory-intro__image {
        width: 480px;
        height: 500px;
    }

    .advisory-expertise__left {
        flex: 0 0 350px;
    }

    .advisory-expertise__right {
        flex: 1;
    }

    .advisory-expertise__item {
        gap: 80px;
    }

    .advisory-expertise__item-icon {
        flex: 0 0 160px;
        height: 160px;
    }
}

@media (max-width: 1200px) {
    .advisory-intro__content {
        flex-direction: column;
    }

    .advisory-intro__left {
        max-width: 100%;
    }

    .advisory-intro__right {
        flex: none;
        width: 100%;
        max-width: 540px;
    }

    .advisory-expertise__content {
        flex-direction: column;
        gap: var(--space-xxxl);
    }

    .advisory-expertise__left {
        position: static;
        flex: none;
        width: 100%;
    }

    .advisory-expertise__right {
        flex: none;
        width: 100%;
    }

    .advisory-expertise__item {
        gap: var(--space-xxxl);
    }

    .advisory-expertise__item-icon {
        flex: 0 0 140px;
        height: 140px;
    }

    .services-network--advisory .services-network__cards {
        flex-wrap: wrap;
    }

    .services-network--advisory .services-network__card {
        width: calc(50% - var(--space-medium));
    }
}

@media (max-width: 768px) {
    .advisory-hero__title {
        font-size: 40px;
        line-height: 48px;
    }

    .advisory-hero__subtitle {
        font-size: 22px;
        line-height: 26px;
    }

    .advisory-intro__title {
        font-size: 36px;
        line-height: 44px;
        white-space: normal;
    }

    .advisory-intro__text p,
    .advisory-intro__list li {
        font-size: 18px;
        line-height: 24px;
    }

    .advisory-intro__list li::before {
        margin-top: 9px;
    }

    .advisory-intro__right {
        max-width: 100%;
    }

    .advisory-intro__image {
        width: 100%;
        height: 400px;
    }

    .advisory-intro__overlay {
        left: 10px;
        top: 10px;
        right: 10px;
        bottom: 10px;
        width: auto;
        height: auto;
    }

    .advisory-intro__overlay-content {
        padding: 16px;
    }

    .advisory-intro__overlay-title {
        font-size: 24px;
        line-height: 30px;
    }

    .advisory-intro__badge span:last-child {
        font-size: 14px;
        line-height: 18px;
    }

    .advisory-expertise__title {
        font-size: 36px;
        line-height: 44px;
    }

    .advisory-expertise__item {
        flex-direction: column;
        gap: var(--space-large);
    }

    .advisory-expertise__item-icon {
        flex: none;
        width: 100px;
        height: 100px;
        order: -1;
    }

    .advisory-expertise__item-icon svg {
        width: 50px;
        height: 50px;
    }

    .services-network--advisory .services-network__card {
        width: 100%;
    }
}

/* ==========================================================================
   Service Detail Page (Temps partagé, Formation, etc.)
   ========================================================================== */

.service-detail {
    padding: var(--space-xxxl) 0 var(--space-xxxxxl);
    background-color: var(--bg-light);
}

.service-detail__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-xxl);
    max-width: 1060px;
    margin: 0 auto;
}

/* Back Link */
.service-detail__back {
    display: flex;
    align-items: flex-start;
}

.back-link {
    display: inline-flex;
    flex-direction: column;
    gap: var(--space-small);
    text-decoration: none;
    cursor: pointer;
}

.back-link span {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
}

.back-link::after {
    content: '';
    display: block;
    width: 100%;
    height: 1.5px;
    background-color: var(--silver-dew-800);
    transition: background-color 0.3s ease;
}

.back-link:hover::after {
    background-color: var(--iron-shadow-500);
}

/* Title */
.service-detail__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

/* Body Content */
.service-detail__body {
    padding: var(--space-large) 0;
}

.service-detail__placeholder {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 400;
    line-height: 26px;
    color: var(--iron-shadow-500);
    text-transform: uppercase;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .service-detail__title {
        font-size: 36px;
        line-height: 44px;
    }

    .service-detail__placeholder {
        font-size: 22px;
    }
}

/* ==========================================================================
   Outplacement Article Page (Formation et outplacement)
   ========================================================================== */

.outplacement-article {
    padding: var(--space-xxxl) 0 var(--space-xxxxxl);
    background-color: var(--bg-light);
}

.outplacement-article__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-xxl);
    max-width: 1060px;
    margin: 0 auto;
}

/* Back Link */
.outplacement-article__back {
    display: inline-flex;
    flex-direction: column;
    gap: var(--space-small);
    text-decoration: none;
    cursor: pointer;
    align-self: flex-start;
}

.outplacement-article__back span {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
}

.outplacement-article__back::after {
    content: '';
    display: block;
    width: 100%;
    height: 1.5px;
    background-color: var(--silver-dew-800);
    transition: background-color 0.3s ease;
}

.outplacement-article__back:hover::after {
    background-color: var(--iron-shadow-500);
}

/* Title */
.outplacement-article__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

/* Intro */
.outplacement-article__intro {
    padding: var(--space-large) 0;
}

.outplacement-article__intro p {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: #958661;
    margin: 0;
}

/* Sections */
.outplacement-section {
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
    padding: var(--space-large) 0;
}

.outplacement-section__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.outplacement-section__content {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.outplacement-section__content p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #958661;
    margin: 0 0 1em 0;
}

.outplacement-section__content p:last-child {
    margin-bottom: 0;
}

/* Bullet List */
.outplacement-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-small);
    list-style: none;
    padding: 0;
    margin: 0;
}

.outplacement-list li {
    display: flex;
    align-items: flex-start;
    gap: var(--space-medium);
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #958661;
}

.outplacement-list li::before {
    content: '';
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    background-color: #958661;
    border-radius: 1px;
    margin-top: 11px;
}

.outplacement-list--inline {
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--space-small) var(--space-medium);
}

.outplacement-list--inline li {
    width: auto;
}

.outplacement-list--inline li:last-child {
    flex: 0 0 auto;
}

/* Subsection */
.outplacement-subsection {
    margin-top: var(--space-xxl);
}

.outplacement-subsection__label {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 400;
    line-height: 26px;
    color: #958661;
    text-transform: uppercase;
    margin: 0 0 var(--space-large) 0;
}

/* Combinations List */
.outplacement-combinations {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
    list-style: none;
    padding: 0;
    margin: 0;
}

.outplacement-combinations > li {
    display: flex;
    flex-direction: column;
    gap: var(--space-small);
}

.outplacement-combinations__title {
    display: flex;
    align-items: flex-start;
    gap: var(--space-medium);
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 400;
    line-height: 26px;
    color: #958661;
}

.outplacement-combinations__title::before {
    content: '';
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    background-color: #958661;
    border-radius: 1px;
    margin-top: 11px;
}

.outplacement-combinations__desc {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: #958661;
    margin: 0;
    padding-left: 22px;
}

/* Method Section */
.outplacement-method {
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
}

.outplacement-step {
    display: flex;
    flex-direction: column;
    gap: var(--space-small);
}

.outplacement-step__header {
    display: flex;
    align-items: flex-start;
    gap: var(--space-medium);
}

.outplacement-step__bullet {
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    background-color: #958661;
    border-radius: 1px;
    margin-top: 8px;
}

.outplacement-step__title {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 400;
    line-height: 22px;
    color: #958661;
}

.outplacement-step__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-xxs);
    list-style: none;
    padding: 0 0 0 22px;
    margin: 0;
}

.outplacement-step__list li {
    display: flex;
    align-items: flex-start;
    gap: var(--space-medium);
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: #958661;
}

.outplacement-step__list li::before {
    content: '';
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    background-color: #dedcca;
    border-radius: 1px;
    margin-top: 8px;
}

/* Follow-up */
.outplacement-followup {
    display: flex;
    align-items: flex-start;
    gap: var(--space-medium);
    padding-left: 22px;
}

.outplacement-followup__icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    background-color: #f8f7f4;
    border-radius: var(--radius-sm);
}

.outplacement-followup__icon svg {
    width: 14px;
    height: 14px;
}

.outplacement-followup__text {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 400;
    line-height: 22px;
    color: #958661;
}

/* Solutions Section */
.outplacement-solutions {
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
    background-color: #dedcca;
    border-radius: var(--radius-xl);
    padding: var(--space-large);
}

.outplacement-solutions__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 400;
    line-height: 32px;
    color: #958661;
    text-align: center;
    margin: 0;
}

.outplacement-solutions__cards {
    display: flex;
    gap: var(--space-large);
}

.outplacement-solutions__card {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
    background-color: var(--silver-dew-500);
    border-radius: var(--radius-lg);
    padding: var(--space-medium);
}

.outplacement-solutions__card-title {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 400;
    line-height: 28px;
    color: #958661;
    text-transform: uppercase;
    margin: 0;
}

.outplacement-solutions__card-content {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.outplacement-solutions__card-content p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #958661;
    margin: 0;
}

/* Responsive */
@media (max-width: 768px) {
    .outplacement-article__title {
        font-size: 36px;
        line-height: 44px;
    }

    .outplacement-article__intro p {
        font-size: 22px;
        line-height: 28px;
    }

    .outplacement-section__title {
        font-size: 22px;
        line-height: 28px;
    }

    .outplacement-list--inline {
        flex-direction: column;
    }

    .outplacement-solutions__cards {
        flex-direction: column;
    }
}

/* ==========================================================================
   Évaluation des compétences Page
   ========================================================================== */

.competences-page {
    padding: 0 0 0;
    background-color: var(--bg-light);
}

.competences-page__content {
    max-width: 1060px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 48px;
}

/* Back link */
.competences-page__back {
    margin-bottom: 0;
}

/* Title */
.competences-page__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: #000000;
    margin: 0;
}

/* Subtitle (section headings) */
.competences-page__subtitle {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
    margin: 0;
}

/* Body text */
.competences-page__body {
    margin-top: 24px;
}

.competences-page__body p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0 0 26px;
}

.competences-page__body p:last-child {
    margin-bottom: 0;
}

.competences-page__body--spaced {
    margin-top: 48px;
}

/* Assessment Center: text + image side by side */
.competences-page__assessment {
    display: flex;
    gap: 24px;
    align-items: flex-start;
}

.competences-page__assessment-text {
    flex: 1;
    min-width: 0;
}

.competences-page__assessment-image {
    width: 483px;
    flex-shrink: 0;
}

.competences-page__assessment-image img {
    width: 100%;
    height: 340px;
    object-fit: cover;
    display: block;
    border-radius: 4px;
}

/* Section block */
.competences-page__section {
    display: flex;
    flex-direction: column;
}

/* Separator line */
.competences-page__separator {
    border: none;
    border-top: 1px solid #cccccc;
    margin: 0;
    width: 100%;
}

/* Responsive */
@media (max-width: 1100px) {
    .competences-page__content {
        padding: 0 var(--space-large);
    }
}

@media (max-width: 768px) {
    .competences-page__title {
        font-size: 36px;
        line-height: 44px;
    }

    .competences-page__assessment {
        flex-direction: column;
    }

    .competences-page__assessment-image {
        width: 100%;
    }

    .competences-page__assessment-image img {
        height: auto;
    }
}

/* ==========================================================================
   REJOINDRE THE RECRUITER PAGE
   ========================================================================== */

/* Hero Section */
.rejoindre-hero {
    padding: 150px 0 var(--space-xxxxxl);
}

.rejoindre-hero__content {
    max-width: 1330px;
    margin: 0 auto;
    display: flex;
    gap: var(--space-xxxxl);
    align-items: center;
}

.rejoindre-hero__left {
    flex: 0 0 655px;
    display: flex;
    flex-direction: column;
    gap: var(--space-xxl);
}

.rejoindre-hero__title {
    font-family: var(--font-heading);
    font-size: 64px;
    font-weight: 400;
    line-height: 72px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.rejoindre-hero__title .text-muted {
    color: var(--silver-mist-700);
}

.rejoindre-hero__text {
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
}

.rejoindre-hero__text p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
    max-width: 581px;
    white-space: pre-line;
}

.rejoindre-hero__right {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}

.rejoindre-hero__image-wrapper {
    position: relative;
    width: 540px;
    height: 560px;
}

.rejoindre-hero__image {
    position: absolute;
    top: 0;
    left: 0;
    width: 540px;
    height: 560px;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.rejoindre-hero__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    border-radius: var(--radius-xl);
}

.rejoindre-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.rejoindre-hero__image-border {
    position: absolute;
    top: 20px;
    left: 20px;
    width: 499px;
    height: 520px;
    border-radius: 24px;
    pointer-events: none;
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    padding: 1px;
    background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 82%);
}

/* Content Section: Rejoignez The Recruiter */
.rejoindre-content {
    padding: 0 0 var(--space-xxxxxl);
}

.rejoindre-content__card {
    max-width: 1330px;
    margin: 0 auto;
    background-color: #ffffff;
    border-radius: var(--radius-xl);
    padding: var(--space-xxxxl);
    display: flex;
    flex-direction: column;
    gap: var(--space-xxxxl);
    align-items: center;
}

.rejoindre-content__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    width: 100%;
}

.rejoindre-content__card .btn {
    align-self: center;
}

.rejoindre-content__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.rejoindre-content__description {
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
}

.rejoindre-content__description p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
}

/* Services Network Card Recruiter */
.services-network__card--recruiter {
    background-color: var(--iron-shadow-300);
}

.services-network__card--recruiter .services-network__card-desc {
    color: var(--soft-silver-400);
}

/* Responsive */
@media (max-width: 1400px) {
    .rejoindre-hero__left {
        flex: 0 0 500px;
    }

    .rejoindre-hero__title {
        font-size: 52px;
        line-height: 60px;
    }

    .rejoindre-hero__image {
        width: 450px;
        height: 480px;
    }

    .rejoindre-hero__image-border {
        width: 350px;
        height: 360px;
        left: -40px;
        top: 40px;
    }

    .rejoindre-content__card {
        max-width: 100%;
    }
}

@media (max-width: 1200px) {
    .rejoindre-hero__content {
        flex-direction: column;
        gap: var(--space-xxxl);
    }

    .rejoindre-hero__left {
        flex: none;
        width: 100%;
    }

    .rejoindre-hero__right {
        justify-content: center;
    }
}

@media (max-width: 1024px) {
    .rejoindre-hero__title {
        font-size: 44px;
        line-height: 52px;
    }

    .rejoindre-hero__text p {
        font-size: 20px;
        line-height: 24px;
    }

    .rejoindre-content__title {
        font-size: 40px;
        line-height: 48px;
    }

    .rejoindre-content__card {
        padding: var(--space-xxxl);
        gap: var(--space-xxxl);
    }

    .rejoindre-content__description p {
        font-size: 20px;
        line-height: 24px;
    }
}

@media (max-width: 768px) {
    .rejoindre-hero {
        padding: 0 0 var(--space-xxxl);
    }

    .rejoindre-hero__title {
        font-size: 36px;
        line-height: 44px;
    }

    .rejoindre-hero__image {
        width: 100%;
        height: 400px;
    }

    .rejoindre-hero__image-border {
        display: none;
    }

    .rejoindre-content__title {
        font-size: 32px;
        line-height: 40px;
    }

    .rejoindre-content__card {
        padding: var(--space-xxl);
        gap: var(--space-xxl);
    }

    .rejoindre-content__description p {
        font-size: 18px;
        line-height: 22px;
    }
}


/* ==========================================================================
   Team Page (Notre équipe) - Rebuilt from Figma
   ========================================================================== */

/* Hero Section */
.team-hero {
    padding-bottom: 160px;
    background-color: var(--bg-light);
}

.team-hero .container {
    max-width: 1330px;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 80px;
}

.team-hero__content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 1098px;
    margin: 0 auto;
    text-align: center;
    align-items: center;
}

.team-hero__title {
    font-family: var(--font-heading);
    font-size: 64px;
    font-weight: 400;
    line-height: 72px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.team-hero__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.team-hero__image {
    width: 100%;
    height: 508px;
    border-radius: 12px;
    overflow: hidden;
}

.team-hero__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Intro Section */
.team-intro {
    padding-bottom: 160px;
    background-color: var(--bg-light);
}

.team-intro .container {
    max-width: 1330px;
    padding: 0;
}

.team-intro__layout {
    display: flex;
    gap: 96px;
    align-items: flex-start;
}

.team-intro__title-col {
    flex: 0 0 498px;
}

.team-intro__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.team-intro__desc-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.team-intro__description {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

/* Team Section */
.team-section {
    padding: 160px 0;
    background-color: var(--silver-dew-500);
}

.team-section .container {
    max-width: 1330px;
    padding: 0;
}

.team-section__header {
    padding-bottom: 96px;
    text-align: center;
}

.team-section__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

/* Team Grid */
.team-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 64px 24px;
}

/* Team Member Card */
.team-member {
    width: 427px;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.team-member__image {
    width: 100%;
    height: 400px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    position: relative;
}

.team-member__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 20%;
}

.team-member__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 41.15%, rgba(55, 65, 113, 0.3) 100%);
    border-radius: var(--radius-xl);
}

/* Member Info */
.team-member__info {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

/* Header wrapper */
.team-member__header {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Name and Position */
.team-member__name-role {
    display: flex;
    align-items: flex-end;
    gap: var(--space-small);
}

.team-member__name {
    font-family: var(--font-body);
    font-size: 24px;
    font-weight: 400;
    line-height: 24px;
    color: var(--iron-shadow-500);
}

.team-member__separator {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
}

.team-member__role {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #8C94A5;
}

/* Contact Details */
.team-member__contact {
    display: flex;
    align-items: center;
    gap: var(--space-small);
    min-width: 0;
}

.team-member__linkedin {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-right: var(--space-small);
}

.team-member__linkedin svg {
    width: 24px;
    height: 24px;
}

.team-member__phone {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #8C94A5;
    flex-shrink: 0;
    white-space: nowrap;
}

.team-member__email {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #8C94A5;
    text-decoration: none;
    transition: color 0.3s ease;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}

.team-member__email:hover {
    color: var(--iron-shadow-300);
    text-decoration: underline;
}

/* Member Link */
.team-member__link {
    display: inline-flex;
    flex-direction: column;
    gap: var(--space-small);
    align-self: flex-start;
    text-decoration: none;
    cursor: pointer;
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 20px;
    color: var(--iron-shadow-500);
    background: none;
    border: none;
    padding: 0;
}

.team-member__link::after {
    content: '';
    display: block;
    width: 100%;
    height: 1.5px;
    background-color: var(--silver-dew-800);
    transition: background-color 0.3s ease;
}

.team-member__link:hover::after {
    background-color: var(--iron-shadow-500);
}

/* Responsive */
@media (max-width: 1400px) {
    .team-hero .container,
    .team-intro .container,
    .team-section .container {
        max-width: 100%;
        padding: 0 var(--space-xxl);
    }

    .team-grid {
        justify-content: center;
    }
}

@media (max-width: 1100px) {
    .team-intro__layout {
        flex-direction: column;
        gap: 48px;
    }

    .team-intro__title-col {
        flex: none;
        width: 100%;
    }

    .team-member {
        width: calc(50% - 12px);
    }
}

@media (max-width: 768px) {
    .team-hero .container {
        gap: 48px;
    }

    .team-hero__title {
        font-size: 40px;
        line-height: 48px;
    }

    .team-hero__subtitle {
        font-size: 22px;
        line-height: 26px;
    }

    .team-hero__image {
        height: 300px;
    }

    .team-intro__title {
        font-size: 36px;
        line-height: 42px;
    }

    .team-intro__description {
        font-size: 22px;
        line-height: 26px;
    }

    .team-section {
        padding: 80px 0;
    }

    .team-section__title {
        font-size: 36px;
        line-height: 42px;
    }

    .team-grid {
        gap: var(--space-xxl) var(--space-large);
    }

    .team-member {
        width: 100%;
    }

    .team-member__image {
        height: 300px;
    }

    .team-member__image img {
        object-position: top;
    }

    .team-member__name {
        font-size: 20px;
        line-height: 20px;
    }

    .team-member__role,
    .team-member__separator {
        font-size: 18px;
        line-height: 22px;
    }

    .team-member__contact {
        flex-wrap: wrap;
        gap: var(--space-small);
    }

    .team-member__phone,
    .team-member__email {
        font-size: 18px;
        line-height: 22px;
    }
}

/* ==========================================================================
   Notre Savoir-Faire Page
   ========================================================================== */

/* Hero Section */
.savoir-faire-hero {
    padding-bottom: var(--space-xxxxxl);
    background-color: var(--bg-light);
}

.savoir-faire-hero__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
    align-items: center;
    text-align: center;
}

.savoir-faire-hero__title {
    font-family: var(--font-heading);
    font-size: 64px;
    font-weight: 400;
    line-height: 72px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.savoir-faire-hero__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
    margin: 0;
    max-width: 1098px;
}

/* Success Section */
.success-section {
    padding-bottom: var(--space-xxxxxl);
    background-color: var(--bg-light);
    overflow: hidden;
}

.success-section__content {
    display: flex;
    gap: var(--space-xxxl);
    align-items: flex-start;
    justify-content: center;
}

.success-section__text {
    flex: 0 0 655px;
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.success-section__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.success-section__body {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 581px;
}

.success-section__body p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0 0 var(--space-large) 0;
}

.success-section__body p:last-child {
    margin-bottom: 0;
}

.success-section__image-wrapper {
    position: relative;
    width: 655px;
    height: 404px;
    overflow: hidden;
    border-radius: 32px;
}

.success-section__image {
    position: absolute;
    inset: 0;
    border-radius: 32px;
    overflow: hidden;
}

.success-section__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.2);
    border-radius: 32px;
    pointer-events: none;
}

.success-section__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.success-section__border-frame {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1px solid white;
    border-radius: 20px;
    overflow: hidden;
}

.success-section__glass-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 89px;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(17px);
    -webkit-backdrop-filter: blur(17px);
    overflow: hidden;
}

.success-section__curve {
    position: absolute;
    left: 301px;
    top: 13px;
    width: 164px;
    height: 79px;
    pointer-events: none;
    z-index: 0;
}

.success-section__badge {
    position: absolute;
    left: 33px;
    top: 13px;
    display: flex;
    align-items: center;
    gap: 7px;
    font-family: var(--font-body);
    font-size: 17px;
    font-weight: 300;
    line-height: 18px;
    color: white;
    z-index: 1;
}

.success-section__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: white;
    flex-shrink: 0;
}

.success-section__overlay-bottom {
    position: absolute;
    left: 33px;
    top: 42px;
    display: flex;
    align-items: center;
    gap: 13px;
    z-index: 1;
}

.success-section__overlay-value {
    font-family: var(--font-heading);
    font-size: 30px;
    font-weight: 400;
    line-height: 37px;
    color: white;
}

.success-section__overlay-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 13px;
    background-color: #6683cb;
    border-radius: 42px;
    font-family: var(--font-body);
    font-size: 15px;
    font-weight: 300;
    line-height: 17px;
    color: white;
}

/* Notre état d'esprit Section */
.esprit-section {
    padding: var(--space-xxxxl) 0;
    background-color: #ffffff;
}

.esprit-section__content {
    max-width: 1138px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.esprit-section__header {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.esprit-section__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.esprit-section__description {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.esprit-section__description p {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-medium) 0;
    white-space: pre-line;
}

.esprit-section__description p:first-child {
    font-weight: 400;
}

.esprit-section__description p:last-child {
    margin-bottom: 0;
}

.esprit-section__separator {
    width: 100%;
    height: 1px;
    background-color: #cccccc;
}

/* Article Body */
.esprit-section__article {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.esprit-section__article-intro {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.esprit-section__article-separator {
    width: 100%;
    height: 1px;
    background-color: #cccccc;
}

.esprit-section__article-columns {
    display: flex;
    gap: var(--space-large);
}

.esprit-section__article-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.esprit-section__article-col p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0 0 var(--space-large) 0;
}

.esprit-section__article-col p:last-child {
    margin-bottom: 0;
}

.esprit-section__article-col:last-child p:last-child {
    color: var(--iron-shadow-500);
}

/* Esprit Cards */
.esprit-section__cards {
    display: flex;
    gap: var(--space-xl);
    margin-top: calc(var(--space-xxxxl) - var(--space-xl));
}

.esprit-card {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
    padding: 40px;
    background-color: #a3aab7;
    border-radius: var(--radius-xl);
}

.esprit-card__icon {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.esprit-card__icon img {
    filter: brightness(0) invert(1);
}

.esprit-card__content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.esprit-card__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.esprit-card__text {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #ffffff;
    margin: 0;
    white-space: pre-line;
}

/* Savoir Faire Dark Section */
.savoir-faire-dark {
    background-color: var(--bg-dark);
    padding-top: var(--space-xxxxxl);
}

.savoir-faire-dark__divider {
    width: 100%;
    max-width: 1600px;
    height: 1px;
    background-color: var(--iron-shadow-200);
    margin: 0 auto;
}

/* Values Method Section */
.values-method-section {
    display: flex;
    gap: var(--space-xxxxl);
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: var(--space-xxxxxl);
    max-width: 1330px;
    margin: 0 auto;
}

.values-method-section__text {
    flex: 0 0 655px;
    display: flex;
    flex-direction: column;
    gap: var(--space-xxl);
}

.values-method-section__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--silver-dew-500);
    margin: 0;
}

.values-method-section__body {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.values-method-section__body p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-dew-500);
    margin: 0;
}

.values-method-section__principles {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.values-method-section__principles-intro {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin: 0;
}

.values-method-section__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.values-method-section__list li {
    display: flex;
    gap: var(--space-medium);
    align-items: flex-start;
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
}

.values-method-section__list li::before {
    content: '';
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    background-color: var(--silver-mist-700);
    border-radius: 1px;
    margin-top: 10px;
}

/* Founders subsection */
.values-method-section__sep {
    width: 250px;
    height: 1px;
    background-color: var(--iron-shadow-200);
}

.values-method-section__founders {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.values-method-section__founders-intro {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-dew-500);
    margin: 0;
}

.values-method-section__founders-quote {
    display: flex;
    gap: 16px;
    align-items: stretch;
}

.values-method-section__founders-quote-line {
    width: 1px;
    background-color: #ffffff;
    flex-shrink: 0;
}

.values-method-section__founders-quote p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin: 0;
}

.values-method-section__founders-text {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin: 0;
    white-space: pre-line;
}

.values-method-section__image-wrapper {
    position: relative;
    flex-shrink: 0;
}

.values-method-section__image {
    position: relative;
    width: 540px;
    height: 720px;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.values-method-section__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* History Timeline Section */
.history-timeline-section {
    padding: var(--space-xxxxxl) 0;
    background-color: var(--bg-light);
}

.history-timeline-section .container {
    max-width: 1330px;
}

.history-section__layout {
    display: flex;
    gap: var(--space-xxxxxl);
    align-items: flex-start;
}

.history-section__header {
    width: 580px;
    flex-shrink: 0;
    position: sticky;
    top: 120px;
}

.history-section__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.history-section__timeline-content {
    flex: 1;
}

.history-timeline {
    display: flex;
    flex-direction: column;
}

.history-timeline__row {
    display: flex;
    gap: var(--space-xxl);
}

.history-timeline__marker {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
}

.history-timeline__dot {
    width: 39px;
    height: 39px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    background: transparent;
    border: 1px solid #333333;
}

.history-timeline__dot::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--iron-shadow-500);
}

.history-timeline__connector {
    width: 1px;
    flex: 1;
    background-color: var(--iron-shadow-500);
}

.history-timeline__item {
    flex: 1;
    padding-bottom: 96px;
    padding-top: 4px;
}

.history-timeline__row--last .history-timeline__item {
    padding-bottom: 0;
}

.history-timeline__item-title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-medium) 0;
    white-space: nowrap;
}

@media (max-width: 1438px) {
    .history-timeline__item-title {
        white-space: normal;
    }
}

.history-timeline__item-text {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 24px;
    color: var(--iron-shadow-500);
    margin: 0;
    white-space: pre-line;
}

/* Notre Savoir-Faire Responsive */
@media (max-width: 1400px) {
    .success-section__content,
    .values-method-section {
        gap: var(--space-xxxl);
    }

    .success-section__text,
    .values-method-section__text {
        flex: 1;
    }

    .success-section__image-wrapper {
        width: 500px;
        height: 320px;
    }

    .values-method-section__image {
        width: 440px;
        height: 600px;
    }

    .history-section__layout {
        gap: var(--space-xxxl);
    }

    .history-section__header {
        width: 460px;
    }
}

@media (max-width: 1200px) {
    .savoir-faire-hero__title {
        font-size: 52px;
        line-height: 60px;
    }

    .success-section__content,
    .values-method-section {
        flex-direction: column;
        text-align: center;
    }

    .history-section__layout {
        flex-direction: column;
        gap: var(--space-xxl);
    }

    .history-section__header {
        width: 100%;
        position: static;
    }

    .history-timeline__item {
        padding-bottom: var(--space-xxl);
    }

    .values-method-section__founders {
        text-align: left;
    }

    .success-section__text,
    .values-method-section__text {
        align-items: center;
        flex: none;
    }

    .values-method-section__list li {
        text-align: left;
    }

    .esprit-section__cards {
        flex-direction: column;
    }

    .esprit-card {
        max-width: 500px;
        margin: 0 auto;
    }

    .esprit-section__article-columns {
        flex-direction: column;
    }

    .values-method-section__image {
        width: 100%;
        max-width: 540px;
        height: 500px;
    }
}

@media (max-width: 768px) {
    .savoir-faire-hero__title {
        font-size: 36px;
        line-height: 44px;
    }

    .savoir-faire-hero__subtitle {
        font-size: 22px;
        line-height: 28px;
    }

    .success-section__title,
    .values-method-section__title,
    .history-section__title,
    .esprit-section__title {
        font-size: 32px;
        line-height: 40px;
    }

    .success-section__image-wrapper {
        width: 100%;
        height: auto;
        aspect-ratio: 1310 / 808;
    }

    .success-section__image {
        position: absolute;
        inset: 0;
    }

    .success-section__border-frame {
        top: 10px;
        left: 10px;
        right: 10px;
        bottom: 10px;
    }

    .success-section__glass-overlay {
        height: 70px;
    }

    .success-section__badge {
        left: 16px;
        top: 10px;
        font-size: 13px;
        line-height: 16px;
    }

    .success-section__overlay-bottom {
        left: 16px;
        top: 32px;
    }

    .success-section__overlay-value {
        font-size: 22px;
        line-height: 28px;
    }

    .success-section__overlay-badge {
        font-size: 12px;
        padding: 5px 10px;
    }

    .success-section__curve {
        left: auto;
        right: 0;
        top: 5px;
        width: 120px;
        height: 60px;
    }

    .values-method-section__image {
        width: 100%;
        height: 400px;
    }

    .esprit-section__description p,
    .esprit-section__article-intro {
        font-size: 22px;
        line-height: 28px;
    }
}

/* ==========================================================================
   Check Page Styles (Background Check)
   ========================================================================== */

/* Check Hero Section */
.check-hero {
    background: transparent;
    padding: var(--space-xxxl) 0 var(--space-xxl);
    text-align: center;
}

.check-hero .container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xxl);
}

.check-hero__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-xxl);
}

.check-hero__title {
    font-family: var(--font-heading);
    font-size: var(--text-h0);
    font-weight: 400;
    line-height: var(--lh-h0);
    color: var(--iron-shadow-500);
    margin: 0;
    max-width: 1314px;
}

.check-hero__subtitle {
    font-family: var(--font-body);
    font-size: clamp(18px, 2vw, 28px);
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
    margin: 0;
}

.check-hero__divider {
    width: 600px;
    max-width: 100%;
    height: 1px;
    background: #d9d1b9;
}

.check-hero__logo {
    display: flex;
    justify-content: center;
}

.check-hero__logo img {
    height: 79px;
    width: auto;
}

/* Check Intro Section */
.check-intro {
    background: var(--silver-dew-500);
    padding: var(--space-xxxxxl) 0;
}

.check-intro__content {
    display: flex;
    align-items: flex-start;
    gap: 135px;
}

.check-intro__left {
    flex: 1;
    max-width: 655px;
}

.check-intro__title {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: 400;
    line-height: var(--lh-h2);
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-xxl);
}

.check-intro__title .text-muted {
    color: var(--soft-silver-700);
}

.check-intro__text {
    margin-bottom: var(--space-xxl);
}

.check-intro__text p {
    font-family: var(--font-body);
    font-size: var(--text-body-large);
    font-weight: 300;
    line-height: var(--lh-body-large);
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-xl);
}

.check-intro__list-title {
    font-weight: 300;
}

.check-intro__list {
    list-style: none;
    padding: 0;
    margin: var(--space-large) 0 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-small);
}

.check-intro__list li {
    font-family: var(--font-body);
    font-size: var(--text-body-large);
    font-weight: 300;
    line-height: var(--lh-body-large);
    color: var(--iron-shadow-500);
    padding-left: 22px;
    position: relative;
}

.check-intro__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background: var(--iron-shadow-500);
    border-radius: 1px;
}

.check-intro__actions {
    display: flex;
    align-items: center;
    gap: var(--space-xl);
}

.btn--check {
    background: #8C94A5;
}

.btn--check:hover {
    background: #8aab7e;
}

.btn--check-text {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 20px;
    color: var(--silver-dew-500);
    text-decoration: none;
    background: none;
    border: none;
    padding: 0;
    padding-bottom: 8px;
    border-bottom: 1.5px solid #8c94a5;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.btn--check-text:hover {
    color: var(--silver-dew-500);
    border-bottom-color: #ccc;
}

.btn--check-text--dark {
    color: var(--iron-shadow-500);
    border-bottom-color: #ccc;
}

.btn--check-text--dark:hover {
    color: var(--iron-shadow-500);
    border-bottom-color: #6e6e6e;
}

.check-intro__right {
    flex: 0 0 540px;
}

.check-intro__image-wrapper {
    position: relative;
}

.check-intro__image {
    width: 540px;
    height: 560px;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.check-intro__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.check-intro__overlay {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 24px;
    pointer-events: none;
    -webkit-mask-image: linear-gradient(to bottom, white 0%, white 30%, transparent 70%);
    mask-image: linear-gradient(to bottom, white 0%, white 30%, transparent 70%);
}

.check-intro__overlay-content {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
}

.check-intro__badge {
    display: flex;
    align-items: center;
    gap: var(--space-small);
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 400;
    color: var(--soft-silver-400);
}

.check-intro__dot {
    width: 8px;
    height: 8px;
    background: #8C94A5;
    border-radius: 50%;
}

.check-intro__overlay-title {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: 400;
    line-height: var(--lh-h2);
    color: var(--silver-dew-500);
    margin: 0;
}

/* Check Why Section (Dark) */
.check-why {
    background: var(--bg-dark);
    padding: var(--space-xxxxxl) 0 0;
}

.check-why__content {
    display: flex;
    align-items: flex-start;
    gap: 135px;
}

.check-why__actions {
    display: flex;
    align-items: center;
    gap: var(--space-xl);
    margin-top: var(--space-xxl);
}

.check-why__left {
    flex: 0 0 540px;
}

.check-why__image-wrapper {
    position: relative;
    width: 100%;
    max-width: 540px;
    aspect-ratio: 540 / 560;
}

.check-why__image {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.check-why__image::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(0, 0, 0, 0) 38%, rgba(139, 129, 107, 0.4) 100%),
        linear-gradient(90deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.2) 100%);
    border-radius: var(--radius-xl);
    pointer-events: none;
}

.check-why__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 10% 10%;
}

/* Border frame with white border - 20px inset from edges (Figma: 500x519 inside 540x560) */
.check-why__border-frame {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 21px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 24px;
    overflow: hidden;
}

/* Glass overlay at bottom of border frame */
.check-why__glass-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 24px;
    gap: 8px;
    overflow: hidden;
}

.check-why__binary-pattern {
    position: absolute;
    right: 0;
    top: -12px;
    width: 357px;
    height: 233px;
    pointer-events: none;
    z-index: 0;
    opacity: 0.6;
}

.check-why__badge {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: white;
    position: relative;
    z-index: 1;
}

.check-why__dot {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

.check-why__overlay-title {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 400;
    line-height: 44px;
    position: relative;
    z-index: 1;
    color: white;
    margin: 0;
}

.check-why__right {
    flex: 1;
}

.check-why__title {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: 400;
    line-height: var(--lh-h2);
    color: var(--silver-dew-500);
    margin: 0 0 var(--space-xxl);
}

.check-why__title .text-highlight {
    color: #8C94A5;
}

.check-why__text p {
    font-family: var(--font-body);
    font-size: var(--text-body-large);
    font-weight: 300;
    line-height: var(--lh-body-large);
    color: var(--silver-mist-500);
    margin: 0 0 var(--space-large);
    white-space: pre-line;
}

.check-why__list,
.check-why__text ul {
    list-style: none;
    padding: 0;
    margin: var(--space-large) 0 var(--space-large);
    display: flex;
    flex-direction: column;
    gap: var(--space-small);
}

.check-why__list li,
.check-why__text ul li {
    font-family: var(--font-body);
    font-size: var(--text-body-large);
    font-weight: 300;
    line-height: var(--lh-body-large);
    color: var(--silver-mist-500);
    padding-left: 22px;
    position: relative;
}

.check-why__list li::before,
.check-why__text ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
    background: #8C94A5;
    border-radius: 1px;
}

/* Check Features Section (Dark) */
.check-features {
    background: var(--bg-dark);
    padding: var(--space-xxxxxl) 0;
    margin-top: -1px;
}

.check-features__divider {
    width: 600px;
    max-width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.15);
    margin: 0 auto var(--space-xxxl);
}

.check-features__header {
    text-align: center;
    margin-bottom: var(--space-xxxl);
}

.check-features__title {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: 400;
    line-height: var(--lh-h2);
    color: var(--silver-dew-500);
    margin: 0 0 var(--space-medium);
}

.check-features__title .text-muted {
    color: var(--soft-silver-400);
}

.check-features__subtitle {
    font-family: var(--font-body);
    font-size: var(--text-h4);
    font-weight: 300;
    line-height: var(--lh-h4);
    color: var(--silver-mist-500);
    margin: 0;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.check-features__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-large);
}

.check-feature-card {
    background: var(--iron-shadow-300);
    border-radius: 12px;
    padding: 48px 32px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    text-decoration: none;
    cursor: pointer;
    box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.06);
    transition: box-shadow 0.3s ease, background 0.3s ease;
}

.check-feature-card:hover {
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.12);
}

.check-feature-card--highlight {
    background: #435a3b;
}

.check-feature-card--highlight .check-feature-card__icon {
    color: var(--iron-shadow-500);
}

.check-feature-card--highlight .check-feature-card__title {
    color: var(--silver-dew-500);
}

.check-feature-card--highlight .check-feature-card__description {
    color: #eaecef;
}

.check-feature-card__icon {
    width: 80px;
    height: 80px;
    --fill-0: #d9d1b9;
}

.check-feature-card__icon img,
.check-feature-card__icon svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.check-feature-card__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-dew-500);
    margin: 0;
}

.check-feature-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-medium);
    align-self: stretch;
}

.check-feature-card__description {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: #C4C9D1;
    margin: 0;
}

.btn--feature-link {
    color: var(--silver-dew-500);
    border-color: var(--silver-dew-800);
    font-size: var(--text-body-medium);
    margin-top: auto;
    align-self: flex-start;
}

.btn--feature-link:hover {
    color: #8C94A5;
    border-color: #8C94A5;
}

.check-features__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-xl);
    margin-top: var(--space-xxxl);
}

.btn--check-outline {
    background: #8C94A5;
    border-color: #8C94A5;
    color: white;
}

.btn--check-outline:hover {
    background: #8aa97f;
    border-color: #8aa97f;
    color: white;
}

/* Check Worldwide Section */
.check-worldwide {
    background: var(--silver-dew-500);
    padding: var(--space-xxxxxl) 0;
}

.check-worldwide__content {
    display: flex;
    align-items: flex-start;
    gap: 135px;
}

.check-worldwide__text {
    flex: 1;
    max-width: 655px;
}

.check-worldwide__title {
    font-family: var(--font-heading);
    font-size: var(--text-h2);
    font-weight: 400;
    line-height: var(--lh-h2);
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-xxl);
}

.check-worldwide__body {
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
}

.check-worldwide__body p {
    font-family: var(--font-body);
    font-size: var(--text-body-large);
    font-weight: 300;
    line-height: var(--lh-body-large);
    color: #8C94A5;
    margin: 0;
}

.check-worldwide__highlight {
    font-weight: 300 !important;
    color: var(--iron-shadow-500) !important;
    font-size: 28px !important;
    line-height: 32px !important;
}

.check-worldwide__image {
    flex: 0 0 540px;
}

.check-worldwide__image-wrapper {
    position: relative;
    width: 540px;
    height: 560px;
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.check-worldwide__image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.check-worldwide__image-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 24px;
    padding-top: 20px;
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.2);
    border-radius: 0 0 20px 20px;
    overflow: hidden;
}

.check-worldwide__image-overlay .check-worldwide__globe-pattern {
    position: absolute !important;
    inset: auto !important;
    top: 0 !important;
    right: 0 !important;
    width: auto !important;
    height: 100% !important;
    max-height: 100% !important;
    pointer-events: none;
    object-fit: contain !important;
    border-radius: 0 !important;
    transform: none !important;
    opacity: 1;
    z-index: 0;
}

.check-worldwide__card-title {
    font-family: var(--font-heading);
    font-size: 36px;
    font-weight: 400;
    line-height: 44px;
    color: var(--silver-dew-500);
    margin: 0 0 8px;
}

.check-worldwide__card-badge {
    display: flex;
    align-items: center;
    gap: 8px;
}

.check-worldwide__card-badge span {
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--silver-dew-500);
}

.check-worldwide__card-dot {
    width: 12px;
    height: 12px;
    background-color: var(--silver-dew-500);
    border-radius: 50%;
    flex-shrink: 0;
}

.check-worldwide__border-frame {
    position: absolute;
    top: 20px;
    left: 20px;
    right: 20px;
    bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    border-radius: 24px;
    overflow: hidden;
}

/* Check Process Section */
.check-process {
    background: var(--bg-light);
    padding: 0;
}

.check-process__content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.check-process__left {
    flex: 0 0 655px;
    position: sticky;
    top: 0;
    padding-top: 160px;
    padding-bottom: 160px;
}

.check-process__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-xxl);
}

.check-process__title .text-muted {
    color: var(--silver-mist-700);
}

.check-process__text {
    max-width: 526px;
}

.check-process__text p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.check-process__text p.text-muted {
    color: var(--silver-mist-700);
    margin-top: var(--space-xl);
}

.check-process__right {
    flex: 0 0 654px;
    display: flex;
    gap: var(--space-xxl);
    padding-top: 160px;
    padding-bottom: 160px;
}

.check-process__steps {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.check-process-step {
    display: flex;
    gap: var(--space-xxl);
    padding-bottom: 48px;
}

.check-process-step--last {
    padding-bottom: 0;
}

.check-process-step__marker {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
}

.check-process-step__circle {
    width: 39px;
    height: 39px;
    border: 1px solid #333333;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.check-process-step__dot {
    width: 6px;
    height: 6px;
    background: var(--iron-shadow-500);
    border-radius: 50%;
}

.check-process-step__line {
    width: 1px;
    flex: 1;
    background: #333333;
}

.check-process-step__content {
    padding-top: 4px;
}

.check-process-step__title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-medium);
}

.check-process-step__description {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
}

/* Check Stats Section */
.check-stats {
    background: var(--bg-light);
    padding: var(--space-xxxxxl) 0;
}

.check-stats__divider {
    width: 600px;
    max-width: 100%;
    height: 1px;
    background: #ccc;
    margin: 0 auto var(--space-xxxl);
}

.check-stats__header {
    text-align: center;
    margin-bottom: var(--space-xxxl);
}

.check-stats__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.check-stats__subtitle {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--silver-mist-700);
    margin: var(--space-medium) 0 0;
}

.check-stats__grid {
    display: flex;
    gap: 20px;
    justify-content: center;
}

.check-stat-card {
    background: var(--soft-olive-300);
    border-radius: var(--radius-lg);
    padding: var(--space-large);
    width: 250px;
    height: 500px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.check-stat-card--large {
    background: #8C94A5;
    width: 520px;
}

.check-stat-card__icon {
    display: flex;
    align-items: flex-start;
    --fill-0: #8C94A5;
}

.check-stat-card--large .check-stat-card__icon {
    --fill-0: var(--soft-olive-700);
}

.check-stat-card__content {
    display: flex;
    flex-direction: column;
    gap: 19px;
}

.check-stat-card__number {
    font-family: var(--font-body);
    font-size: 80px;
    font-weight: 300;
    line-height: 1;
    color: #8C94A5;
}

.check-stat-card--large .check-stat-card__number {
    font-size: 160px;
    color: var(--soft-olive-700);
}

.check-stat-card__label {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: #8C94A5;
    text-align: right;
}

.check-stat-card--large .check-stat-card__label {
    color: var(--soft-olive-700);
}

/* Check RGPD Section */
.check-rgpd {
    background: var(--silver-dew-500);
    padding: var(--space-xxxxxl) 0;
}

.check-rgpd__content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.check-rgpd__left {
    flex: 0 0 520px;
}

.check-rgpd__title {
    font-family: var(--font-heading);
    font-size: 48px;
    font-weight: 400;
    line-height: 56px;
    color: var(--iron-shadow-500);
    margin: 0 0 var(--space-medium);
}

.check-rgpd__title .text-muted {
    color: var(--silver-mist-700);
}

.check-rgpd__intro {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.check-rgpd__cta {
    margin-top: var(--space-xxl);
}

.check-rgpd__right {
    flex: 0 0 655px;
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
}

.check-rgpd__item {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
}

.check-rgpd__item-title {
    font-family: var(--font-body);
    font-size: 28px;
    font-weight: 300;
    line-height: 32px;
    color: var(--iron-shadow-500);
    margin: 0;
}

.check-rgpd__item-desc {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-700);
    margin: 0;
}

.check-rgpd__divider {
    height: 1px;
    background: #ccc;
    width: 100%;
}

/* Check Page Responsive */
@media (max-width: 1400px) {
    .check-hero__title {
        font-size: 64px;
        line-height: 72px;
    }

    .check-intro__content,
    .check-why__content,
    .check-process__content,
    .check-rgpd__content,
    .check-worldwide__content {
        gap: var(--space-xxxl);
    }

    .check-intro__right,
    .check-why__left {
        flex: 0 0 480px;
    }

    .check-intro__image,
    .check-why__image {
        width: 480px;
        height: 500px;
    }

    .check-intro__overlay {
        top: 16px;
        left: 16px;
        right: 16px;
        bottom: 16px;
    }

    .check-stat-card__number {
        font-size: 56px;
    }

    .check-rgpd__left {
        flex: 0 0 400px;
    }

    .check-rgpd__right {
        flex: 1;
        min-width: 0;
    }

    .check-process__left {
        flex: 1;
        min-width: 0;
    }
}

@media (max-width: 1200px) {
    .check-intro__content,
    .check-why__content {
        flex-direction: column;
    }

    .check-intro__left,
    .check-why__right {
        max-width: 100%;
    }

    .check-intro__right,
    .check-why__left {
        flex: none;
        width: 100%;
        max-width: 100%;
    }

    .check-why__image-wrapper {
        width: 100%;
        max-width: 100%;
    }

    .check-intro__image,
    .check-why__image {
        width: 100%;
        height: auto;
        aspect-ratio: 540 / 560;
    }

    .check-intro__actions {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-medium);
    }

    .check-why__content {
        flex-direction: column-reverse;
    }

    .check-features__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .check-stats__grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .check-stat-card,
    .check-stat-card--large {
        width: auto;
        height: auto;
    }

    .check-process__content {
        flex-direction: column;
        gap: var(--space-xxl);
    }

    .check-process__left {
        flex: none;
        position: static;
        padding-top: var(--space-xxxxxl);
        padding-bottom: var(--space-xxl);
    }

    .check-process__right {
        flex: none;
        padding-top: 0;
        padding-bottom: var(--space-xxxxxl);
    }

    .check-worldwide__content {
        flex-direction: column;
        gap: var(--space-xxl);
    }

    .check-worldwide__image {
        flex: none;
        width: 100%;
        max-width: 540px;
    }

    .check-worldwide__image-wrapper {
        width: 100%;
        height: auto;
        aspect-ratio: 540 / 560;
    }

    .check-rgpd__content {
        flex-direction: column;
        gap: var(--space-xxl);
    }

    .check-rgpd__left {
        flex: none;
        width: 100%;
    }

    .check-rgpd__right {
        flex: none;
        width: 100%;
    }

    .check-process__left {
        width: 100%;
    }

    .check-process__right {
        width: 100%;
    }
}

@media (max-width: 768px) {
    .check-hero {
        padding: var(--space-xxl) 0;
    }

    .check-hero__title {
        font-size: 40px;
        line-height: 48px;
    }

    .check-hero__subtitle {
        white-space: normal;
    }

    .check-stats__subtitle {
        font-size: 20px;
        line-height: 26px;
    }

    .check-intro,
    .check-why,
    .check-features,
    .check-process,
    .check-stats,
    .check-rgpd,
    .check-worldwide {
        padding: var(--space-xxxl) 0;
    }

    .check-intro__title,
    .check-why__title,
    .check-features__title,
    .check-process__title,
    .check-stats__title,
    .check-rgpd__title,
    .check-worldwide__title {
        font-size: 32px;
        line-height: 40px;
    }

    .check-process__subtitle {
        font-size: 32px;
        line-height: 40px;
    }

    .check-intro__image,
    .check-why__image {
        width: 100%;
        height: auto;
        aspect-ratio: 540 / 560;
    }

    .check-intro__overlay {
        position: absolute;
        top: 10px;
        left: 10px;
        right: 10px;
        bottom: 10px;
    }

    .check-features__grid {
        grid-template-columns: 1fr;
    }

    .check-stats__grid {
        grid-template-columns: 1fr;
    }

    .check-stat-card__number {
        font-size: 48px;
    }

    .check-intro__actions {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-medium);
    }
}

/* ==========================================================================
   Modal / Popup Windows (Figma node 3723-5086)
   ========================================================================== */

.modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 160px 0;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.modal.is-open {
    opacity: 1;
    visibility: visible;
}

.modal__overlay {
    position: absolute;
    inset: 0;
    background-color: rgba(10, 13, 17, 0.4);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.modal__container {
    position: relative;
    width: 100%;
    max-width: 1010px;
    max-height: 90vh;
    overflow-y: auto;
    background: linear-gradient(75.95deg, rgba(46, 46, 46, 1) 13.55%, rgba(10, 13, 17, 1) 187.95%);
    border: 1.5px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--radius-xl);
    box-shadow: 0px 4px 24px rgba(0, 0, 0, 0.06);
    padding: 0 var(--space-xxxl) var(--space-xxxxl);
    display: flex;
    flex-direction: column;
    align-items: center;
    transform: translateY(20px);
    transition: transform 0.3s ease;
}

.modal.is-open .modal__container {
    transform: translateY(0);
}

.modal__close {
    position: sticky;
    top: 23px;
    align-self: flex-end;
    width: 32px;
    height: 32px;
    border: none;
    background: transparent;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    z-index: 10;
    margin-top: 23px;
    margin-right: calc(-1 * var(--space-xxxl) + 32px);
    margin-bottom: calc(var(--space-xxxxl) - 23px - 32px);
    flex-shrink: 0;
}

.modal__close img {
    width: 18px;
    height: 18px;
}

.modal__close:hover {
    opacity: 0.7;
}

.modal__header {
    display: flex;
    align-items: center;
    gap: var(--space-medium);
    width: 876px;
    max-width: 100%;
    margin-bottom: var(--space-xxl);
}

.modal__icon {
    flex-shrink: 0;
    width: 60px;
    height: 60px;
}

.modal__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.modal__title {
    font-family: var(--font-body);
    font-size: 32px;
    font-weight: 400;
    line-height: 32px;
    color: var(--silver-dew-500);
    margin: 0;
    max-width: 800px;
}

.modal__body {
    display: flex;
    flex-direction: column;
    width: 876px;
    max-width: 100%;
    margin-bottom: var(--space-xxxl);
}

.modal__description {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin: 0;
    width: 100%;
}

.modal__body p {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin: 0;
}

.modal__body p + p {
    margin-top: 26px;
}

.modal__footer-note {
    display: flex;
    align-items: center;
    gap: 16px;
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin-top: 48px;
}

.modal__footer-note__icon {
    width: 40px;
    height: 40px;
    flex-shrink: 0;
}

.modal__footer {
    display: flex;
    justify-content: center;
}

/* Modal button variants */
.modal .btn--beige {
    background-color: var(--mushroom-beige-500);
}

.modal .btn--green {
    background-color: #8C94A5;
}

/* Modal checklist (for Contrôle de références) */
.modal__checklist {
    display: flex;
    flex-direction: column;
    gap: var(--space-large);
    width: 100%;
    max-width: 876px;
}

.modal__checklist-item {
    display: flex;
    gap: var(--space-medium);
    align-items: flex-start;
}

.modal__checklist-icon {
    flex-shrink: 0;
    width: 32px;
    height: 32px;
}

.modal__checklist-icon img {
    width: 100%;
    height: 100%;
}

.modal__checklist-text {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin: 0;
}

/* Responsive */
@media (max-width: 1100px) {
    .modal__container {
        max-width: calc(100% - 48px);
        padding: 0 var(--space-xxl) var(--space-xxxl);
    }

    .modal__title {
        font-size: 28px;
    }

    .modal__close {
        margin-top: 23px;
        margin-right: calc(-1 * var(--space-xxl) + 32px);
        margin-bottom: calc(var(--space-xxxl) - 23px - 32px);
    }

    .modal__description {
        font-size: 20px;
    }
}

@media (max-width: 768px) {
    .modal {
        padding: var(--space-large) 0;
    }

    .modal__container {
        padding: 0 var(--space-large) var(--space-xl);
        gap: var(--space-large);
    }

    .modal__close {
        margin-top: 16px;
        margin-right: calc(-1 * var(--space-large) + 16px);
        margin-bottom: calc(var(--space-xl) - 16px - 32px);
        top: 16px;
    }

    .modal__header {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-small);
        margin-bottom: var(--space-large);
    }

    .modal__title {
        font-size: 20px;
        line-height: 24px;
    }

    .modal__icon {
        width: 40px;
        height: 40px;
    }

    .modal__body {
        margin-bottom: var(--space-large);
    }

    .modal__description {
        font-size: 16px;
        line-height: 22px;
    }

    .modal__btn {
        font-size: 18px;
        width: 100%;
    }
}

/* Team Modal */
.modal--team .modal__container {
    max-width: 1212px;
    padding: var(--space-xxxxl) var(--space-xxxl);
    align-items: center;
    justify-content: center;
    background: linear-gradient(72.26deg, rgba(46, 46, 46, 1) 13.55%, rgba(10, 13, 17, 1) 187.95%);
    position: relative;
}

.modal--team .modal__close {
    position: absolute;
    top: 23px;
    right: 23px;
    margin: 0;
}

.modal--team .modal__content {
    display: flex;
    gap: 64px;
    align-items: flex-start;
    justify-content: center;
}

.modal--team .modal__photo {
    flex-shrink: 0;
    width: 320px;
    height: 300px;
    border-radius: var(--radius-xl);
    overflow: hidden;
    position: relative;
}

.modal--team .modal__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
}

.modal--team .modal__photo::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, transparent 41%, rgba(55, 65, 113, 0.3) 100%);
    pointer-events: none;
}

.modal--team .modal__info {
    display: flex;
    flex-direction: column;
    gap: var(--space-xl);
    max-width: 700px;
}

.modal--team .modal__name {
    font-family: var(--font-body);
    font-size: 32px;
    font-weight: 400;
    line-height: 32px;
    color: var(--silver-dew-500);
    margin: 0;
}

.modal--team .modal__bio {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
}

.modal--team .modal__bio p {
    margin: 0 0 26px 0;
}

.modal--team .modal__bio p:last-child {
    margin-bottom: 0;
}

@media (max-width: 1100px) {
    .modal--team .modal__container {
        max-width: calc(100% - 48px);
    }

    .modal--team .modal__content {
        gap: 40px;
    }

    .modal--team .modal__photo {
        width: 280px;
        height: 260px;
    }
}

@media (max-width: 900px) {
    .modal--team .modal__content {
        flex-direction: column;
        align-items: center;
    }

    .modal--team .modal__photo {
        width: 100%;
        max-width: 320px;
        height: 300px;
    }

    .modal--team .modal__info {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .modal--team .modal__container {
        padding: 0 var(--space-large) var(--space-xxl);
    }

    .modal--team .modal__name {
        font-size: 26px;
        line-height: 30px;
    }

    .modal--team .modal__bio {
        font-size: 18px;
        line-height: 24px;
    }
}

/* Login Modal */
.modal--login .modal__login-card {
    position: relative;
    display: flex;
    width: 100%;
    max-width: 1330px;
    background-color: var(--silver-dew-500);
    border-radius: var(--radius-xl);
    overflow: hidden;
}

.modal--login .modal__close--outside {
    position: absolute;
    top: 23px;
    right: -48px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    width: 32px;
    height: 32px;
}

.modal--login .modal__close--outside img {
    width: 100%;
    height: 100%;
}

.modal--login .modal__login-form {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: var(--space-xxxl) 0;
    min-height: 634px;
}

.modal--login .modal__login-image {
    width: 655px;
    height: 634px;
    flex-shrink: 0;
    background: linear-gradient(135deg, #8C94A5 0%, var(--soft-olive-700) 100%);
    border-radius: var(--radius-xl);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: var(--space-xxxl);
}

.modal--login .modal__login-image img {
    max-width: 100%;
    height: auto;
}

/* Login Tabs */
.login-tabs {
    display: flex;
    gap: var(--space-small);
    background-color: var(--bg-light);
    padding: var(--space-small);
    border-radius: var(--radius-md);
    margin-bottom: 20px;
}

.login-tabs__btn {
    padding: var(--space-medium);
    border: none;
    background: none;
    border-radius: var(--radius-sm);
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    cursor: pointer;
    transition: all 0.3s ease;
}

.login-tabs__btn--active {
    background-color: #8C94A5;
    color: var(--silver-dew-500);
}

/* Login Form */
.login-form {
    display: flex;
    flex-direction: column;
    gap: var(--space-medium);
    width: 385px;
}

.login-form__field {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 8px 16px;
    border: 1px solid var(--silver-mist-700);
    border-radius: var(--radius-md);
    min-height: 58px;
}

.login-form__field label {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 400;
    color: var(--silver-mist-700);
}

.login-form__field input {
    border: none;
    outline: none;
    font-family: var(--font-body);
    font-size: 20px;
    font-weight: 300;
    line-height: 22px;
    color: var(--iron-shadow-500);
    background: transparent;
}

.login-form__recaptcha {
    background-color: #f9f9f9;
    border: 1px solid #d3d3d3;
    border-radius: 3px;
    padding: var(--space-small);
    min-height: 58px;
    display: flex;
    align-items: center;
    box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.08);
}

.login-form__checkbox {
    display: flex;
    align-items: center;
    gap: var(--space-medium);
}

.login-form__checkbox input[type="checkbox"] {
    width: 24px;
    height: 24px;
    border: 1px solid var(--silver-mist-700);
    border-radius: var(--radius-sm);
    cursor: pointer;
}

.login-form__checkbox label {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--silver-mist-700);
    cursor: pointer;
}

.login-form .btn--olive {
    background-color: #8C94A5;
    margin-top: var(--space-medium);
}

.login-form .btn--olive:hover {
    background-color: var(--soft-olive-700);
}

.login-form__forgot {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 300;
    line-height: 20px;
    color: var(--silver-mist-700);
    text-decoration: none;
    text-align: center;
}

.login-form__forgot:hover {
    color: var(--iron-shadow-500);
}

@media (max-width: 1400px) {
    .modal--login .modal__login-card {
        max-width: calc(100% - 100px);
    }

    .modal--login .modal__login-image {
        width: 45%;
    }

    .modal--login .modal__close--outside {
        right: 20px;
        top: 20px;
    }
}

@media (max-width: 900px) {
    .modal--login .modal__login-card {
        flex-direction: column-reverse;
        max-width: calc(100% - 48px);
    }

    .modal--login .modal__login-image {
        width: 100%;
        height: 200px;
    }

    .modal--login .modal__login-form {
        min-height: auto;
        padding: var(--space-xxl);
    }

    .login-form {
        width: 100%;
        max-width: 385px;
    }

    .modal--login .modal__close--outside {
        position: absolute;
        right: 16px;
        top: 16px;
    }
}

@media (max-width: 480px) {
    .login-tabs__btn {
        font-size: 18px;
        padding: var(--space-small) var(--space-medium);
    }

    .login-form__field input {
        font-size: 16px;
    }
}

/* RDV Modal */
.modal--rdv .modal__container {
    max-width: 808px;
}

.modal--rdv .modal__header--rdv {
    width: 100%;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: var(--space-xxxl);
}

.modal--rdv .modal__subtitle {
    font-family: var(--font-body);
    font-size: 22px;
    font-weight: 300;
    line-height: 26px;
    color: var(--silver-mist-500);
    margin: 0;
}

.modal--rdv .modal__body--rdv {
    width: 100%;
    max-width: 680px;
    margin-bottom: 0;
}

.modal--rdv .calendly-inline-widget {
    border-radius: var(--radius-xl);
    overflow: hidden;
    background: var(--silver-dew-500);
}
