/*
 * Header site — logo / menu / langues
 * -----------------------------
*/

.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    height: var(--header-height);
    padding: 0;
    background: transparent;
}

.site-header > .container,
.site-header .row {
    height: 100%;
}

.site-header .row > [class*="col-"]:not(.site-header__nav) {
    display: flex;
    align-items: center;
    height: 100%;
}

.site-header__logo,
.site-header__logo-link {
    width: 100%;
}

.site-header__logo-link {
    display: block;
    text-decoration: none;
    color: var(--color-white);
}

.site-header__logo-img {
    display: block;
    width: 100%;
    height: auto;
}

.site-header__logo-img--color {
    display: none;
}

.site-header__nav {
    display: flex;
    align-items: center;
    min-width: 0;
    height: 100%;
}

.site-header__menu {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-wrap: nowrap;
    gap: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-header__menu li {
    margin: 0;
    padding: 0;
    list-style: none;
    flex: 0 1 auto;
}

.site-header__menu a {
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 0.75rem;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--color-white) !important;
    padding: 15px;
    line-height: 1.2;
    white-space: nowrap;
}

.site-header__menu a:hover,
.site-header__menu a:focus {
    color: var(--color-white) !important;
    text-decoration: none;
}

/* Trait unique : glisse au hover ; fondu (sans glissement) au leave du menu */
.site-header__menu-indicator {
    position: absolute;
    bottom: 12px;
    left: 0;
    height: 2px;
    width: 0;
    background: var(--color-white);
    opacity: 0;
    pointer-events: none;
    transition: left 0.25s ease, width 0.25s ease, opacity 0.25s ease;
}

.site-header__menu-indicator.is-snap {
    transition: opacity 0.2s ease;
}

.site-header__langs {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    height: 100%;
}

.site-header__langs--in-nav {
    display: none;
}

.site-header__lang-list {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-header__lang-list li {
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 0;
}

.site-header__lang-list a {
    display: block;
    opacity: 0.35;
    transition: opacity 0.2s ease;
}

.site-header__lang-list li.is-active a,
.site-header__lang-list a:hover,
.site-header__lang-list a:focus {
    opacity: 1;
}

.site-header__lang-list img {
    display: block;
    width: 16px;
    height: 16px;
    object-fit: cover;
    border-radius: 50%;
}

.site-header__toggle {
    display: flex;
    position: relative;
    z-index: 101;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    margin-left: auto;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.site-header__toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--color-white);
    margin: 0 auto;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

@keyframes site-header-sticky-in {
    from {
        transform: translateY(-100%);
    }
    to {
        transform: translateY(0);
    }
}

@keyframes site-header-sticky-out {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-100%);
    }
}

.site-header.is-sticky {
    position: fixed;
    background-color: var(--color-white);
    border-bottom: 1px solid var(--color-pale-grey);
    animation: site-header-sticky-in 0.55s ease;
}

.site-header.is-sticky.is-sticky-out {
    animation: site-header-sticky-out 0.25s ease-in forwards;
}

@media (prefers-reduced-motion: reduce) {
    .site-header.is-sticky,
    .site-header.is-sticky.is-sticky-out {
        animation: none;
    }
}

.site-header.is-sticky .site-header__logo-link {
    color: var(--color-navy);
}

.site-header.is-sticky .site-header__logo-img--light {
    display: none;
}

.site-header.is-sticky .site-header__logo-img--color {
    display: block;
}

.site-header.is-sticky .site-header__menu a,
.site-header.is-sticky .site-header__menu a:hover,
.site-header.is-sticky .site-header__menu a:focus {
    color: var(--color-navy) !important;
}

.site-header.is-sticky .site-header__menu-indicator {
    background: var(--color-navy);
}

.site-header.is-sticky .site-header__toggle span {
    background: var(--color-navy);
}

/* Pages claires (fiches vessel / service / actu) : header lisible dès le premier écran */
body.single-vessels .site-header,
body.single-services .site-header,
body.single-post .site-header {
    background-color: var(--color-white);
}

body.single-vessels .vessel,
body.single-services .service,
body.single-post .news-detail {
    padding-top: var(--header-height);
}

body.single-vessels .site-footer {
    border-top: 10px solid var(--color-entity-shipping);
}

body.single-services .site-footer {
    border-top: 10px solid var(--service-accent, var(--color-navy));
}

body.service-crewing {
    --service-accent: var(--color-entity-crewing);
}

body.service-chartering {
    --service-accent: var(--color-entity-chartering);
}

body.service-agencies {
    --service-accent: var(--color-entity-agencies);
}

body.service-technologies,
body.service-technology {
    --service-accent: var(--color-entity-technologies);
}

body.service-finances,
body.service-finance {
    --service-accent: var(--color-entity-finance);
}

body.single-vessels .site-header__logo-link,
body.single-services .site-header__logo-link,
body.single-post .site-header__logo-link {
    color: var(--color-navy);
}

body.single-vessels .site-header__logo-img--light,
body.single-services .site-header__logo-img--light,
body.single-post .site-header__logo-img--light {
    display: none;
}

body.single-vessels .site-header__logo-img--color,
body.single-services .site-header__logo-img--color,
body.single-post .site-header__logo-img--color {
    display: block;
}

body.single-vessels .site-header__menu a,
body.single-vessels .site-header__menu a:hover,
body.single-vessels .site-header__menu a:focus,
body.single-services .site-header__menu a,
body.single-services .site-header__menu a:hover,
body.single-services .site-header__menu a:focus,
body.single-post .site-header__menu a,
body.single-post .site-header__menu a:hover,
body.single-post .site-header__menu a:focus {
    color: var(--color-navy) !important;
}

body.single-vessels .site-header__menu-indicator,
body.single-services .site-header__menu-indicator,
body.single-post .site-header__menu-indicator {
    background: var(--color-navy);
}

body.single-vessels .site-header__toggle span,
body.single-services .site-header__toggle span,
body.single-post .site-header__toggle span {
    background: var(--color-navy);
}

body.error404 .site-header {
    background-color: var(--color-white);
}

body.error404 .site-header__logo-link {
    color: var(--color-navy);
}

body.error404 .site-header__logo-img--light {
    display: none;
}

body.error404 .site-header__logo-img--color {
    display: block;
}

body.error404 .site-header__menu a,
body.error404 .site-header__menu a:hover,
body.error404 .site-header__menu a:focus {
    color: var(--color-navy) !important;
}

body.error404 .site-header__menu-indicator {
    background: var(--color-navy);
}

body.error404 .site-header__toggle span {
    background: var(--color-navy);
}

/* End of Header */


/*
 * Base
 * -----------------------------
*/

body {
    font-family: var(--font-sans);
    color: var(--color-navy);
    background-color: var(--color-white);
}

/* Le reset parent (`font: inherit`) annule l’italique natif des <em> */
em {
    font-style: italic;
}

/* End of Base */


/*
 * Accueil — hero
 * -----------------------------
*/

.home-cover {
    position: relative;
    overflow: hidden;
}

.home-cover__img {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-cover::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-color: var(--color-navy);
    opacity: 0.35;
}

/* Dégradé navy depuis le bas du hero */
.home-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(
        to top,
        var(--color-navy) 0%,
        transparent 35%
    );
}

.home-cover > .container {
    position: relative;
    z-index: 3;
}

.home-hero > .container {
    transform: translateY(80px);
}

.home-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: calc(var(--header-height) + 52px) 0 80px;
    background-color: var(--color-navy);
    color: var(--color-white);
}

.home-hero__title {
    margin: 0 0 40px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 3.5rem;
    line-height: 1.2;
    color: var(--color-white);
}

.home-hero__title--mid,
.home-hero__scroll {
    display: none;
}

.home-hero__logo {
    display: block;
    width: 100%;
    max-width: 150px;
    height: auto;
    margin: 0 auto;
}

.home-hero__scroll {
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
    padding: 0;
    border: 0;
    background: none;
    color: inherit;
    font-family: var(--font-sans);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
}

.home-hero__scroll-mouse {
    position: relative;
    display: block;
    width: 22px;
    height: 34px;
    border: 2px solid currentColor;
    border-radius: 12px;
}

.home-hero__scroll-mouse::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 50%;
    width: 3px;
    height: 7px;
    margin-left: -1.5px;
    border-radius: 2px;
    background-color: currentColor;
    animation: home-hero-scroll-wheel 1.4s ease-in-out infinite;
}

@keyframes home-hero-scroll-wheel {
    0%,
    20% {
        opacity: 1;
        transform: translateY(0);
    }
    100% {
        opacity: 0;
        transform: translateY(8px);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-hero__scroll-mouse::before {
        animation: none;
    }
}

/* Séquence vidéo : overlay + textes (mi-parcours, puis fin) */
.home-hero--video .home-hero__copy {
    display: grid;
    margin-bottom: 40px;
}

.home-hero--video .home-hero__title {
    grid-area: 1 / 1;
    margin-bottom: 0;
}

.home-hero--video .home-hero__title--mid {
    display: block;
}

.home-hero--video .home-hero__aside {
    display: grid;
    justify-items: center;
    align-items: center;
}

.home-hero--video .home-hero__aside > * {
    grid-area: 1 / 1;
}

.home-hero--video .home-hero__scroll {
    display: inline-flex;
    pointer-events: none;
}

.home-hero--video.is-mid .home-hero__scroll,
.home-hero--video.is-end .home-hero__scroll {
    pointer-events: auto;
}

.home-hero--video::after {
    opacity: 0;
    transition: opacity 0.7s ease;
}

.home-hero--video.is-mid::after,
.home-hero--video.is-end::after {
    opacity: 0.35;
}

.home-hero--video::before {
    opacity: 0;
    transition: opacity 0.7s ease;
}

.home-hero--video.is-mid::before,
.home-hero--video.is-end::before {
    opacity: 1;
}

.home-hero--video .home-hero__title,
.home-hero--video .home-hero__logo,
.home-hero--video .home-hero__scroll {
    opacity: 0;
    transition: opacity 0.55s ease;
}

.home-hero--video.is-mid .home-hero__title--mid {
    opacity: 1;
    transition: opacity 0.7s ease 0.4s;
}

.home-hero--video.is-mid .home-hero__scroll {
    opacity: 1;
    transition: opacity 0.7s ease 0.9s;
}

.home-hero--video.is-end .home-hero__aside {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 28px;
}

.home-hero--video.is-end .home-hero__aside > * {
    grid-area: auto;
}

.home-hero--video.is-end .home-hero__title--end {
    opacity: 1;
    transition: opacity 0.7s ease 0.4s;
}

.home-hero--video.is-end .home-hero__logo {
    order: 1;
    opacity: 1;
    transition: opacity 0.7s ease 0.95s;
}

.home-hero--video.is-end .home-hero__scroll {
    order: 2;
    opacity: 1;
    transition: opacity 0.7s ease 1.35s;
}

/* Mode test : toute la vidéo se scrub au scroll, icône dès le départ */
.home-hero--video.home-hero--scrub .home-hero__title--mid {
    display: none;
}

.home-hero--video.home-hero--scrub .home-hero__copy {
    margin-bottom: 0;
    height: 0;
    overflow: hidden;
}

.home-hero--video.home-hero--scrub.is-end .home-hero__copy {
    margin-bottom: 40px;
    height: auto;
    overflow: visible;
}

.home-hero--video.home-hero--scrub .home-hero__scroll {
    opacity: 1;
    pointer-events: none;
}

.home-hero--video.home-hero--scrub.is-end .home-hero__scroll {
    pointer-events: auto;
}

html:has(body.home-hero-locked),
body.home-hero-locked {
    overflow: hidden;
}

.home-hero__skip {
    position: absolute;
    right: 40px;
    bottom: 36px;
    z-index: 4;
    margin: 0;
    padding: 8px 0;
    border: 0;
    background: none;
    color: var(--color-white);
    font-family: var(--font-sans);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.55s ease 0.8s;
}

.home-hero--video .home-hero__skip {
    opacity: 1;
}

.home-hero--video.is-end .home-hero__skip {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.35s ease;
}

@media screen and (max-width: 767px) {
    .home-hero__skip {
        right: 20px;
        bottom: 24px;
    }
}

/* End of Accueil — hero */


/*
 * Bouton CTA (réutilisable)
 * -----------------------------
*/

.topic-btn {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 6px 6px 6px 22px;
    background-color: var(--color-btn);
    color: var(--color-navy);
    border-radius: var(--radius-pill);
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 0.95rem;
    line-height: 1.2;
    text-decoration: none;
    border: 0;
}

.topic-btn:hover,
.topic-btn:focus {
    color: var(--color-navy);
    text-decoration: none;
}

.topic-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    flex-shrink: 0;
    background-color: var(--color-white);
    color: var(--color-navy);
    border-radius: 50%;
    font-size: 0.75rem;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.topic-btn__icon i {
    display: block;
    transition: transform 0.25s ease;
}

.topic-btn:hover .topic-btn__icon,
.topic-btn:focus .topic-btn__icon {
    background-color: var(--color-navy);
    color: var(--color-white);
}

.topic-btn:hover .topic-btn__icon i,
.topic-btn:focus .topic-btn__icon i {
    transform: translate(3px, -3px);
}

/* End of Bouton CTA */


/*
 * Accueil — intro
 * -----------------------------
*/

.home-intro {
    padding: 0 0 150px;
    background-color: var(--color-white);
}

.home-intro__lead {
    margin: 100px auto 50px;
    max-width: 640px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.home-intro .topic-btn {
    margin-bottom: 150px;
}

.home-intro__years {
    margin: 0;
    padding: 0 0 40px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 4rem;
    line-height: 1.2;
    color: var(--color-navy);
}

.home-intro__quote {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.4;
    color: var(--color-navy);
}

/* End of Accueil — intro */


/*
 * Accueil — bannière navy
 * -----------------------------
*/

.home-statement {
    position: relative;
    overflow: hidden;
    padding: 150px 0 0;
    background-color: var(--home-statement-bg, var(--color-navy));
    color: var(--color-white);
}

.home-statement.is-ready {
    background-color: transparent;
}

.home-statement__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--home-statement-bg, var(--color-navy));
}

.home-statement__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../img/Topic_Pattern.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0.22;
}

.home-statement.is-ready .home-statement__bg {
    opacity: 0;
    transform: translateX(-12%);
}

.home-statement.is-in .home-statement__bg {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.65s ease-out;
}

.home-statement .container {
    position: relative;
    z-index: 1;
}

.home-statement.is-ready .home-statement__content {
    opacity: 0;
}

.home-statement.is-copy-in .home-statement__content {
    opacity: 1;
    transition: opacity 0.55s ease;
}

@media (prefers-reduced-motion: reduce) {
    .home-statement.is-ready .home-statement__bg,
    .home-statement.is-in .home-statement__bg {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .home-statement.is-ready .home-statement__content,
    .home-statement.is-copy-in .home-statement__content {
        opacity: 1;
        transition: none;
    }
}

.home-statement__logo {
    display: block;
    width: auto;
    max-width: 180px;
    height: auto;
    margin: 0 auto 56px;
}

.home-statement__title {
    margin: 0 0 28px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-white);
}

.home-statement__title em {
    font-style: italic;
    font-weight: 700;
}

.home-statement__text {
    margin: 0 auto;
    max-width: 640px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-white);
}

.home-statement.is-ready .home-statement__rail {
    opacity: 0;
}

.home-statement.is-in .home-statement__rail {
    opacity: 1;
    transition: opacity 0.65s ease-out;
}

.home-statement__rail {
    position: relative;
    z-index: 1;
    display: block;
    width: 19px;
    height: 150px;
    margin: 150px auto 0;
    left: -1px;
}

.home-statement__rail::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    width: 19px;
    height: 19px;
    border: 3px solid var(--color-white);
    border-radius: 50%;
    background-color: var(--color-navy);
}

.home-statement--quote {
    padding: 220px 0 180px 0;
}

.home-statement__quote {
    margin: 0;
}

.home-statement--quote .home-statement__title {
    margin: 0 0 32px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 1.3;
    text-align: center;
}

.home-statement__author {
    margin: 0;
    text-align: right;
    font-family: var(--font-sans);
    font-style: normal;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: var(--line-height-body);
    color: var(--color-white);
}

.home-statement__rail::after {
    content: '';
    position: absolute;
    top: 19px;
    bottom: 0;
    left: 50%;
    width: 3px;
    background-color: var(--color-white);
    transform: translateX(-50%);
}

/* End of Accueil — bannière navy */


/*
 * Accueil — timeline
 * -----------------------------
*/

.home-timeline {
    padding: 150px 0;
    background-color: var(--color-white);
}

.home-timeline__list {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.home-timeline__list::before {
    content: '';
    position: absolute;
    top: -150px;
    bottom: -150px;
    left: 50%;
    width: 3px;
    margin-left: -1px;
    background-color: var(--color-navy);
    transform: translateX(-50%);
}

.home-timeline__item {
    display: grid;
    grid-template-columns: 1fr 15px 1fr;
    column-gap: 56px;
    align-items: start;
    padding: 0 0 36px;
}

.home-timeline__item:last-child {
    padding-bottom: 0;
}

.home-timeline__content {
    max-width: 420px;
}

.home-timeline__item:nth-child(odd) .home-timeline__content {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    text-align: right;
}

.home-timeline__item:nth-child(even) .home-timeline__content {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
    text-align: left;
}

.home-timeline__node {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 15px;
    height: 15px;
    margin-top: 35px;
    margin-left: -1px;
    border: 3px solid var(--color-navy);
    border-radius: 50%;
    background-color: var(--color-white);
}

.home-timeline__number {
    margin: 0 0 8px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 5.25rem;
    line-height: 1;
    color: var(--color-navy);
}

.home-timeline__title {
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.home-timeline__text {
    margin: 0 0 20px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.home-timeline__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: var(--color-btn);
    color: var(--color-navy);
    text-decoration: none;
    font-size: 0.75rem;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.home-timeline__btn i {
    display: block;
    transition: transform 0.25s ease;
}

.home-timeline__btn:hover,
.home-timeline__btn:focus {
    background-color: var(--color-navy);
    color: var(--color-white);
    text-decoration: none;
}

.home-timeline__btn:hover i,
.home-timeline__btn:focus i {
    transform: translate(3px, -3px);
}

.home-timeline.is-ready .home-timeline__item {
    opacity: 0;
}

.home-timeline.is-ready .home-timeline__item.is-in {
    opacity: 1;
    transition: opacity 0.65s ease;
}

@media (prefers-reduced-motion: reduce) {
    .home-timeline.is-ready .home-timeline__item,
    .home-timeline__item.is-in {
        opacity: 1;
        transition: none;
    }
}

/* End of Accueil — timeline */


/*
 * Accueil — Why Topic
 * -----------------------------
*/

.home-reasons {
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
    min-height: 62vh;
    padding: 80px 0;
    background-color: var(--color-navy);
    color: var(--color-white);
}

.home-reasons__media {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-reasons::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-color: var(--color-navy);
    opacity: 0.4;
}

.home-reasons__rail {
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 2;
    width: 19px;
    height: 50%;
    margin-left: -10px;
}

.home-reasons__rail::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 19px;
    left: 50%;
    width: 3px;
    background-color: var(--color-white);
    transform: translateX(-50%);
}

.home-reasons__rail::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    width: 19px;
    height: 19px;
    border: 3px solid var(--color-white);
    border-radius: 50%;
    background-color: transparent;
}

.home-reasons .container {
    position: relative;
    z-index: 3;
}

.home-reasons__label {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-white);
}

.home-reasons__title {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.3;
    color: var(--color-white);
}

.home-reasons__title em {
    font-style: italic;
    font-weight: 700;
}

/* End of Accueil — Why Topic */


/*
 * Accueil — trois raisons
 * -----------------------------
*/

.home-values {
    padding: 150px 0;
    background-color: var(--color-white);
}

.home-values .col-11 > .row > [class*="col-"] {
    margin-bottom: 56px;
}

.home-values .col-11 > .row {
    margin-bottom: -56px;
}

.home-values__item {
    max-width: 340px;
    margin: 0 auto;
    text-align: center;
}

.home-values__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 86px;
    height: 86px;
    margin: 0 auto 28px;
    border: 2px solid var(--color-navy);
    border-radius: 50%;
    color: var(--color-navy);
    font-size: 1.75rem;
}

.home-values__title {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.home-values__text {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.home-values.is-ready .home-values__item {
    opacity: 0;
}

.home-values.is-ready .home-values__item.is-in {
    opacity: 1;
    transition: opacity 0.65s ease;
}

@media (prefers-reduced-motion: reduce) {
    .home-values.is-ready .home-values__item,
    .home-values.is-ready .home-values__item.is-in {
        opacity: 1;
        transition: none;
    }
}

/* End of Accueil — trois raisons */


/*
 * Accueil — innovation (scroll images)
 * -----------------------------
*/

.home-innovation-wrap {
    height: calc((var(--innovation-count, 4) + 1) * 100vh);
}

.home-innovation {
    position: sticky;
    top: 0;
    height: 100vh;
    background-color: var(--color-navy);
    color: var(--color-white);
}

.home-innovation__panel {
    position: relative;
    display: flex;
    align-items: flex-end;
    overflow: hidden;
    height: 100vh;
    padding: 220px 0 100px;
}

.home-innovation__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.home-innovation__img {
    position: absolute;
    inset: 0;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 0;
    transition: opacity 0.65s ease;
}

.home-innovation__img.is-active,
.home-innovation__img.is-leaving {
    z-index: 1;
}

.home-innovation__img.is-active {
    opacity: 1;
    z-index: 2;
}

.home-innovation__img.is-leaving {
    opacity: 0;
}

.home-innovation__panel::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-color: var(--color-navy);
    opacity: 0.35;
}

.home-innovation .container {
    position: relative;
    z-index: 2;
}

.home-innovation__label {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-white);
}

.home-innovation__title {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.3;
    color: var(--color-white);
}

.home-innovation__title em {
    font-style: italic;
    font-weight: 700;
}

.home-innovation__text {
    margin: 0 auto 36px;
    max-width: 640px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-white);
}

.home-innovation__text em {
    font-style: italic;
}

@media (prefers-reduced-motion: reduce) {
    .home-innovation__img {
        transition: none;
    }
}

/* End of Accueil — innovation */


/*
 * Accueil — The People
 * -----------------------------
*/

.home-people {
    padding: 150px 0;
    background-color: var(--color-white);
}

.home-people__label {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-grey);
}

.home-people__title {
    margin: 0 0 80px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.home-people__title em {
    font-style: italic;
    font-weight: 700;
}

.home-people__carousel {
    position: relative;
    max-width: 1072px;
    margin: 0 auto 64px;
    padding: 0 100px;
}

.home-people__slider--single,
.home-people__slider--duo {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 48px;
}

.home-people__slider--single .home-people__cell {
    flex: 0 1 420px;
    max-width: 420px;
    width: 100%;
}

.home-people__slider--duo .home-people__cell {
    flex: 0 1 420px;
    max-width: 420px;
    width: calc(50% - 24px);
}

.home-people__card {
    text-align: center;
}

.home-people__avatar {
    width: 200px;
    height: 200px;
    margin: 0 auto 28px;
    border-radius: 50%;
    overflow: hidden;
}

.home-people__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.home-people__function {
    margin: 0 0 80px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.home-people__name {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.35;
    color: var(--color-navy);
}

.home-people__quote {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-grey);
}

.home-people__texte {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.home-people__quote em {
    font-style: italic;
    font-weight: 400;
}

.home-people .topic-btn {
    margin: 0 auto;
}

.home-people__slider--slider .slick-list {
    overflow: hidden;
}

.home-people__slider--slider .slick-track {
    display: flex !important;
    align-items: stretch;
}

.home-people__slider--slider .slick-slide {
    width: 420px;
    height: auto;
    float: none;
    box-sizing: border-box;
    margin-right: 32px;
}

.home-people__slider--slider .slick-slide:last-child {
    margin-right: 0;
}

.home-people__slider--slider .slick-slide > div,
.home-people__slider--slider .home-people__cell {
    height: 100%;
}

.home-people__arrow {
    position: absolute;
    z-index: 2;
    top: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: var(--color-btn);
    color: var(--color-navy);
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.home-people__arrow:hover,
.home-people__arrow:focus {
    background-color: var(--color-navy);
    color: var(--color-white);
}

.home-people .slick-prev,
.home-people .slick-next {
    width: 40px;
    height: 40px;
    z-index: 2;
}

.home-people .slick-prev {
    left: 24px;
}

.home-people .slick-next {
    right: 24px;
}

.home-people .slick-prev:before,
.home-people .slick-next:before,
.home-people__arrow:before {
    font-family: 'Font Awesome 7 Pro';
    font-weight: 900;
    font-size: 0.875rem;
    color: currentColor;
    opacity: 1;
}

.home-people .slick-prev:before,
.home-people__arrow--prev:before {
    content: '\f060';
}

.home-people .slick-next:before,
.home-people__arrow--next:before {
    content: '\f061';
}

@media screen and (max-width: 767px) {
    .home-people__title {
        margin-bottom: 56px;
        font-size: 1.625rem;
    }

    .home-people__slider--duo .home-people__cell,
    .home-people__slider--single .home-people__cell {
        width: 100%;
        max-width: 420px;
    }

    .home-people__avatar {
        width: 168px;
        height: 168px;
    }

    .home-people__carousel {
        padding: 0 56px;
    }

    .home-people__slider--slider .slick-slide {
        width: min(420px, 100%);
        margin-right: 24px;
    }

    .home-people .slick-prev {
        left: 0;
    }

    .home-people .slick-next {
        right: 0;
    }
}

/* End of Accueil — The People */


/*
 * Accueil — Contact
 * -----------------------------
*/

.home-contact {
    padding: 150px 0;
    background-color: var(--color-surface-light);
}

.home-contact__label {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-grey);
}

.home-contact__title {
    margin: 0 auto 48px;
    max-width: 720px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.home-contact__title em {
    font-style: italic;
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .home-contact {
        padding: 100px 0;
    }

    .home-contact__title {
        font-size: 1.625rem;
    }
}

/* End of Accueil — Contact */


/*
 * Footer site
 * -----------------------------
*/

.site-footer {
    padding: 80px 0;
    background-color: var(--color-navy);
    color: var(--color-white);
}

.site-footer__brand-row {
    margin-bottom: 48px;
}

.site-footer__grid {
    --bs-gutter-x: 40px;
    row-gap: 48px;
}

.site-footer__brand {
    display: flex;
    align-items: flex-start;
}

.site-footer__logo-link {
    display: block;
    max-width: 320px;
    text-decoration: none;
}

.site-footer__logo {
    display: block;
    width: 100%;
    height: auto;
}

.site-footer__block {
    max-width: 220px;
}

.site-footer__heading {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 0.8125rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-white);
}

.site-footer__address {
    margin: 0;
    font-family: var(--font-sans);
    font-style: normal;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--color-light-grey);
}

.site-footer__name {
    display: block;
    margin-bottom: 4px;
    font-weight: 700;
    color: var(--color-white);
}

.site-footer__address a {
    color: var(--color-light-grey);
    text-decoration: none;
}

.site-footer__address a:hover,
.site-footer__address a:focus {
    color: var(--color-white);
    text-decoration: none;
}

.site-footer__placeholder {
    opacity: 0.65;
}

@media (min-width: 992px) {
    .site-footer {
        padding: 100px 0;
    }
}

@media (max-width: 991.98px) {
    .site-footer__logo-link {
        max-width: 280px;
    }
}

/* End of Footer site */


/*
 * Hero de page (réutilisable)
 * -----------------------------
*/

.page-hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    padding: calc(var(--header-height) + 48px) 0 120px;
    color: var(--color-white);
    background-color: var(--color-navy);
    border-bottom: 10px solid var(--page-hero-border, var(--color-navy));
    overflow: hidden;
}

.page-hero__img {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.page-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background-color: var(--color-navy);
    opacity: 0.4;
}

.page-hero__container {
    position: relative;
    z-index: 2;
}

.page-hero__label {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-white);
}

.page-hero__title {
    margin: 0 0 32px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 3rem;
    line-height: 1.05;
    color: var(--color-white);
}

.page-hero__text {
    margin: 0 auto;
    max-width: 720px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.5;
    color: var(--color-white);
}

.page-hero__text p {
    margin: 0;
}

/* Séquence d’apparition : image, puis textes, puis scroll */
.page-hero.is-ready .page-hero__img {
    opacity: 0;
    transform: scale(1);
}

.page-hero.is-in .page-hero__img {
    opacity: 1;
    transform: scale(1.15);
    transition: opacity 1s ease-out, transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.page-hero.is-ready .page-hero__label,
.page-hero.is-ready .page-hero__title,
.page-hero.is-ready .page-hero__text {
    opacity: 0;
    transform: translateY(20px);
}

.page-hero.is-ready .page-hero__scroll,
.page-hero.is-ready .page-hero__bottom-logo {
    opacity: 0;
    transform: translate(-50%, 20px);
}

.page-hero.is-copy-in .page-hero__label,
.page-hero.is-copy-in .page-hero__title,
.page-hero.is-copy-in .page-hero__text {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease-out, transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.page-hero.is-copy-in .page-hero__title {
    transition-delay: 0.12s;
}

.page-hero.is-copy-in .page-hero__text {
    transition-delay: 0.24s;
}

.page-hero.is-scroll-in .page-hero__scroll,
.page-hero.is-scroll-in .page-hero__bottom-logo {
    opacity: 1;
    transform: translate(-50%, 0);
    transition: opacity 0.55s ease-out, transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
    .page-hero.is-ready .page-hero__img,
    .page-hero.is-in .page-hero__img,
    .page-hero.is-ready .page-hero__label,
    .page-hero.is-ready .page-hero__title,
    .page-hero.is-ready .page-hero__text,
    .page-hero.is-ready .page-hero__scroll,
    .page-hero.is-ready .page-hero__bottom-logo,
    .page-hero.is-copy-in .page-hero__label,
    .page-hero.is-copy-in .page-hero__title,
    .page-hero.is-copy-in .page-hero__text {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .page-hero.is-ready .page-hero__scroll,
    .page-hero.is-scroll-in .page-hero__scroll,
    .page-hero.is-ready .page-hero__bottom-logo,
    .page-hero.is-scroll-in .page-hero__bottom-logo {
        opacity: 1;
        transform: translate(-50%, 0);
        transition: none;
    }
}

.page-hero__scroll {
    position: absolute;
    left: 50%;
    bottom: 36px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    padding: 0;
    border: 0;
    background: none;
    color: var(--color-white);
    font-family: var(--font-sans);
    font-size: 0.75rem;
    font-weight: 500;
    line-height: 1;
    transform: translateX(-50%);
    cursor: pointer;
}

.page-hero__bottom-logo {
    position: absolute;
    left: 50%;
    bottom: 42px;
    z-index: 2;
    display: block;
    width: 88px;
    height: auto;
    transform: translateX(-50%);
}

.page-hero--shipping .page-hero__title,
.page-hero--innovation .page-hero__title,
.page-hero--ventures .page-hero__title,
.page-hero--people .page-hero__title,
.page-hero--news .page-hero__title,
.page-hero--contact .page-hero__title,
.page-hero--no-text .page-hero__title {
    margin-bottom: 0;
}

.page-hero--shipping .page-hero__bottom-logo,
.page-hero--innovation .page-hero__bottom-logo,
.page-hero--ventures .page-hero__bottom-logo,
.page-hero--people .page-hero__bottom-logo,
.page-hero--has-logo .page-hero__bottom-logo {
    bottom: 200px;
}

.page-hero--shipping .page-hero__bottom-logo,
.page-hero--innovation .page-hero__bottom-logo,
.page-hero--ventures .page-hero__bottom-logo,
.page-hero--people .page-hero__bottom-logo,
.page-hero--has-logo .page-hero__bottom-logo {
    width: 140px;
}

.page-hero__scroll-mouse {
    position: relative;
    display: block;
    width: 22px;
    height: 34px;
    border: 2px solid currentColor;
    border-radius: 12px;
}

.page-hero__scroll-mouse::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 50%;
    width: 3px;
    height: 7px;
    margin-left: -1.5px;
    border-radius: 2px;
    background-color: currentColor;
    animation: home-hero-scroll-wheel 1.4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
    .page-hero__scroll-mouse::before {
        animation: none;
    }
}

@media (max-width: 991.98px) {
    .page-hero {
        padding-top: calc(var(--header-height) + 32px);
        padding-bottom: 100px;
    }

    .page-hero__title {
        font-size: 2.25rem;
    }

    .page-hero__text {
        font-size: 1.375rem;
    }

    .page-hero--has-logo .page-hero__bottom-logo {
        width: 140px;
    }
}

@media (max-width: 767.98px) {
    .page-hero__title {
        font-size: 1.875rem;
    }

    .page-hero__text {
        font-size: 1.125rem;
    }
}

/* End of Hero de page */


/*
 * About — Our Story
 * -----------------------------
*/

.about-story {
    padding: 100px 0;
    background-color: var(--color-white);
}

.about-story__row {
    --bs-gutter-x: 0;
    column-gap: 135px;
    row-gap: 48px;
}

@media (min-width: 992px) {
    .about-story__row > [class*="col-lg"] {
        flex: 1 1 0;
        width: auto;
        max-width: none;
    }
}

@media (max-width: 1199.98px) {
    .about-story__row {
        column-gap: 80px;
    }
}

@media (max-width: 991.98px) {
    .about-story__row {
        column-gap: 0;
    }
}

.about-story__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center center;
}

.about-story__copy {
    max-width: none;
}

.about-story__title {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.about-story__text {
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.about-story__text p {
    margin: 0 0 20px;
}

.about-story__text p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    .about-story__media img {
        aspect-ratio: 1 / 1;
    }

    .about-story__copy {
        max-width: none;
    }
}

/* End of About — Our Story */


/*
 * About — Key Milestones
 * -----------------------------
*/

.about-milestones {
    position: relative;
    overflow: hidden;
    padding: 100px 0 0;
    background-color: var(--color-white);
}

.about-milestones__media {
    position: relative;
    z-index: 0;
    /* Léger chevauchement : l’image remonte sous les dernières dates */
    margin-top: -280px;
}

.about-milestones__media img {
    display: block;
    width: 100%;
    height: auto;
}

.about-milestones .container {
    position: relative;
    z-index: 1;
}

.about-milestones__title {
    margin: 0 0 64px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.3;
    text-align: center;
    color: var(--color-navy);
}

.about-milestones__list {
    position: relative;
    margin: 0;
    padding: 48px 0 0;
    list-style: none;
}

.about-milestones__list::before {
    content: '';
    position: absolute;
    top: 15px;
    /* Le trait se prolonge dans l’espace avant l’image */
    bottom: -250px;
    left: 50%;
    width: 2px;
    background-color: var(--color-navy);
    transform: translateX(-50%);
}

.about-milestones__list::after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    z-index: 1;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    border: 3px solid var(--color-navy);
    border-radius: 50%;
    background-color: var(--color-white);
    transform: translateX(-50%);
}

.about-milestones__item {
    --about-milestone-photo: 220px;
    --about-milestone-photo-gap: 20px;
    --about-milestone-year-size: 3.5rem;
    --about-milestone-card: 370px;
    --about-milestone-bridge: 48px;
    /* Retrait des chiffres dans leur bloc de 220px, pour caler le texte dessus */
    --about-milestone-year-inset: 54px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 15px minmax(0, 1fr);
    column-gap: var(--about-milestone-bridge);
    align-items: start;
    /* Chevauchement vertical : rapproche les étapes les unes des autres */
    margin-bottom: -50px;
    padding: 0;
}

.about-milestones__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
}

.about-milestones__card {
    display: flex;
    flex-direction: column;
}

.about-milestones__item:nth-child(odd) .about-milestones__card {
    grid-column: 1;
    grid-row: 1;
    justify-self: end;
    align-items: flex-end;
}

.about-milestones__item:nth-child(even) .about-milestones__card {
    grid-column: 3;
    grid-row: 1;
    justify-self: start;
    align-items: flex-start;
}

.about-milestones__node {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    width: 15px;
    height: 15px;
    margin-top: calc(var(--about-milestone-photo) + var(--about-milestone-photo-gap) + (var(--about-milestone-year-size) / 2) - 7.5px);
    border: 3px solid var(--color-navy);
    border-radius: 50%;
    background-color: var(--color-white);
}

.about-milestones__node::before {
    content: '';
    position: absolute;
    top: 50%;
    width: var(--about-milestone-bridge);
    height: 2px;
    background-color: var(--color-navy);
    transform: translateY(-50%);
}

.about-milestones__item:nth-child(odd) .about-milestones__node::before {
    right: 100%;
}

.about-milestones__item:nth-child(even) .about-milestones__node::before {
    left: 100%;
}

.about-milestones__photo {
    width: var(--about-milestone-photo);
    height: var(--about-milestone-photo);
    margin-bottom: var(--about-milestone-photo-gap);
    overflow: hidden;
    border-radius: 50%;
    background-color: var(--color-surface-light);
}

.about-milestones__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.about-milestones__year {
    /* Largeur libre : les titres longs s’étirent vers l’extérieur sans passer à la ligne */
    margin: 0 0 16px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: var(--about-milestone-year-size);
    line-height: 1;
    white-space: nowrap;
    color: var(--color-navy);
}

.about-milestones__item:nth-child(odd) .about-milestones__year {
    align-self: flex-end;
    margin-right: var(--about-milestone-year-inset);
}

.about-milestones__item:nth-child(even) .about-milestones__year {
    align-self: flex-start;
    margin-left: var(--about-milestone-year-inset);
}

.about-milestones__text {
    width: var(--about-milestone-card);
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-grey);
}

.about-milestones__item:nth-child(odd) .about-milestones__text {
    align-self: flex-end;
    margin-right: var(--about-milestone-year-inset);
    text-align: right;
}

.about-milestones__item:nth-child(even) .about-milestones__text {
    align-self: flex-start;
    margin-left: var(--about-milestone-year-inset);
    text-align: left;
}

.about-milestones.is-ready .about-milestones__media {
    opacity: 0;
}

.about-milestones.is-ready .about-milestones__media.is-in {
    opacity: 1;
    transition: opacity 2s ease-out;
}

.about-milestones.is-ready .about-milestones__item {
    opacity: 0;
}

.about-milestones.is-ready .about-milestones__item.is-in {
    opacity: 1;
    transition: opacity 0.65s ease;
}

@media (prefers-reduced-motion: reduce) {
    .about-milestones.is-ready .about-milestones__item,
    .about-milestones.is-ready .about-milestones__item.is-in,
    .about-milestones.is-ready .about-milestones__media,
    .about-milestones.is-ready .about-milestones__media.is-in {
        opacity: 1;
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .about-milestones__list::before {
        left: 15px;
        transform: none;
    }

    .about-milestones__list::after {
        left: 15px;
        transform: translateX(-50%);
    }

    .about-milestones__item,
    .about-milestones__item:nth-child(odd) .about-milestones__card,
    .about-milestones__item:nth-child(even) .about-milestones__card {
        display: block;
    }

    .about-milestones__item {
        position: relative;
        padding-left: 48px;
        padding-bottom: 40px;
    }

    .about-milestones__node {
        position: absolute;
        top: 261px;
        left: 8px;
        margin-top: 0;
    }

    .about-milestones__item:nth-child(odd) .about-milestones__card,
    .about-milestones__item:nth-child(even) .about-milestones__card {
        max-width: none;
    }

    .about-milestones__node::before {
        display: none;
    }

    .about-milestones__item:nth-child(odd) .about-milestones__text,
    .about-milestones__item:nth-child(even) .about-milestones__text {
        width: auto;
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }

    .about-milestones__item:nth-child(odd) .about-milestones__year,
    .about-milestones__item:nth-child(even) .about-milestones__year {
        align-self: flex-start;
        margin-left: 0;
        margin-right: 0;
    }

    .about-milestones__title {
        font-size: 1.625rem;
    }

    .about-milestones__year {
        font-size: 2rem;
    }
}

/* End of About — Key Milestones */


/*
 * About — Leadership
 * -----------------------------
*/

.about-leadership {
    padding: 100px 0;
    background-color: var(--color-surface-light);
}

.about-leadership__row {
    --bs-gutter-x: 0;
    column-gap: 135px;
    row-gap: 48px;
}

@media (min-width: 992px) {
    .about-leadership__row > [class*="col-lg"] {
        flex: 1 1 0;
        width: auto;
        max-width: none;
    }
}

@media (max-width: 1199.98px) {
    .about-leadership__row {
        column-gap: 80px;
    }
}

@media (max-width: 991.98px) {
    .about-leadership__row {
        column-gap: 0;
    }
}

.about-leadership__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center center;
}

.about-leadership__copy {
    max-width: none;
}

.about-leadership__label {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.about-leadership__title {
    margin: 0 0 28px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.about-leadership__text {
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.about-leadership__text p {
    margin: 0 0 20px;
}

.about-leadership__text p:last-child {
    margin-bottom: 0;
}

.about-leadership__note {
    margin: 24px 0 0;
    font-family: var(--font-sans);
    font-style: italic;
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

@media (max-width: 991.98px) {
    .about-leadership__media img {
        aspect-ratio: 1 / 1;
    }

    .about-leadership__copy {
        max-width: none;
    }
}

/* End of About — Leadership */


/*
 * About — How We Work
 * -----------------------------
*/

.about-work {
    padding: 100px 0;
    background-color: var(--color-white);
}

.about-work__label {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.about-work__intro {
    margin: 0 0 72px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.about-work__carousel {
    --about-work-height: 400px;
    --about-work-bar: 68px;
    --about-work-active: 540px;
    --about-work-tint: var(--color-navy);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    height: var(--about-work-height);
    margin-bottom: 72px;
}

.about-work__item {
    position: relative;
    display: block;
    flex: 0 0 auto;
    width: var(--about-work-bar);
    height: 100%;
    padding: 0;
    overflow: hidden;
    border: 0;
    background-color: var(--about-work-tint);
    cursor: pointer;
    transition: width 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        height 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        background-color 0.55s ease;
}

/* Mise en avant progressive : plus on s’éloigne du centre, plus la barre est courte et foncée */
.about-work__item.is-dist-1 {
    height: 80%;
    background-color: color-mix(in srgb, var(--about-work-tint) 28%, var(--color-white));
}

.about-work__item.is-dist-2 {
    height: 68%;
    background-color: color-mix(in srgb, var(--about-work-tint) 45%, var(--color-white));
}

.about-work__item.is-dist-3 {
    height: 54%;
    background-color: color-mix(in srgb, var(--about-work-tint) 62%, var(--color-white));
}

.about-work__item.is-active {
    width: var(--about-work-active);
    height: 100%;
    background-color: var(--color-surface-light);
}

.about-work__media {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity 0.45s ease;
}

.about-work__item.is-active .about-work__media {
    opacity: 1;
}

.about-work__media img,
.about-work__media video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Label vertical retourné : lecture du bas vers le haut */
.about-work__name {
    position: absolute;
    top: 50%;
    left: 50%;
    writing-mode: vertical-rl;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 0.875rem;
    line-height: 1;
    white-space: nowrap;
    color: var(--color-white);
    transform: translate(-50%, -50%) rotate(180deg);
    transition: opacity 0.35s ease;
}

.about-work__item.is-active .about-work__name {
    opacity: 0;
}

.about-work__entry {
    display: none;
}

.about-work__entry.is-active {
    display: block;
}

.about-work__title {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.5rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.about-work__text {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

@media (prefers-reduced-motion: reduce) {
    .about-work__item,
    .about-work__media,
    .about-work__name {
        transition: none;
    }
}

@media (max-width: 1199.98px) {
    .about-work__carousel {
        --about-work-height: 320px;
        --about-work-bar: 56px;
        --about-work-active: 400px;
        gap: 16px;
    }
}

@media (max-width: 991.98px) {
    .about-work__carousel {
        width: 100%;
        --about-work-bar: 36px;
        --about-work-active: auto;
        gap: 8px;
    }

    .about-work__item {
        flex: 0 0 var(--about-work-bar);
        width: var(--about-work-bar);
        min-width: 0;
    }

    .about-work__item.is-active {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
    }

    .about-work__name {
        font-size: 0.6875rem;
    }
}

@media (max-width: 767.98px) {
    .about-work__carousel {
        --about-work-height: 240px;
        --about-work-bar: 28px;
        gap: 6px;
    }

    .about-work__item.is-dist-1 {
        height: 88%;
    }

    .about-work__item.is-dist-2 {
        height: 76%;
    }

    .about-work__item.is-dist-3 {
        height: 68%;
    }

    .about-work__name {
        font-size: 0.625rem;
    }

    .about-work__intro,
    .about-work__carousel {
        margin-bottom: 48px;
    }
}

/* End of About — How We Work */


/*
 * About — The Legacy
 * -----------------------------
*/

.about-legacy {
    position: relative;
    overflow: hidden;
    padding: 120px 0;
    background-color: var(--color-navy);
    color: var(--color-white);
}

.about-legacy.is-ready {
    background-color: transparent;
}

.about-legacy__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--color-navy);
}

.about-legacy__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../img/Topic_Pattern.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0.22;
}

.about-legacy.is-ready .about-legacy__bg {
    opacity: 0;
    transform: translateX(-12%);
}

.about-legacy.is-in .about-legacy__bg {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.65s ease-out;
}

.about-legacy .container {
    position: relative;
    z-index: 1;
}

.about-legacy.is-ready .about-legacy__content {
    opacity: 0;
}

.about-legacy.is-copy-in .about-legacy__content {
    opacity: 1;
    transition: opacity 0.55s ease;
}

.about-legacy__logo {
    display: block;
    width: auto;
    max-width: 72px;
    height: auto;
    margin: 0 auto 24px;
}

.about-legacy__label {
    margin: 0 0 72px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    color: var(--color-white);
}

.about-legacy__quote {
    margin: 0 0 64px;
}

.about-legacy__text {
    margin: 0 0 32px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1.35;
    text-align: center;
    color: var(--color-white);
}

.about-legacy__author {
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.3;
    text-align: right;
    color: var(--color-white);
}

.about-legacy__cta {
    text-align: center;
}

@media (prefers-reduced-motion: reduce) {
    .about-legacy.is-ready .about-legacy__bg,
    .about-legacy.is-in .about-legacy__bg {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .about-legacy.is-ready .about-legacy__content,
    .about-legacy.is-copy-in .about-legacy__content {
        opacity: 1;
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .about-legacy {
        padding: 80px 0;
    }

    .about-legacy__label {
        margin-bottom: 48px;
    }

    .about-legacy__text {
        font-size: 1.625rem;
    }
}

/* End of About — The Legacy */


/*
 * Shipping — Six service areas
 * -----------------------------
*/

.shipping-services {
    padding: 100px 0;
    background-color: var(--color-white);
}

.shipping-services__intro {
    margin: 0 auto 40px;
    max-width: 720px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.shipping-services__statement {
    margin: 0 0 88px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.shipping-services__statement em {
    font-style: italic;
    font-weight: 700;
}

.shipping-services__label {
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    color: var(--color-navy);
}

.shipping-services__grid {
    row-gap: 120px;
}

.shipping-services__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: 100%;
    text-align: center;
    color: var(--color-navy);
    text-decoration: none;
}

.shipping-services__card:hover,
.shipping-services__card:focus {
    color: var(--color-navy);
    text-decoration: none;
}

/* Navy par défaut : l’accent de l’entité n’apparaît qu’au survol du bloc entier */
.shipping-services__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    margin-bottom: 24px;
    border: 2px solid var(--color-navy);
    border-radius: 50%;
    font-size: 1.5rem;
    color: var(--color-navy);
    transition: border-color 0.35s ease, color 0.35s ease;
}

.shipping-services__card:hover .shipping-services__icon,
.shipping-services__card:focus-visible .shipping-services__icon {
    border-color: var(--services-accent, var(--color-navy));
    color: var(--services-accent, var(--color-navy));
}

.shipping-services__icon i,
.shipping-services__icon svg {
    display: block;
    width: 1em;
    height: 1em;
}

.shipping-services__title {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.shipping-services__text {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.shipping-services__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    margin-top: auto;
    border-radius: 50%;
    background-color: var(--color-btn);
    color: var(--color-navy);
    font-size: 0.75rem;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.shipping-services__link i {
    display: block;
    transition: transform 0.25s ease;
}

.shipping-services__card:hover .shipping-services__link,
.shipping-services__card:focus-visible .shipping-services__link {
    background-color: var(--services-accent, var(--color-navy));
    color: var(--color-white);
}

.shipping-services__card:hover .shipping-services__link i,
.shipping-services__card:focus-visible .shipping-services__link i {
    transform: translate(3px, -3px);
}

@media (prefers-reduced-motion: reduce) {
    .shipping-services__icon,
    .shipping-services__link,
    .shipping-services__link i {
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .shipping-services {
        padding: 80px 0;
    }

    .shipping-services__statement {
        margin-bottom: 64px;
        font-size: 1.375rem;
    }

    .shipping-services__label {
        margin-bottom: 24px;
    }

    .shipping-services__grid {
        row-gap: 80px;
    }
}

/* End of Shipping — Six service areas */


/*
 * Shipping — The fleet
 * -----------------------------
*/

.shipping-fleet {
    /* 4 colonnes BS : (container + gouttières de row) × 4/12 − padding de slide */
    --fleet-container: 1296px;
    --fleet-slide: calc((var(--fleet-container) + 24px) * 4 / 12 - 12px);
    --fleet-bleed: calc((100vw - var(--fleet-container)) / 2);
    padding: 100px 0;
    scroll-margin-top: var(--header-height);
    background-color: var(--color-surface-light);
    overflow: hidden;
}

@media (max-width: 1399.98px) {
    .shipping-fleet {
        --fleet-container: 1116px;
    }
}

@media (max-width: 1199.98px) {
    .shipping-fleet {
        --fleet-container: 936px;
    }
}

@media (max-width: 991.98px) {
    .shipping-fleet {
        --fleet-container: 696px;
    }
}

@media (max-width: 767.98px) {
    .shipping-fleet {
        --fleet-container: 516px;
    }
}

@media (max-width: 575.98px) {
    .shipping-fleet {
        --fleet-container: calc(100vw - 24px);
        --fleet-bleed: 12px;
    }
}

.shipping-fleet__label {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.shipping-fleet__title {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.shipping-fleet__subtitle {
    margin: 0 0 72px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.shipping-fleet__list {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.shipping-fleet__card {
    position: relative;
    padding: 16px 0;
}

/* Seul le fond blanc déborde : le contenu reste aligné sur la grille */
.shipping-fleet__card::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    z-index: 0;
    background-color: var(--color-white);
}

.shipping-fleet__item--right .shipping-fleet__card::before {
    left: 0;
    right: calc(-1 * var(--fleet-bleed));
}

.shipping-fleet__item--left .shipping-fleet__card::before {
    right: 0;
    left: calc(-1 * var(--fleet-bleed));
}

.shipping-fleet__card-row {
    position: relative;
    z-index: 1;
}

.shipping-fleet__item--left .shipping-fleet__card-row {
    flex-direction: row-reverse;
}

.shipping-fleet__item--left .shipping-fleet__info {
    text-align: right;
}

/* Côté carousel : débord à droite, ou à gauche en miroir */
.shipping-fleet__item--right .shipping-fleet__slider {
    margin-right: calc(-1 * var(--fleet-bleed));
}

.shipping-fleet__item--left .shipping-fleet__slider {
    width: calc(100% + var(--fleet-bleed));
    margin-left: calc(-1 * var(--fleet-bleed));
}

.shipping-fleet__item--left .slick-list {
    overflow: hidden;
}

.shipping-fleet__info {
    padding: 24px 35px;
}

.shipping-fleet__number {
    margin: 0 0 24px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 3rem;
    line-height: 1;
    color: var(--color-entity-shipping);
}

.shipping-fleet__class {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.shipping-fleet__dwt {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.shipping-fleet__details {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.shipping-fleet__note {
    margin: 0;
    font-family: var(--font-sans);
    font-style: italic;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.shipping-fleet__nav {
    display: flex;
    gap: 12px;
    margin-top: 32px;
}

.shipping-fleet__item--left .shipping-fleet__nav {
    justify-content: flex-end;
}

/* Carousel qui tient dans le container : plus de navigation */
.shipping-fleet__item.is-static .shipping-fleet__nav {
    display: none;
}

.shipping-fleet__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid var(--color-navy);
    border-radius: 50%;
    background: none;
    color: var(--color-navy);
    font-size: 0.75rem;
    cursor: pointer;
    transition: background-color 0.25s ease, color 0.25s ease, opacity 0.25s ease;
}

.shipping-fleet__arrow:hover,
.shipping-fleet__arrow:focus-visible {
    background-color: var(--color-navy);
    color: var(--color-white);
}

.shipping-fleet__arrow.slick-disabled {
    opacity: 0.3;
    cursor: default;
}

.shipping-fleet__arrow.slick-disabled:hover {
    background: none;
    color: var(--color-navy);
}

@media (prefers-reduced-motion: reduce) {
    .shipping-fleet__arrow {
        transition: none;
    }
}

.shipping-fleet .slick-slide {
    transition: opacity 0.35s ease;
}

.shipping-fleet .slick-slide.is-out {
    opacity: 0.5;
}

@media (prefers-reduced-motion: reduce) {
    .shipping-fleet .slick-slide {
        transition: none;
    }
}

.shipping-fleet__cell {
    width: var(--fleet-slide);
    padding-right: 12px;
}

.shipping-fleet__vessel {
    position: relative;
    display: block;
    overflow: hidden;
    color: var(--color-white);
    text-decoration: none;
}

.shipping-fleet__vessel:hover,
.shipping-fleet__vessel:focus {
    color: var(--color-white);
    text-decoration: none;
}

.shipping-fleet__vessel img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 9 / 10;
    object-fit: cover;
    object-position: center center;
}

/* Léger voile bas pour garder le nom du navire lisible sur la photo */
.shipping-fleet__vessel::after {
    content: '';
    position: absolute;
    inset: auto 0 0 0;
    height: 40%;
    pointer-events: none;
    background-image: linear-gradient(to top, rgba(0, 32, 57, 0.55), rgba(0, 32, 57, 0));
}

.shipping-fleet__vessel-name {
    position: absolute;
    left: 24px;
    bottom: 20px;
    z-index: 1;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.2;
    color: var(--color-white);
}

.shipping-fleet__vessel-arrow {
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid var(--color-white);
    border-radius: 50%;
    font-size: 0.75rem;
    color: var(--color-white);
    transition: background-color 0.25s ease, color 0.25s ease;
}

.shipping-fleet__vessel-arrow i {
    display: block;
    transition: transform 0.25s ease;
}

.shipping-fleet__vessel:hover .shipping-fleet__vessel-arrow,
.shipping-fleet__vessel:focus-visible .shipping-fleet__vessel-arrow {
    background-color: var(--color-white);
    color: var(--color-navy);
}

.shipping-fleet__vessel:hover .shipping-fleet__vessel-arrow i,
.shipping-fleet__vessel:focus-visible .shipping-fleet__vessel-arrow i {
    transform: translate(3px, -3px);
}

@media (prefers-reduced-motion: reduce) {
    .shipping-fleet__vessel-arrow,
    .shipping-fleet__vessel-arrow i {
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .shipping-fleet {
        padding: 80px 0;
    }

    .shipping-fleet__title {
        font-size: 1.375rem;
    }

    .shipping-fleet__subtitle {
        margin-bottom: 48px;
    }

    .shipping-fleet__info {
        padding: 16px 0 32px;
    }

    .shipping-fleet__item--left .shipping-fleet__card-row {
        flex-direction: row;
    }

    .shipping-fleet__item--left .shipping-fleet__info {
        text-align: left;
    }

    /* En mobile, tout déborde du même côté */
    .shipping-fleet__item--left .shipping-fleet__card::before {
        left: 0;
        right: calc(-1 * var(--fleet-bleed));
    }

    .shipping-fleet__item--left .shipping-fleet__slider {
        width: auto;
        margin-left: 0;
        margin-right: calc(-1 * var(--fleet-bleed));
    }
}

/* End of Shipping — The fleet */


/*
 * Shipping — Grande image
 * -----------------------------
*/

.shipping-visual {
    background-color: var(--color-surface-light);
}

.shipping-visual__frame {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 9;
}

.shipping-visual__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.shipping-visual.is-ready .shipping-visual__img {
    opacity: 0;
    transform: scale(1.1);
}

.shipping-visual.is-in .shipping-visual__img {
    opacity: 1;
    transform: scale(1.15);
    transition: opacity 1s ease-out, transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
    .shipping-visual.is-ready .shipping-visual__img,
    .shipping-visual.is-in .shipping-visual__img {
        opacity: 1;
        transform: scale(1.15);
        transition: none;
    }
}

/* End of Shipping — Grande image */


/*
 * Shipping — Innovation at Sea
 * -----------------------------
*/

.shipping-innovation {
    padding: 140px 0;
    background-color: var(--color-white);
}

.shipping-innovation__label {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.shipping-innovation__title {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.shipping-innovation__text {
    margin: 0 auto;
    max-width: 720px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.shipping-innovation__text p {
    margin: 0 0 20px;
}

.shipping-innovation__text p:last-child {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    .shipping-innovation {
        padding: 100px 0;
    }

    .shipping-innovation__title {
        font-size: 1.5rem;
    }
}

/* End of Shipping — Innovation at Sea */


/*
 * Shipping — How we operate
 * -----------------------------
*/

.shipping-operate {
    position: relative;
    overflow: hidden;
    padding: 140px 0;
    background-color: var(--color-entity-shipping);
    color: var(--color-white);
}

.shipping-operate.is-ready {
    background-color: transparent;
}

.shipping-operate__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--color-entity-shipping);
}

.shipping-operate__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../img/Topic_Pattern.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0.4;
}

.shipping-operate.is-ready .shipping-operate__bg {
    opacity: 0;
    transform: translateX(-12%);
}

.shipping-operate.is-in .shipping-operate__bg {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.65s ease-out;
}

.shipping-operate .container {
    position: relative;
    z-index: 1;
}

.shipping-operate.is-ready .shipping-operate__content {
    opacity: 0;
}

.shipping-operate.is-copy-in .shipping-operate__content {
    opacity: 1;
    transition: opacity 0.55s ease;
}

.shipping-operate__label {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-white);
}

.shipping-operate__text {
    margin: 0 0 48px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    text-align: center;
    color: var(--color-white);
}

.shipping-operate__quote {
    margin: 0 0 48px;
}

.shipping-operate__statement {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-white);
}

.shipping-operate__cta {
    text-align: center;
}

@media (prefers-reduced-motion: reduce) {
    .shipping-operate.is-ready .shipping-operate__bg,
    .shipping-operate.is-in .shipping-operate__bg {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .shipping-operate.is-ready .shipping-operate__content,
    .shipping-operate.is-copy-in .shipping-operate__content {
        opacity: 1;
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .shipping-operate {
        padding: 100px 0;
    }

    .shipping-operate__statement {
        font-size: 1.5rem;
    }
}

/* End of Shipping — How we operate */


/*
 * Vessel — fiche
 * -----------------------------
*/

.vessel-hero {
    padding: 48px 0 0;
    background-color: var(--color-white);
}

.vessel-hero__breadcrumb {
    margin: 0 0 64px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.vessel-hero__breadcrumb p,
.vessel-hero__breadcrumb span {
    display: inline;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-transform: inherit;
}

.vessel-hero__breadcrumb span.vessel-hero__breadcrumb-sep {
    margin: 0 12px;
}

.vessel-hero__breadcrumb a {
    color: var(--color-navy);
    text-decoration: none;
}

.vessel-hero__breadcrumb a:hover,
.vessel-hero__breadcrumb a:focus {
    color: var(--color-navy);
    text-decoration: underline;
}

.vessel-hero__heading {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    margin: 0 0 32px;
}

.vessel-hero__title {
    grid-column: 2;
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.3;
    text-align: center;
    text-transform: uppercase;
    font-style: italic;
    color: var(--color-navy);
}

.vessel-hero__pager {
    grid-column: 3;
    display: flex;
    justify-content: flex-end;
    gap: 16px;
}

.vessel-hero__pager-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--color-navy);
    font-size: 0.875rem;
    text-decoration: none;
}

.vessel-hero__pager-link:hover,
.vessel-hero__pager-link:focus {
    color: var(--color-navy);
    text-decoration: none;
}

.vessel-hero__pager-link.is-disabled {
    opacity: 0.25;
}

.vessel-hero__intro {
    margin: 0 0 48px;
    text-align: center;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.vessel-hero__intro p {
    margin: 0 0 16px;
}

.vessel-hero__intro p:last-child {
    margin-bottom: 0;
}

.vessel-hero__media,
.service-hero__media {
    position: relative;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background-color: var(--color-pale-grey);
}

.vessel-hero__slider,
.service-hero__slider,
.vessel-hero__media .slick-slide,
.service-hero__media .slick-slide,
.vessel-hero__media .slick-slide > div,
.service-hero__media .slick-slide > div,
.vessel-hero__slide,
.service-hero__slide {
    height: 100%;
}

.vessel-hero__media .slick-list,
.vessel-hero__media .slick-track,
.service-hero__media .slick-list,
.service-hero__media .slick-track {
    height: 100% !important;
}

.vessel-hero__slider:not(.slick-initialized) .vessel-hero__slide:nth-child(n+2),
.service-hero__slider:not(.slick-initialized) .service-hero__slide:nth-child(n+2) {
    display: none;
}

.vessel-hero__slide img,
.vessel-hero__slide video,
.service-hero__slide img,
.service-hero__slide video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.vessel-hero__arrow,
.service-hero__arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: var(--color-btn);
    color: var(--color-navy);
    font-size: 0.875rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 0.25s ease, color 0.25s ease;
}

.vessel-hero__media .slick-prev,
.vessel-hero__media .slick-next,
.service-hero__media .slick-prev,
.service-hero__media .slick-next {
    position: absolute !important;
    top: 50% !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

.vessel-hero__media .slick-prev,
.service-hero__media .slick-prev {
    left: 16px !important;
    right: auto !important;
}

.vessel-hero__media .slick-next,
.service-hero__media .slick-next {
    left: auto !important;
    right: 16px !important;
}

.vessel-hero__arrow:hover,
.vessel-hero__arrow:focus,
.service-hero__arrow:hover,
.service-hero__arrow:focus {
    background-color: var(--color-navy);
    color: var(--color-white);
}

.vessel-hero__media .slick-prev:before,
.vessel-hero__media .slick-next:before,
.vessel-hero__arrow:before,
.service-hero__media .slick-prev:before,
.service-hero__media .slick-next:before,
.service-hero__arrow:before {
    font-family: 'Font Awesome 7 Pro';
    font-style: normal;
    font-weight: 900;
    font-size: 1rem;
    color: inherit;
    opacity: 1;
}

.vessel-hero__media .slick-prev:before,
.vessel-hero__arrow--prev:before,
.service-hero__media .slick-prev:before,
.service-hero__arrow--prev:before {
    content: '\f060';
}

.vessel-hero__media .slick-next:before,
.vessel-hero__arrow--next:before,
.service-hero__media .slick-next:before,
.service-hero__arrow--next:before {
    content: '\f061';
}

.vessel-specs {
    padding: 72px 0;
    background-color: var(--color-white);
    text-align: center;
}

.vessel-specs__value {
    margin: 0 0 12px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 3.5rem;
    line-height: 1.15;
    color: var(--color-entity-shipping);
}

.vessel-specs__label {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.vessel-sisters {
    padding: 80px 0 100px;
    background-color: var(--color-surface-light);
}

.vessel-sisters__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-bottom: 40px;
    color: var(--color-navy);
    text-decoration: none;
}

.vessel-sisters__card:hover,
.vessel-sisters__card:focus {
    color: var(--color-navy);
    text-decoration: none;
}

.vessel-sisters__media {
    display: block;
    overflow: hidden;
    margin-bottom: 32px;
}

.vessel-sisters__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    object-position: center center;
}

.vessel-sisters__name {
    display: block;
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.vessel-sisters__text {
    display: -webkit-box;
    overflow: hidden;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
    color: var(--color-navy);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.vessel-sisters__link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    margin-top: 24px;
    border-radius: 50%;
    background-color: var(--color-btn);
    color: var(--color-navy);
    font-size: 0.75rem;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.vessel-sisters__link i {
    display: block;
    transition: transform 0.25s ease;
}

.vessel-sisters__card:hover .vessel-sisters__link,
.vessel-sisters__card:focus-visible .vessel-sisters__link {
    background-color: var(--color-entity-shipping);
    color: var(--color-white);
}

.vessel-sisters__card:hover .vessel-sisters__link i,
.vessel-sisters__card:focus-visible .vessel-sisters__link i {
    transform: translate(3px, -3px);
}

@media (prefers-reduced-motion: reduce) {
    .vessel-sisters__link,
    .vessel-sisters__link i {
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .vessel-hero__breadcrumb {
        margin-bottom: 40px;
    }

    .vessel-hero__heading {
        grid-template-columns: 1fr auto;
        row-gap: 16px;
    }

    .vessel-hero__title {
        grid-column: 1;
        grid-row: 1;
        font-size: 1.375rem;
        text-align: left;
    }

    .vessel-hero__pager {
        grid-column: 2;
        grid-row: 1;
    }

    .vessel-specs {
        padding: 48px 0;
    }

    .vessel-specs__value {
        font-size: 2rem;
        margin-top: 24px;
    }

    .vessel-sisters {
        padding: 56px 0 72px;
    }
}

/* End of Vessel — fiche */


/*
 * Service — fiche (Crewing = modèle)
 * -----------------------------
*/

.service-hero {
    padding: 48px 0 0;
    margin-bottom: 120px;
    background-color: var(--color-white);
}

.service-hero__breadcrumb {
    margin: 0 0 64px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.service-hero__breadcrumb p,
.service-hero__breadcrumb span {
    display: inline;
    margin: 0;
    padding: 0;
    font: inherit;
    color: inherit;
    text-transform: inherit;
}

.service-hero__breadcrumb span.service-hero__breadcrumb-sep {
    margin: 0 12px;
}

.service-hero__breadcrumb a {
    color: var(--color-navy);
    text-decoration: none;
}

.service-hero__breadcrumb a:hover,
.service-hero__breadcrumb a:focus {
    color: var(--color-navy);
    text-decoration: underline;
}

.service-hero__title {
    margin: 0 0 35px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1.5625rem;
    line-height: 1.2;
    text-align: center;
    text-transform: uppercase;
    color: var(--color-navy);
}

.service-hero__intro {
    margin: 0 0 65px;
    text-align: center;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.service-hero__intro p {
    margin: 0 0 16px;
}

.service-hero__intro p:last-child {
    margin-bottom: 0;
}

.service-offer {
    padding: 80px 0 40px;
    background-color: var(--color-surface-light);
    text-align: center;
}

.service-offer__label,
.service-standard__title,
.service-location__title {
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1.15rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.service-offer__label {
    margin: 0 0 56px;
}

.service-offer__item {
    margin-bottom: 56px;
}

.service-offer__number {
    margin: 0 0 12px;
    font-family: var(--font-serif);
    font-weight: 500;
    font-size: 3.35rem;
    line-height: 1.15;
    color: var(--service-accent, var(--color-navy));
}

.service-offer__name {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.service-standard {
    padding: 100px 0;
    background-color: var(--color-white);
}

.service-standard__title,
.service-location__title {
    margin: 0 0 32px;
}

.service-standard__text,
.service-location__text {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.service-location {
    padding: 100px 0;
    background-color: var(--color-surface-light);
}

.service-location__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 32px;
    font-size: 2.5rem;
    color: var(--service-accent, var(--color-navy));
}

.service-career {
    position: relative;
    overflow: hidden;
    padding: 120px 0;
    background-color: var(--service-accent, var(--color-navy));
    color: var(--color-white);
}

.service-career.is-ready {
    background-color: transparent;
}

.service-career__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--service-accent, var(--color-navy));
}

.service-career__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../img/Topic_Pattern.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0.4;
}

.service-career.is-ready .service-career__bg {
    opacity: 0;
    transform: translateX(-12%);
}

.service-career.is-in .service-career__bg {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.65s ease-out;
}

.service-career .container {
    position: relative;
    z-index: 1;
}

.service-career.is-ready .service-career__content {
    opacity: 0;
}

.service-career.is-copy-in .service-career__content {
    opacity: 1;
    transition: opacity 0.55s ease;
}

.service-career__label {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-white);
}

.service-career__quote {
    margin: 0 0 48px;
    font-family: var(--font-serif);
    font-style: italic;
    font-weight: 400;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-white);
}

.service-career__cta {
    text-align: center;
}

@media (max-width: 991.98px) {
    .service-hero__breadcrumb {
        margin-bottom: 40px;
    }

    .service-hero__intro {
        font-size: 1rem;
    }

    .service-offer {
        padding: 56px 0 16px;
    }

    .service-offer__number {
        font-size: 2.75rem;
    }

    .service-standard,
    .service-location {
        padding: 64px 0;
    }

    .service-career {
        padding: 80px 0;
    }

    .service-career__quote {
        font-size: 1.375rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .service-career.is-ready .service-career__bg,
    .service-career.is-in .service-career__bg {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .service-career.is-ready .service-career__content,
    .service-career.is-copy-in .service-career__content {
        opacity: 1;
        transition: none;
    }
}

/* End of Service — fiche */


/*
 * Innovation
 * -----------------------------
*/

.innovation-intro {
    padding: 100px 0 0;
    margin-bottom: 100px;
    background-color: var(--color-white);
}

.innovation-intro__title {
    margin: 0 0 40px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1.15rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.innovation-intro__lead {
    margin: 0 0 40px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.innovation-intro__text {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.innovation-steps {
    padding: 150px 0;
    background-color: var(--color-white);
}

.innovation-steps__item + .innovation-steps__item {
    margin-top: 120px;
}

.innovation-steps__row {
    --bs-gutter-x: 0;
    column-gap: 135px;
    row-gap: 40px;
}

@media (min-width: 992px) {
    .innovation-steps__row > [class*="col-lg"] {
        flex: 1 1 0;
        width: auto;
        max-width: none;
    }
}

@media (max-width: 1199.98px) {
    .innovation-steps__row {
        column-gap: 80px;
    }
}

@media (max-width: 991.98px) {
    .innovation-steps__row {
        column-gap: 0;
    }
}

.innovation-steps__item--flip .innovation-steps__media-col {
    order: 2;
}

.innovation-steps__item--flip .innovation-steps__copy-col {
    order: 1;
    text-align: right;
}

.innovation-steps__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center center;
    background-color: var(--color-surface-light);
}

.innovation-steps__year {
    margin: 0 0 24px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 3.5rem;
    line-height: 1;
    color: var(--color-sea-green);
}

.innovation-steps__title {
    margin: 0 0 28px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.35;
    color: var(--color-navy);
}

.innovation-steps__text {
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.innovation-steps__text p {
    margin: 0 0 20px;
}

.innovation-steps__text p:last-child {
    margin-bottom: 0;
}

.innovation-steps__signature {
    margin: 20px 0 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
    text-align: right;
}

.innovation-visual {
    padding: 100px 0;
    background-color: var(--color-surface-light);
}

.innovation-visual__frame {
    position: relative;
    width: 100%;
    margin-bottom: 80px;
    overflow: hidden;
    aspect-ratio: 16 / 9;
    background-color: var(--color-surface-light);
}

.innovation-visual__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

.innovation-visual.is-ready .innovation-visual__img {
    opacity: 0;
    transform: scale(1.1);
}

.innovation-visual.is-in .innovation-visual__img {
    opacity: 1;
    transform: scale(1.15);
    transition: opacity 1s ease-out, transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.innovation-visual__label {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1.15rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.innovation-visual__title {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.innovation-visual__text {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.innovation-visual__text p {
    margin: 0 0 20px;
}

.innovation-visual__text p:last-child {
    margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
    .innovation-visual.is-ready .innovation-visual__img,
    .innovation-visual.is-in .innovation-visual__img {
        opacity: 1;
        transform: scale(1.15);
        transition: none;
    }
}

.innovation-steps.is-ready .innovation-steps__item {
    opacity: 0;
    transform: translateY(28px);
}

.innovation-steps.is-ready .innovation-steps__item.is-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
    .innovation-steps.is-ready .innovation-steps__item,
    .innovation-steps.is-ready .innovation-steps__item.is-in {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.innovation-scholar {
    padding: 100px 0;
    background-color: var(--color-white);
    text-align: center;
}

.innovation-scholar__title {
    margin: 0 0 72px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1.15rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.innovation-scholar__item {
    margin-bottom: 0;
}

.innovation-scholar__number {
    margin: 0 0 16px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 3.5rem;
    line-height: 1;
    color: var(--color-sea-green);
}

.innovation-scholar__name {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.innovation-scholar__text {
    margin: 0 auto;
    max-width: 320px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.innovation-scholar.is-ready .innovation-scholar__item {
    opacity: 0;
    transform: translateY(28px);
}

.innovation-scholar.is-ready .innovation-scholar__item.is-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

@media (prefers-reduced-motion: reduce) {
    .innovation-scholar.is-ready .innovation-scholar__item,
    .innovation-scholar.is-ready .innovation-scholar__item.is-in {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

.innovation-commit {
    position: relative;
    overflow: hidden;
    padding: 140px 0;
    background-color: var(--color-sea-green);
    color: var(--color-white);
}

.innovation-commit.is-ready {
    background-color: transparent;
}

.innovation-commit__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--color-sea-green);
}

.innovation-commit__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../img/Topic_Pattern.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0.4;
}

.innovation-commit.is-ready .innovation-commit__bg {
    opacity: 0;
    transform: translateX(-12%);
}

.innovation-commit.is-in .innovation-commit__bg {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.65s ease-out;
}

.innovation-commit .container {
    position: relative;
    z-index: 1;
}

.innovation-commit.is-ready .innovation-commit__content {
    opacity: 0;
}

.innovation-commit.is-copy-in .innovation-commit__content {
    opacity: 1;
    transition: opacity 0.55s ease;
}

.innovation-commit__label {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-white);
}

.innovation-commit__text {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1.35;
    text-align: center;
    color: var(--color-white);
}

@media (prefers-reduced-motion: reduce) {
    .innovation-commit.is-ready .innovation-commit__bg,
    .innovation-commit.is-in .innovation-commit__bg {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .innovation-commit.is-ready .innovation-commit__content,
    .innovation-commit.is-copy-in .innovation-commit__content {
        opacity: 1;
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .innovation-intro {
        padding: 64px 0 0;
        margin-bottom: 64px;
    }

    .innovation-intro__lead {
        font-size: 1.5rem;
    }

    .innovation-steps {
        padding: 114px 0;
    }

    .innovation-steps__item + .innovation-steps__item {
        margin-top: 64px;
    }

    .innovation-steps__item--flip .innovation-steps__media-col,
    .innovation-steps__item--flip .innovation-steps__copy-col {
        order: 0;
    }

    .innovation-steps__item--flip .innovation-steps__copy-col {
        text-align: left;
    }

    .innovation-steps__year {
        font-size: 2.5rem;
    }

    .innovation-visual {
        padding: 64px 0;
    }

    .innovation-visual__frame {
        margin-bottom: 48px;
    }

    .innovation-visual__title {
        font-size: 1.5rem;
    }

    .innovation-scholar {
        padding: 64px 0;
    }

    .innovation-scholar__title {
        margin-bottom: 48px;
    }

    .innovation-scholar__item {
        margin-bottom: 40px;
    }

    .innovation-scholar__number {
        font-size: 2.75rem;
    }

    .innovation-commit {
        padding: 100px 0;
    }

    .innovation-commit__text {
        font-size: 1.625rem;
    }

    .page-hero--innovation .page-hero__bottom-logo,
    .page-hero--ventures .page-hero__bottom-logo {
        width: 140px;
    }
}

/* End of Innovation */


/*
 * Ventures
 * -----------------------------
*/

.ventures-intro {
    padding: 100px 0;
    background-color: var(--color-white);
}

.ventures-intro__lead {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.ventures-focus {
    padding: 100px 0;
    background-color: var(--color-surface-light);
    text-align: center;
}

.ventures-focus__title {
    margin: 0 0 72px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1.15rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.ventures-focus__item {
    display: block;
    margin-bottom: 0;
    color: inherit;
    text-decoration: none;
}

.ventures-focus__number {
    margin: 0 0 16px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 3.5rem;
    line-height: 1;
    color: var(--color-entity-ventures);
}

.ventures-focus__name {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.ventures-focus__text {
    margin: 0 auto 40px;
    max-width: 320px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.ventures-focus__photo {
    position: relative;
    width: 120px;
    height: 120px;
    margin: 0 auto;
}

.ventures-focus__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    border-radius: 50%;
    background-color: var(--color-pale-grey);
}

.ventures-focus__arrow {
    position: absolute;
    right: -8px;
    bottom: -8px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: var(--color-btn);
    color: var(--color-navy);
    font-size: 0.75rem;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.ventures-focus__arrow i {
    display: block;
    transition: transform 0.25s ease;
}

.ventures-focus__item:hover .ventures-focus__arrow,
.ventures-focus__item:focus-visible .ventures-focus__arrow {
    background-color: var(--color-entity-ventures);
    color: var(--color-white);
}

.ventures-focus__item:hover .ventures-focus__arrow i,
.ventures-focus__item:focus-visible .ventures-focus__arrow i {
    transform: translate(3px, -3px);
}

@media (prefers-reduced-motion: reduce) {
    .ventures-focus__arrow,
    .ventures-focus__arrow i {
        transition: none;
    }

    .ventures-focus__item:hover .ventures-focus__arrow i,
    .ventures-focus__item:focus-visible .ventures-focus__arrow i {
        transform: none;
    }
}

.ventures-focus.is-ready .ventures-focus__item {
    opacity: 0;
    transform: translateY(28px);
}

.ventures-focus.is-ready .ventures-focus__item.is-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.ventures-feature {
    padding: 130px 0 200px;
    background-color: var(--color-white);
}

.ventures-feature__row {
    --bs-gutter-x: 0;
    column-gap: 135px;
    row-gap: 40px;
}

@media (min-width: 992px) {
    .ventures-feature__row > [class*="col-lg"] {
        flex: 1 1 0;
        width: auto;
        max-width: none;
    }
}

@media (max-width: 1199.98px) {
    .ventures-feature__row {
        column-gap: 80px;
    }
}

@media (max-width: 991.98px) {
    .ventures-feature__row {
        column-gap: 0;
    }
}

.ventures-feature__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    object-position: center center;
    background-color: var(--color-surface-light);
}

.ventures-feature__label {
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1.15rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.ventures-feature__item {
    display: block;
    color: inherit;
    text-decoration: none;
}

.ventures-feature__item:hover,
.ventures-feature__item:focus {
    color: inherit;
    text-decoration: none;
}

.ventures-feature__title {
    margin: 0 0 24px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    text-transform: none;
    color: var(--color-navy);
}

.ventures-feature__text {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.ventures-feature__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background-color: var(--color-btn);
    color: var(--color-navy);
    font-size: 0.75rem;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.ventures-feature__arrow i {
    display: block;
    transition: transform 0.25s ease;
}

.ventures-feature__item:hover .ventures-feature__arrow,
.ventures-feature__item:focus-visible .ventures-feature__arrow {
    background-color: var(--color-entity-ventures);
    color: var(--color-white);
}

.ventures-feature__item:hover .ventures-feature__arrow i,
.ventures-feature__item:focus-visible .ventures-feature__arrow i {
    transform: translate(3px, -3px);
}

.ventures-feature.is-ready .ventures-feature__item {
    opacity: 0;
    transform: translateY(28px);
}

.ventures-feature.is-ready .ventures-feature__item.is-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.ventures-commit {
    position: relative;
    overflow: hidden;
    padding: 140px 0;
    background-color: var(--color-entity-ventures);
    color: var(--color-white);
}

.ventures-commit.is-ready {
    background-color: transparent;
}

.ventures-commit__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--color-entity-ventures);
}

.ventures-commit__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../img/Topic_Pattern.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0.4;
}

.ventures-commit.is-ready .ventures-commit__bg {
    opacity: 0;
    transform: translateX(-12%);
}

.ventures-commit.is-in .ventures-commit__bg {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.65s ease-out;
}

.ventures-commit .container {
    position: relative;
    z-index: 1;
}

.ventures-commit.is-ready .ventures-commit__content {
    opacity: 0;
}

.ventures-commit.is-copy-in .ventures-commit__content {
    opacity: 1;
    transition: opacity 0.55s ease;
}

.ventures-commit__text {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1.35;
    text-align: center;
    color: var(--color-white);
}

@media (prefers-reduced-motion: reduce) {
    .ventures-feature__arrow,
    .ventures-feature__arrow i {
        transition: none;
    }

    .ventures-feature__item:hover .ventures-feature__arrow i,
    .ventures-feature__item:focus-visible .ventures-feature__arrow i {
        transform: none;
    }

    .ventures-focus.is-ready .ventures-focus__item,
    .ventures-focus.is-ready .ventures-focus__item.is-in,
    .ventures-feature.is-ready .ventures-feature__item,
    .ventures-feature.is-ready .ventures-feature__item.is-in,
    .ventures-commit.is-ready .ventures-commit__bg,
    .ventures-commit.is-in .ventures-commit__bg,
    .ventures-commit.is-ready .ventures-commit__content,
    .ventures-commit.is-copy-in .ventures-commit__content {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .ventures-intro {
        padding: 64px 0;
    }

    .ventures-intro__lead {
        font-size: 1.5rem;
    }

    .ventures-focus {
        padding: 64px 0;
    }

    .ventures-focus__title {
        margin-bottom: 48px;
    }

    .ventures-focus__item {
        margin-bottom: 48px;
    }

    .ventures-focus__number {
        font-size: 2.75rem;
    }

    .ventures-feature {
        padding: 80px 0 110px;
    }

    .ventures-feature__title {
        font-size: 1.5rem;
    }

    .ventures-commit {
        padding: 100px 0;
    }

    .ventures-commit__text {
        font-size: 1.625rem;
    }

    .page-hero--ventures .page-hero__bottom-logo,
    .page-hero--people .page-hero__bottom-logo {
        width: 140px;
    }
}

/* End of Ventures */


/*
 * People
 * -----------------------------
*/

.people-intro {
    padding: 100px 0;
    background-color: var(--color-white);
}

.people-intro__copy {
    margin: 0 0 80px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.people-intro__copy p {
    margin: 0 0 20px;
}

.people-intro__copy p:last-child {
    margin-bottom: 0;
}

.people-intro__quote {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.people-voices {
    padding: 40px 0 100px;
    background-color: var(--color-white);
}

.people-voices__group + .people-voices__group {
    margin-top: 80px;
    padding-top: 80px;
    border-top: 1px solid var(--color-pale-grey);
}

.people-voices__title {
    margin: 0 0 32px;
    padding: 0 50px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1.15rem;
    line-height: 1.2;
    text-align: left;
    text-transform: uppercase;
    color: var(--color-navy);
}

.people-voices__item {
    padding: 50px;
    background-color: var(--color-surface-light);
}

.people-voices__item + .people-voices__item {
    margin-top: 80px;
}

.people-voices__row {
    --bs-gutter-x: 0;
    column-gap: 80px;
    row-gap: 40px;
}

@media (min-width: 992px) {
    .people-voices__media-col {
        flex: 0 0 auto;
        width: auto;
        max-width: none;
    }

    .people-voices__copy-col {
        flex: 1 1 0;
        width: auto;
        max-width: none;
    }
}

@media (min-width: 1200px) {
    .people-voices__row {
        column-gap: 120px;
    }
}

@media (max-width: 991.98px) {
    .people-voices__row {
        column-gap: 0;
    }
}

.people-voices__item--flip .people-voices__media-col {
    order: 2;
}

.people-voices__copy-col {
    padding: 35px 35px 35px 0;
}

.people-voices__item--flip .people-voices__copy-col {
    order: 1;
    text-align: right;
    padding: 35px 0 35px 35px;
}

.people-voices__media img {
    display: block;
    width: 100%;
    max-width: 380px;
    height: auto;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    object-position: center top;
    background-color: var(--color-white);
}

.people-voices__name {
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.25;
    color: var(--color-navy);
}

.people-voices__role {
    margin: 0 0 20px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--color-navy);
}

.people-voices__meta {
    margin: 0 0 20px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.people-voices__lead {
    margin: 0 0 28px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.people-voices__quote {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.people-voices.is-ready .people-voices__item {
    opacity: 0;
    transform: translateY(28px);
}

.people-voices.is-ready .people-voices__item.is-in {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.75s ease, transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.people-shore {
    padding: 120px 0;
    background-color: var(--color-surface-light);
}

.people-shore__title {
    margin: 0 0 28px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 1.15rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.people-shore__copy {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.people-commit {
    position: relative;
    overflow: hidden;
    padding: 140px 0;
    background-color: var(--color-entity-people);
    color: var(--color-white);
}

.people-commit.is-ready {
    background-color: transparent;
}

.people-commit__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--color-entity-people);
}

.people-commit__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../img/Topic_Pattern.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0.4;
}

.people-commit.is-ready .people-commit__bg {
    opacity: 0;
    transform: translateX(-12%);
}

.people-commit.is-in .people-commit__bg {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.65s ease-out;
}

.people-commit .container {
    position: relative;
    z-index: 1;
}

.people-commit.is-ready .people-commit__content {
    opacity: 0;
}

.people-commit.is-copy-in .people-commit__content {
    opacity: 1;
    transition: opacity 0.55s ease;
}

.people-commit__label {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-white);
}

.people-commit__text {
    margin: 0 0 48px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1.35;
    text-align: center;
    color: var(--color-white);
}

.people-commit__cta {
    text-align: center;
}

@media (prefers-reduced-motion: reduce) {
    .people-voices.is-ready .people-voices__item,
    .people-voices.is-ready .people-voices__item.is-in,
    .people-commit.is-ready .people-commit__bg,
    .people-commit.is-in .people-commit__bg,
    .people-commit.is-ready .people-commit__content,
    .people-commit.is-copy-in .people-commit__content {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .people-intro {
        padding: 64px 0;
    }

    .people-intro__quote {
        font-size: 1.5rem;
    }

    .people-voices {
        padding: 24px 0 64px;
    }

    .people-shore {
        padding: 80px 0;
    }

    .people-voices__title {
        margin-bottom: 24px;
        padding: 0 32px;
    }

    .people-voices__item {
        padding: 40px 32px;
    }

    .people-voices__item + .people-voices__item {
        margin-top: 64px;
    }

    .people-voices__item--flip .people-voices__media-col,
    .people-voices__item--flip .people-voices__copy-col {
        order: 0;
    }

    .people-voices__item--flip .people-voices__copy-col {
        text-align: left;
        padding: 35px 35px 35px 0;
    }

    .people-voices__group + .people-voices__group {
        margin-top: 80px;
    }

    .people-commit {
        padding: 100px 0;
    }

    .people-commit__text {
        font-size: 1.625rem;
    }
}

/* End of People */


/*
 * News — archive
 * -----------------------------
*/

.news-featured {
    padding: 100px 0;
    background-color: var(--color-surface-light);
}

.news-featured__item {
    display: block;
    color: inherit;
    text-decoration: none;
}

.news-featured__item:hover,
.news-featured__item:focus {
    color: inherit;
    text-decoration: none;
}

.news-featured__item:hover .topic-btn__icon,
.news-featured__item:focus .topic-btn__icon {
    background-color: var(--color-navy);
    color: var(--color-white);
}

.news-featured__item:hover .topic-btn__icon i,
.news-featured__item:focus .topic-btn__icon i {
    transform: translate(3px, -3px);
}

.news-list {
    padding: 100px 0 150px;
    background-color: var(--color-white);
}

.news-list__featured-media,
.news-list__card-media {
    display: block;
}

.news-list__featured-media img,
.news-list__card-media img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;
    background-color: var(--color-surface-light);
}

.news-list__featured-media img {
    aspect-ratio: 4 / 5;
}

@media (min-width: 992px) {
    .news-list__featured-media img {
        width: calc(100% - 100px);
    }
}

.news-list__card-media img {
    aspect-ratio: 5 / 4;
}

.news-list__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    margin: 0 0 16px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 0.875rem;
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--color-navy);
}

.news-list__date {
    font-weight: 500;
}

.news-list__featured-title {
    margin: 0 0 20px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.news-list__excerpt {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.news-list__card {
    display: block;
    height: 100%;
    color: var(--color-navy);
    text-decoration: none;
}

.news-list__card:hover,
.news-list__card:focus {
    color: var(--color-navy);
    text-decoration: none;
}

.news-list__card-media {
    margin: 0 0 24px;
}

.news-list__card-title {
    display: -webkit-box;
    overflow: hidden;
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.3;
    color: var(--color-navy);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.news-list__link {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    margin-top: 24px;
    border-radius: 50%;
    background-color: var(--color-btn);
    color: var(--color-navy);
    font-size: 0.75rem;
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease;
}

.news-list__link i {
    display: block;
    transition: transform 0.25s ease;
}

.news-list__card:hover .news-list__link,
.news-list__card:focus-visible .news-list__link {
    background-color: var(--color-navy);
    color: var(--color-white);
}

.news-list__card:hover .news-list__link i,
.news-list__card:focus-visible .news-list__link i {
    transform: translate(3px, -3px);
}

@media (prefers-reduced-motion: reduce) {
    .news-list__link,
    .news-list__link i {
        transition: none;
    }
}

.news-pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 80px;
}

.news-pagination__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 10px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1;
    color: var(--color-navy);
    text-decoration: none;
}

.news-pagination__item:hover,
.news-pagination__item:focus {
    color: var(--color-navy);
    text-decoration: none;
}

.news-pagination__item.is-current {
    font-weight: 700;
}

.news-pagination__item.is-disabled {
    opacity: 0.25;
    pointer-events: none;
}

@media (max-width: 991.98px) {
    .news-featured {
        padding: 100px 0;
    }

    .news-list {
        padding: 64px 0 80px;
    }

    .news-list__featured-title {
        font-size: 1.5rem;
    }

    .news-list__card-title {
        font-size: 1.125rem;
    }
}

/* End of News — archive */


/*
 * News — détail
 * -----------------------------
*/

.news-detail-hero {
    padding: 48px 0 0;
    background-color: var(--color-white);
}

.news-detail-hero__breadcrumb {
    margin: 0 0 64px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-navy);
}

.news-detail-hero__breadcrumb-sep {
    margin: 0 12px;
}

.news-detail-hero__breadcrumb a {
    color: var(--color-navy);
    text-decoration: none;
}

.news-detail-hero__breadcrumb a:hover,
.news-detail-hero__breadcrumb a:focus {
    color: var(--color-navy);
    text-decoration: underline;
}

.news-detail-hero__heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    margin: 0 0 16px;
}

.news-detail-hero__title {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 2rem;
    line-height: 1.25;
    color: var(--color-navy);
}

.news-detail-hero__pager {
    display: flex;
    flex-shrink: 0;
    justify-content: flex-end;
    gap: 16px;
    padding-top: 8px;
}

.news-detail-hero__pager-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: var(--color-navy);
    font-size: 0.875rem;
    text-decoration: none;
}

.news-detail-hero__pager-link:hover,
.news-detail-hero__pager-link:focus {
    color: var(--color-navy);
    text-decoration: none;
}

.news-detail-hero__pager-link.is-disabled {
    opacity: 0.25;
    pointer-events: none;
}

.news-detail-hero__category {
    margin: 0 0 48px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 0.875rem;
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--color-navy);
}

.news-detail-hero__media {
    overflow: hidden;
    margin: 0 0 48px;
    background-color: var(--color-surface-light);
}

.news-detail-hero__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center center;
}

.news-detail-hero__body {
    margin: 0 0 80px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

.news-detail-hero__body p {
    margin: 0 0 16px;
}

.news-detail-hero__body p:last-child {
    margin-bottom: 0;
}

.news-detail-hero__body h2 {
    margin: 32px 0 16px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1.5rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.news-detail-hero__body h2:first-child {
    margin-top: 0;
}

.news-detail-hero__body strong {
    font-weight: 700;
}

.news-detail-hero__body ul {
    margin: 0 0 16px;
    padding-left: 22px;
    list-style: disc;
}

.news-detail-hero__body li {
    margin: 0 0 8px;
}

.news-detail-hero__body li:last-child {
    margin-bottom: 0;
}

.news-detail-hero__body hr {
    margin: 32px 0;
    border: 0;
    border-top: 1px solid var(--color-pale-grey);
}

.news-detail-hero__body blockquote {
    margin: 0 0 16px;
    padding: 0 0 0 20px;
    border-left: 2px solid var(--color-navy);
}

.news-detail-hero__body blockquote p {
    margin: 0;
}

.news-detail-related {
    padding: 0 0 100px;
    background-color: var(--color-white);
}

.news-detail-related__card {
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-bottom: 40px;
    color: var(--color-navy);
    text-decoration: none;
}

.news-detail-related__card:hover,
.news-detail-related__card:focus {
    color: var(--color-navy);
    text-decoration: none;
}

.news-detail-related__media {
    display: block;
    overflow: hidden;
    margin-bottom: 24px;
}

.news-detail-related__media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 5 / 4;
    object-fit: cover;
    object-position: center center;
    background-color: var(--color-surface-light);
}

.news-detail-related__category {
    display: block;
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-weight: 300;
    font-size: 0.75rem;
    line-height: 1.3;
    text-transform: uppercase;
    color: var(--color-navy);
}

.news-detail-related__title {
    display: -webkit-box;
    overflow: hidden;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.3;
    color: var(--color-navy);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

@media (max-width: 991.98px) {
    .news-detail-hero__breadcrumb {
        margin-bottom: 40px;
    }

    .news-detail-hero__heading {
        gap: 16px;
    }

    .news-detail-hero__title {
        font-size: 1.5rem;
    }

    .news-detail-hero__category {
        margin-bottom: 32px;
    }

    .news-detail-hero__body {
        margin-bottom: 56px;
    }

    .news-detail-related {
        padding-bottom: 72px;
    }
}

/* End of News — détail */


/*
 * Contact
 * -----------------------------
*/

.contact-form {
    padding: 100px 0;
    background-color: var(--color-surface-light);
}

.contact-form__title,
.contact-places__title {
    margin: 0 0 48px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1.75rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.contact-form__form {
    position: relative;
    max-width: 640px;
    margin: 0 auto;
    text-align: left;
}

.contact-form__hp {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.contact-form__feedback {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4;
}

.contact-form__feedback--success {
    color: var(--color-navy);
}

.contact-form__feedback--error {
    color: var(--color-red);
}

.contact-form__field {
    display: block;
    margin: 0 0 16px;
}

.contact-form__field input,
.contact-form__field textarea {
    display: block;
    width: 100%;
    padding: 16px 20px;
    border: 1px solid transparent;
    border-radius: 0;
    background-color: var(--color-white);
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4;
    color: var(--color-navy);
    box-shadow: none;
    outline: none;
    resize: none;
}

.contact-form__field textarea {
    min-height: 120px;
}

.contact-form__field input::placeholder,
.contact-form__field textarea::placeholder {
    color: var(--color-light-grey);
}

.contact-form__field input:hover,
.contact-form__field input:active,
.contact-form__field input:focus,
.contact-form__field textarea:hover,
.contact-form__field textarea:active,
.contact-form__field textarea:focus {
    border-color: var(--color-pale-grey);
}

.contact-form__cta {
    margin-top: 40px;
    text-align: center;
}

.contact-form__cta .topic-btn {
    cursor: pointer;
}

.contact-places {
    padding: 100px 0 120px;
    background-color: var(--color-white);
}

.contact-places__block {
    margin: 0 0 48px;
}

.contact-places__block:last-child {
    margin-bottom: 0;
}

.contact-places__name {
    margin: 0 0 12px;
    font-family: var(--font-sans);
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.4;
    color: var(--color-navy);
}

.contact-places__address {
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    font-style: normal;
    color: var(--color-navy);
}

.contact-places__address p {
    margin: 0;
}

.contact-places__address a {
    color: inherit;
    text-decoration: none;
}

.contact-places__address a:hover,
.contact-places__address a:focus {
    color: inherit;
    text-decoration: underline;
}

.contact-places__offices {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 8px 0;
    margin: 0;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4;
    text-transform: uppercase;
    color: var(--color-navy);
}

.contact-places__offices span:not(:last-child)::after {
    content: '|';
    margin: 0 12px;
    font-weight: 400;
}

.contact-commit {
    position: relative;
    overflow: hidden;
    padding: 140px 0;
    background-color: var(--color-navy);
    color: var(--color-white);
}

.contact-commit.is-ready {
    background-color: transparent;
}

.contact-commit__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-color: var(--color-navy);
}

.contact-commit__bg::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image: url('../img/Topic_Pattern.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    opacity: 0.22;
}

.contact-commit.is-ready .contact-commit__bg {
    opacity: 0;
    transform: translateX(-12%);
}

.contact-commit.is-in .contact-commit__bg {
    opacity: 1;
    transform: translateX(0);
    transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.65s ease-out;
}

.contact-commit .container {
    position: relative;
    z-index: 1;
}

.contact-commit.is-ready .contact-commit__content {
    opacity: 0;
}

.contact-commit.is-copy-in .contact-commit__content {
    opacity: 1;
    transition: opacity 0.55s ease;
}

.contact-commit__label {
    margin: 0 0 32px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.2;
    text-transform: uppercase;
    color: var(--color-white);
}

.contact-commit__text {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1.35;
    text-align: center;
    color: var(--color-white);
}

@media (prefers-reduced-motion: reduce) {
    .contact-commit.is-ready .contact-commit__bg,
    .contact-commit.is-in .contact-commit__bg,
    .contact-commit.is-ready .contact-commit__content,
    .contact-commit.is-copy-in .contact-commit__content {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

@media (max-width: 991.98px) {
    .contact-form {
        padding: 64px 0;
    }

    .contact-form__title,
    .contact-places__title {
        margin-bottom: 32px;
        font-size: 1.5rem;
    }

    .contact-places {
        padding-bottom: 80px;
    }

    .contact-commit {
        padding: 100px 0;
    }

    .contact-commit__text {
        font-size: 1.625rem;
    }
}

/* End of Contact */


/*
 * 404
 * -----------------------------
*/

.error-404 {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 100vh;
    padding-top: var(--header-height);
    overflow: hidden;
    background-color: var(--color-white);
}

.error-404__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    opacity: 0.08;
    pointer-events: none;
}

.error-404 .container {
    position: relative;
    z-index: 1;
}

.error-404__inner {
    padding: 120px 0;
    text-align: center;
    transform: translateY(-80px);
}

.error-404__sea {
    position: relative;
    width: max-content;
    max-width: 100%;
    margin: 0 auto 16px;
    font-size: 6rem;
}

.error-404__clip {
    overflow: visible;
    height: 1em;
}

.error-404--animated .error-404__clip {
    overflow: hidden;
}

.error-404__label {
    display: flex;
    justify-content: center;
    margin: 0;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 1em;
    line-height: 1;
    color: var(--color-navy);
}

.error-404__digit {
    display: inline-block;
}

/* Réactiver : classe error-404--animated sur le main */
.error-404--animated .error-404__digit {
    animation-duration: 7s;
    animation-timing-function: ease-in;
    animation-iteration-count: infinite;
}

.error-404--animated .error-404__digit:nth-child(1) {
    animation-name: error-404-sink-left;
    animation-delay: 0.15s;
}

.error-404--animated .error-404__digit:nth-child(2) {
    animation-name: error-404-sink-mid;
    animation-delay: 0.45s;
}

.error-404--animated .error-404__digit:nth-child(3) {
    animation-name: error-404-sink-right;
    animation-delay: 0.05s;
}

@keyframes error-404-sink-left {
    0%,
    22% {
        transform: translateY(0) rotate(0deg);
    }

    100% {
        transform: translateY(130%) rotate(-10deg);
    }
}

@keyframes error-404-sink-mid {
    0%,
    26% {
        transform: translateY(0) rotate(0deg);
    }

    100% {
        transform: translateY(140%) rotate(4deg);
    }
}

@keyframes error-404-sink-right {
    0%,
    18% {
        transform: translateY(0) rotate(0deg);
    }

    100% {
        transform: translateY(125%) rotate(12deg);
    }
}

.error-404__horizon {
    display: none;
    position: relative;
    z-index: 2;
    height: 0.28em;
    margin-top: -0.12em;
    overflow: hidden;
    color: var(--color-navy);
}

.error-404--animated .error-404__horizon {
    display: block;
}

.error-404__horizon svg {
    display: block;
    width: 130%;
    height: 100%;
    margin-left: -15%;
}

.error-404--animated .error-404__horizon svg {
    animation: error-404-wave 9s ease-in-out infinite;
}

.error-404__wave {
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.error-404__wave--back {
    stroke-width: 1.1;
    opacity: 0.35;
}

.error-404__wave--front {
    stroke-width: 1.4;
    opacity: 0.85;
}

@keyframes error-404-wave {
    0%,
    100% {
        transform: translateX(0);
    }

    50% {
        transform: translateX(8%);
    }
}

.error-404__bubble {
    position: absolute;
    z-index: 3;
    bottom: 0.08em;
    border: 1px solid var(--color-navy);
    border-radius: 50%;
    background-color: var(--color-white);
    opacity: 0;
    pointer-events: none;
}

.error-404--animated .error-404__bubble {
    animation: error-404-bubble 7s ease-out infinite;
}

.error-404__bubble--one {
    left: 38%;
    width: 7px;
    height: 7px;
    animation-delay: 0.1s;
}

.error-404__bubble--two {
    left: 58%;
    width: 5px;
    height: 5px;
    animation-delay: 0.35s;
}

@keyframes error-404-bubble {
    0%,
    74% {
        opacity: 0;
        transform: translateY(4px) scale(0.4);
    }

    80% {
        opacity: 0.8;
        transform: translateY(-10px) scale(1);
    }

    94% {
        opacity: 0;
        transform: translateY(-36px) scale(0.65);
    }

    100% {
        opacity: 0;
        transform: translateY(-36px) scale(0.65);
    }
}

.error-404__title {
    margin: 0 0 24px;
    font-family: var(--font-serif);
    font-weight: 400;
    font-size: 2.25rem;
    line-height: 1.3;
    color: var(--color-navy);
}

.error-404__copy {
    margin: 0 auto 40px;
    max-width: 520px;
    font-family: var(--font-sans);
    font-weight: 400;
    font-size: 0.875rem;
    line-height: var(--line-height-body);
    color: var(--color-navy);
}

@media (prefers-reduced-motion: reduce) {
    .error-404--animated .error-404__digit,
    .error-404--animated .error-404__horizon svg,
    .error-404--animated .error-404__bubble {
        animation: none;
    }
}

@media (max-width: 991.98px) {
    .error-404__inner {
        padding: 80px 0;
    }

    .error-404__sea {
        font-size: 4rem;
    }

    .error-404__title {
        font-size: 1.75rem;
    }
}

/* End of 404 */


/*
 * Carousel centré
 * -----------------------------
*/

.topic-carousel {
    --topic-carousel-center-h: 580px;
    --topic-carousel-side-h: 400px;
    --topic-carousel-gap: 18px;
    --topic-carousel-side-w: 50%;
    position: relative;
    margin: 0 0 150px;
    padding: 0;
}

.topic-carousel__viewport {
    height: var(--topic-carousel-center-h);
    overflow: hidden;
}

.topic-carousel__slider {
    height: 100%;
}

.topic-carousel__slider:not(.slick-initialized) {
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.topic-carousel__slider:not(.slick-initialized) .topic-carousel__cell {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    box-sizing: border-box;
}

.topic-carousel__slider:not(.slick-initialized) .topic-carousel__cell:nth-child(n+4) {
    display: none;
}

.topic-carousel .slick-list {
    height: 100% !important;
    overflow: hidden;
}

.topic-carousel .slick-track {
    display: flex !important;
    align-items: center;
    height: 100% !important;
}

.topic-carousel .slick-slide {
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    height: 100%;
    float: none;
    min-width: 0;
    overflow: visible;
}

.topic-carousel .slick-center {
    position: relative;
    z-index: 2;
}

.topic-carousel__slide {
    display: block;
    flex-shrink: 0;
    width: var(--topic-carousel-side-w);
    height: var(--topic-carousel-side-h);
    margin: 0 0 0 calc(100% - var(--topic-carousel-side-w) - var(--topic-carousel-gap));
    overflow: hidden;
    background-color: var(--color-pale-grey);
    transition: width 0.45s ease, height 0.45s ease, margin 0.45s ease;
}

.topic-carousel .slick-center ~ .slick-slide .topic-carousel__slide {
    margin-left: var(--topic-carousel-gap);
}

.topic-carousel .slick-center .topic-carousel__slide,
.topic-carousel__slider:not(.slick-initialized) .topic-carousel__cell:nth-child(2) .topic-carousel__slide {
    width: 100%;
    height: var(--topic-carousel-center-h);
    margin: 0;
}

.topic-carousel__slide img,
.topic-carousel__slide video {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.topic-carousel__arrow {
    position: absolute;
    z-index: 2;
    top: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: var(--color-btn);
    color: var(--color-navy);
    font-size: 0.875rem;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
    transition: background-color 0.25s ease, color 0.25s ease;
}

.topic-carousel .slick-prev,
.topic-carousel .slick-next {
    position: absolute !important;
    top: 50% !important;
    margin: 0 !important;
    transform: translateY(-50%) !important;
}

.topic-carousel .slick-prev {
    left: -45px !important;
    right: auto !important;
}

.topic-carousel .slick-next {
    left: auto !important;
    right: -45px !important;
}

.topic-carousel__arrow:hover,
.topic-carousel__arrow:focus {
    background-color: var(--color-navy);
    color: var(--color-white);
}

.topic-carousel .slick-prev:before,
.topic-carousel .slick-next:before,
.topic-carousel__arrow:before {
    font-family: 'Font Awesome 7 Pro';
    font-style: normal;
    font-weight: 900;
    font-size: 1rem;
    color: inherit;
    opacity: 1;
}

.topic-carousel .slick-prev:before,
.topic-carousel__arrow--prev:before {
    content: '\f060';
}

.topic-carousel .slick-next:before,
.topic-carousel__arrow--next:before {
    content: '\f061';
}

/* End of Carousel centré */


/*
 * Media Queries
 * -----------------------------
 */

@media screen and (max-width: 1399px) {



}

@media screen and (max-width: 1199px) {

.site-header__menu a {
    font-size: 0.6875rem;
}

.home-hero__title {
    font-size: 2.75rem;
}

.home-intro__years {
    font-size: 3.25rem;
}

.home-intro__quote {
    font-size: 1.375rem;
}

.home-statement__title {
    font-size: 1.5rem;
}

.topic-carousel {
    --topic-carousel-center-h: 500px;
    --topic-carousel-side-h: 350px;
}

}

@media screen and (max-width: 991px) {

.site-header {
    height: var(--header-height);
    padding: 0;
}

.site-header.is-open {
    height: var(--header-height);
}

.site-header__logo-img {
    width: auto;
    max-width: 148px;
}

.site-header .row > .site-header__nav {
    display: none;
    position: absolute;
    top: var(--header-height);
    left: 0;
    right: 0;
    z-index: 90;
    width: 100%;
    max-width: none;
    height: auto;
    min-height: calc(100vh - var(--header-height));
    margin: 0;
    padding: 40px 24px 48px;
    background-color: var(--color-navy);
    align-items: flex-start;
}

.site-header.is-open .row > .site-header__nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: auto;
}

.site-header.is-open .site-header__langs--in-nav {
    display: flex;
    justify-content: flex-start;
    height: auto;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid var(--color-pale-grey);
}

.site-header.is-open .site-header__langs--in-nav .site-header__lang-list {
    justify-content: flex-start;
    gap: 12px;
}

.site-header.is-open .site-header__langs--in-nav .site-header__lang-list img {
    width: 24px;
    height: 24px;
}

.site-header.is-open .site-header__toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.site-header.is-open .site-header__toggle span:nth-child(2) {
    opacity: 0;
}

.site-header.is-open .site-header__toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.site-header__menu {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 8px;
    height: auto;
}

.site-header__menu a {
    font-size: 1rem;
    height: auto;
    padding: 10px 0;
}

.site-header.is-sticky.is-open .site-header__menu a,
.site-header.is-sticky.is-open .site-header__menu a:hover,
.site-header.is-sticky.is-open .site-header__menu a:focus {
    color: var(--color-white) !important;
}

.site-header__menu-indicator {
    display: none;
}

body.has-nav-open {
    overflow: hidden;
}

.home-hero__title {
    font-size: 2.25rem;
}

.home-intro__years {
    font-size: 2.75rem;
}

.home-intro__quote {
    font-size: 1.25rem;
}

.home-statement__title {
    font-size: 1.375rem;
}

.home-statement {
    padding-top: 100px;
}

.home-timeline__number {
    font-size: 4.25rem;
}

.home-timeline__node {
    margin-top: 26px;
}

.home-timeline__item {
    column-gap: 40px;
    padding-bottom: 32px;
}

.topic-carousel {
    --topic-carousel-center-h: 440px;
    --topic-carousel-side-h: 310px;
    margin-bottom: 150px;
}

}

@media screen and (max-width: 767px) {

.home-hero {
    min-height: 100vh;
    padding: 120px 0 64px;
}

.home-hero__title {
    font-size: 1.875rem;
}

.home-intro__years {
    font-size: 2.25rem;
}

.home-intro__quote {
    font-size: 1.125rem;
}

.home-statement__title {
    font-size: 1.25rem;
}

.home-statement {
    padding-top: 80px;
}

.home-timeline__list::before {
    left: 7.5px;
    transform: translateX(-50%);
}

.home-timeline__item {
    grid-template-columns: 15px 1fr;
    column-gap: 20px;
    padding-bottom: 28px;
}

.home-timeline__item:nth-child(odd) .home-timeline__content,
.home-timeline__item:nth-child(even) .home-timeline__content {
    grid-column: 2;
    justify-self: start;
    text-align: left;
}

.home-timeline__node {
    grid-column: 1;
    margin-top: 21px;
}

.home-timeline__number {
    font-size: 3.5rem;
}

.home-timeline__content {
    max-width: none;
}

.topic-carousel {
    --topic-carousel-center-h: 340px;
    --topic-carousel-side-h: 260px;
    --topic-carousel-side-w: 22%;
    margin-bottom: 150px;
}

.topic-carousel__arrow {
    width: 36px;
    height: 36px;
}

}

@media screen and (min-width: 1200px) and (max-width: 1399px) {

.site-header__menu {
    padding-left: 20px;
    padding-right: 20px;
}

}

@media screen and (min-width: 1400px) {

.site-header__menu {
    padding-left: 40px;
    padding-right: 40px;
}

}

@media screen and (min-width: 992px) and (max-width: 1199px) {



}

@media screen and (min-width: 768px) and (max-width: 991px) {



}


/* End of Media Queries */
