:root {
    --blue: #063b63;
    --blue-deep: #032e4e;
    --blue-card: #074c77;

    --green: #075a51;
    --green-deep: #03423c;

    --gold: #d3a13b;
    --gold-soft: #e4bd69;

    --text: #053456;
    --muted: #617282;

    --white: #ffffff;
    --off-white: #f7f9fa;

    --border: #dce4e9;

    --page-width: 1380px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;

    color: var(--text);
    background: var(--white);

    font-family:
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Arial,
        sans-serif;

    line-height: 1.5;
}

a {
    color: inherit;
    text-decoration: none;
}

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


/* ---------------------------------------------------------
   HEADER
--------------------------------------------------------- */

.site-header {
    position: relative;
    z-index: 100;

    height: 106px;

    background: rgba(255,255,255,.98);
}

.header-inner {
    width: min(calc(100% - 70px), var(--page-width));
    height: 100%;

    margin: 0 auto;

    display: flex;
    align-items: center;

    gap: 38px;
}

.brand {
    align-self: flex-start;

    width: 190px;
    height: 160px;

    display: flex;
    align-items: flex-start;
    justify-content: center;

    padding-top: 10px;

    background: white;

    border-radius: 0 0 40px 40px;
}

.brand img {
    width: 145px;
    height: 130px;
    object-fit: contain;
}

.main-navigation {
    margin-left: auto;

    display: flex;
    align-items: center;

    gap: clamp(19px,2vw,37px);

    font-size: 14px;
    font-weight: 650;

    white-space: nowrap;
}

.main-navigation a {
    position: relative;

    padding: 40px 0 31px;
}

.main-navigation a.active::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 24px;

    height: 2px;

    background: var(--gold);
}

.contact-button {
    min-width: 215px;
    height: 48px;

    padding: 0 20px;

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    color: white;
    background:
        linear-gradient(
            135deg,
            #ca9838,
            #dda941
        );

    border-radius: 28px;

    font-size: 14px;
    font-weight: 700;
}

.contact-button .arrow {
    margin-left: auto;
}


/* ---------------------------------------------------------
   HERO
--------------------------------------------------------- */

.home-hero {
    position: relative;

    min-height: 720px;

    padding-top: 1px;

    overflow: visible;
}

.hero-background {
    position: absolute;

    inset: 0 0 75px 0;

    overflow: hidden;
}

.hero-background img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center 48%;
}

.hero-soft-overlay {
    position: absolute;

    inset: 0 0 75px;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.82) 26%,
            rgba(255,255,255,.20) 56%,
            rgba(255,255,255,.03) 100%
        );
}

.hero-heading {
    position: relative;
    z-index: 3;

    width: min(calc(100% - 260px), 1190px);

    margin: 72px auto 0;
}

.hero-eyebrow {
    margin: 0 0 8px;

    font-size: 14px;
    font-weight: 800;

    letter-spacing: .28em;
}

.hero-heading h1 {
    margin: 0;

    color: var(--blue-deep);

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size: clamp(54px,5vw,77px);

    font-weight: 500;

    line-height: .98;

    letter-spacing: -.05em;
}

.hero-heading h1 span {
    color: var(--gold);
}

.hero-statement {
    margin-top: 21px;

    display: flex;
    align-items: center;

    gap: 25px;

    font-size: 20px;
}

.gold-line {
    width: 70px;
    height: 4px;

    background: var(--gold);
}

.hero-description {
    margin-top: 8px;

    font-size: 16px;
    font-weight: 500;
}

.hero-location {
    position: absolute;
    z-index: 4;

    top: 160px;
    right: max(7vw,70px);

    padding: 6px 0 6px 20px;

    display: flex;

    gap: 14px;

    color: white;

    border-left: 2px solid rgba(255,255,255,.8);
}

.location-pin {
    color: var(--gold);

    font-size: 30px;
    line-height: 1;
}

.hero-location strong,
.hero-location span {
    display: block;

    margin: 2px 0;

    font-size: 14px;
}


/* ---------------------------------------------------------
   TWO POLES
--------------------------------------------------------- */

.poles-wrapper {
    position: relative;
    z-index: 5;

    width: min(calc(100% - 130px), 1390px);

    margin: 25px auto 0;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 22px;
}

.pole-card {
    position: relative;

    height: 390px;

    overflow: hidden;

    border: 1px solid rgba(255,255,255,.85);

    border-radius: 21px;

    box-shadow:
        0 12px 28px rgba(14,44,68,.19);
}

.pole-photo {
    position: absolute;

    inset: 0;

    background-size: cover;
    background-position: center;
}

.pole-training-photo {
    background-image:
        url("/static/images/ethos-current/pillar-11.png");
}

.pole-regulation-photo {
    background-image:
        url("/static/images/ethos-current/pillar-14.png");
}

.pole-shade {
    position: absolute;
    inset: 0;
}

.pole-training .pole-shade {
    background:
        linear-gradient(
            90deg,
            rgba(0,58,98,.98) 0%,
            rgba(0,58,98,.88) 42%,
            rgba(0,58,98,.34) 100%
        );
}

.pole-regulation .pole-shade {
    background:
        linear-gradient(
            90deg,
            rgba(0,78,67,.98) 0%,
            rgba(0,78,67,.87) 48%,
            rgba(0,78,67,.38) 100%
        );
}

.pole-content {
    position: relative;
    z-index: 3;

    height: 100%;

    padding: 29px 36px;

    color: white;
}

.pole-heading {
    display: flex;
    align-items: center;

    gap: 20px;
}

.pole-icon {
    width: 86px;
    height: 86px;

    flex: 0 0 86px;

    display: grid;
    place-items: center;

    border: 2px solid white;
    border-radius: 50%;

    font-size: 42px;
}

.pole-heading p {
    margin: 0 0 1px;

    font-size: 14px;
    font-weight: 700;

    letter-spacing: .25em;
}

.pole-heading h2 {
    margin: 0;

    font-size: 32px;
    line-height: 1;

    letter-spacing: -.02em;
}

.small-gold-line {
    width: 52px;
    height: 3px;

    margin: 18px 0 13px;

    background: var(--gold);
}

.pole-intro {
    margin: 0;

    font-size: 17px;
    font-weight: 500;

    line-height: 1.35;
}

.pole-services {
    margin-top: 22px;

    display: grid;

    grid-template-columns: repeat(5,1fr);
}

.pole-services > div {
    min-height: 68px;

    padding: 0 9px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    text-align: center;

    border-right:
        1px solid rgba(255,255,255,.34);
}

.pole-services > div:last-child {
    border-right: 0;
}

.service-symbol {
    margin-bottom: 5px;

    font-size: 22px;
}

.pole-services span:last-child {
    font-size: 11px;
    line-height: 1.2;
}

.pole-button {
    position: absolute;

    left: 36px;
    bottom: 22px;

    min-width: 320px;
    height: 48px;

    padding: 0 28px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    color: var(--blue-deep);
    background: white;

    border-radius: 26px;

    font-size: 14px;
    font-weight: 750;
}

.pole-button span {
    color: var(--gold);

    font-size: 21px;
}


/* ---------------------------------------------------------
   AUDIENCES
--------------------------------------------------------- */

.audiences {
    padding:
        54px max(5vw,45px) 39px;

    background: white;
}

.audiences-grid {
    max-width: 1380px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(4,1fr);
}

.audiences article {
    min-height: 72px;

    padding: 0 36px;

    display: flex;
    align-items: center;

    gap: 19px;

    border-right: 1px solid var(--border);
}

.audiences article:first-child {
    padding-left: 0;
}

.audiences article:last-child {
    border-right: 0;
}

.audience-icon {
    font-size: 37px;
}

.audiences h2 {
    margin: 0;

    font-size: 12px;
    font-weight: 800;
}

.audiences p {
    margin: 4px 0 0;

    font-size: 12px;
}


/* ---------------------------------------------------------
   REFERENCES
--------------------------------------------------------- */

.references {
    min-height: 115px;

    padding: 24px max(5vw,45px);

    display: grid;

    grid-template-columns:
        1.15fr
        1fr
        1fr
        .75fr
        1.25fr;

    align-items: center;

    background:
        linear-gradient(
            90deg,
            #f7fbfd,
            #edf5f8
        );

    border-top: 1px solid #edf1f2;
}

.references > div {
    min-height: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-right: 1px solid #cfdbe1;
}

.references > div:last-child {
    border-right: 0;
}

.reference-label {
    flex-direction: column;

    align-items: flex-start !important;

    padding-left: 35px;

    font-size: 11px;
    letter-spacing: .18em;
}

.reference-item {
    flex-direction: column;

    font-size: 14px;
}

.qualiopi-word {
    font-size: 25px;
}

.iso {
    font-family: Georgia, serif;

    font-size: 33px;
    font-weight: 700;
}


/* ---------------------------------------------------------
   GENERAL CONTENT
--------------------------------------------------------- */

.content-section,
.expertise-section,
.about-section,
.news-section {
    padding: 105px max(6vw,70px);
}

.section-heading {
    max-width: 780px;

    margin: 0 auto 55px;

    text-align: center;
}

.section-kicker {
    color: var(--gold);

    font-size: 12px;
    font-weight: 800;

    letter-spacing: .22em;
}

.section-heading h2,
.about-section h2 {
    margin: 11px 0 15px;

    font-family: Georgia, serif;

    font-size: clamp(40px,4vw,58px);

    font-weight: 500;

    line-height: 1.05;
}

.section-heading p {
    color: var(--muted);

    font-size: 17px;
}


/* ---------------------------------------------------------
   TRAINING PREVIEW
--------------------------------------------------------- */

.training-preview-grid {
    width: min(100%,1220px);

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 28px;
}

.training-preview-grid article {
    overflow: hidden;

    background: white;

    border: 1px solid var(--border);

    border-radius: 17px;

    box-shadow:
        0 12px 35px rgba(19,58,84,.08);
}

.training-preview-grid img {
    width: 100%;
    height: 335px;

    object-fit: cover;
}

.training-preview-grid article > div {
    padding: 30px;
}

.training-preview-grid span {
    color: var(--gold);

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .17em;
}

.training-preview-grid h3 {
    margin: 8px 0 12px;

    font-family: Georgia, serif;

    font-size: 29px;

    line-height: 1.1;
}

.training-preview-grid p {
    color: var(--muted);
}

.training-preview-grid a {
    display: inline-block;

    margin-top: 15px;

    font-weight: 700;
}


/* ---------------------------------------------------------
   EXPERTISE
--------------------------------------------------------- */

.expertise-section {
    background:
        linear-gradient(
            135deg,
            var(--green-deep),
            #087064
        );

    color: white;
}

.section-heading.light h2,
.section-heading.light p {
    color: white;
}

.expertise-grid {
    width: min(100%,1220px);

    margin: 0 auto;

    display: grid;

    grid-template-columns: repeat(4,1fr);

    gap: 18px;
}

.expertise-grid article {
    min-height: 240px;

    padding: 30px;

    background:
        rgba(255,255,255,.08);

    border:
        1px solid rgba(255,255,255,.15);

    border-radius: 15px;
}

.expertise-grid article > span {
    color: var(--gold-soft);

    font-size: 12px;
}

.expertise-grid h3 {
    margin: 42px 0 11px;

    font-size: 22px;
}

.expertise-grid p {
    color: rgba(255,255,255,.72);

    font-size: 14px;
}


/* ---------------------------------------------------------
   ABOUT
--------------------------------------------------------- */

.about-section {
    display: grid;

    grid-template-columns: .9fr 1.1fr;

    gap: 100px;

    background: #f7fafb;
}

.about-section > div {
    max-width: 620px;
}

.about-section p {
    color: var(--muted);

    font-size: 17px;
}


/* ---------------------------------------------------------
   NEWS
--------------------------------------------------------- */

.news-placeholder {
    width: min(100%,900px);

    margin: auto;

    padding: 50px;

    text-align: center;

    border: 1px solid var(--border);
    border-radius: 15px;
}


/* ---------------------------------------------------------
   FOOTER
--------------------------------------------------------- */

.site-footer {
    padding: 70px max(6vw,60px) 25px;

    color: white;
    background: var(--blue-deep);
}

.footer-main {
    max-width: 1250px;

    margin: 0 auto;

    display: grid;

    grid-template-columns: 1.4fr 1fr 1.2fr 1fr;

    gap: 60px;
}

.footer-brand img {
    width: 120px;

    padding: 10px;

    background: white;

    border-radius: 12px;
}

.footer-brand p {
    color: rgba(255,255,255,.67);
}

.footer-column h2 {
    margin: 0 0 18px;

    color: var(--gold-soft);

    font-size: 13px;

    letter-spacing: .1em;
}

.footer-column a {
    display: block;

    margin: 9px 0;

    color: rgba(255,255,255,.72);

    font-size: 13px;
}

.footer-bottom {
    max-width: 1250px;

    margin: 55px auto 0;

    padding-top: 20px;

    display: flex;
    justify-content: space-between;

    color: rgba(255,255,255,.45);

    border-top:
        1px solid rgba(255,255,255,.11);

    font-size: 11px;
}


/* ---------------------------------------------------------
   RESPONSIVE
--------------------------------------------------------- */

@media (max-width: 1180px) {

    .main-navigation {
        display: none;
    }

    .contact-button {
        margin-left: auto;
    }

    .poles-wrapper {
        width: calc(100% - 50px);
    }

    .pole-services {
        grid-template-columns:
            repeat(3,1fr);
    }

    .pole-card {
        height: 430px;
    }

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

    .audiences article {
        padding: 20px;
        border-bottom: 1px solid var(--border);
    }

}


@media (max-width: 850px) {

    .site-header {
        height: 85px;
    }

    .header-inner {
        width: calc(100% - 30px);
    }

    .brand {
        width: 120px;
        height: 105px;
    }

    .brand img {
        width: 90px;
        height: 90px;
    }

    .contact-button {
        min-width: 165px;
    }

    .home-hero {
        padding-bottom: 40px;
    }

    .hero-background {
        inset: 0 0 500px 0;
    }

    .hero-soft-overlay {
        inset: 0 0 500px;
    }

    .hero-heading {
        width: calc(100% - 40px);

        margin-top: 55px;
    }

    .hero-heading h1 {
        font-size: 50px;
    }

    .hero-location {
        display: none;
    }

    .poles-wrapper {
        margin-top: 45px;

        grid-template-columns: 1fr;
    }

    .pole-card {
        height: 410px;
    }

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

    .references > div {
        padding: 15px;
        border-bottom: 1px solid #cfdbe1;
    }

    .training-preview-grid,
    .about-section,
    .footer-main {
        grid-template-columns: 1fr;
    }

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

}


@media (max-width: 560px) {

    .contact-button span:nth-child(2) {
        display: none;
    }

    .contact-button {
        min-width: 55px;
        width: 55px;
    }

    .hero-heading h1 {
        font-size: 41px;
    }

    .hero-statement {
        align-items: flex-start;

        font-size: 16px;
    }

    .gold-line {
        width: 45px;
    }

    .poles-wrapper {
        width: calc(100% - 24px);
    }

    .pole-card {
        height: auto;

        min-height: 550px;
    }

    .pole-content {
        padding: 25px;
    }

    .pole-heading h2 {
        font-size: 25px;
    }

    .pole-services {
        grid-template-columns:
            repeat(2,1fr);
    }

    .pole-services > div {
        border-bottom:
            1px solid rgba(255,255,255,.25);
    }

    .pole-button {
        left: 25px;
        right: 25px;

        min-width: 0;
    }

    .audiences-grid {
        grid-template-columns: 1fr;
    }

    .references {
        grid-template-columns: 1fr;
    }

    .references > div {
        border-right: 0;
    }

    .expertise-grid {
        grid-template-columns: 1fr;
    }

    .content-section,
    .expertise-section,
    .about-section,
    .news-section {
        padding: 75px 24px;
    }

    .training-preview-grid img {
        height: auto;
    }

    .footer-bottom {
        flex-direction: column;

        gap: 8px;
    }

}


/* =========================================================
   ETHOS PREMIUM DESIGN SYSTEM V4
   Ajustements finaux desktop / tablette / mobile
========================================================= */


/* ---------- GLOBAL ---------- */

html {
    font-size: 16px;
}

body {
    overflow-x: hidden;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

::selection {
    background: var(--gold);
    color: var(--blue-deep);
}


/* ---------- HEADER PREMIUM ---------- */

.site-header {
    height: 100px;
    box-shadow:
        0 1px 0 rgba(0, 52, 88, .06);
}

.header-inner {
    width: min(calc(100% - 56px), 1480px);
}

.brand {
    width: 176px;
    height: 150px;
    padding-top: 7px;
}

.brand img {
    width: 132px;
    height: 126px;
}

.main-navigation {
    gap: clamp(17px, 1.55vw, 30px);
    font-size: clamp(12px, .8vw, 14px);
}

.main-navigation a {
    transition:
        color .2s ease,
        opacity .2s ease;
}

.main-navigation a:hover {
    color: var(--gold);
}

.contact-button {
    min-width: 200px;
    height: 50px;

    box-shadow:
        0 8px 24px rgba(211, 161, 59, .22);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.contact-button:hover {
    transform: translateY(-2px);

    box-shadow:
        0 12px 30px rgba(211, 161, 59, .32);
}


/* ---------- HERO SCALE ---------- */

.home-hero {
    min-height: clamp(700px, 48vw, 860px);
}

.hero-background,
.hero-soft-overlay {
    inset-bottom: 95px;
}

.hero-background {
    inset: 0 0 95px;
}

.hero-soft-overlay {
    inset: 0 0 95px;
}

.hero-heading {
    width: min(calc(100% - 180px), 1320px);
    margin-top: clamp(62px, 5vw, 92px);
}

.hero-eyebrow {
    font-size: clamp(12px, .85vw, 15px);
}

.hero-heading h1 {
    max-width: 950px;

    font-size:
        clamp(
            58px,
            5.6vw,
            92px
        );

    line-height: .96;
}

.hero-statement {
    margin-top: 25px;
    font-size: clamp(18px, 1.4vw, 23px);
}

.hero-description {
    font-size: clamp(15px, 1.05vw, 18px);
}

.hero-location {
    top: clamp(150px, 11vw, 195px);
    right: max(5.5vw, 55px);
}


/* ---------- POLE CARDS ---------- */

.poles-wrapper {
    width: min(calc(100% - 100px), 1450px);

    margin-top: clamp(28px, 2vw, 40px);

    gap: clamp(18px, 1.4vw, 26px);
}

.pole-card {
    height: clamp(390px, 29vw, 455px);

    border-radius: 24px;

    box-shadow:
        0 18px 45px rgba(8, 47, 75, .20);
}

.pole-content {
    padding:
        clamp(28px, 2.1vw, 40px);
}

.pole-icon {
    width: clamp(72px, 5.5vw, 92px);
    height: clamp(72px, 5.5vw, 92px);
    flex-basis: clamp(72px, 5.5vw, 92px);
}

.pole-heading p {
    font-size: clamp(12px, .85vw, 15px);
}

.pole-heading h2 {
    font-size: clamp(28px, 2.35vw, 38px);
}

.pole-intro {
    font-size: clamp(16px, 1.15vw, 20px);
}

.pole-services {
    margin-top: clamp(18px, 1.6vw, 27px);
}

.service-symbol {
    font-size: clamp(20px, 1.5vw, 26px);
}

.pole-services span:last-child {
    font-size: clamp(10px, .75vw, 12px);
}

.pole-button {
    left: clamp(28px, 2.1vw, 40px);
    bottom: clamp(20px, 1.5vw, 28px);

    min-width: clamp(280px, 25vw, 360px);

    height: 52px;

    font-size: clamp(13px, .9vw, 15px);
}


/* ---------- AUDIENCES ---------- */

.audiences {
    padding-top: clamp(44px, 3vw, 60px);
    padding-bottom: clamp(35px, 2.5vw, 48px);
}

.audiences-grid {
    max-width: 1450px;
}

.audiences article {
    min-height: 90px;
}

.audience-icon {
    font-size: clamp(34px, 2.4vw, 43px);
}

.audiences h2 {
    font-size: clamp(11px, .8vw, 13px);
}

.audiences p {
    font-size: clamp(11px, .8vw, 13px);
}


/* ---------- REFERENCES ---------- */

.references {
    min-height: 130px;
}

.reference-label,
.reference-item {
    font-size: clamp(11px, .75vw, 13px);
}

.qualiopi-word {
    font-size: clamp(23px, 1.8vw, 29px);
}


/* ---------- SECTION SCALE ---------- */

.content-section,
.expertise-section,
.about-section,
.news-section {
    padding-top: clamp(90px, 7vw, 130px);
    padding-bottom: clamp(90px, 7vw, 130px);
}

.section-heading {
    max-width: 880px;
    margin-bottom: clamp(48px, 4vw, 70px);
}

.section-heading h2,
.about-section h2 {
    font-size:
        clamp(
            43px,
            4vw,
            68px
        );
}

.section-heading p,
.about-section p {
    font-size: clamp(16px, 1.1vw, 19px);
}


/* ---------- TRAINING CARDS ---------- */

.training-preview-grid {
    width: min(100%, 1320px);
    gap: 32px;
}

.training-preview-grid article {
    border-radius: 21px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.training-preview-grid article:hover {
    transform: translateY(-6px);

    box-shadow:
        0 22px 50px rgba(19, 58, 84, .13);
}

.training-preview-grid img {
    height: clamp(330px, 27vw, 420px);
}

.training-preview-grid article > div {
    padding: clamp(28px, 2.4vw, 40px);
}

.training-preview-grid h3 {
    font-size: clamp(27px, 2.1vw, 36px);
}


/* ---------- EXPERTISE ---------- */

.expertise-grid {
    width: min(100%, 1320px);
    gap: 22px;
}

.expertise-grid article {
    min-height: 270px;

    padding: clamp(28px, 2vw, 36px);

    border-radius: 18px;

    transition:
        transform .2s ease,
        background .2s ease;
}

.expertise-grid article:hover {
    transform: translateY(-5px);

    background:
        rgba(255,255,255,.13);
}

.expertise-grid h3 {
    font-size: clamp(21px, 1.5vw, 25px);
}


/* ---------- ABOUT ---------- */

.about-section {
    grid-template-columns: .9fr 1.1fr;

    align-items: center;

    padding-left: max(7vw, 70px);
    padding-right: max(7vw, 70px);

    gap: clamp(60px, 7vw, 120px);
}


/* ---------- NEWS ---------- */

.news-placeholder {
    max-width: 1020px;

    padding: 60px;

    border-radius: 19px;

    background:
        linear-gradient(
            180deg,
            white,
            #fbfcfd
        );
}


/* ---------- FOOTER ---------- */

.site-footer {
    padding-top: 78px;
}

.footer-main {
    max-width: 1380px;
}

.footer-column a {
    transition: color .2s ease;
}

.footer-column a:hover {
    color: var(--gold-soft);
}


/* =========================================================
   MOBILE NAVIGATION
========================================================= */

.mobile-nav {
    display: none;
}

.mobile-nav summary {
    width: 46px;
    height: 46px;

    display: grid;
    place-content: center;

    gap: 5px;

    cursor: pointer;

    list-style: none;

    border: 1px solid rgba(3, 59, 99, .14);

    border-radius: 50%;

    background: white;
}

.mobile-nav summary::-webkit-details-marker {
    display: none;
}

.mobile-nav summary span {
    width: 20px;
    height: 2px;

    background: var(--blue);

    border-radius: 5px;
}

.mobile-nav nav {
    position: absolute;

    top: 84px;
    left: 15px;
    right: 15px;

    padding: 18px;

    background: white;

    border:
        1px solid rgba(3, 59, 99, .10);

    border-radius: 16px;

    box-shadow:
        0 20px 50px rgba(7, 50, 80, .16);
}

.mobile-nav nav a {
    display: block;

    padding: 13px 12px;

    color: var(--blue);

    border-bottom:
        1px solid #edf1f3;

    font-size: 14px;
    font-weight: 650;
}

.mobile-nav nav a:last-child {
    border-bottom: 0;
}


/* =========================================================
   LARGE DESKTOP
========================================================= */

@media (min-width: 1700px) {

    .header-inner {
        max-width: 1600px;
    }

    .poles-wrapper {
        max-width: 1540px;
    }

    .audiences-grid {
        max-width: 1540px;
    }

    .hero-heading {
        max-width: 1420px;
    }

}


/* =========================================================
   SMALL DESKTOP / LARGE TABLET
========================================================= */

@media (max-width: 1180px) {

    .main-navigation {
        display: none;
    }

    .mobile-nav {
        display: block;
        margin-left: auto;
    }

    .contact-button {
        margin-left: 0;
    }

    .header-inner {
        gap: 14px;
    }

    .poles-wrapper {
        width: calc(100% - 40px);
    }

    .pole-card {
        height: 470px;
    }

    .pole-services {
        grid-template-columns:
            repeat(3,1fr);
    }

    .pole-services > div:nth-child(3) {
        border-right: 0;
    }

    .pole-services > div {
        min-height: 55px;
    }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 900px) {

    .site-header {
        height: 84px;
    }

    .brand {
        width: 115px;
        height: 108px;
    }

    .brand img {
        width: 90px;
        height: 90px;
    }

    .hero-background,
    .hero-soft-overlay {
        inset-bottom: 570px;
    }

    .hero-background {
        inset: 0 0 570px;
    }

    .hero-soft-overlay {
        inset: 0 0 570px;
    }

    .home-hero {
        min-height: auto;
        padding-bottom: 40px;
    }

    .hero-heading {
        width: calc(100% - 40px);

        margin-top: 54px;
    }

    .hero-heading h1 {
        max-width: 650px;

        font-size: clamp(46px, 9vw, 68px);
    }

    .hero-location {
        display: none;
    }

    .poles-wrapper {
        width: calc(100% - 32px);

        margin-top: 60px;

        grid-template-columns: 1fr;

        gap: 22px;
    }

    .pole-card {
        height: 440px;
    }

    .pole-services {
        grid-template-columns:
            repeat(5,1fr);
    }

    .pole-services > div:nth-child(3) {
        border-right:
            1px solid rgba(255,255,255,.34);
    }

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

    .audiences article {
        padding: 22px;

        border-bottom:
            1px solid var(--border);
    }

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

    .references > div {
        padding: 18px;

        border-bottom:
            1px solid #cfdbe1;
    }

    .training-preview-grid {
        grid-template-columns: 1fr;
        max-width: 720px;
    }

    .training-preview-grid img {
        height: 420px;
    }

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

    .about-section {
        grid-template-columns: 1fr;

        gap: 30px;
    }

    .about-section > div {
        max-width: 760px;
    }

    .footer-main {
        grid-template-columns:
            repeat(2,1fr);
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

    .header-inner {
        width: calc(100% - 24px);
    }

    .brand {
        width: 98px;
        height: 96px;
    }

    .brand img {
        width: 78px;
        height: 78px;
    }

    .contact-button {
        min-width: 48px;
        width: 48px;
        height: 48px;

        padding: 0;

        border-radius: 50%;
    }

    .contact-button .mail-icon {
        margin: auto;
    }

    .contact-button span:nth-child(2),
    .contact-button .arrow {
        display: none;
    }

    .hero-heading {
        width: calc(100% - 28px);
        margin-top: 42px;
    }

    .hero-eyebrow {
        font-size: 10px;
    }

    .hero-heading h1 {
        font-size:
            clamp(
                39px,
                12vw,
                54px
            );
    }

    .hero-statement {
        gap: 14px;

        font-size: 15px;
    }

    .gold-line {
        width: 35px;
        flex: 0 0 35px;
    }

    .hero-description {
        font-size: 14px;
    }

    .hero-background,
    .hero-soft-overlay {
        inset-bottom: 650px;
    }

    .hero-background {
        inset: 0 0 650px;
    }

    .hero-soft-overlay {
        inset: 0 0 650px;
    }

    .poles-wrapper {
        width: calc(100% - 20px);

        margin-top: 50px;
    }

    .pole-card {
        min-height: 575px;
        height: auto;
    }

    .pole-content {
        padding: 24px;
    }

    .pole-heading {
        gap: 14px;
    }

    .pole-icon {
        width: 66px;
        height: 66px;
        flex-basis: 66px;

        font-size: 30px;
    }

    .pole-heading p {
        font-size: 10px;
    }

    .pole-heading h2 {
        font-size: 25px;
    }

    .pole-intro {
        font-size: 15px;
    }

    .pole-services {
        grid-template-columns:
            repeat(2,1fr);

        margin-bottom: 80px;
    }

    .pole-services > div {
        min-height: 68px;

        border-bottom:
            1px solid rgba(255,255,255,.22);
    }

    .pole-services > div:nth-child(odd) {
        border-right:
            1px solid rgba(255,255,255,.34);
    }

    .pole-services > div:nth-child(even) {
        border-right: 0;
    }

    .pole-button {
        left: 24px;
        right: 24px;
        bottom: 24px;

        width: auto;
        min-width: 0;

        font-size: 13px;
    }

    .audiences {
        padding-left: 20px;
        padding-right: 20px;
    }

    .audiences-grid {
        grid-template-columns: 1fr;
    }

    .audiences article {
        padding: 22px 0;

        border-right: 0;
    }

    .audiences article:first-child {
        padding-left: 0;
    }

    .references {
        grid-template-columns: 1fr;

        padding-left: 20px;
        padding-right: 20px;
    }

    .references > div {
        min-height: 85px;

        border-right: 0;
    }

    .reference-label {
        align-items: center !important;
        padding-left: 0;
    }

    .content-section,
    .expertise-section,
    .about-section,
    .news-section {
        padding:
            74px 22px;
    }

    .section-heading {
        margin-bottom: 40px;
    }

    .section-heading h2,
    .about-section h2 {
        font-size:
            clamp(
                36px,
                10vw,
                46px
            );
    }

    .training-preview-grid img {
        height: auto;
    }

    .training-preview-grid article > div {
        padding: 25px;
    }

    .training-preview-grid h3 {
        font-size: 27px;
    }

    .expertise-grid {
        grid-template-columns: 1fr;
    }

    .expertise-grid article {
        min-height: 220px;
    }

    .news-placeholder {
        padding: 35px 20px;
    }

    .site-footer {
        padding:
            60px 24px 25px;
    }

    .footer-main {
        grid-template-columns: 1fr;

        gap: 38px;
    }

    .footer-bottom {
        flex-direction: column;

        gap: 7px;
    }

}


/* =========================================================
   VERY SMALL MOBILE
========================================================= */

@media (max-width: 380px) {

    .mobile-nav summary {
        width: 42px;
        height: 42px;
    }

    .contact-button {
        width: 42px;
        min-width: 42px;
        height: 42px;
    }

    .hero-heading h1 {
        font-size: 36px;
    }

    .pole-heading h2 {
        font-size: 22px;
    }

}


/* =========================================================
   ETHOS PREMIUM V5
   Final desktop polish
========================================================= */


/* ---------- HEADER ---------- */

.site-header {
    height: 96px;
}

.header-inner {
    max-width: 1500px;
}

.brand {
    width: 166px;
    height: 142px;
}

.brand img {
    width: 126px;
    height: 120px;
}

.main-navigation {
    font-weight: 700;
}

.main-navigation a {
    letter-spacing: -.01em;
}

.contact-button {
    height: 48px;
    padding-left: 19px;
    padding-right: 19px;
}


/* ---------- HERO ---------- */

.home-hero {
    min-height: clamp(650px, 45vw, 790px);
}

.hero-background {
    inset: 0 0 82px;
}

.hero-soft-overlay {
    inset: 0 0 82px;
}

.hero-heading {
    width: min(calc(100% - 170px), 1360px);
    margin-top: clamp(52px, 4.4vw, 78px);
}

.hero-heading h1 {
    max-width: 1000px;

    font-size:
        clamp(
            60px,
            5.5vw,
            88px
        );
}

.hero-eyebrow {
    margin-bottom: 10px;
}

.hero-statement {
    margin-top: 20px;
}

.hero-description {
    margin-top: 7px;
}

.hero-location {
    top: clamp(145px, 10vw, 180px);
}


/* ---------- POLES ---------- */

.poles-wrapper {
    width: min(calc(100% - 84px), 1490px);
    margin-top: 20px;
}

.pole-card {
    height: clamp(385px, 27vw, 435px);
}

.pole-content {
    padding:
        clamp(28px, 2vw, 36px);
}

.pole-heading {
    gap: 18px;
}

.pole-icon {
    width: clamp(72px, 5vw, 88px);
    height: clamp(72px, 5vw, 88px);
    flex-basis: clamp(72px, 5vw, 88px);
}

.pole-heading h2 {
    font-size:
        clamp(
            28px,
            2.2vw,
            36px
        );
}

.pole-intro {
    margin-top: 0;
}

.pole-services {
    margin-top: 18px;
}

.pole-services > div {
    min-height: 62px;
}

.pole-button {
    height: 50px;
}


/* ---------- AUDIENCES ---------- */

.audiences {
    padding-top: 42px;
    padding-bottom: 36px;
}

.audiences-grid {
    max-width: 1490px;
}

.audiences article {
    min-height: 82px;
}

.audience-icon {
    flex: 0 0 auto;
    width: 48px;
    text-align: center;
}

.audiences h2 {
    line-height: 1.25;
}

.audiences p {
    max-width: 210px;
    line-height: 1.35;
}


/* ---------- REFERENCES ---------- */

.references {
    min-height: 108px;
    padding-top: 17px;
    padding-bottom: 17px;
}

.references > div {
    min-height: 62px;
}

.reference-label {
    font-weight: 750;
}


/* ---------- SECTION RHYTHM ---------- */

.content-section {
    padding-top: 82px;
    padding-bottom: 100px;
}

.expertise-section {
    padding-top: 92px;
    padding-bottom: 100px;
}

.about-section {
    padding-top: 95px;
    padding-bottom: 95px;
}

.news-section {
    padding-top: 92px;
    padding-bottom: 110px;
}

.section-heading {
    margin-bottom: 45px;
}

.section-heading h2,
.about-section h2 {
    letter-spacing: -.035em;
}


/* ---------- TRAINING ---------- */

.training-preview-grid {
    max-width: 1240px;
    gap: 24px;
}

.training-preview-grid article {
    min-height: 560px;
}

.training-preview-grid img {
    height: 300px;
}

.training-preview-grid article > div {
    min-height: 260px;
    display: flex;
    flex-direction: column;
}

.training-preview-grid h3 {
    font-size:
        clamp(
            28px,
            1.9vw,
            34px
        );
}

.training-preview-grid p {
    margin-bottom: 0;
}

.training-preview-grid a {
    margin-top: auto;
    padding-top: 22px;
}


/* ---------- EXPERTISE ---------- */

.expertise-section {
    background:
        radial-gradient(
            circle at 80% 15%,
            rgba(255,255,255,.06),
            transparent 28%
        ),
        linear-gradient(
            125deg,
            #044f49,
            #087568
        );
}

.expertise-grid {
    max-width: 1240px;
    gap: 16px;
}

.expertise-grid article {
    min-height: 235px;
}

.expertise-grid h3 {
    margin-top: 34px;
}


/* ---------- ABOUT ---------- */

.about-section {
    position: relative;
    overflow: hidden;
}

.about-section::after {
    content: "";

    position: absolute;
    right: -130px;
    bottom: -180px;

    width: 420px;
    height: 420px;

    border:
        1px solid rgba(211,161,59,.10);

    border-radius: 50%;
}

.about-section::before {
    content: "";

    position: absolute;
    right: -40px;
    bottom: -95px;

    width: 250px;
    height: 250px;

    border:
        1px solid rgba(3,59,99,.08);

    border-radius: 50%;
}

.about-section > div {
    position: relative;
    z-index: 2;
}

.about-section h2 {
    max-width: 580px;
}

.about-section p {
    max-width: 650px;
    line-height: 1.75;
}


/* ---------- NEWS ---------- */

.news-grid {
    width: min(100%, 1100px);

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 24px;
}

.news-card {
    position: relative;

    min-height: 310px;

    padding: 38px;

    display: flex;
    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 18px;

    background:
        linear-gradient(
            145deg,
            #ffffff,
            #f8fbfc
        );

    box-shadow:
        0 12px 38px rgba(13,57,85,.06);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.news-card:hover {
    transform: translateY(-6px);

    border-color:
        rgba(211,161,59,.45);

    box-shadow:
        0 20px 50px rgba(13,57,85,.12);
}

.news-meta {
    color: var(--gold);

    font-size: 10px;
    font-weight: 850;

    letter-spacing: .18em;
}

.news-card h3 {
    max-width: 440px;

    margin: 19px 0 13px;

    font-family:
        Georgia,
        serif;

    font-size: 29px;

    font-weight: 500;

    line-height: 1.12;

    letter-spacing: -.025em;
}

.news-card p {
    max-width: 470px;

    margin: 0;

    color: var(--muted);

    font-size: 14px;

    line-height: 1.65;
}

.news-card a {
    margin-top: auto;
    padding-top: 25px;

    display: flex;
    align-items: center;

    gap: 10px;

    font-size: 13px;
    font-weight: 750;
}

.news-card a span {
    color: var(--gold);

    font-size: 19px;
}


/* ---------- FOOTER ---------- */

.site-footer {
    padding-top: 68px;
}

.footer-main {
    max-width: 1320px;
}

.footer-brand img {
    width: 108px;
}

.footer-bottom {
    max-width: 1320px;
}


/* =========================================================
   HIGH RESOLUTION DESKTOP
========================================================= */

@media (min-width: 1600px) {

    .content-section,
    .expertise-section,
    .about-section,
    .news-section {
        padding-left: max(7vw, 110px);
        padding-right: max(7vw, 110px);
    }

    .training-preview-grid,
    .expertise-grid {
        max-width: 1320px;
    }

}


/* =========================================================
   LAPTOP
========================================================= */

@media (min-width: 901px) and (max-width: 1360px) {

    .header-inner {
        width: calc(100% - 36px);
    }

    .brand {
        width: 135px;
    }

    .brand img {
        width: 105px;
    }

    .main-navigation {
        gap: 16px;
        font-size: 11px;
    }

    .contact-button {
        min-width: 165px;
        font-size: 12px;
    }

    .hero-heading {
        width: calc(100% - 90px);
    }

    .poles-wrapper {
        width: calc(100% - 45px);
    }

}


/* =========================================================
   TABLET REFINEMENT
========================================================= */

@media (max-width: 900px) {

    .hero-background {
        inset: 0 0 555px;
    }

    .hero-soft-overlay {
        inset: 0 0 555px;
    }

    .pole-card {
        height: 430px;
    }

    .training-preview-grid article {
        min-height: 0;
    }

    .news-grid {
        grid-template-columns: 1fr;
        max-width: 720px;
    }

}


/* =========================================================
   MOBILE REFINEMENT
========================================================= */

@media (max-width: 600px) {

    .hero-background {
        inset: 0 0 640px;
    }

    .hero-soft-overlay {
        inset: 0 0 640px;
    }

    .pole-card {
        min-height: 560px;
    }

    .training-preview-grid article {
        min-height: 0;
    }

    .news-card {
        min-height: 285px;
        padding: 28px;
    }

    .news-card h3 {
        font-size: 25px;
    }

}


/* =========================================================
   ETHOS FULL SITE V6.2
========================================================= */

.inner-hero {
    min-height: 530px;
    padding: 90px max(7vw,70px);

    display: grid;
    grid-template-columns: 1fr .82fr;
    align-items: center;

    gap: 80px;

    overflow: hidden;
}

.inner-hero-blue {
    background:
        linear-gradient(
            135deg,
            #f8fbfd,
            #edf5f8
        );
}

.inner-hero-green {
    color: white;

    background:
        linear-gradient(
            135deg,
            #034d47,
            #08766a
        );
}

.inner-hero-copy {
    max-width: 800px;
}

.inner-hero h1,
.simple-hero h1,
.article-page header h1 {
    margin: 13px 0 22px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            48px,
            5vw,
            76px
        );

    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1;
}

.inner-hero-copy > p {
    max-width: 690px;

    font-size: 18px;
    line-height: 1.75;
}

.inner-hero-green .section-kicker {
    color: var(--gold-soft);
}

.inner-hero-visual {
    position: relative;
}

.inner-hero-visual::before {
    content: "";

    position: absolute;

    inset: 28px -28px -28px 28px;

    border:
        1px solid rgba(211,161,59,.38);

    border-radius: 26px;
}

.inner-hero-visual img {
    position: relative;

    width: 100%;
    max-height: 450px;

    object-fit: cover;

    border-radius: 26px;

    box-shadow:
        0 25px 60px rgba(3,47,77,.16);
}

.inner-content {
    max-width: 1250px;

    margin: auto;

    padding:
        90px 40px;
}

.inner-section {
    padding: 58px 0;

    display: grid;

    grid-template-columns:
        .7fr 1.3fr;

    gap: 90px;

    border-bottom:
        1px solid var(--border);
}

.inner-section:last-child {
    border-bottom: 0;
}

.inner-section-heading {
    display: flex;

    gap: 18px;
}

.inner-section-heading > span {
    color: var(--gold);

    font-size: 11px;
    font-weight: 850;
}

.inner-section h2 {
    margin: 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            30px,
            3vw,
            44px
        );

    font-weight: 500;
    line-height: 1.1;
}

.inner-section-content > p {
    margin-top: 0;

    color: var(--muted);

    font-size: 17px;
    line-height: 1.75;
}

.feature-list {
    margin: 28px 0 0;
    padding: 0;

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 12px;

    list-style: none;
}

.feature-list li {
    padding: 15px 18px;

    border:
        1px solid var(--border);

    border-radius: 11px;

    background: #fbfcfd;

    font-weight: 650;
}

.inner-cta {
    padding:
        72px max(7vw,70px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 50px;

    color: white;
    background: var(--blue-deep);
}

.inner-cta h2 {
    max-width: 720px;

    margin: 8px 0 0;

    font-family: Georgia, serif;

    font-size:
        clamp(
            34px,
            3vw,
            50px
        );

    font-weight: 500;
}

.inner-cta a {
    padding: 16px 28px;

    flex-shrink: 0;

    color: var(--blue-deep);
    background: var(--gold);

    border-radius: 30px;

    font-weight: 750;
}

.simple-hero {
    padding:
        110px max(9vw,80px)
        95px;

    background:
        linear-gradient(
            135deg,
            #f8fbfc,
            #edf4f7
        );
}

.simple-hero h1 {
    max-width: 950px;
}

.simple-hero > p {
    max-width: 760px;

    color: var(--muted);

    font-size: 19px;
    line-height: 1.75;
}

.editorial-grid {
    max-width: 1250px;

    margin: auto;

    padding:
        90px 40px;

    display: grid;

    grid-template-columns:
        repeat(3,1fr);

    gap: 24px;
}

.editorial-grid article {
    min-height: 315px;

    padding: 35px;

    border:
        1px solid var(--border);

    border-radius: 18px;
}

.editorial-grid article > span {
    color: var(--gold);

    font-size: 11px;
}

.editorial-grid h2 {
    margin: 55px 0 15px;

    font-family:
        Georgia,
        serif;

    font-size: 30px;
    font-weight: 500;
}

.editorial-grid p {
    color: var(--muted);

    line-height: 1.75;
}

.article-list {
    max-width: 1150px;

    margin: auto;

    padding:
        90px 40px;

    display: grid;

    grid-template-columns:
        repeat(2,1fr);

    gap: 25px;
}

.article-card {
    min-height: 390px;

    padding: 38px;

    display: flex;
    flex-direction: column;

    border:
        1px solid var(--border);

    border-radius: 19px;

    background: white;

    box-shadow:
        0 12px 40px rgba(4,55,89,.07);
}

.article-card > span {
    color: var(--gold);

    font-size: 10px;
    font-weight: 850;
    letter-spacing: .16em;
}

.article-card h2 {
    margin: 30px 0 15px;

    font-family: Georgia, serif;

    font-size: 31px;

    font-weight: 500;
    line-height: 1.15;
}

.article-card p {
    color: var(--muted);

    line-height: 1.7;
}

.article-card a {
    margin-top: auto;

    padding-top: 28px;

    font-weight: 750;
}

.article-page {
    max-width: 900px;

    margin: auto;

    padding:
        100px 35px;
}

.article-page header {
    margin-bottom: 70px;
}

.article-intro {
    color: var(--muted);

    font-size: 20px;
    line-height: 1.7;
}

.article-page section {
    margin: 55px 0;
}

.article-page section h2 {
    font-family: Georgia, serif;

    font-size: 34px;

    font-weight: 500;
}

.article-page section p {
    color: #526573;

    font-size: 17px;
    line-height: 1.8;
}

.article-back {
    display: inline-block;

    margin-top: 40px;

    font-weight: 750;
}

.faq-list {
    max-width: 950px;

    margin: auto;

    padding:
        80px 30px 110px;
}

.faq-list details {
    padding: 25px 0;

    border-bottom:
        1px solid var(--border);
}

.faq-list summary {
    cursor: pointer;

    list-style: none;

    color: var(--blue-deep);

    font-family:
        Georgia,
        serif;

    font-size: 24px;
    font-weight: 500;
}

.faq-list summary::-webkit-details-marker {
    display: none;
}

.faq-list summary::after {
    content: "+";

    float: right;

    color: var(--gold);
}

.faq-list details[open] summary::after {
    content: "−";
}

.faq-list p {
    max-width: 760px;

    color: var(--muted);

    line-height: 1.75;
}

.contact-page-grid {
    max-width: 1200px;

    margin: auto;

    padding:
        90px 40px 110px;

    display: grid;

    grid-template-columns:
        .8fr 1.2fr;

    gap: 100px;
}

.contact-details h2 {
    margin-top: 0;

    font-family: Georgia, serif;

    font-size: 38px;

    font-weight: 500;
}

.contact-details a {
    display: block;

    margin: 15px 0;

    color: var(--blue);

    font-weight: 700;
}

.legal-warning {
    margin-top: 30px;

    padding: 18px;

    color: #755f2d;
    background: #fff8e8;

    border:
        1px solid #ead7a7;

    border-radius: 10px;

    font-size: 13px;
}

.secure-contact-form {
    display: grid;

    gap: 19px;
}

.secure-contact-form label {
    display: grid;

    gap: 7px;

    font-size: 13px;
    font-weight: 700;
}

.secure-contact-form input[type="text"],
.secure-contact-form textarea {
    width: 100%;

    padding: 15px;

    border:
        1px solid #cdd9df;

    border-radius: 9px;

    background: white;

    font: inherit;
}

.secure-contact-form textarea {
    resize: vertical;
}

.secure-contact-form input:focus,
.secure-contact-form textarea:focus {
    outline:
        2px solid rgba(211,161,59,.42);

    outline-offset: 2px;
}

.consent-row {
    grid-template-columns:
        22px 1fr !important;

    align-items: start;
}

.secure-contact-form button {
    min-height: 52px;

    border: 0;

    border-radius: 28px;

    color: white;
    background: var(--blue);

    font: inherit;
    font-weight: 750;

    cursor: pointer;
}

.secure-contact-form small {
    color: var(--muted);

    line-height: 1.5;
}

.honeypot {
    position: absolute !important;

    width: 1px !important;
    height: 1px !important;

    overflow: hidden !important;

    clip: rect(1px,1px,1px,1px) !important;
}

.legal-content {
    max-width: 900px;

    margin: auto;

    padding:
        80px 35px 110px;
}

.legal-content > section {
    margin-bottom: 60px;
}

.legal-content h2 {
    font-family: Georgia, serif;

    font-size: 32px;

    font-weight: 500;
}

.legal-content p {
    color: #526573;

    line-height: 1.8;
}

@media (max-width: 900px) {

    .inner-hero {
        grid-template-columns: 1fr;

        padding:
            75px 30px;

        gap: 45px;
    }

    .inner-hero-visual {
        max-width: 650px;
    }

    .inner-section {
        grid-template-columns: 1fr;

        gap: 25px;
    }

    .feature-list {
        grid-template-columns: 1fr;
    }

    .editorial-grid {
        grid-template-columns: 1fr;
    }

    .article-list {
        grid-template-columns: 1fr;
    }

    .contact-page-grid {
        grid-template-columns: 1fr;

        gap: 50px;
    }
}

@media (max-width: 600px) {

    .inner-hero,
    .simple-hero {
        padding:
            70px 22px;
    }

    .inner-hero h1,
    .simple-hero h1,
    .article-page header h1 {
        font-size:
            clamp(
                40px,
                12vw,
                53px
            );
    }

    .inner-content {
        padding:
            55px 22px;
    }

    .inner-section {
        padding:
            40px 0;
    }

    .inner-cta {
        padding:
            55px 22px;

        flex-direction: column;
        align-items: flex-start;
    }

    .editorial-grid,
    .article-list,
    .contact-page-grid {
        padding:
            60px 22px;
    }

    .article-page {
        padding:
            65px 22px;
    }

    .faq-list {
        padding:
            55px 22px 80px;
    }

    .faq-list summary {
        font-size: 21px;
    }

    .legal-content {
        padding:
            55px 22px 90px;
    }
}


/* =========================================================
   ETHOS V7 - NAVIGATION ACTIVE
========================================================= */

.main-navigation a {
    position: relative;
}

.main-navigation a.active,
.main-navigation a[aria-current="page"] {
    color: var(--blue-deep);
}

.main-navigation a.active::after,
.main-navigation a[aria-current="page"]::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -12px;

    height: 2px;

    background: var(--gold);

    border-radius: 999px;
}

.mobile-nav a[aria-current="page"] {
    color: var(--gold);
    font-weight: 800;
}

.inner-section {
    scroll-margin-top: 125px;
}


/* =========================================================
   ETHOS V7.1 - NAVIGATION ACTIVE & ANCHORS
========================================================= */

.main-navigation a {
    position: relative;
}

.main-navigation a.active,
.main-navigation a[aria-current="page"] {
    color: var(--blue-deep);
}

.main-navigation a.active::after,
.main-navigation a[aria-current="page"]::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -12px;

    height: 2px;

    background: var(--gold);

    border-radius: 999px;
}

.mobile-nav a[aria-current="page"] {
    color: var(--gold);
    font-weight: 800;
}

.inner-section {
    scroll-margin-top: 125px;
}


/* =========================================================
   ETHOS V7.2 - ACTIVE NAV
========================================================= */

.main-navigation a {
    position: relative;
}

.main-navigation a[aria-current="page"] {
    color: var(--blue-deep);
}

.main-navigation a[aria-current="page"]::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: -12px;

    height: 2px;

    background: var(--gold);

    border-radius: 999px;
}

.mobile-nav a[aria-current="page"] {
    color: var(--gold);
    font-weight: 800;
}


/* =========================================================
   ETHOS V8.3 - PREMIUM OFFER CATALOGUE
========================================================= */

.home-catalogue-v83 {
    padding:
        clamp(85px, 7vw, 125px)
        max(4vw, 28px);

    background:
        linear-gradient(
            180deg,
            #f8fafb 0%,
            #ffffff 100%
        );
}

.offers-v83-heading {
    max-width: 880px;
    margin: 0 auto 65px;
    text-align: center;
}

.offers-v83-heading h2,
.certifications-v83-heading h2 {
    margin: 10px 0 18px;
    color: var(--blue-deep);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 4.3vw, 68px);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1;
}

.offers-v83-heading p {
    max-width: 700px;
    margin: auto;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.7;
}

.offers-v83-pole {
    width: min(100%, 1450px);
    margin: 0 auto 38px;
    padding: clamp(28px, 3vw, 46px);
    border-radius: 28px;
}

.offers-v83-training {
    background:
        linear-gradient(
            135deg,
            #033a61,
            #075b85
        );
}

.offers-v83-regulatory {
    background:
        linear-gradient(
            135deg,
            #034c46,
            #08776a
        );
}

.offers-v83-pole-header {
    margin-bottom: 32px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 30px;
    color: white;
}

.offers-v83-pole-header span {
    color: var(--gold-soft);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .18em;
}

.offers-v83-pole-header h3 {
    margin: 8px 0 0;
    font-family: Georgia, serif;
    font-size: clamp(31px, 3vw, 48px);
    font-weight: 500;
}

.offers-v83-pole-header > a {
    flex-shrink: 0;
    padding-bottom: 6px;
    color: white;
    border-bottom: 1px solid rgba(255,255,255,.4);
    font-size: 13px;
    font-weight: 750;
}

.offers-v83-grid {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    gap: 16px;
}

.offer-v83 {
    min-height: 270px;
    padding: 27px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    color: var(--blue-deep);
    background: white;
    border-radius: 18px;
    box-shadow: 0 12px 35px rgba(0,0,0,.09);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.offer-v83:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 44px rgba(0,0,0,.14);
}

.offer-v83 > span,
.offer-v83-body > span {
    color: var(--gold);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .15em;
}

.offer-v83-icon {
    width: 48px;
    height: 48px;
    margin: 25px 0;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 50%;
    color: var(--gold);
    font-family: Georgia, serif;
    font-size: 21px;
}

.offer-v83 h4 {
    margin: 16px 0 12px;
    font-family: Georgia, serif;
    font-size: clamp(23px, 1.65vw, 30px);
    font-weight: 500;
    line-height: 1.08;
}

.offer-v83 p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.65;
}

.offer-v83 strong {
    margin-top: auto;
    padding-top: 24px;
    color: var(--blue);
    font-size: 13px;
}

.offers-v83-regulatory
.offer-v83 strong {
    color: var(--green);
}

.offer-v83-featured {
    min-height: 360px;
    padding: 0;
}

.offer-v83-image {
    height: 185px;
    overflow: hidden;
}

.offer-v83-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.offer-v83:hover
.offer-v83-image img {
    transform: scale(1.04);
}

.offer-v83-body {
    padding: 26px;
    display: flex;
    flex: 1;
    flex-direction: column;
}

.certifications-v83 {
    padding:
        clamp(75px, 6vw, 105px)
        max(5vw, 40px);
    text-align: center;
    background: #ffffff;
}

.certifications-v83-heading {
    max-width: 760px;
    margin: 0 auto 45px;
}

.certifications-v83-grid {
    width: min(100%, 1200px);
    margin: 0 auto 38px;
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 18px;
}

.certifications-v83-grid > div {
    height: 150px;
    padding: 22px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: #fbfcfc;
}

.certifications-v83-grid img {
    max-width: 100%;
    max-height: 95px;
    object-fit: contain;
}

.certifications-v83-link {
    display: inline-flex;
    padding: 15px 28px;
    color: white;
    background: var(--blue);
    border-radius: 30px;
    font-size: 13px;
    font-weight: 750;
}

.inner-section {
    scroll-margin-top: 125px;
}

@media (max-width: 1050px) {

    .offers-v83-grid {
        grid-template-columns: repeat(2,1fr);
    }

    .certifications-v83-grid {
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width: 650px) {

    .home-catalogue-v83,
    .certifications-v83 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .offers-v83-pole {
        padding: 20px;
        border-radius: 22px;
    }

    .offers-v83-pole-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .offers-v83-grid {
        grid-template-columns: 1fr;
    }

    .offer-v83,
    .offer-v83-featured {
        min-height: 0;
    }

    .offer-v83-image {
        height: 180px;
    }

    .certifications-v83-grid {
        grid-template-columns: 1fr;
    }

    .certifications-v83-grid > div {
        height: 125px;
    }
}



/* =========================================================
   ETHOS V10.2 - POLE FORMATION FINAL POLISH
========================================================= */

.formation-page-v92 {
    overflow: hidden;
    background: #fff;
}


/* HERO */

.formation-hero-v92 {
    min-height: 540px;

    display: grid;
    grid-template-columns:
        .94fr 1.06fr;

    background:
        linear-gradient(
            135deg,
            #f7fafc,
            #edf4f7
        );
}

.formation-hero-v92-copy {
    padding:
        clamp(58px, 5.8vw, 92px)
        clamp(35px, 5.5vw, 92px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.formation-hero-v92-copy h1 {
    max-width: 690px;

    margin:
        14px 0 24px;

    color: #073b5c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            47px,
            4.45vw,
            70px
        );

    font-weight: 500;

    line-height: .98;

    letter-spacing: -.045em;
}

.formation-hero-v92-copy > p {
    max-width: 610px;

    margin: 0;

    color: #596c77;

    font-size:
        clamp(
            16px,
            1.2vw,
            19px
        );

    line-height: 1.7;
}

.formation-hero-v92-actions {
    margin-top: 32px;

    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.formation-primary-v92,
.formation-secondary-v92 {
    min-height: 48px;

    padding:
        0 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 800;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.formation-primary-v92 {
    color: white;

    background:
        linear-gradient(
            135deg,
            #0c6794,
            #074b72
        );

    box-shadow:
        0 13px 30px
        rgba(5,78,117,.17);
}

.formation-secondary-v92 {
    color: #073b5c;

    background: white;

    border:
        1px solid
        rgba(7,59,92,.14);
}

.formation-primary-v92:hover,
.formation-secondary-v92:hover {
    transform:
        translateY(-2px);
}


/* HERO VISUEL */

.formation-hero-v92-visual {
    position: relative;

    min-height: 540px;

    overflow: hidden;

    background: #dce7ec;
}

.formation-hero-v92-visual > img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center;
}

.formation-hero-v92-visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgba(1,42,66,.26)
        );

    pointer-events: none;
}

.formation-hero-v92-badge {
    position: absolute;

    z-index: 2;

    left: 27px;
    bottom: 27px;

    padding:
        18px 21px;

    color: #fff;

    background:
        rgba(3,47,73,.88);

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius: 15px;

    backdrop-filter:
        blur(10px);

    box-shadow:
        0 18px 50px
        rgba(0,0,0,.18);
}

.formation-hero-v92-badge strong,
.formation-hero-v92-badge span {
    display: block;
}

.formation-hero-v92-badge strong {
    margin-bottom: 4px;

    font-family:
        Georgia,
        serif;

    font-size: 21px;
}

.formation-hero-v92-badge span {
    color:
        rgba(255,255,255,.76);

    font-size: 12px;
}


/* NAV RAPIDE */

.formation-shortcuts-v92 {
    position: relative;
    z-index: 5;

    width:
        min(
            calc(100% - 40px),
            1180px
        );

    margin:
        -23px auto 0;

    padding: 9px;

    display: flex;
    justify-content: center;
    flex-wrap: wrap;

    gap: 5px;

    background:
        rgba(255,255,255,.98);

    border:
        1px solid
        rgba(8,66,99,.09);

    border-radius: 999px;

    box-shadow:
        0 17px 46px
        rgba(18,54,75,.10);
}

.formation-shortcuts-v92 a {
    padding:
        10px 15px;

    color: #164a67;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 750;
}

.formation-shortcuts-v92 a:hover {
    color: white;

    background: #0b628e;
}


/* TITRES DE SECTION */

.formation-section-heading-v92 {
    max-width: 820px;

    margin-bottom:
        clamp(
            42px,
            5vw,
            62px
        );
}

.formation-section-heading-v92 h2 {
    margin:
        10px 0 16px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            3.8vw,
            58px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;
}

.formation-section-heading-v92 p {
    max-width: 620px;

    margin: 0;

    color: #61727b;

    line-height: 1.7;
}


/* 6 TITRES PROFESSIONNELS */

.formation-catalogue-v92 {
    padding:
        clamp(82px, 6.5vw, 108px)
        max(5vw, 30px)
        clamp(72px, 6vw, 92px);

    background:
        linear-gradient(
            180deg,
            #fff,
            #fafcfd
        );

    scroll-margin-top: 110px;
}

.formation-catalogue-v92 >
.formation-section-heading-v92,
.formation-title-grid-v92 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.formation-title-grid-v92 {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 18px;
}

.formation-title-card-v92 {
    position: relative;

    min-height: 295px;

    padding: 26px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: white;

    border:
        1px solid
        rgba(8,67,101,.10);

    border-radius: 18px;

    box-shadow:
        0 8px 28px
        rgba(24,58,78,.04);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.formation-title-card-v92::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            #d2a540,
            rgba(210,165,64,.06)
        );
}

.formation-title-card-v92:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 20px 48px
        rgba(14,52,74,.09);
}

.formation-card-number-v92 {
    color: #c79b39;

    font-size: 10px;

    font-weight: 850;

    letter-spacing: .17em;
}

.formation-title-icon-v92 {
    width: 48px;
    height: 48px;

    margin:
        22px 0 20px;

    display: grid;
    place-items: center;

    color: #0c658f;

    background: #ecf4f7;

    border-radius: 13px;

    font-family:
        Georgia,
        serif;

    font-size: 18px;
}

.formation-title-card-v92 h3 {
    margin:
        0 0 13px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            23px,
            1.7vw,
            29px
        );

    font-weight: 500;

    line-height: 1.08;
}

.formation-title-card-v92 p {
    margin: 0;

    color: #63747d;

    font-size: 13.5px;

    line-height: 1.62;
}

.formation-title-card-v92 > a {
    margin-top: auto;

    padding-top: 22px;

    color: #0b628e;

    font-size: 12.5px;

    font-weight: 800;
}


/* 3 PARCOURS */

.formation-paths-v92 {
    padding:
        clamp(72px, 6vw, 90px)
        max(5vw, 30px)
        clamp(74px, 6vw, 96px);

    background: #f2f6f7;
}

.formation-paths-v92 >
.formation-section-heading-v92,
.formation-paths-grid-v92 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.formation-paths-grid-v92 {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 20px;
}

.formation-path-v92,
.formation-path-v92-reverse {
    min-width: 0;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: white;

    border:
        1px solid
        rgba(8,67,101,.09);

    border-radius: 21px;

    box-shadow:
        0 13px 40px
        rgba(20,57,77,.065);

    scroll-margin-top: 100px;
}

.formation-path-v92-reverse
.formation-path-v92-visual,
.formation-path-v92-reverse
.formation-path-v92-copy {
    order: initial;
}

.formation-path-v92-visual {
    position: relative;

    width: 100%;

    height: 245px;
    min-height: 245px;

    overflow: hidden;

    background: #dce7eb;
}

.formation-path-v92-visual::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 60%,
            rgba(2,43,67,.22)
        );
}

.formation-path-v92-visual img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition:
        transform .45s ease;
}

.formation-path-v92:hover
.formation-path-v92-visual img {
    transform:
        scale(1.025);
}

.formation-path-v92-copy {
    flex: 1;

    padding:
        26px 26px
        25px;

    display: flex;
    flex-direction: column;
}

.formation-path-v92-copy > span {
    margin-bottom: 14px;

    color: #bf9130;

    font-size: 9.5px;

    font-weight: 850;

    letter-spacing: .14em;
}

.formation-path-v92-copy h3 {
    margin:
        0 0 15px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            28px,
            2.1vw,
            37px
        );

    font-weight: 500;

    line-height: 1.03;
}

.formation-path-v92-copy p {
    margin:
        0 0 18px;

    color: #63747d;

    font-size: 14px;

    line-height: 1.65;
}

.formation-path-v92-copy ul {
    margin:
        0 0 22px;

    padding: 0;

    display: flex;
    flex-wrap: wrap;

    gap: 6px;

    list-style: none;
}

.formation-path-v92-copy li {
    padding:
        7px 10px;

    color: #31556a;

    background: #edf4f6;

    border-radius: 999px;

    font-size: 10.5px;

    font-weight: 700;
}

.formation-path-v92-copy > a {
    margin-top: auto;

    color: #0b628e;

    font-size: 12.5px;

    font-weight: 800;
}


/* VAE */

.formation-vae-v92 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        clamp(62px, 5.5vw, 82px)
        auto;

    display: grid;

    grid-template-columns:
        .88fr 1.12fr;

    overflow: hidden;

    color: white;

    background:
        linear-gradient(
            135deg,
            #073e61,
            #07577d
        );

    border-radius: 25px;

    box-shadow:
        0 22px 68px
        rgba(5,53,81,.15);
}

.formation-vae-v92-copy {
    padding:
        clamp(
            45px,
            5vw,
            75px
        );

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.formation-vae-v92-copy h2 {
    margin:
        10px 0 18px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            3.5vw,
            55px
        );

    font-weight: 500;

    line-height: 1;
}

.formation-vae-v92-copy p {
    max-width: 530px;

    margin:
        0 0 25px;

    color:
        rgba(255,255,255,.78);

    line-height: 1.68;
}

.formation-vae-v92-copy > a {
    align-self: flex-start;

    padding:
        12px 19px;

    color: #073e61;

    background: white;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 800;
}

.formation-vae-v92-visual {
    min-height: 365px;

    overflow: hidden;
}

.formation-vae-v92-visual img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* FINAL CTA */

.formation-final-cta-v92 {
    position: relative;

    padding:
        clamp(58px, 5vw, 82px)
        max(6vw, 40px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    overflow: hidden;

    color: white;

    background:
        linear-gradient(
            135deg,
            #075e55,
            #08766a
        );
}

.formation-final-cta-v92 h2 {
    max-width: 730px;

    margin:
        8px 0 10px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            32px,
            3vw,
            47px
        );

    font-weight: 500;

    line-height: 1.04;
}

.formation-final-cta-v92 p {
    margin: 0;

    color:
        rgba(255,255,255,.76);
}

.formation-final-cta-v92 > a {
    flex-shrink: 0;

    padding:
        14px 23px;

    color: #076157;

    background: white;

    border-radius: 999px;

    font-size: 12.5px;

    font-weight: 850;
}


/* TABLET */

@media (max-width: 1050px) {

    .formation-hero-v92 {
        grid-template-columns: 1fr;
    }

    .formation-hero-v92-visual {
        min-height: 460px;
    }

    .formation-title-grid-v92 {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .formation-paths-grid-v92 {
        grid-template-columns: 1fr;
    }

    .formation-path-v92 {
        display: grid;

        grid-template-columns:
            .9fr 1.1fr;
    }

    .formation-path-v92-visual {
        height: 100%;

        min-height: 390px;
    }

    .formation-vae-v92 {
        grid-template-columns: 1fr;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .formation-hero-v92-copy {
        padding:
            62px 20px
            48px;
    }

    .formation-hero-v92-actions {
        flex-direction: column;
    }

    .formation-primary-v92,
    .formation-secondary-v92 {
        width: 100%;
    }

    .formation-hero-v92-visual {
        min-height: 330px;
    }

    .formation-hero-v92-badge {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }

    .formation-shortcuts-v92 {
        width:
            calc(100% - 28px);

        margin-top: 14px;

        justify-content: flex-start;

        border-radius: 16px;
    }

    .formation-catalogue-v92,
    .formation-paths-v92 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .formation-title-grid-v92 {
        grid-template-columns: 1fr;
    }

    .formation-title-card-v92 {
        min-height: 290px;
    }

    .formation-path-v92 {
        display: flex;
    }

    .formation-path-v92-visual {
        height: 245px;
        min-height: 245px;
    }

    .formation-path-v92-copy {
        padding:
            27px 22px
            30px;
    }

    .formation-vae-v92 {
        width:
            calc(100% - 30px);

        margin:
            62px auto;

        border-radius: 20px;
    }

    .formation-vae-v92-visual {
        min-height: 280px;
    }

    .formation-final-cta-v92 {
        align-items: flex-start;
        flex-direction: column;

        padding:
            52px 20px;
    }

}


/* =========================================================
   ETHOS V10.2 - MICRO POLISH
========================================================= */

.formation-hero-v92-copy h1,
.formation-section-heading-v92 h2,
.formation-path-v92-copy h3,
.formation-vae-v92-copy h2 {
    text-wrap: balance;
}

.formation-hero-v92-visual > img {
    object-position: 52% 48%;
}

.formation-title-grid-v92 {
    align-items: stretch;
}

.formation-title-card-v92 {
    height: 100%;
}

.formation-title-card-v92 h3 {
    min-height: 62px;
}

.formation-title-card-v92 p {
    max-width: 390px;
}

.formation-paths-grid-v92 {
    align-items: stretch;
}

.formation-path-v92 {
    height: 100%;
}

#alternance
.formation-path-v92-visual img {
    object-position: 50% 42%;
}

#formation-continue
.formation-path-v92-visual img {
    object-position: 52% 43%;
}

#formations-reglementaires
.formation-path-v92-visual img {
    object-position: 55% 40%;
}

.formation-path-v92-copy h3 {
    min-height: 76px;
}

.formation-vae-v92-copy {
    padding:
        clamp(
            40px,
            4.2vw,
            62px
        );
}

.formation-vae-v92-visual img {
    object-position: 50% 42%;
}

@media (max-width: 1050px) {

    .formation-hero-v92-visual {
        min-height: 410px;
    }

    .formation-path-v92-copy h3,
    .formation-title-card-v92 h3 {
        min-height: 0;
    }

}

@media (max-width: 650px) {

    .formation-hero-v92-copy {
        padding:
            50px 20px
            42px;
    }

    .formation-hero-v92-visual {
        min-height: 300px;
    }

    .formation-catalogue-v92 {
        padding-top: 70px;
        padding-bottom: 65px;
    }

    .formation-paths-v92 {
        padding-top: 62px;
        padding-bottom: 68px;
    }

    .formation-title-card-v92 {
        min-height: 270px;
    }

    .formation-path-v92-visual {
        height: 220px;
        min-height: 220px;
    }

    .formation-vae-v92 {
        margin:
            52px auto;
    }

    .formation-vae-v92-visual {
        min-height: 245px;
    }

}


/* =========================================================
   ETHOS V11 - EXPERTISE REGLEMENTAIRE
========================================================= */

.regulatory-page-v11 {
    overflow: hidden;
    background: #fff;
}

.regulatory-hero-v11 {
    min-height: 560px;

    display: grid;
    grid-template-columns:
        .95fr 1.05fr;

    background:
        linear-gradient(
            135deg,
            #f7faf9,
            #edf5f2
        );
}

.regulatory-hero-copy-v11 {
    padding:
        clamp(62px, 6vw, 100px)
        clamp(35px, 5.5vw, 92px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.regulatory-hero-copy-v11 .section-kicker {
    color: #087064;
}

.regulatory-hero-copy-v11 h1 {
    max-width: 720px;

    margin:
        14px 0 23px;

    color: #073b5c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            46px,
            4.5vw,
            70px
        );

    font-weight: 500;

    line-height: .99;

    letter-spacing: -.045em;

    text-wrap: balance;
}

.regulatory-hero-copy-v11 > p {
    max-width: 610px;

    margin: 0;

    color: #5c6e73;

    font-size:
        clamp(
            16px,
            1.2vw,
            19px
        );

    line-height: 1.7;
}

.regulatory-hero-actions-v11 {
    margin-top: 30px;

    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.regulatory-primary-v11,
.regulatory-secondary-v11 {
    min-height: 48px;

    padding:
        0 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 800;

    text-decoration: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.regulatory-primary-v11 {
    color: #fff;

    background:
        linear-gradient(
            135deg,
            #087466,
            #07584f
        );

    box-shadow:
        0 13px 30px
        rgba(7,94,83,.17);
}

.regulatory-secondary-v11 {
    color: #07584f;

    background: #fff;

    border:
        1px solid
        rgba(7,88,79,.14);
}

.regulatory-primary-v11:hover,
.regulatory-secondary-v11:hover {
    transform:
        translateY(-2px);
}

.regulatory-proof-v11 {
    margin-top: 38px;

    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 14px;

    max-width: 660px;
}

.regulatory-proof-v11 > div {
    padding:
        15px 16px;

    background:
        rgba(255,255,255,.62);

    border:
        1px solid
        rgba(7,88,79,.08);

    border-radius: 14px;
}

.regulatory-proof-v11 strong,
.regulatory-proof-v11 span {
    display: block;
}

.regulatory-proof-v11 strong {
    margin-bottom: 3px;

    color: #07584f;

    font-family:
        Georgia,
        serif;

    font-size: 20px;
}

.regulatory-proof-v11 span {
    color: #627477;

    font-size: 10px;

    line-height: 1.4;
}

.regulatory-hero-visual-v11 {
    position: relative;

    min-height: 560px;

    overflow: hidden;

    background: #dce8e4;
}

.regulatory-hero-visual-v11 img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: 54% 45%;
}

.regulatory-hero-visual-v11::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 52%,
            rgba(3,52,48,.30)
        );

    pointer-events: none;
}

.regulatory-hero-label-v11 {
    position: absolute;

    z-index: 2;

    left: 27px;
    bottom: 27px;

    padding:
        17px 20px;

    color: #fff;

    background:
        rgba(4,70,63,.87);

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius: 15px;

    backdrop-filter:
        blur(10px);

    box-shadow:
        0 18px 48px
        rgba(0,0,0,.17);
}

.regulatory-hero-label-v11 span,
.regulatory-hero-label-v11 strong {
    display: block;
}

.regulatory-hero-label-v11 span {
    margin-bottom: 4px;

    color:
        rgba(255,255,255,.70);

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .16em;
}

.regulatory-hero-label-v11 strong {
    font-family:
        Georgia,
        serif;

    font-size: 20px;

    font-weight: 500;
}

.regulatory-shortcuts-v11 {
    position: relative;

    z-index: 5;

    width:
        min(
            calc(100% - 40px),
            1050px
        );

    margin:
        -24px auto 0;

    padding: 9px;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    gap: 6px;

    background:
        rgba(255,255,255,.98);

    border:
        1px solid
        rgba(7,88,79,.09);

    border-radius: 999px;

    box-shadow:
        0 16px 45px
        rgba(16,59,55,.09);
}

.regulatory-shortcuts-v11 a {
    padding:
        10px 15px;

    color: #245d57;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 750;

    text-decoration: none;
}

.regulatory-shortcuts-v11 a:hover {
    color: #fff;
    background: #087064;
}

.regulatory-intro-v11 {
    padding:
        clamp(92px, 7vw, 118px)
        max(5vw, 30px)
        clamp(80px, 6vw, 100px);

    background:
        linear-gradient(
            180deg,
            #fff,
            #fbfcfc
        );
}

.regulatory-heading-v11,
.regulatory-grid-v11 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.regulatory-heading-v11 {
    max-width: 830px;

    margin-bottom:
        clamp(
            44px,
            5vw,
            65px
        );
}

.regulatory-heading-v11 h2 {
    margin:
        10px 0 17px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            39px,
            3.8vw,
            59px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;

    text-wrap: balance;
}

.regulatory-heading-v11 p {
    max-width: 670px;

    margin: 0;

    color: #617277;

    font-size: 15px;

    line-height: 1.72;
}

.regulatory-grid-v11 {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 20px;
}

.regulatory-card-v11 {
    position: relative;

    min-height: 410px;

    padding:
        30px 30px
        28px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: #fff;

    border:
        1px solid
        rgba(7,79,72,.10);

    border-radius: 21px;

    box-shadow:
        0 10px 34px
        rgba(19,61,57,.05);

    scroll-margin-top: 105px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.regulatory-card-v11::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            #cda13e,
            rgba(205,161,62,.06)
        );
}

.regulatory-card-v11:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 22px 52px
        rgba(17,59,55,.10);
}

.regulatory-card-top-v11 {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 24px;
}

.regulatory-card-number-v11 {
    color: #be9130;

    font-size: 10px;

    font-weight: 850;

    letter-spacing: .17em;
}

.regulatory-card-icon-v11 {
    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    color: #087064;

    background:
        linear-gradient(
            135deg,
            #edf6f3,
            #e3f0ec
        );

    border-radius: 15px;

    font-family:
        Georgia,
        serif;

    font-size: 16px;
    font-weight: 700;
}

.regulatory-card-v11 h3 {
    margin:
        0 0 15px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            29px,
            2.4vw,
            40px
        );

    font-weight: 500;

    line-height: 1.03;

    text-wrap: balance;
}

.regulatory-card-v11 > p {
    max-width: 600px;

    margin:
        0 0 20px;

    color: #617277;

    font-size: 14px;

    line-height: 1.68;
}

.regulatory-card-v11 ul {
    margin:
        0 0 25px;

    padding: 0;

    display: flex;
    flex-wrap: wrap;

    gap: 7px;

    list-style: none;
}

.regulatory-card-v11 li {
    padding:
        8px 11px;

    color: #315e59;

    background: #edf5f2;

    border-radius: 999px;

    font-size: 11px;

    font-weight: 700;
}

.regulatory-card-v11 > a {
    margin-top: auto;

    color: #087064;

    font-size: 12.5px;

    font-weight: 800;

    text-decoration: none;
}

.regulatory-card-v11 > a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.regulatory-method-v11 {
    padding:
        clamp(75px, 6vw, 100px)
        max(5vw, 30px);

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #063f3a,
            #075e55
        );
}

.regulatory-method-copy-v11,
.regulatory-method-steps-v11 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.regulatory-method-copy-v11 {
    max-width: 780px;

    margin-bottom:
        clamp(
            42px,
            5vw,
            62px
        );
}

.regulatory-method-copy-v11 h2 {
    margin:
        10px 0 17px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            3.6vw,
            56px
        );

    font-weight: 500;

    line-height: 1;

    text-wrap: balance;
}

.regulatory-method-copy-v11 p {
    max-width: 650px;

    margin: 0;

    color:
        rgba(255,255,255,.75);

    line-height: 1.7;
}

.regulatory-method-steps-v11 {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.regulatory-method-steps-v11 > div {
    min-height: 190px;

    padding: 24px;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 17px;
}

.regulatory-method-steps-v11 span {
    display: block;

    margin-bottom: 27px;

    color: #d3aa50;

    font-size: 10px;

    font-weight: 850;
}

.regulatory-method-steps-v11 strong {
    display: block;

    margin-bottom: 10px;

    font-family:
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 500;
}

.regulatory-method-steps-v11 p {
    margin: 0;

    color:
        rgba(255,255,255,.67);

    font-size: 12px;

    line-height: 1.6;
}

.regulatory-final-v11 {
    padding:
        clamp(58px, 5vw, 78px)
        max(6vw, 40px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    background: #f2f6f5;
}

.regulatory-final-v11 h2 {
    max-width: 700px;

    margin:
        8px 0 10px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            34px,
            3vw,
            48px
        );

    font-weight: 500;

    line-height: 1.03;
}

.regulatory-final-v11 p {
    margin: 0;

    color: #617277;
}

.regulatory-final-v11 > a {
    flex-shrink: 0;

    padding:
        14px 23px;

    color: #fff;

    background: #087064;

    border-radius: 999px;

    font-size: 12.5px;

    font-weight: 850;

    text-decoration: none;
}

@media (max-width: 1050px) {

    .regulatory-hero-v11 {
        grid-template-columns: 1fr;
    }

    .regulatory-hero-visual-v11 {
        min-height: 430px;
    }

    .regulatory-method-steps-v11 {
        grid-template-columns:
            repeat(2, 1fr);
    }

}

@media (max-width: 650px) {

    .regulatory-hero-copy-v11 {
        padding:
            52px 20px
            46px;
    }

    .regulatory-hero-actions-v11 {
        flex-direction: column;
    }

    .regulatory-primary-v11,
    .regulatory-secondary-v11 {
        width: 100%;
    }

    .regulatory-proof-v11 {
        grid-template-columns: 1fr;
    }

    .regulatory-hero-visual-v11 {
        min-height: 320px;
    }

    .regulatory-hero-label-v11 {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }

    .regulatory-shortcuts-v11 {
        width:
            calc(100% - 28px);

        margin-top: 14px;

        justify-content: flex-start;

        border-radius: 16px;
    }

    .regulatory-intro-v11 {
        padding:
            70px 15px
            65px;
    }

    .regulatory-grid-v11 {
        grid-template-columns: 1fr;
    }

    .regulatory-card-v11 {
        min-height: 360px;

        padding:
            25px 22px;
    }

    .regulatory-method-v11 {
        padding:
            65px 15px;
    }

    .regulatory-method-steps-v11 {
        grid-template-columns: 1fr;
    }

    .regulatory-final-v11 {
        align-items: flex-start;
        flex-direction: column;

        padding:
            52px 20px;
    }

}


/* =========================================================
   ETHOS V12 - VAE PREMIUM
========================================================= */

.vae-page-v12 {
    overflow: hidden;
    background: #fff;
}


/* HERO */

.vae-hero-v12 {
    min-height: 550px;

    display: grid;
    grid-template-columns:
        .94fr 1.06fr;

    background:
        linear-gradient(
            135deg,
            #f6f9fc,
            #edf3f8
        );
}

.vae-hero-copy-v12 {
    padding:
        clamp(60px, 6vw, 96px)
        clamp(35px, 5.5vw, 92px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.vae-hero-copy-v12 h1 {
    max-width: 720px;

    margin:
        14px 0 23px;

    color: #073b5c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            46px,
            4.5vw,
            70px
        );

    font-weight: 500;

    line-height: .99;

    letter-spacing: -.045em;

    text-wrap: balance;
}

.vae-hero-copy-v12 > p {
    max-width: 620px;

    margin: 0;

    color: #5d6e79;

    font-size:
        clamp(
            16px,
            1.2vw,
            19px
        );

    line-height: 1.7;
}

.vae-hero-actions-v12 {
    margin-top: 30px;

    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.vae-primary-v12,
.vae-secondary-v12 {
    min-height: 48px;

    padding:
        0 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 800;

    text-decoration: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.vae-primary-v12 {
    color: #fff;

    background:
        linear-gradient(
            135deg,
            #0d6895,
            #074d74
        );

    box-shadow:
        0 13px 30px
        rgba(6,77,116,.17);
}

.vae-secondary-v12 {
    color: #073b5c;

    background: #fff;

    border:
        1px solid
        rgba(7,59,92,.14);
}

.vae-primary-v12:hover,
.vae-secondary-v12:hover {
    transform:
        translateY(-2px);
}


/* HERO POINTS */

.vae-hero-points-v12 {
    max-width: 660px;

    margin-top: 38px;

    display: grid;
    grid-template-columns:
        repeat(3, 1fr);

    gap: 14px;
}

.vae-hero-points-v12 > div {
    padding:
        15px 16px;

    background:
        rgba(255,255,255,.64);

    border:
        1px solid
        rgba(8,70,108,.08);

    border-radius: 14px;
}

.vae-hero-points-v12 strong,
.vae-hero-points-v12 span {
    display: block;
}

.vae-hero-points-v12 strong {
    margin-bottom: 3px;

    color: #0b618d;

    font-family:
        Georgia,
        serif;

    font-size: 20px;
}

.vae-hero-points-v12 span {
    color: #687780;

    font-size: 10px;

    line-height: 1.4;
}


/* HERO VISUAL */

.vae-hero-visual-v12 {
    position: relative;

    min-height: 550px;

    overflow: hidden;

    background: #dce7ed;
}

.vae-hero-visual-v12 img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: 50% 43%;
}

.vae-hero-visual-v12::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgba(3,48,76,.31)
        );

    pointer-events: none;
}

.vae-hero-label-v12 {
    position: absolute;

    z-index: 2;

    left: 27px;
    bottom: 27px;

    max-width: 370px;

    padding:
        17px 20px;

    color: #fff;

    background:
        rgba(4,58,90,.88);

    border:
        1px solid
        rgba(255,255,255,.17);

    border-radius: 15px;

    backdrop-filter:
        blur(10px);

    box-shadow:
        0 18px 48px
        rgba(0,0,0,.17);
}

.vae-hero-label-v12 span,
.vae-hero-label-v12 strong {
    display: block;
}

.vae-hero-label-v12 span {
    margin-bottom: 4px;

    color:
        rgba(255,255,255,.68);

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .16em;
}

.vae-hero-label-v12 strong {
    font-family:
        Georgia,
        serif;

    font-size: 20px;

    font-weight: 500;

    line-height: 1.15;
}


/* SHORTCUTS */

.vae-shortcuts-v12 {
    position: relative;

    z-index: 5;

    width:
        min(
            calc(100% - 40px),
            960px
        );

    margin:
        -24px auto 0;

    padding: 9px;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    gap: 6px;

    background:
        rgba(255,255,255,.98);

    border:
        1px solid
        rgba(8,70,108,.09);

    border-radius: 999px;

    box-shadow:
        0 16px 45px
        rgba(18,56,80,.09);
}

.vae-shortcuts-v12 a {
    padding:
        10px 15px;

    color: #25546d;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 750;

    text-decoration: none;
}

.vae-shortcuts-v12 a:hover {
    color: #fff;

    background: #0b628e;
}


/* FORMULES */

.vae-intro-v12 {
    padding:
        clamp(90px, 7vw, 115px)
        max(5vw, 30px)
        clamp(78px, 6vw, 98px);

    background:
        linear-gradient(
            180deg,
            #fff,
            #fbfcfd
        );
}

.vae-heading-v12,
.vae-formulas-v12,
.vae-complement-v12 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.vae-heading-v12 {
    max-width: 830px;

    margin-bottom:
        clamp(
            44px,
            5vw,
            64px
        );
}

.vae-heading-v12 h2,
.vae-steps-heading-v12 h2,
.vae-focus-copy-v12 h2 {
    margin:
        10px 0 17px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            39px,
            3.8vw,
            58px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;

    text-wrap: balance;
}

.vae-heading-v12 p,
.vae-steps-heading-v12 p,
.vae-focus-copy-v12 p {
    max-width: 690px;

    margin: 0;

    color: #61727c;

    font-size: 15px;

    line-height: 1.72;
}

.vae-formulas-v12 {
    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 18px;
}

.vae-formula-v12 {
    position: relative;

    min-height: 360px;

    padding: 28px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: #fff;

    border:
        1px solid
        rgba(7,65,100,.10);

    border-radius: 20px;

    box-shadow:
        0 10px 34px
        rgba(18,55,77,.05);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.vae-formula-v12::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            #cda13e,
            rgba(205,161,62,.05)
        );
}

.vae-formula-v12:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 22px 50px
        rgba(14,52,75,.10);
}

.vae-formula-number-v12 {
    color: #c09231;

    font-size: 10px;

    font-weight: 850;

    letter-spacing: .17em;
}

.vae-formula-icon-v12 {
    width: 52px;
    height: 52px;

    margin:
        22px 0 21px;

    display: grid;
    place-items: center;

    color: #0b628e;

    background:
        linear-gradient(
            135deg,
            #edf5f9,
            #e3eff5
        );

    border-radius: 15px;

    font-family:
        Georgia,
        serif;

    font-size: 18px;
    font-weight: 700;
}

.vae-formula-v12 h3 {
    margin:
        0 0 14px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            27px,
            2vw,
            35px
        );

    font-weight: 500;

    line-height: 1.04;
}

.vae-formula-v12 p {
    margin:
        0 0 22px;

    color: #647580;

    font-size: 13.5px;

    line-height: 1.65;
}

.vae-formula-v12 > a {
    margin-top: auto;

    color: #0b628e;

    font-size: 12.5px;

    font-weight: 800;

    text-decoration: none;
}

.vae-formula-v12 > a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}


/* COMPLEMENT */

.vae-complement-v12 {
    margin-top: 20px;

    padding:
        26px 28px;

    display: flex;
    align-items: center;

    gap: 22px;

    background:
        linear-gradient(
            135deg,
            #f2f7fa,
            #edf4f7
        );

    border:
        1px solid
        rgba(7,65,100,.08);

    border-radius: 18px;
}

.vae-complement-icon-v12 {
    flex:
        0 0 54px;

    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    color: #fff;

    background: #0b628e;

    border-radius: 50%;

    font-size: 27px;

    font-weight: 300;
}

.vae-complement-v12 span {
    display: block;

    margin-bottom: 4px;

    color: #b6892e;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .15em;
}

.vae-complement-v12 h3 {
    margin:
        0 0 5px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size: 24px;

    font-weight: 500;
}

.vae-complement-v12 p {
    margin: 0;

    color: #667781;

    font-size: 13px;
}


/* ETAPES */

.vae-steps-v12 {
    padding:
        clamp(78px, 6vw, 100px)
        max(5vw, 30px);

    background: #073e61;
}

.vae-steps-heading-v12,
.vae-timeline-v12 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.vae-steps-heading-v12 {
    max-width: 820px;

    margin-bottom: 52px;
}

.vae-steps-heading-v12 .section-kicker {
    color: #d4ab50;
}

.vae-steps-heading-v12 h2 {
    color: #fff;
}

.vae-steps-heading-v12 p {
    color:
        rgba(255,255,255,.70);
}

.vae-timeline-v12 {
    position: relative;

    display: grid;

    grid-template-columns:
        repeat(5, 1fr);

    gap: 12px;
}

.vae-timeline-v12::before {
    content: "";

    position: absolute;

    top: 26px;

    left: 5%;
    right: 5%;

    height: 1px;

    background:
        rgba(255,255,255,.18);
}

.vae-step-v12 {
    position: relative;

    z-index: 1;

    min-width: 0;
}

.vae-step-number-v12 {
    width: 52px;
    height: 52px;

    margin-bottom: 21px;

    display: grid;
    place-items: center;

    color: #073e61;

    background: #fff;

    border:
        5px solid
        #0b557e;

    border-radius: 50%;

    font-size: 11px;

    font-weight: 850;
}

.vae-step-content-v12 {
    min-height: 150px;

    padding:
        21px 18px;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 15px;
}

.vae-step-content-v12 span {
    display: block;

    margin-bottom: 8px;

    color:
        rgba(255,255,255,.48);

    font-size: 8.5px;

    font-weight: 800;

    letter-spacing: .13em;
}

.vae-step-content-v12 h3 {
    margin: 0;

    color: #fff;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            19px,
            1.5vw,
            25px
        );

    font-weight: 500;

    line-height: 1.13;
}


/* FOCUS */

.vae-focus-v12 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        clamp(65px, 6vw, 90px)
        auto;

    display: grid;

    grid-template-columns:
        1fr .95fr;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f4f8fa,
            #edf4f7
        );

    border:
        1px solid
        rgba(7,65,100,.08);

    border-radius: 24px;
}

.vae-focus-copy-v12 {
    padding:
        clamp(
            42px,
            4.5vw,
            68px
        );
}

.vae-focus-copy-v12 > a {
    margin-top: 25px;

    display: inline-flex;

    padding:
        12px 19px;

    color: #fff;

    background: #0b628e;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 800;

    text-decoration: none;
}

.vae-focus-visual-v12 {
    padding:
        clamp(
            38px,
            4vw,
            62px
        );

    display: flex;
    flex-direction: column;
    justify-content: center;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #0a5b85,
            #063e61
        );
}

.vae-focus-word-v12 {
    margin-bottom: 30px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            62px,
            7vw,
            100px
        );

    line-height: .8;

    opacity: .20;
}

.vae-focus-line-v12 {
    display: grid;

    grid-template-columns:
        auto 1fr auto;

    align-items: center;

    gap: 14px;

    padding:
        14px 0;

    border-bottom:
        1px solid
        rgba(255,255,255,.12);
}

.vae-focus-line-v12 span {
    font-size: 12px;

    font-weight: 700;
}

.vae-focus-line-v12 span:nth-child(2) {
    height: 1px;

    background:
        rgba(255,255,255,.25);
}


/* FINAL CTA */

.vae-final-v12 {
    padding:
        clamp(58px, 5vw, 78px)
        max(6vw, 40px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    background: #f2f6f8;
}

.vae-final-v12 h2 {
    margin:
        8px 0 10px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            34px,
            3vw,
            48px
        );

    font-weight: 500;

    line-height: 1.03;
}

.vae-final-v12 p {
    max-width: 650px;

    margin: 0;

    color: #61727c;
}

.vae-final-v12 > a {
    flex-shrink: 0;

    padding:
        14px 23px;

    color: #fff;

    background: #0b628e;

    border-radius: 999px;

    font-size: 12.5px;

    font-weight: 850;

    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .vae-hero-v12 {
        grid-template-columns: 1fr;
    }

    .vae-hero-visual-v12 {
        min-height: 420px;
    }

    .vae-formulas-v12 {
        grid-template-columns: 1fr;
    }

    .vae-formula-v12 {
        min-height: 280px;
    }

    .vae-timeline-v12 {
        grid-template-columns: 1fr;
    }

    .vae-timeline-v12::before {
        display: none;
    }

    .vae-step-v12 {
        display: grid;

        grid-template-columns:
            54px 1fr;

        gap: 18px;
    }

    .vae-step-content-v12 {
        min-height: auto;
    }

    .vae-focus-v12 {
        grid-template-columns: 1fr;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .vae-hero-copy-v12 {
        padding:
            52px 20px
            45px;
    }

    .vae-hero-actions-v12 {
        flex-direction: column;
    }

    .vae-primary-v12,
    .vae-secondary-v12 {
        width: 100%;
    }

    .vae-hero-points-v12 {
        grid-template-columns: 1fr;
    }

    .vae-hero-visual-v12 {
        min-height: 310px;
    }

    .vae-hero-label-v12 {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }

    .vae-shortcuts-v12 {
        width:
            calc(100% - 28px);

        margin-top: 14px;

        justify-content: flex-start;

        border-radius: 16px;
    }

    .vae-intro-v12,
    .vae-steps-v12 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .vae-complement-v12 {
        align-items: flex-start;

        padding:
            22px 20px;
    }

    .vae-focus-v12 {
        width:
            calc(100% - 30px);

        margin:
            55px auto;

        border-radius: 19px;
    }

    .vae-focus-copy-v12,
    .vae-focus-visual-v12 {
        padding:
            36px 22px;
    }

    .vae-final-v12 {
        align-items: flex-start;
        flex-direction: column;

        padding:
            52px 20px;
    }

}


/* =========================================================
   ETHOS V13 - EXTERNALISATION PREMIUM
========================================================= */

.external-page-v13 {
    overflow: hidden;
    background: #fff;
}


/* HERO */

.external-hero-v13 {
    min-height: 560px;

    display: grid;
    grid-template-columns:
        .98fr 1.02fr;

    background:
        linear-gradient(
            135deg,
            #f6faf8,
            #edf5f2
        );
}

.external-hero-copy-v13 {
    padding:
        clamp(60px, 6vw, 98px)
        clamp(35px, 5.5vw, 92px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.external-hero-copy-v13 .section-kicker {
    color: #087064;
}

.external-hero-copy-v13 h1 {
    max-width: 720px;

    margin:
        14px 0 23px;

    color: #073b5c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            46px,
            4.5vw,
            70px
        );

    font-weight: 500;

    line-height: .99;

    letter-spacing: -.045em;

    text-wrap: balance;
}

.external-hero-copy-v13 > p {
    max-width: 610px;

    margin: 0;

    color: #5d6f72;

    font-size:
        clamp(
            16px,
            1.2vw,
            19px
        );

    line-height: 1.7;
}

.external-hero-actions-v13 {
    margin-top: 30px;

    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.external-primary-v13,
.external-secondary-v13 {
    min-height: 48px;

    padding:
        0 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 800;

    text-decoration: none;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.external-primary-v13 {
    color: #fff;

    background:
        linear-gradient(
            135deg,
            #087466,
            #07584f
        );

    box-shadow:
        0 13px 30px
        rgba(7,94,83,.17);
}

.external-secondary-v13 {
    color: #07584f;

    background: #fff;

    border:
        1px solid
        rgba(7,88,79,.14);
}

.external-primary-v13:hover,
.external-secondary-v13:hover {
    transform:
        translateY(-2px);
}


/* HERO STATS */

.external-hero-stats-v13 {
    max-width: 690px;

    margin-top: 38px;

    display: grid;
    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 14px;
}

.external-hero-stats-v13 > div {
    padding:
        15px 16px;

    background:
        rgba(255,255,255,.64);

    border:
        1px solid
        rgba(7,88,79,.08);

    border-radius: 14px;
}

.external-hero-stats-v13 strong,
.external-hero-stats-v13 span {
    display: block;
}

.external-hero-stats-v13 strong {
    margin-bottom: 3px;

    color: #07584f;

    font-family:
        Georgia,
        serif;

    font-size: 19px;
}

.external-hero-stats-v13 span {
    color: #667775;

    font-size: 10px;

    line-height: 1.4;
}


/* HERO VISUAL */

.external-hero-visual-v13 {
    position: relative;

    min-height: 560px;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 50% 50%,
            #0d766a,
            #064b45 72%
        );
}

.external-visual-orbit-v13 {
    position: absolute;

    width: 430px;
    height: 430px;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);

    border:
        1px solid
        rgba(255,255,255,.15);

    border-radius: 50%;
}

.external-visual-orbit-v13::before,
.external-visual-orbit-v13::after {
    content: "";

    position: absolute;

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 50%;
}

.external-visual-orbit-v13::before {
    inset: 55px;
}

.external-visual-orbit-v13::after {
    inset: 112px;
}

.external-visual-center-v13 {
    position: absolute;

    z-index: 2;

    left: 50%;
    top: 50%;

    transform:
        translate(-50%, -50%);

    width: 220px;
    height: 220px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    color: #fff;

    background:
        rgba(255,255,255,.08);

    border:
        1px solid
        rgba(255,255,255,.15);

    border-radius: 50%;

    backdrop-filter:
        blur(8px);
}

.external-visual-center-v13 span {
    margin-bottom: 10px;

    color:
        rgba(255,255,255,.58);

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .17em;
}

.external-visual-center-v13 strong {
    font-family:
        Georgia,
        serif;

    font-size: 36px;

    font-weight: 500;
}

.external-visual-center-v13 small {
    margin-top: 4px;

    color:
        rgba(255,255,255,.72);

    font-size: 12px;
}

.external-visual-card-v13 {
    position: absolute;

    z-index: 3;

    min-width: 150px;

    padding:
        15px 17px;

    color: #fff;

    background:
        rgba(255,255,255,.10);

    border:
        1px solid
        rgba(255,255,255,.16);

    border-radius: 14px;

    backdrop-filter:
        blur(10px);

    box-shadow:
        0 16px 36px
        rgba(0,0,0,.12);
}

.external-visual-card-v13 span,
.external-visual-card-v13 strong {
    display: block;
}

.external-visual-card-v13 span {
    margin-bottom: 3px;

    color: #e2bc65;

    font-size: 9px;

    font-weight: 850;
}

.external-visual-card-v13 strong {
    font-family:
        Georgia,
        serif;

    font-size: 18px;

    font-weight: 500;
}

.external-visual-card-v13-a {
    top: 19%;
    left: 13%;
}

.external-visual-card-v13-b {
    right: 11%;
    top: 37%;
}

.external-visual-card-v13-c {
    left: 20%;
    bottom: 16%;
}


/* SHORTCUTS */

.external-shortcuts-v13 {
    position: relative;

    z-index: 5;

    width:
        min(
            calc(100% - 40px),
            930px
        );

    margin:
        -24px auto 0;

    padding: 9px;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    gap: 6px;

    background:
        rgba(255,255,255,.98);

    border:
        1px solid
        rgba(7,88,79,.09);

    border-radius: 999px;

    box-shadow:
        0 16px 45px
        rgba(16,59,55,.09);
}

.external-shortcuts-v13 a {
    padding:
        10px 15px;

    color: #245d57;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 750;

    text-decoration: none;
}

.external-shortcuts-v13 a:hover {
    color: #fff;
    background: #087064;
}


/* SOLUTIONS */

.external-solutions-v13 {
    padding:
        clamp(90px, 7vw, 115px)
        max(5vw, 30px)
        clamp(80px, 6vw, 100px);

    background:
        linear-gradient(
            180deg,
            #fff,
            #fbfcfc
        );
}

.external-heading-v13,
.external-grid-v13 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.external-heading-v13 {
    max-width: 850px;

    margin-bottom:
        clamp(
            44px,
            5vw,
            65px
        );
}

.external-heading-v13 h2 {
    margin:
        10px 0 17px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            39px,
            3.8vw,
            59px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;

    text-wrap: balance;
}

.external-heading-v13 p {
    max-width: 690px;

    margin: 0;

    color: #617277;

    font-size: 15px;

    line-height: 1.72;
}

.external-grid-v13 {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 20px;
}

.external-card-v13 {
    position: relative;

    min-height: 390px;

    padding:
        29px 29px
        27px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    background: #fff;

    border:
        1px solid
        rgba(7,79,72,.10);

    border-radius: 21px;

    box-shadow:
        0 10px 34px
        rgba(19,61,57,.05);

    scroll-margin-top: 105px;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.external-card-v13::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;
    right: 0;

    height: 3px;

    background:
        linear-gradient(
            90deg,
            #cda13e,
            rgba(205,161,62,.06)
        );
}

.external-card-v13:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 22px 52px
        rgba(17,59,55,.10);
}

.external-card-head-v13 {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 24px;
}

.external-card-head-v13 > span {
    color: #be9130;

    font-size: 10px;

    font-weight: 850;

    letter-spacing: .17em;
}

.external-card-head-v13 > div {
    width: 54px;
    height: 54px;

    display: grid;
    place-items: center;

    color: #087064;

    background:
        linear-gradient(
            135deg,
            #edf6f3,
            #e3f0ec
        );

    border-radius: 15px;

    font-family:
        Georgia,
        serif;

    font-size: 17px;

    font-weight: 700;
}

.external-card-v13 h3 {
    margin:
        0 0 15px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            28px,
            2.3vw,
            38px
        );

    font-weight: 500;

    line-height: 1.03;

    text-wrap: balance;
}

.external-card-v13 > p,
.external-card-wide-content-v13 p {
    max-width: 610px;

    margin:
        0 0 20px;

    color: #617277;

    font-size: 14px;

    line-height: 1.68;
}

.external-card-v13 ul {
    margin:
        0 0 25px;

    padding: 0;

    display: flex;
    flex-wrap: wrap;

    gap: 7px;

    list-style: none;
}

.external-card-v13 li {
    padding:
        8px 11px;

    color: #315e59;

    background: #edf5f2;

    border-radius: 999px;

    font-size: 11px;

    font-weight: 700;
}

.external-card-v13 > a {
    margin-top: auto;

    color: #087064;

    font-size: 12.5px;

    font-weight: 800;

    text-decoration: none;
}

.external-card-v13 > a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}


/* LARGE CARD */

.external-card-v13-wide {
    grid-column:
        1 / -1;

    min-height: 300px;
}

.external-card-wide-content-v13 {
    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    gap: 45px;
}

.external-card-wide-content-v13 ul {
    align-content: flex-start;
}


/* PROCESS */

.external-process-v13 {
    padding:
        clamp(75px, 6vw, 100px)
        max(5vw, 30px);

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #063f3a,
            #075e55
        );
}

.external-process-heading-v13,
.external-process-grid-v13 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.external-process-heading-v13 {
    max-width: 800px;

    margin-bottom: 52px;
}

.external-process-heading-v13 h2 {
    margin:
        10px 0 17px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            3.6vw,
            56px
        );

    font-weight: 500;

    line-height: 1;

    text-wrap: balance;
}

.external-process-heading-v13 p {
    max-width: 650px;

    margin: 0;

    color:
        rgba(255,255,255,.72);

    line-height: 1.7;
}

.external-process-grid-v13 {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.external-process-grid-v13 article {
    min-height: 190px;

    padding: 24px;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 17px;
}

.external-process-grid-v13 span {
    display: block;

    margin-bottom: 27px;

    color: #d3aa50;

    font-size: 10px;

    font-weight: 850;
}

.external-process-grid-v13 strong {
    display: block;

    margin-bottom: 10px;

    font-family:
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 500;
}

.external-process-grid-v13 p {
    margin: 0;

    color:
        rgba(255,255,255,.67);

    font-size: 12px;

    line-height: 1.6;
}


/* FOCUS */

.external-focus-v13 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        clamp(65px, 6vw, 90px)
        auto;

    display: grid;

    grid-template-columns:
        .95fr 1.05fr;

    overflow: hidden;

    background: #f3f7f5;

    border:
        1px solid
        rgba(7,79,72,.08);

    border-radius: 24px;
}

.external-focus-left-v13 {
    padding:
        clamp(
            42px,
            4.5vw,
            68px
        );
}

.external-focus-left-v13 h2 {
    margin:
        10px 0 17px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            36px,
            3.3vw,
            52px
        );

    font-weight: 500;

    line-height: 1;

    text-wrap: balance;
}

.external-focus-left-v13 p {
    max-width: 580px;

    margin: 0;

    color: #617277;

    line-height: 1.7;
}

.external-focus-right-v13 {
    padding:
        clamp(
            34px,
            4vw,
            56px
        );

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 12px;

    background:
        linear-gradient(
            135deg,
            #0b655a,
            #06473f
        );
}

.external-focus-right-v13 > div {
    padding:
        20px;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 14px;
}

.external-focus-right-v13 span {
    display: block;

    margin-bottom: 9px;

    color: #d8b35e;

    font-size: 8.5px;

    font-weight: 850;

    letter-spacing: .13em;
}

.external-focus-right-v13 strong {
    color: #fff;

    font-family:
        Georgia,
        serif;

    font-size: 20px;

    font-weight: 500;

    line-height: 1.14;
}


/* FINAL */

.external-final-v13 {
    padding:
        clamp(58px, 5vw, 78px)
        max(6vw, 40px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    background: #f2f6f5;
}

.external-final-v13 h2 {
    max-width: 760px;

    margin:
        8px 0 10px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            34px,
            3vw,
            48px
        );

    font-weight: 500;

    line-height: 1.03;
}

.external-final-v13 p {
    margin: 0;

    color: #617277;
}

.external-final-v13 > a {
    flex-shrink: 0;

    padding:
        14px 23px;

    color: #fff;

    background: #087064;

    border-radius: 999px;

    font-size: 12.5px;

    font-weight: 850;

    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .external-hero-v13 {
        grid-template-columns: 1fr;
    }

    .external-hero-visual-v13 {
        min-height: 470px;
    }

    .external-process-grid-v13 {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .external-focus-v13 {
        grid-template-columns: 1fr;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .external-hero-copy-v13 {
        padding:
            52px 20px
            45px;
    }

    .external-hero-actions-v13 {
        flex-direction: column;
    }

    .external-primary-v13,
    .external-secondary-v13 {
        width: 100%;
    }

    .external-hero-stats-v13 {
        grid-template-columns: 1fr;
    }

    .external-hero-visual-v13 {
        min-height: 390px;
    }

    .external-visual-orbit-v13 {
        width: 310px;
        height: 310px;
    }

    .external-visual-center-v13 {
        width: 165px;
        height: 165px;
    }

    .external-visual-center-v13 strong {
        font-size: 29px;
    }

    .external-visual-card-v13 {
        min-width: 120px;

        padding:
            11px 13px;
    }

    .external-visual-card-v13-a {
        top: 12%;
        left: 6%;
    }

    .external-visual-card-v13-b {
        right: 5%;
        top: 43%;
    }

    .external-visual-card-v13-c {
        left: 10%;
        bottom: 9%;
    }

    .external-shortcuts-v13 {
        width:
            calc(100% - 28px);

        margin-top: 14px;

        justify-content: flex-start;

        border-radius: 16px;
    }

    .external-solutions-v13,
    .external-process-v13 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .external-grid-v13 {
        grid-template-columns: 1fr;
    }

    .external-card-v13 {
        min-height: 340px;

        padding:
            25px 22px;
    }

    .external-card-v13-wide {
        grid-column: auto;
    }

    .external-card-wide-content-v13 {
        grid-template-columns: 1fr;

        gap: 0;
    }

    .external-process-grid-v13 {
        grid-template-columns: 1fr;
    }

    .external-focus-v13 {
        width:
            calc(100% - 30px);

        margin:
            55px auto;

        border-radius: 19px;
    }

    .external-focus-left-v13,
    .external-focus-right-v13 {
        padding:
            34px 22px;
    }

    .external-focus-right-v13 {
        grid-template-columns: 1fr;
    }

    .external-final-v13 {
        align-items: flex-start;
        flex-direction: column;

        padding:
            52px 20px;
    }

}


/* =========================================================
   ETHOS V14 - MAURICE PREMIUM
========================================================= */

.maurice-page-v14 {
    overflow: hidden;
    background: #fff;
}


/* HERO */

.maurice-hero-v14 {
    position: relative;

    min-height: 620px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background: #082f4b;
}

.maurice-hero-image-v14,
.maurice-hero-overlay-v14 {
    position: absolute;
    inset: 0;
}

.maurice-hero-image-v14 img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center 47%;
}

.maurice-hero-overlay-v14 {
    background:
        linear-gradient(
            90deg,
            rgba(3,39,62,.94) 0%,
            rgba(3,50,77,.82) 40%,
            rgba(4,60,73,.38) 70%,
            rgba(4,60,73,.10) 100%
        );
}

.maurice-hero-content-v14 {
    position: relative;

    z-index: 2;

    width:
        min(
            100%,
            1380px
        );

    margin: 0 auto;

    padding:
        85px max(5vw, 30px);

    color: #fff;
}

.maurice-eyebrow-v14 {
    display: inline-block;

    padding:
        8px 11px;

    color: #e5c36e;

    background:
        rgba(255,255,255,.08);

    border:
        1px solid
        rgba(255,255,255,.11);

    border-radius: 999px;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .16em;
}

.maurice-hero-content-v14 h1 {
    max-width: 740px;

    margin:
        17px 0 22px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            50px,
            5.2vw,
            78px
        );

    font-weight: 500;

    line-height: .96;

    letter-spacing: -.045em;

    text-wrap: balance;
}

.maurice-hero-content-v14 > p {
    max-width: 620px;

    margin: 0;

    color:
        rgba(255,255,255,.79);

    font-size:
        clamp(
            16px,
            1.25vw,
            19px
        );

    line-height: 1.7;
}

.maurice-hero-actions-v14 {
    margin-top: 30px;

    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.maurice-primary-v14,
.maurice-secondary-v14 {
    min-height: 48px;

    padding:
        0 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    font-size: 13px;

    font-weight: 800;

    text-decoration: none;

    transition:
        transform .2s ease;
}

.maurice-primary-v14 {
    color: #08374f;

    background: #fff;
}

.maurice-secondary-v14 {
    color: #fff;

    background:
        rgba(255,255,255,.08);

    border:
        1px solid
        rgba(255,255,255,.18);

    backdrop-filter:
        blur(8px);
}

.maurice-primary-v14:hover,
.maurice-secondary-v14:hover {
    transform:
        translateY(-2px);
}


/* LOCATION CARD */

.maurice-location-v14 {
    position: absolute;

    z-index: 3;

    right:
        max(
            5vw,
            30px
        );

    bottom: 35px;

    min-width: 210px;

    padding:
        18px 20px;

    color: #fff;

    background:
        rgba(4,60,68,.84);

    border:
        1px solid
        rgba(255,255,255,.16);

    border-radius: 16px;

    backdrop-filter:
        blur(10px);
}

.maurice-location-v14 span,
.maurice-location-v14 strong,
.maurice-location-v14 small {
    display: block;
}

.maurice-location-v14 span {
    margin-bottom: 4px;

    color:
        rgba(255,255,255,.56);

    font-size: 8px;

    font-weight: 850;

    letter-spacing: .15em;
}

.maurice-location-v14 strong {
    font-family:
        Georgia,
        serif;

    font-size: 28px;

    font-weight: 500;
}

.maurice-location-v14 small {
    margin-top: 4px;

    color: #e1bc61;

    font-size: 10px;

    font-weight: 750;
}


/* SHORTCUTS */

.maurice-shortcuts-v14 {
    position: relative;

    z-index: 5;

    width:
        min(
            calc(100% - 40px),
            920px
        );

    margin:
        -24px auto 0;

    padding: 9px;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    gap: 6px;

    background:
        rgba(255,255,255,.98);

    border:
        1px solid
        rgba(7,59,92,.09);

    border-radius: 999px;

    box-shadow:
        0 16px 45px
        rgba(18,56,80,.09);
}

.maurice-shortcuts-v14 a {
    padding:
        10px 15px;

    color: #25546d;

    border-radius: 999px;

    font-size: 12px;

    font-weight: 750;

    text-decoration: none;
}

.maurice-shortcuts-v14 a:hover {
    color: #fff;
    background: #0b628e;
}


/* INTRO */

.maurice-intro-v14 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        clamp(90px, 7vw, 115px)
        auto
        clamp(70px, 6vw, 95px);

    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    align-items: stretch;

    gap: 22px;
}

.maurice-intro-copy-v14,
.maurice-intro-panel-v14 {
    border-radius: 22px;
}

.maurice-intro-copy-v14 {
    padding:
        clamp(
            38px,
            4vw,
            60px
        );

    background: #f5f8fa;

    border:
        1px solid
        rgba(7,59,92,.07);
}

.maurice-intro-copy-v14 h2 {
    margin:
        10px 0 17px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            39px,
            3.8vw,
            58px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;

    text-wrap: balance;
}

.maurice-intro-copy-v14 p {
    max-width: 690px;

    margin: 0;

    color: #61727c;

    font-size: 15px;

    line-height: 1.72;
}

.maurice-intro-panel-v14 {
    padding:
        clamp(
            36px,
            4vw,
            55px
        );

    display: flex;
    flex-direction: column;
    justify-content: center;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #0b655f,
            #074b62
        );
}

.maurice-intro-panel-v14 span {
    margin-bottom: 18px;

    color: #dfba61;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .16em;
}

.maurice-intro-panel-v14 p {
    margin: 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            24px,
            2.2vw,
            34px
        );

    line-height: 1.15;
}


/* STEPS */

.maurice-steps-v14 {
    padding:
        clamp(76px, 6vw, 100px)
        max(5vw, 30px);

    background:
        linear-gradient(
            180deg,
            #fbfcfd,
            #f4f8f9
        );
}

.maurice-steps-heading-v14,
.maurice-steps-grid-v14 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.maurice-steps-heading-v14 {
    max-width: 780px;

    margin-bottom: 52px;
}

.maurice-steps-heading-v14 h2 {
    margin:
        10px 0 0;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            3.7vw,
            56px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;

    text-wrap: balance;
}

.maurice-steps-grid-v14 {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 15px;
}

.maurice-step-v14 {
    min-height: 285px;

    padding: 26px;

    display: flex;
    flex-direction: column;

    background: #fff;

    border:
        1px solid
        rgba(7,59,92,.08);

    border-radius: 18px;

    box-shadow:
        0 10px 30px
        rgba(13,52,76,.04);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.maurice-step-v14:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 20px 45px
        rgba(13,52,76,.09);
}

.maurice-step-top-v14 {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 34px;
}

.maurice-step-top-v14 span {
    color: #c09538;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .14em;
}

.maurice-step-top-v14 div {
    width: 48px;
    height: 48px;

    display: grid;
    place-items: center;

    color: #0b628e;

    background: #edf5f8;

    border-radius: 50%;

    font-family:
        Georgia,
        serif;

    font-size: 17px;
}

.maurice-step-v14 h3 {
    margin:
        0 0 12px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            23px,
            1.8vw,
            30px
        );

    font-weight: 500;

    line-height: 1.06;
}

.maurice-step-v14 p {
    margin:
        auto 0 0;

    color: #697983;

    font-size: 12.5px;

    line-height: 1.6;
}


/* PARTNERSHIP */

.maurice-partnership-v14 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        clamp(70px, 6vw, 95px)
        auto;

    display: grid;

    grid-template-columns:
        .92fr 1.08fr;

    overflow: hidden;

    border:
        1px solid
        rgba(7,59,92,.08);

    border-radius: 24px;
}

.maurice-partnership-visual-v14 {
    min-height: 460px;

    padding:
        clamp(
            35px,
            4vw,
            58px
        );

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            #073f60,
            #0a6a63
        );
}

.maurice-partner-card-v14 {
    width:
        min(
            100%,
            430px
        );

    padding:
        30px;

    color: #fff;

    background:
        rgba(255,255,255,.08);

    border:
        1px solid
        rgba(255,255,255,.14);

    border-radius: 20px;

    backdrop-filter:
        blur(8px);
}

.maurice-partner-card-v14 > span {
    display: block;

    margin-bottom: 25px;

    color: #dfba61;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .15em;
}

.maurice-brand-row-v14 {
    display: grid;

    grid-template-columns:
        1fr auto 1fr;

    align-items: center;

    gap: 20px;
}

.maurice-brand-row-v14 > strong {
    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            32px,
            3vw,
            46px
        );

    font-weight: 500;
}

.maurice-brand-row-v14 > span {
    color:
        rgba(255,255,255,.48);

    font-size: 24px;
}

.maurice-kairos-logo-v14 {
    padding: 12px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #fff;

    border-radius: 14px;
}

.maurice-kairos-logo-v14 img {
    width: 100%;
    max-width: 125px;

    display: block;

    object-fit: contain;
}

.maurice-partnership-copy-v14 {
    padding:
        clamp(
            42px,
            5vw,
            72px
        );

    display: flex;
    flex-direction: column;
    justify-content: center;

    background: #fff;
}

.maurice-partnership-copy-v14 h2 {
    margin:
        10px 0 17px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            3.5vw,
            54px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;

    text-wrap: balance;
}

.maurice-partnership-copy-v14 > p {
    max-width: 650px;

    margin:
        0 0 25px;

    color: #61727c;

    font-size: 15px;

    line-height: 1.72;
}

.maurice-partnership-tags-v14 {
    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}

.maurice-partnership-tags-v14 span {
    padding:
        9px 12px;

    color: #315d66;

    background: #edf5f4;

    border-radius: 999px;

    font-size: 11px;

    font-weight: 700;
}


/* CONTEXT */

.maurice-context-v14 {
    padding:
        clamp(75px, 6vw, 100px)
        max(5vw, 30px);

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #073e61,
            #075951
        );
}

.maurice-context-copy-v14,
.maurice-context-grid-v14 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.maurice-context-copy-v14 {
    max-width: 820px;

    margin-bottom: 50px;
}

.maurice-context-copy-v14 .section-kicker {
    color: #dfba61;
}

.maurice-context-copy-v14 h2 {
    margin:
        10px 0 17px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            3.6vw,
            56px
        );

    font-weight: 500;

    line-height: 1;

    text-wrap: balance;
}

.maurice-context-copy-v14 p {
    max-width: 680px;

    margin: 0;

    color:
        rgba(255,255,255,.70);

    line-height: 1.7;
}

.maurice-context-grid-v14 {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.maurice-context-grid-v14 > div {
    min-height: 170px;

    padding: 23px;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 17px;
}

.maurice-context-grid-v14 span,
.maurice-context-grid-v14 strong,
.maurice-context-grid-v14 small {
    display: block;
}

.maurice-context-grid-v14 span {
    margin-bottom: 28px;

    color: #dfba61;

    font-size: 9px;

    font-weight: 850;
}

.maurice-context-grid-v14 strong {
    margin-bottom: 6px;

    font-family:
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 500;
}

.maurice-context-grid-v14 small {
    color:
        rgba(255,255,255,.62);

    font-size: 11px;
}


/* FINAL */

.maurice-final-v14 {
    padding:
        clamp(58px, 5vw, 78px)
        max(6vw, 40px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    background: #f3f7f8;
}

.maurice-final-v14 h2 {
    max-width: 740px;

    margin:
        8px 0 10px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            34px,
            3vw,
            48px
        );

    font-weight: 500;

    line-height: 1.03;
}

.maurice-final-v14 p {
    margin: 0;

    color: #61727c;
}

.maurice-final-v14 > a {
    flex-shrink: 0;

    padding:
        14px 23px;

    color: #fff;

    background: #0b628e;

    border-radius: 999px;

    font-size: 12.5px;

    font-weight: 850;

    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .maurice-intro-v14,
    .maurice-partnership-v14 {
        grid-template-columns: 1fr;
    }

    .maurice-steps-grid-v14,
    .maurice-context-grid-v14 {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .maurice-location-v14 {
        right: 25px;
        bottom: 25px;
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .maurice-hero-v14 {
        min-height: 650px;
    }

    .maurice-hero-overlay-v14 {
        background:
            linear-gradient(
                180deg,
                rgba(3,39,62,.88),
                rgba(3,50,77,.78)
            );
    }

    .maurice-hero-content-v14 {
        padding:
            70px 20px
            175px;
    }

    .maurice-hero-actions-v14 {
        flex-direction: column;
    }

    .maurice-primary-v14,
    .maurice-secondary-v14 {
        width: 100%;
    }

    .maurice-location-v14 {
        left: 20px;
        right: 20px;
        bottom: 25px;
    }

    .maurice-shortcuts-v14 {
        width:
            calc(100% - 28px);

        margin-top: 14px;

        justify-content: flex-start;

        border-radius: 16px;
    }

    .maurice-intro-v14,
    .maurice-partnership-v14 {
        width:
            calc(100% - 30px);
    }

    .maurice-steps-v14,
    .maurice-context-v14 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .maurice-steps-grid-v14,
    .maurice-context-grid-v14 {
        grid-template-columns: 1fr;
    }

    .maurice-step-v14 {
        min-height: 240px;
    }

    .maurice-partnership-visual-v14 {
        min-height: 350px;

        padding:
            28px 20px;
    }

    .maurice-brand-row-v14 {
        grid-template-columns: 1fr;

        text-align: center;
    }

    .maurice-brand-row-v14 > span {
        transform:
            rotate(90deg);
    }

    .maurice-partnership-copy-v14 {
        padding:
            40px 22px;
    }

    .maurice-final-v14 {
        align-items: flex-start;
        flex-direction: column;

        padding:
            52px 20px;
    }

}


/* =========================================================
   ETHOS V15 - A PROPOS PREMIUM
========================================================= */

.about-page-v15 {
    overflow: hidden;
    background: #fff;
}


/* HERO */

.about-hero-v15 {
    min-height: 560px;

    display: grid;
    grid-template-columns:
        .96fr 1.04fr;

    background:
        linear-gradient(
            135deg,
            #f5f8fa,
            #edf4f3
        );
}

.about-hero-copy-v15 {
    padding:
        clamp(62px, 6vw, 100px)
        clamp(35px, 5.5vw, 92px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.about-hero-copy-v15 h1 {
    max-width: 720px;

    margin:
        14px 0 23px;

    color: #073b5c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            48px,
            4.8vw,
            74px
        );

    font-weight: 500;

    line-height: .97;

    letter-spacing: -.045em;
}

.about-hero-copy-v15 > p {
    max-width: 610px;

    margin: 0;

    color: #5e7078;

    font-size:
        clamp(
            16px,
            1.2vw,
            19px
        );

    line-height: 1.7;
}

.about-hero-actions-v15 {
    margin-top: 30px;

    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.about-primary-v15,
.about-secondary-v15 {
    min-height: 48px;

    padding:
        0 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 800;

    text-decoration: none;

    transition:
        transform .2s ease;
}

.about-primary-v15 {
    color: #fff;

    background:
        linear-gradient(
            135deg,
            #0b628e,
            #07476a
        );
}

.about-secondary-v15 {
    color: #073b5c;

    background: #fff;

    border:
        1px solid
        rgba(7,59,92,.13);
}

.about-primary-v15:hover,
.about-secondary-v15:hover {
    transform:
        translateY(-2px);
}


/* HERO VISUAL */

.about-hero-visual-v15 {
    position: relative;

    min-height: 560px;

    overflow: hidden;

    background: #dce7ea;
}

.about-hero-visual-v15 img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center 48%;
}

.about-hero-visual-v15::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(3,55,78,.03),
            rgba(3,55,78,.28)
        );
}

.about-hero-card-v15 {
    position: absolute;

    z-index: 2;

    left: 28px;
    right: 28px;
    bottom: 28px;

    padding:
        19px 22px;

    color: #fff;

    background:
        rgba(4,55,78,.86);

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius: 16px;

    backdrop-filter:
        blur(10px);
}

.about-hero-card-v15 > span {
    display: block;

    margin-bottom: 7px;

    color:
        rgba(255,255,255,.58);

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .16em;
}

.about-hero-card-v15 strong {
    display: flex;
    align-items: center;

    gap: 11px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            19px,
            1.8vw,
            27px
        );

    font-weight: 500;
}

.about-hero-card-v15 em {
    color: #d8b45b;

    font-style: normal;
}


/* MISSION */

.about-mission-v15 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        clamp(80px, 7vw, 110px)
        auto
        clamp(55px, 5vw, 75px);

    display: grid;

    grid-template-columns:
        1fr 1fr;

    gap:
        clamp(
            35px,
            6vw,
            90px
        );

    align-items: end;
}

.about-mission-heading-v15 h2 {
    margin:
        10px 0 0;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            40px,
            4vw,
            60px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;

    text-wrap: balance;
}

.about-mission-copy-v15 p {
    margin: 0;

    color: #60727b;

    font-size:
        clamp(
            16px,
            1.3vw,
            19px
        );

    line-height: 1.75;
}


/* DUAL EXPERTISE */

.about-dual-v15 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        0 auto
        clamp(75px, 6vw, 100px);

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 20px;
}

.about-dual-card-v15 {
    position: relative;

    min-height: 410px;

    padding:
        31px;

    display: flex;
    flex-direction: column;

    overflow: hidden;

    border-radius: 22px;

    transition:
        transform .2s ease;
}

.about-dual-card-v15:hover {
    transform:
        translateY(-5px);
}

.about-dual-blue-v15 {
    color: #fff;

    background:
        linear-gradient(
            135deg,
            #0b628e,
            #073e61
        );
}

.about-dual-green-v15 {
    color: #fff;

    background:
        linear-gradient(
            135deg,
            #087064,
            #064b44
        );
}

.about-dual-card-v15 > span {
    color: #dfbb63;

    font-size: 10px;

    font-weight: 850;

    letter-spacing: .16em;
}

.about-dual-icon-v15 {
    width: 58px;
    height: 58px;

    margin:
        26px 0 24px;

    display: grid;
    place-items: center;

    background:
        rgba(255,255,255,.10);

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius: 16px;

    font-family:
        Georgia,
        serif;

    font-size: 20px;
}

.about-dual-card-v15 h2 {
    margin:
        0 0 15px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            31px,
            2.8vw,
            44px
        );

    font-weight: 500;

    line-height: 1;
}

.about-dual-card-v15 p {
    max-width: 560px;

    margin:
        0 0 25px;

    color:
        rgba(255,255,255,.73);

    line-height: 1.68;
}

.about-dual-card-v15 a {
    margin-top: auto;

    color: #fff;

    font-size: 12.5px;

    font-weight: 800;

    text-decoration: none;
}


/* APPROACH */

.about-approach-v15 {
    padding:
        clamp(75px, 6vw, 100px)
        max(5vw, 30px);

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #073e61,
            #075b56
        );
}

.about-approach-copy-v15,
.about-approach-steps-v15 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.about-approach-copy-v15 {
    max-width: 830px;

    margin-bottom: 50px;
}

.about-approach-copy-v15 .section-kicker {
    color: #dfbb63;
}

.about-approach-copy-v15 h2 {
    margin:
        10px 0 17px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            40px,
            3.8vw,
            58px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;
}

.about-approach-copy-v15 p {
    max-width: 680px;

    margin: 0;

    color:
        rgba(255,255,255,.72);

    line-height: 1.7;
}

.about-approach-steps-v15 {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.about-approach-steps-v15 > div {
    min-height: 180px;

    padding: 23px;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 17px;
}

.about-approach-steps-v15 span,
.about-approach-steps-v15 strong,
.about-approach-steps-v15 small {
    display: block;
}

.about-approach-steps-v15 span {
    margin-bottom: 28px;

    color: #dfbb63;

    font-size: 9px;

    font-weight: 850;
}

.about-approach-steps-v15 strong {
    margin-bottom: 7px;

    font-family:
        Georgia,
        serif;

    font-size: 23px;

    font-weight: 500;
}

.about-approach-steps-v15 small {
    color:
        rgba(255,255,255,.62);

    font-size: 11px;

    line-height: 1.5;
}


/* TERRITORIES */

.about-territories-v15 {
    padding:
        clamp(78px, 6vw, 100px)
        max(5vw, 30px);

    background:
        linear-gradient(
            180deg,
            #fff,
            #f6f9f9
        );
}

.about-territories-heading-v15,
.about-territories-grid-v15 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.about-territories-heading-v15 {
    max-width: 820px;

    margin-bottom: 48px;
}

.about-territories-heading-v15 h2 {
    margin:
        10px 0 17px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            39px,
            3.7vw,
            56px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;

    text-wrap: balance;
}

.about-territories-heading-v15 p {
    max-width: 660px;

    margin: 0;

    color: #61727c;

    line-height: 1.7;
}

.about-territories-grid-v15 {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.about-territories-grid-v15 article {
    min-height: 145px;

    padding: 22px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background: #fff;

    border:
        1px solid
        rgba(7,59,92,.08);

    border-radius: 17px;

    box-shadow:
        0 10px 30px
        rgba(15,53,76,.04);
}

.about-territories-grid-v15 span {
    color: #bd9134;

    font-size: 9px;

    font-weight: 850;
}

.about-territories-grid-v15 strong {
    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            22px,
            1.8vw,
            29px
        );

    font-weight: 500;
}


/* FINAL */

.about-final-v15 {
    padding:
        clamp(58px, 5vw, 78px)
        max(6vw, 40px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    background: #eef4f4;
}

.about-final-v15 h2 {
    max-width: 760px;

    margin:
        8px 0 10px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            34px,
            3vw,
            48px
        );

    font-weight: 500;

    line-height: 1.03;
}

.about-final-v15 p {
    max-width: 650px;

    margin: 0;

    color: #61727c;
}

.about-final-v15 > a {
    flex-shrink: 0;

    padding:
        14px 23px;

    color: #fff;

    background: #0b628e;

    border-radius: 999px;

    font-size: 12.5px;

    font-weight: 850;

    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .about-hero-v15 {
        grid-template-columns: 1fr;
    }

    .about-hero-visual-v15 {
        min-height: 430px;
    }

    .about-mission-v15 {
        grid-template-columns: 1fr;
    }

    .about-approach-steps-v15,
    .about-territories-grid-v15 {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .about-hero-copy-v15 {
        padding:
            52px 20px
            45px;
    }

    .about-hero-actions-v15 {
        flex-direction: column;
    }

    .about-primary-v15,
    .about-secondary-v15 {
        width: 100%;
    }

    .about-hero-visual-v15 {
        min-height: 320px;
    }

    .about-hero-card-v15 {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }

    .about-hero-card-v15 strong {
        flex-wrap: wrap;
    }

    .about-mission-v15,
    .about-dual-v15 {
        width:
            calc(100% - 30px);
    }

    .about-dual-v15 {
        grid-template-columns: 1fr;
    }

    .about-dual-card-v15 {
        min-height: 350px;

        padding:
            26px 22px;
    }

    .about-approach-v15,
    .about-territories-v15 {
        padding-left: 15px;
        padding-right: 15px;
    }

    .about-approach-steps-v15,
    .about-territories-grid-v15 {
        grid-template-columns: 1fr;
    }

    .about-final-v15 {
        align-items: flex-start;
        flex-direction: column;

        padding:
            52px 20px;
    }

}


/* =========================================================
   ETHOS V16 - CONTACT PREMIUM
========================================================= */

.contact-page-v16 {
    overflow: hidden;
    background: #fff;
}


/* HERO */

.contact-hero-v16 {
    min-height: 430px;

    padding:
        clamp(58px, 6vw, 88px)
        max(5vw, 30px);

    display: grid;

    grid-template-columns:
        1.1fr .9fr;

    gap:
        clamp(
            35px,
            6vw,
            85px
        );

    align-items: center;

    background:
        linear-gradient(
            135deg,
            #f5f8fa,
            #edf5f3
        );
}

.contact-hero-copy-v16 {
    max-width: 760px;
}

.contact-hero-copy-v16 h1 {
    margin:
        14px 0 21px;

    color: #073b5c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            49px,
            5vw,
            74px
        );

    font-weight: 500;

    line-height: .97;

    letter-spacing: -.045em;

    text-wrap: balance;
}

.contact-hero-copy-v16 > p {
    max-width: 620px;

    margin: 0;

    color: #5d7078;

    font-size:
        clamp(
            16px,
            1.25vw,
            19px
        );

    line-height: 1.7;
}

.contact-hero-tags-v16 {
    margin-top: 28px;

    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}

.contact-hero-tags-v16 span {
    padding:
        8px 12px;

    color: #315e66;

    background: #fff;

    border:
        1px solid
        rgba(7,59,92,.08);

    border-radius: 999px;

    font-size: 10px;

    font-weight: 750;
}


/* HERO PANEL */

.contact-hero-panel-v16 {
    min-height: 245px;

    padding:
        clamp(
            30px,
            4vw,
            48px
        );

    display: flex;
    flex-direction: column;
    justify-content: center;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #073f61,
            #087064
        );

    border-radius: 24px;

    box-shadow:
        0 22px 55px
        rgba(14,61,76,.12);
}

.contact-hero-panel-v16 > span {
    margin-bottom: 17px;

    color: #dfba61;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .16em;
}

.contact-hero-panel-v16 strong {
    max-width: 500px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            28px,
            2.8vw,
            42px
        );

    font-weight: 500;

    line-height: 1.07;
}

.contact-hero-panel-v16 p {
    margin:
        23px 0 0;

    color:
        rgba(255,255,255,.65);

    font-size: 11px;
}


/* MAIN */

.contact-main-v16 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        clamp(70px, 6vw, 95px)
        auto;

    display: grid;

    grid-template-columns:
        .75fr 1.25fr;

    gap:
        clamp(
            28px,
            5vw,
            70px
        );

    align-items: start;
}


/* INFO */

.contact-info-v16 {
    position: sticky;

    top: 110px;
}

.contact-info-v16 h2 {
    margin:
        10px 0 15px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            32px,
            3vw,
            45px
        );

    font-weight: 500;

    line-height: 1.02;
}

.contact-info-intro-v16 {
    max-width: 480px;

    margin:
        0 0 28px;

    color: #62747c;

    line-height: 1.7;
}

.contact-detail-card-v16 {
    padding:
        18px 0;

    border-top:
        1px solid
        rgba(7,59,92,.09);
}

.contact-detail-card-v16 > span {
    display: block;

    margin-bottom: 7px;

    color: #b98d32;

    font-size: 8.5px;

    font-weight: 850;

    letter-spacing: .15em;
}

.contact-detail-card-v16 a,
.contact-detail-card-v16 strong {
    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            17px,
            1.35vw,
            21px
        );

    font-weight: 500;

    line-height: 1.35;

    text-decoration: none;
}

.contact-detail-card-v16 a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}

.contact-legal-v16 {
    margin-top: 20px;

    padding: 17px 18px;

    background: #f7f4ec;

    border:
        1px solid
        rgba(181,140,54,.15);

    border-radius: 14px;
}

.contact-legal-v16 strong {
    display: block;

    margin-bottom: 5px;

    color: #765d29;

    font-size: 11px;
}

.contact-legal-v16 p {
    margin: 0;

    color: #756c59;

    font-size: 11px;

    line-height: 1.55;
}


/* FORM SHELL */

.contact-form-shell-v16 {
    padding:
        clamp(
            30px,
            4.5vw,
            56px
        );

    background:
        linear-gradient(
            180deg,
            #f8fafb,
            #f3f7f7
        );

    border:
        1px solid
        rgba(7,59,92,.08);

    border-radius: 24px;

    box-shadow:
        0 20px 55px
        rgba(17,58,76,.06);
}

.contact-form-heading-v16 {
    margin-bottom: 32px;
}

.contact-form-heading-v16 h2 {
    margin:
        9px 0 12px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            31px,
            2.8vw,
            43px
        );

    font-weight: 500;

    line-height: 1.03;
}

.contact-form-heading-v16 p {
    max-width: 600px;

    margin: 0;

    color: #63747c;

    line-height: 1.65;
}


/* FORM */

.contact-form-v16 {
    display: block;
}

.contact-form-grid-v16 {
    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap:
        18px 16px;
}

.contact-field-v16 {
    min-width: 0;
}

.contact-field-v16 > label,
.contact-message-v16 > label {
    margin-bottom: 8px;

    display: block;

    color: #173f54;

    font-size: 11px;

    font-weight: 800;
}

.contact-field-v16 input,
.contact-message-v16 textarea {
    width: 100%;

    padding:
        14px 15px;

    color: #173f54;

    background: #fff;

    border:
        1px solid
        rgba(7,59,92,.13);

    border-radius: 12px;

    font: inherit;

    font-size: 13px;

    outline: none;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.contact-field-v16 input {
    min-height: 49px;
}

.contact-message-v16 {
    margin-top: 18px;
}

.contact-message-v16 textarea {
    min-height: 155px;

    resize: vertical;
}

.contact-field-v16 input:focus,
.contact-message-v16 textarea:focus {
    background: #fff;

    border-color: #0b6d72;

    box-shadow:
        0 0 0 3px
        rgba(11,109,114,.08);
}

.contact-field-v16 input::placeholder,
.contact-message-v16 textarea::placeholder {
    color: #9aa7ac;
}


/* ERRORS */

.contact-errors-v16 {
    margin-top: 6px;

    display: grid;

    gap: 3px;
}

.contact-errors-v16 span {
    color: #a84444;

    font-size: 10.5px;

    line-height: 1.4;
}


/* CONSENT */

.contact-consent-v16 {
    margin-top: 19px;

    display: flex;
    align-items: flex-start;

    gap: 10px;

    color: #5f7178;

    font-size: 11px;

    line-height: 1.5;
}

.contact-consent-v16 input {
    flex:
        0 0 auto;

    margin-top: 2px;
}


/* SUBMIT */

.contact-submit-row-v16 {
    margin-top: 24px;

    display: flex;
    align-items: center;

    gap: 16px;
}

.contact-submit-row-v16 button {
    min-height: 48px;

    padding:
        0 23px;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #087064,
            #07564f
        );

    border: 0;

    border-radius: 999px;

    cursor: pointer;

    font: inherit;

    font-size: 12.5px;

    font-weight: 850;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.contact-submit-row-v16 button:hover {
    transform:
        translateY(-2px);

    box-shadow:
        0 12px 25px
        rgba(7,92,82,.15);
}

.contact-submit-row-v16 > span {
    color: #738389;

    font-size: 10px;

    font-weight: 700;
}

.contact-dev-note-v16 {
    margin-top: 22px;

    padding-top: 18px;

    display: block;

    color: #7c898e;

    border-top:
        1px solid
        rgba(7,59,92,.08);

    font-size: 10px;

    line-height: 1.55;
}


/* PATHS */

.contact-paths-v16 {
    padding:
        clamp(72px, 6vw, 95px)
        max(5vw, 30px);

    background:
        linear-gradient(
            135deg,
            #073e61,
            #075951
        );
}

.contact-paths-heading-v16,
.contact-paths-grid-v16 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.contact-paths-heading-v16 {
    max-width: 760px;

    margin-bottom: 45px;
}

.contact-paths-heading-v16 .section-kicker {
    color: #dfba61;
}

.contact-paths-heading-v16 h2 {
    margin:
        10px 0 0;

    color: #fff;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            37px,
            3.6vw,
            55px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;
}

.contact-paths-grid-v16 {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.contact-paths-grid-v16 a {
    min-height: 175px;

    padding: 22px;

    display: flex;
    flex-direction: column;

    color: #fff;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 17px;

    text-decoration: none;

    transition:
        transform .2s ease,
        background .2s ease;
}

.contact-paths-grid-v16 a:hover {
    transform:
        translateY(-4px);

    background:
        rgba(255,255,255,.11);
}

.contact-paths-grid-v16 span {
    color: #dfba61;

    font-size: 9px;

    font-weight: 850;
}

.contact-paths-grid-v16 strong {
    margin:
        auto 0 8px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            20px,
            1.6vw,
            25px
        );

    font-weight: 500;
}

.contact-paths-grid-v16 small {
    color:
        rgba(255,255,255,.60);

    font-size: 10px;
}


/* TABLET */

@media (max-width: 1050px) {

    .contact-hero-v16 {
        grid-template-columns: 1fr;
    }

    .contact-main-v16 {
        grid-template-columns: 1fr;
    }

    .contact-info-v16 {
        position: static;
    }

    .contact-paths-grid-v16 {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .contact-hero-v16 {
        padding:
            52px 20px;
    }

    .contact-main-v16 {
        width:
            calc(100% - 30px);

        margin:
            55px auto;
    }

    .contact-form-shell-v16 {
        padding:
            28px 18px;

        border-radius: 18px;
    }

    .contact-form-grid-v16 {
        grid-template-columns: 1fr;
    }

    .contact-submit-row-v16 {
        align-items: flex-start;
        flex-direction: column;
    }

    .contact-submit-row-v16 button {
        width: 100%;
    }

    .contact-paths-v16 {
        padding:
            62px 15px;
    }

    .contact-paths-grid-v16 {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   ETHOS V17 - FAQ PREMIUM
========================================================= */

.faq-page-v17 {
    overflow: hidden;
    background: #fff;
}


/* HERO */

.faq-hero-v17 {
    min-height: 430px;

    padding:
        clamp(60px, 6vw, 90px)
        max(5vw, 30px);

    display: grid;

    grid-template-columns:
        1.15fr .85fr;

    gap:
        clamp(35px, 6vw, 90px);

    align-items: center;

    background:
        linear-gradient(
            135deg,
            #f5f8fa,
            #edf5f3
        );
}

.faq-hero-copy-v17 {
    max-width: 780px;
}

.faq-hero-copy-v17 h1 {
    max-width: 760px;

    margin:
        14px 0 22px;

    color: #073b5c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(49px, 5vw, 74px);

    font-weight: 500;

    line-height: .97;

    letter-spacing: -.045em;

    text-wrap: balance;
}

.faq-hero-copy-v17 > p {
    max-width: 620px;

    margin: 0;

    color: #5d7078;

    font-size:
        clamp(16px, 1.2vw, 19px);

    line-height: 1.7;
}

.faq-hero-actions-v17 {
    margin-top: 29px;

    display: flex;
    flex-wrap: wrap;

    gap: 11px;
}

.faq-primary-v17,
.faq-secondary-v17 {
    min-height: 48px;

    padding:
        0 23px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    font-size: 13px;

    font-weight: 800;

    text-decoration: none;

    transition:
        transform .2s ease;
}

.faq-primary-v17 {
    color: #fff;

    background:
        linear-gradient(
            135deg,
            #0b628e,
            #07486b
        );
}

.faq-secondary-v17 {
    color: #073b5c;

    background: #fff;

    border:
        1px solid
        rgba(7,59,92,.12);
}

.faq-primary-v17:hover,
.faq-secondary-v17:hover {
    transform: translateY(-2px);
}


/* HERO PANEL */

.faq-hero-panel-v17 {
    min-height: 245px;

    padding:
        clamp(30px, 4vw, 48px);

    display: flex;
    flex-direction: column;
    justify-content: center;

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #073f61,
            #087064
        );

    border-radius: 24px;

    box-shadow:
        0 22px 55px
        rgba(14,61,76,.12);
}

.faq-hero-panel-v17 > span {
    color: #dfba61;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .17em;
}

.faq-hero-panel-v17 strong {
    margin:
        12px 0 3px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(62px, 7vw, 96px);

    font-weight: 500;

    line-height: .9;
}

.faq-hero-panel-v17 p {
    max-width: 240px;

    margin:
        13px 0 0;

    color:
        rgba(255,255,255,.66);

    font-size: 12px;

    line-height: 1.55;
}


/* QUESTIONS */

.faq-main-v17 {
    width:
        min(
            calc(100% - 60px),
            1180px
        );

    margin:
        clamp(80px, 7vw, 110px)
        auto;
}

.faq-main-heading-v17 {
    max-width: 760px;

    margin-bottom: 43px;
}

.faq-main-heading-v17 h2 {
    margin:
        10px 0 14px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(39px, 3.8vw, 57px);

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;
}

.faq-main-heading-v17 p {
    margin: 0;

    color: #64757d;

    line-height: 1.65;
}

.faq-list-v17 {
    display: grid;

    gap: 11px;
}

.faq-item-v17 {
    overflow: hidden;

    background: #fff;

    border:
        1px solid
        rgba(7,59,92,.09);

    border-radius: 16px;

    box-shadow:
        0 8px 28px
        rgba(16,54,77,.035);

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.faq-item-v17[open] {
    border-color:
        rgba(8,112,100,.20);

    box-shadow:
        0 15px 35px
        rgba(16,67,73,.07);
}

.faq-item-v17 summary {
    min-height: 82px;

    padding:
        19px 21px;

    display: grid;

    grid-template-columns:
        48px 1fr 38px;

    gap: 15px;

    align-items: center;

    cursor: pointer;

    list-style: none;
}

.faq-item-v17 summary::-webkit-details-marker {
    display: none;
}

.faq-number-v17 {
    width: 43px;
    height: 43px;

    display: grid;
    place-items: center;

    color: #b98e33;

    background: #f8f4e9;

    border-radius: 50%;

    font-size: 9px;

    font-weight: 850;
}

.faq-item-v17 summary strong {
    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(17px, 1.45vw, 21px);

    font-weight: 500;

    line-height: 1.3;
}

.faq-toggle-v17 {
    width: 34px;
    height: 34px;

    display: grid;
    place-items: center;

    color: #087064;

    background: #edf5f3;

    border-radius: 50%;

    font-size: 21px;

    font-weight: 300;

    transition:
        transform .2s ease,
        color .2s ease,
        background .2s ease;
}

.faq-item-v17[open] .faq-toggle-v17 {
    color: #fff;

    background: #087064;

    transform: rotate(45deg);
}

.faq-answer-v17 {
    padding:
        0 74px
        24px 84px;
}

.faq-answer-v17 p {
    max-width: 790px;

    margin: 0;

    color: #64757d;

    font-size: 14px;

    line-height: 1.72;
}


/* ORIENTATION */

.faq-orientation-v17 {
    padding:
        clamp(72px, 6vw, 95px)
        max(5vw, 30px);

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #073e61,
            #075951
        );
}

.faq-orientation-heading-v17,
.faq-orientation-grid-v17 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.faq-orientation-heading-v17 {
    max-width: 760px;

    margin-bottom: 45px;
}

.faq-orientation-heading-v17 .section-kicker {
    color: #dfba61;
}

.faq-orientation-heading-v17 h2 {
    margin:
        10px 0 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(38px, 3.6vw, 55px);

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;

    text-wrap: balance;
}

.faq-orientation-grid-v17 {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.faq-orientation-grid-v17 a {
    min-height: 175px;

    padding: 22px;

    display: flex;
    flex-direction: column;

    color: #fff;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 17px;

    text-decoration: none;

    transition:
        transform .2s ease,
        background .2s ease;
}

.faq-orientation-grid-v17 a:hover {
    transform: translateY(-4px);

    background:
        rgba(255,255,255,.11);
}

.faq-orientation-grid-v17 span {
    color: #dfba61;

    font-size: 9px;

    font-weight: 850;
}

.faq-orientation-grid-v17 strong {
    margin:
        auto 0 8px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(20px, 1.6vw, 25px);

    font-weight: 500;

    line-height: 1.1;
}

.faq-orientation-grid-v17 small {
    color:
        rgba(255,255,255,.61);

    font-size: 10px;
}


/* FINAL CTA */

.faq-final-v17 {
    padding:
        clamp(58px, 5vw, 78px)
        max(6vw, 40px);

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 35px;

    background: #f1f6f5;
}

.faq-final-v17 h2 {
    max-width: 730px;

    margin:
        8px 0 10px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(34px, 3vw, 48px);

    font-weight: 500;

    line-height: 1.03;
}

.faq-final-v17 p {
    margin: 0;

    color: #61727c;
}

.faq-final-v17 > a {
    flex-shrink: 0;

    padding:
        14px 23px;

    color: #fff;

    background: #087064;

    border-radius: 999px;

    font-size: 12.5px;

    font-weight: 850;

    text-decoration: none;
}


/* TABLET */

@media (max-width: 1050px) {

    .faq-hero-v17 {
        grid-template-columns: 1fr;
    }

    .faq-orientation-grid-v17 {
        grid-template-columns:
            repeat(2, 1fr);
    }

}


/* MOBILE */

@media (max-width: 650px) {

    .faq-hero-v17 {
        padding:
            52px 20px;
    }

    .faq-hero-actions-v17 {
        flex-direction: column;
    }

    .faq-primary-v17,
    .faq-secondary-v17 {
        width: 100%;
    }

    .faq-main-v17 {
        width:
            calc(100% - 30px);

        margin:
            60px auto;
    }

    .faq-item-v17 summary {
        padding:
            17px 15px;

        grid-template-columns:
            38px 1fr 32px;

        gap: 10px;
    }

    .faq-number-v17 {
        width: 36px;
        height: 36px;
    }

    .faq-toggle-v17 {
        width: 30px;
        height: 30px;
    }

    .faq-answer-v17 {
        padding:
            0 15px
            20px 63px;
    }

    .faq-orientation-v17 {
        padding:
            62px 15px;
    }

    .faq-orientation-grid-v17 {
        grid-template-columns: 1fr;
    }

    .faq-final-v17 {
        align-items: flex-start;
        flex-direction: column;

        padding:
            52px 20px;
    }

}


/* =========================================================
   ETHOS V18 - ACTUALITES PREMIUM
========================================================= */

.news-page-v18,
.article-page-v18 {
    overflow: hidden;
    background: #fff;
}


/* =========================================================
   NEWS HERO
========================================================= */

.news-hero-v18 {
    min-height: 510px;

    display: grid;
    grid-template-columns:
        .96fr 1.04fr;

    background:
        linear-gradient(
            135deg,
            #f5f8fa,
            #edf4f3
        );
}

.news-hero-copy-v18 {
    padding:
        clamp(62px, 6vw, 100px)
        clamp(35px, 5.5vw, 92px);

    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-hero-copy-v18 h1 {
    max-width: 720px;

    margin:
        14px 0 22px;

    color: #073b5c;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            48px,
            4.8vw,
            72px
        );

    font-weight: 500;

    line-height: .97;

    letter-spacing: -.045em;

    text-wrap: balance;
}

.news-hero-copy-v18 p {
    max-width: 600px;

    margin: 0;

    color: #5e7078;

    font-size:
        clamp(
            16px,
            1.2vw,
            19px
        );

    line-height: 1.7;
}


.news-hero-visual-v18 {
    position: relative;

    min-height: 510px;

    overflow: hidden;
}

.news-hero-visual-v18 > img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    object-position: center 48%;
}

.news-hero-overlay-v18 {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(4,48,68,.03),
            rgba(4,48,68,.34)
        );
}

.news-hero-card-v18 {
    position: absolute;

    z-index: 2;

    left: 28px;
    right: 28px;
    bottom: 28px;

    padding:
        19px 22px;

    color: #fff;

    background:
        rgba(5,55,76,.87);

    border:
        1px solid
        rgba(255,255,255,.16);

    border-radius: 16px;

    backdrop-filter:
        blur(10px);
}

.news-hero-card-v18 span {
    display: block;

    margin-bottom: 7px;

    color: #deb961;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .16em;
}

.news-hero-card-v18 strong {
    max-width: 460px;

    display: block;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            20px,
            2vw,
            28px
        );

    font-weight: 500;

    line-height: 1.1;
}


/* =========================================================
   NEWS INTRO
========================================================= */

.news-intro-v18 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        clamp(80px, 7vw, 110px)
        auto
        50px;

    display: grid;
    grid-template-columns:
        1fr 1fr;

    gap:
        clamp(
            30px,
            6vw,
            90px
        );

    align-items: end;
}

.news-intro-v18 h2 {
    margin:
        10px 0 0;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            40px,
            4vw,
            60px
        );

    font-weight: 500;

    line-height: 1;

    letter-spacing: -.04em;
}

.news-intro-v18 > p {
    max-width: 610px;

    margin: 0;

    color: #62747c;

    font-size: 16px;

    line-height: 1.72;
}


/* =========================================================
   NEWS CARDS
========================================================= */

.news-grid-v18 {
    width:
        min(
            calc(100% - 60px),
            1380px
        );

    margin:
        0 auto
        clamp(80px, 7vw, 105px);

    display: grid;

    grid-template-columns:
        repeat(2, 1fr);

    gap: 20px;
}

.news-card-v18 {
    min-height: 430px;

    padding:
        30px;

    display: flex;
    flex-direction: column;

    background: #fff;

    border:
        1px solid
        rgba(7,59,92,.09);

    border-radius: 22px;

    box-shadow:
        0 12px 35px
        rgba(15,54,77,.05);

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.news-card-v18:hover {
    transform:
        translateY(-5px);

    box-shadow:
        0 22px 50px
        rgba(15,54,77,.09);
}

.news-card-v18-featured {
    background:
        linear-gradient(
            145deg,
            #f5f9fa,
            #edf5f3
        );
}

.news-card-top-v18 {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 45px;
}

.news-card-top-v18 > span {
    color: #ba8e31;

    font-size: 10px;

    font-weight: 850;

    letter-spacing: .16em;
}

.news-card-top-v18 > small {
    color: #31716d;

    font-size: 8.5px;

    font-weight: 850;

    letter-spacing: .12em;
}

.news-card-content-v18 {
    display: flex;
    flex-direction: column;

    flex: 1;
}

.news-card-content-v18 h2 {
    max-width: 610px;

    margin:
        0 0 18px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            30px,
            2.7vw,
            43px
        );

    font-weight: 500;

    line-height: 1.02;

    letter-spacing: -.03em;

    text-wrap: balance;
}

.news-card-content-v18 p {
    max-width: 560px;

    margin:
        0 0 26px;

    color: #62747c;

    line-height: 1.68;
}

.news-card-content-v18 a {
    margin-top: auto;

    color: #087064;

    font-size: 12.5px;

    font-weight: 850;

    text-decoration: none;
}

.news-card-content-v18 a:hover {
    text-decoration: underline;
    text-underline-offset: 4px;
}


/* =========================================================
   NEWS ORIENTATION
========================================================= */

.news-orientation-v18 {
    padding:
        clamp(72px, 6vw, 95px)
        max(5vw, 30px);

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #073e61,
            #075951
        );
}

.news-orientation-heading-v18,
.news-orientation-grid-v18 {
    width:
        min(
            100%,
            1380px
        );

    margin-left: auto;
    margin-right: auto;
}

.news-orientation-heading-v18 {
    max-width: 760px;

    margin-bottom: 45px;
}

.news-orientation-heading-v18 .section-kicker {
    color: #dfba61;
}

.news-orientation-heading-v18 h2 {
    margin:
        10px 0 0;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            38px,
            3.6vw,
            55px
        );

    font-weight: 500;

    line-height: 1;
}

.news-orientation-grid-v18 {
    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 14px;
}

.news-orientation-grid-v18 a {
    min-height: 170px;

    padding: 22px;

    display: flex;
    flex-direction: column;

    color: #fff;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.10);

    border-radius: 17px;

    text-decoration: none;

    transition:
        transform .2s ease,
        background .2s ease;
}

.news-orientation-grid-v18 a:hover {
    transform:
        translateY(-4px);

    background:
        rgba(255,255,255,.11);
}

.news-orientation-grid-v18 span {
    color: #dfba61;

    font-size: 9px;

    font-weight: 850;
}

.news-orientation-grid-v18 strong {
    margin:
        auto 0 8px;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            20px,
            1.6vw,
            25px
        );

    font-weight: 500;
}

.news-orientation-grid-v18 small {
    color:
        rgba(255,255,255,.61);

    font-size: 10px;
}


/* =========================================================
   ARTICLE HERO
========================================================= */

.article-hero-v18 {
    padding:
        clamp(70px, 7vw, 105px)
        max(5vw, 30px)
        clamp(65px, 6vw, 90px);

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #073e61,
            #075951
        );
}

.article-hero-inner-v18 {
    width:
        min(
            100%,
            1100px
        );

    margin: 0 auto;
}

.article-breadcrumb-v18 {
    display: inline-block;

    margin-bottom: 37px;

    color:
        rgba(255,255,255,.66);

    font-size: 11px;

    font-weight: 750;

    text-decoration: none;
}

.article-breadcrumb-v18:hover {
    color: #fff;
}

.article-hero-v18 .section-kicker {
    color: #dfba61;
}

.article-hero-v18 h1 {
    max-width: 980px;

    margin:
        13px 0 22px;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            45px,
            5vw,
            72px
        );

    font-weight: 500;

    line-height: .98;

    letter-spacing: -.045em;

    text-wrap: balance;
}

.article-hero-v18 p {
    max-width: 720px;

    margin: 0;

    color:
        rgba(255,255,255,.72);

    font-size:
        clamp(
            16px,
            1.25vw,
            19px
        );

    line-height: 1.7;
}


/* =========================================================
   ARTICLE LAYOUT
========================================================= */

.article-layout-v18 {
    width:
        min(
            calc(100% - 60px),
            1180px
        );

    margin:
        clamp(70px, 6vw, 95px)
        auto
        clamp(85px, 7vw, 110px);

    display: grid;

    grid-template-columns:
        260px 1fr;

    gap:
        clamp(
            40px,
            6vw,
            85px
        );

    align-items: start;
}


/* ASIDE */

.article-aside-v18 {
    position: sticky;

    top: 110px;
}

.article-aside-v18 > span {
    display: block;

    margin-bottom: 17px;

    color: #b68b31;

    font-size: 8.5px;

    font-weight: 850;

    letter-spacing: .15em;
}

.article-aside-v18 nav {
    display: grid;

    gap: 6px;
}

.article-aside-v18 nav a {
    padding:
        11px 0;

    display: grid;

    grid-template-columns:
        30px 1fr;

    gap: 7px;

    color: #78868b;

    border-bottom:
        1px solid
        rgba(7,59,92,.08);

    font-size: 9px;

    text-decoration: none;
}

.article-aside-v18 nav strong {
    color: #284f62;

    font-size: 11px;

    font-weight: 700;

    line-height: 1.45;
}


/* ARTICLE CONTENT */

.article-content-v18 {
    max-width: 770px;
}

.article-section-v18 {
    padding:
        0 0 45px;

    margin-bottom: 45px;

    border-bottom:
        1px solid
        rgba(7,59,92,.08);

    scroll-margin-top: 110px;
}

.article-section-v18 > span {
    display: inline-block;

    margin-bottom: 17px;

    color: #b88b30;

    font-size: 9px;

    font-weight: 850;

    letter-spacing: .15em;
}

.article-section-v18 h2 {
    margin:
        0 0 22px;

    color: #073b5c;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            31px,
            3vw,
            44px
        );

    font-weight: 500;

    line-height: 1.04;

    letter-spacing: -.03em;
}

.article-section-v18 p {
    margin:
        0 0 19px;

    color: #536a75;

    font-size:
        clamp(
            15px,
            1.15vw,
            17px
        );

    line-height: 1.82;
}

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


/* END BLOCK */

.article-end-v18 {
    margin-top: 20px;

    padding:
        clamp(
            28px,
            4vw,
            42px
        );

    color: #fff;

    background:
        linear-gradient(
            135deg,
            #0b628e,
            #087064
        );

    border-radius: 20px;
}

.article-end-v18 > span {
    color: #dfba61;

    font-size: 8.5px;

    font-weight: 850;

    letter-spacing: .15em;
}

.article-end-v18 > strong {
    margin:
        11px 0 10px;

    display: block;

    font-family:
        Georgia,
        serif;

    font-size:
        clamp(
            26px,
            2.4vw,
            36px
        );

    font-weight: 500;
}

.article-end-v18 > p {
    max-width: 560px;

    margin:
        0 0 23px;

    color:
        rgba(255,255,255,.70);

    line-height: 1.65;
}

.article-end-v18 > div {
    display: flex;
    flex-wrap: wrap;

    gap: 9px;
}

.article-end-v18 a {
    padding:
        11px 15px;

    color: #fff;

    background:
        rgba(255,255,255,.09);

    border:
        1px solid
        rgba(255,255,255,.13);

    border-radius: 999px;

    font-size: 10.5px;

    font-weight: 800;

    text-decoration: none;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1050px) {

    .news-hero-v18 {
        grid-template-columns: 1fr;
    }

    .news-hero-visual-v18 {
        min-height: 420px;
    }

    .news-orientation-grid-v18 {
        grid-template-columns:
            repeat(2, 1fr);
    }

    .article-layout-v18 {
        grid-template-columns: 1fr;
    }

    .article-aside-v18 {
        position: static;

        padding-bottom: 25px;

        border-bottom:
            1px solid
            rgba(7,59,92,.08);
    }

    .article-aside-v18 nav {
        grid-template-columns:
            repeat(2, 1fr);

        gap:
            5px 18px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 650px) {

    .news-hero-copy-v18 {
        padding:
            52px 20px
            45px;
    }

    .news-hero-visual-v18 {
        min-height: 310px;
    }

    .news-hero-card-v18 {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }

    .news-intro-v18,
    .news-grid-v18 {
        width:
            calc(100% - 30px);
    }

    .news-intro-v18 {
        grid-template-columns: 1fr;

        margin:
            60px auto
            40px;
    }

    .news-grid-v18 {
        grid-template-columns: 1fr;

        margin-bottom: 65px;
    }

    .news-card-v18 {
        min-height: 360px;

        padding:
            24px 21px;
    }

    .news-orientation-v18 {
        padding:
            62px 15px;
    }

    .news-orientation-grid-v18 {
        grid-template-columns: 1fr;
    }

    .article-hero-v18 {
        padding:
            56px 20px
            55px;
    }

    .article-layout-v18 {
        width:
            calc(100% - 30px);

        margin:
            55px auto
            70px;
    }

    .article-aside-v18 nav {
        grid-template-columns: 1fr;
    }

    .article-section-v18 {
        padding-bottom: 35px;

        margin-bottom: 35px;
    }

    .article-end-v18 {
        padding:
            28px 21px;
    }

    .article-end-v18 > div {
        flex-direction: column;
    }

    .article-end-v18 a {
        text-align: center;
    }

}


/* =========================================================
   ETHOS V18.1 - ARTICLES LONG FORMAT
========================================================= */

.article-meta-v181 {
    margin-top: 27px;

    display: flex;
    flex-wrap: wrap;

    gap: 8px;
}

.article-meta-v181 span {
    padding: 7px 10px;

    color: rgba(255,255,255,.72);

    background: rgba(255,255,255,.07);

    border: 1px solid rgba(255,255,255,.10);

    border-radius: 999px;

    font-size: 9.5px;
    font-weight: 700;
}


.article-content-v181 > p {
    margin: 0 0 22px;

    color: #536a75;

    font-size: clamp(15px, 1.15vw, 17px);

    line-height: 1.82;
}

.article-content-v181 .article-lead-v181 {
    color: #173f54;

    font-family: Georgia, serif;

    font-size: clamp(19px, 1.7vw, 24px);

    line-height: 1.48;
}


.article-heading-v181 {
    margin: 54px 0 22px;

    padding-top: 5px;

    color: #073b5c;

    font-family: Georgia, serif;

    font-size: clamp(31px, 3vw, 44px);

    font-weight: 500;

    line-height: 1.04;

    letter-spacing: -.03em;

    scroll-margin-top: 110px;
}


.article-numbered-v181 {
    margin: 30px 0;

    padding: 0;

    display: grid;

    gap: 12px;

    list-style: none;

    counter-reset: article-pillar;
}

.article-numbered-v181 li {
    position: relative;

    padding: 20px 20px 20px 63px;

    color: #596f79;

    background: #f5f8f8;

    border: 1px solid rgba(7,59,92,.07);

    border-radius: 14px;

    line-height: 1.7;

    counter-increment: article-pillar;
}

.article-numbered-v181 li::before {
    content: counter(article-pillar);

    position: absolute;

    left: 18px;
    top: 18px;

    width: 30px;
    height: 30px;

    display: grid;
    place-items: center;

    color: #fff;

    background: #087064;

    border-radius: 50%;

    font-size: 10px;
    font-weight: 850;
}

.article-numbered-v181 strong {
    color: #173f54;
}


.article-checklist-v181 {
    margin: 28px 0;

    padding: 0;

    display: grid;

    gap: 9px;

    list-style: none;
}

.article-checklist-v181 li {
    position: relative;

    padding: 14px 16px 14px 49px;

    color: #405f69;

    background: #f2f7f5;

    border: 1px solid rgba(8,112,100,.09);

    border-radius: 12px;

    line-height: 1.55;
}

.article-checklist-v181 li::before {
    content: "✓";

    position: absolute;

    left: 17px;
    top: 12px;

    width: 23px;
    height: 23px;

    display: grid;
    place-items: center;

    color: #fff;

    background: #087064;

    border-radius: 50%;

    font-size: 11px;
    font-weight: 850;
}


.article-signature-v181 {
    margin: 35px 0 45px !important;

    color: #087064 !important;

    font-family: Georgia, serif;

    font-size: clamp(21px, 2vw, 28px) !important;

    font-style: italic;

    line-height: 1.4 !important;
}


@media (max-width: 650px) {

    .article-numbered-v181 li {
        padding:
            18px 16px
            18px 57px;
    }

}


/* =========================================================
   ETHOS V19.4 - ICONOGRAPHIE PREMIUM SVG
========================================================= */

.ethos-icon-svg {
    display: block;

    width: 1em;
    height: 1em;

    overflow: visible;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.65;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* Empêche tout ancien caractère de réapparaître */

.pole-icon,
.service-symbol,
.audience-icon,
.offer-v83-icon,
.formation-title-icon-v92,
.about-dual-icon-v15,
.vae-formula-icon-v12,
.vae-complement-icon-v12,
.regulatory-card-icon-v11,
.mail-icon {
    font-size: 0;
}


/* Icônes de pôles */

.pole-icon .ethos-icon-svg {
    width: 31px;
    height: 31px;

    font-size: 31px;
}


/* Petites icônes de listes */

.service-symbol {
    display: inline-grid;
    place-items: center;
}

.service-symbol .ethos-icon-svg {
    width: 19px;
    height: 19px;

    font-size: 19px;
}


/* Publics */

.audience-icon {
    display: grid;
    place-items: center;
}

.audience-icon .ethos-icon-svg {
    width: 29px;
    height: 29px;

    font-size: 29px;
}


/* Cartes accueil */

.offer-v83-icon {
    display: grid;
    place-items: center;
}

.offer-v83-icon .ethos-icon-svg {
    width: 28px;
    height: 28px;

    font-size: 28px;
}


/* Pôle Formation */

.formation-title-icon-v92 {
    display: grid;
    place-items: center;
}

.formation-title-icon-v92 .ethos-icon-svg {
    width: 28px;
    height: 28px;

    font-size: 28px;
}


/* Expertise réglementaire */

.regulatory-card-icon-v11 {
    display: grid;
    place-items: center;
}

.regulatory-card-icon-v11 .ethos-icon-svg {
    width: 26px;
    height: 26px;

    font-size: 26px;
}


/* VAE */

.vae-formula-icon-v12,
.vae-complement-icon-v12 {
    display: grid;
    place-items: center;
}

.vae-formula-icon-v12 .ethos-icon-svg,
.vae-complement-icon-v12 .ethos-icon-svg {
    width: 27px;
    height: 27px;

    font-size: 27px;
}


/* À propos */

.about-dual-icon-v15 {
    display: grid;
    place-items: center;
}

.about-dual-icon-v15 .ethos-icon-svg {
    width: 30px;
    height: 30px;

    font-size: 30px;
}


/* Enveloppe header */

.mail-icon {
    display: inline-grid;
    place-items: center;
}

.mail-icon .ethos-icon-svg {
    width: 16px;
    height: 16px;

    font-size: 16px;
}


/* Finition premium */

.pole-icon,
.offer-v83-icon,
.formation-title-icon-v92,
.about-dual-icon-v15,
.vae-formula-icon-v12,
.vae-complement-icon-v12,
.regulatory-card-icon-v11 {
    transition:
        transform .2s ease,
        border-color .2s ease,
        background-color .2s ease;
}

.pole-card:hover .pole-icon,
.offer-v83:hover .offer-v83-icon,
.formation-title-card-v92:hover .formation-title-icon-v92,
.about-dual-card-v15:hover .about-dual-icon-v15,
.vae-formula-v12:hover .vae-formula-icon-v12,
.regulatory-card-v11:hover .regulatory-card-icon-v11 {
    transform: translateY(-2px);
}


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

    .pole-icon,
    .offer-v83-icon,
    .formation-title-icon-v92,
    .about-dual-icon-v15,
    .vae-formula-icon-v12,
    .vae-complement-icon-v12,
    .regulatory-card-icon-v11 {
        transition: none;
    }

}


/* =========================================================
   ETHOS V19.6.2 - ACCUEIL / ACTUALITES FINAL PREMIUM
========================================================= */

.news-section {
    position: relative;
    overflow: hidden;

    background:
        radial-gradient(
            circle at 12% 14%,
            rgba(211,155,42,.055),
            transparent 28%
        ),
        radial-gradient(
            circle at 88% 82%,
            rgba(8,112,100,.045),
            transparent 30%
        ),
        #fff;
}

.news-section::before {
    content: "";

    position: absolute;

    width: 360px;
    height: 360px;

    right: -220px;
    top: 40px;

    border:
        1px solid
        rgba(7,59,92,.045);

    border-radius: 50%;

    pointer-events: none;
}

.news-grid-v196 {
    position: relative;
    z-index: 1;

    align-items: stretch;
}


.news-card[data-v196="true"] {
    padding: 0 !important;

    overflow: hidden;

    display: flex;
    flex-direction: column;

    background:
        rgba(255,255,255,.97);

    border:
        1px solid
        rgba(7,59,92,.095);

    border-radius: 19px;

    box-shadow:
        0 14px 34px
        rgba(7,59,92,.055);

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.news-card[data-v196="true"]:hover {
    transform: translateY(-5px);

    border-color:
        rgba(211,155,42,.22);

    box-shadow:
        0 22px 48px
        rgba(7,59,92,.105);
}


.news-card-media-v196 {
    position: relative;

    height: 195px;

    display: block;
    overflow: hidden;

    background: #e7ecee;

    text-decoration: none;
}

.news-card-media-v196::after {
    content: "";

    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(3,44,67,.03) 20%,
            rgba(3,44,67,.38) 100%
        );

    pointer-events: none;
}

.news-card-media-v196 img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    filter:
        saturate(.88)
        contrast(.98);

    transition:
        transform .55s ease,
        filter .4s ease;
}

.news-card[data-v196="true"]:hover
.news-card-media-v196 img {
    transform: scale(1.035);

    filter:
        saturate(.98)
        contrast(1);
}

.news-card-media-v196 > span {
    position: absolute;

    z-index: 2;

    left: 22px;
    bottom: 18px;

    padding: 7px 10px;

    color: #fff;

    background:
        rgba(3,44,67,.72);

    border:
        1px solid
        rgba(255,255,255,.18);

    border-radius: 999px;

    backdrop-filter: blur(7px);

    font-size: 9px;
    font-weight: 800;

    letter-spacing: .14em;
}


.news-card-content-v196 {
    min-height: 285px;

    padding: 27px 29px 28px;

    display: flex;
    flex-direction: column;
}

.news-card-content-v196 .news-meta {
    margin-bottom: 14px;
}

.news-card-content-v196 h3 {
    margin: 0 0 15px;

    color: #073b5c;

    font-family: Georgia, serif;

    font-size:
        clamp(
            23px,
            2vw,
            29px
        );

    font-weight: 500;

    line-height: 1.06;

    letter-spacing: -.025em;
}

.news-card-content-v196 p {
    margin: 0 0 25px;

    color: #647982;

    font-size: 13px;

    line-height: 1.7;
}


.news-card-link-v196 {
    margin-top: auto;

    width: fit-content;

    display: inline-flex;
    align-items: center;

    gap: 10px;

    color: #073b5c;

    font-size: 11px;
    font-weight: 800;

    text-decoration: none;
}

.news-card-link-v196 span {
    color: #d39b2a;

    font-size: 17px;

    transition:
        transform .2s ease;
}

.news-card-link-v196:hover span {
    transform:
        translateX(4px);
}


/* CTA final */

.news-bottom-v196 {
    position: relative;
    z-index: 1;

    width:
        min(
            1040px,
            calc(100% - 48px)
        );

    margin: 50px auto 0;

    padding: 27px 31px;

    display: flex;

    align-items: center;

    justify-content:
        space-between;

    gap: 30px;

    background:
        linear-gradient(
            110deg,
            #073b5c 0%,
            #0b4d61 55%,
            #087064 100%
        );

    border:
        1px solid
        rgba(255,255,255,.12);

    border-radius: 18px;

    box-shadow:
        0 18px 38px
        rgba(7,59,92,.12);
}

.news-bottom-v196 > div:first-child {
    max-width: 550px;
}

.news-bottom-v196 > div:first-child > span {
    display: block;

    margin-bottom: 8px;

    color: #e0aa39;

    font-size: 8px;
    font-weight: 850;

    letter-spacing: .18em;
}

.news-bottom-v196 strong {
    display: block;

    color: #fff;

    font-family: Georgia, serif;

    font-size:
        clamp(
            18px,
            1.55vw,
            23px
        );

    font-weight: 400;

    line-height: 1.3;
}

.news-bottom-actions-v196 {
    flex-shrink: 0;

    display: flex;
    align-items: center;

    gap: 10px;
}


.news-bottom-primary-v196,
.news-bottom-secondary-v196 {
    min-height: 42px;

    padding: 0 17px;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    border-radius: 999px;

    font-size: 9.5px;
    font-weight: 800;

    text-decoration: none;

    white-space: nowrap;

    transition:
        transform .2s ease,
        background-color .2s ease;
}

.news-bottom-primary-v196 {
    color: #073b5c;

    background: #fff;
}

.news-bottom-primary-v196 span {
    color: #d39b2a;

    font-size: 15px;
}

.news-bottom-secondary-v196 {
    color:
        rgba(255,255,255,.9);

    border:
        1px solid
        rgba(255,255,255,.23);

    background:
        rgba(255,255,255,.06);
}

.news-bottom-primary-v196:hover,
.news-bottom-secondary-v196:hover {
    transform:
        translateY(-2px);
}


@media (min-width: 1400px) {

    .news-card-media-v196 {
        height: 215px;
    }

}


@media (max-width: 900px) {

    .news-card-media-v196 {
        height: 180px;
    }

    .news-bottom-v196 {
        align-items: flex-start;

        flex-direction: column;
    }

}


@media (max-width: 650px) {

    .news-grid-v196 {
        gap: 18px;
    }

    .news-card[data-v196="true"] {
        border-radius: 16px;
    }

    .news-card-media-v196 {
        height: 170px;
    }

    .news-card-media-v196 > span {
        left: 16px;
        bottom: 14px;
    }

    .news-card-content-v196 {
        min-height: auto;

        padding:
            23px 20px 24px;
    }

    .news-card-content-v196 h3 {
        font-size: 25px;
    }

    .news-bottom-v196 {
        width:
            calc(100% - 32px);

        margin-top: 32px;

        padding:
            24px 20px;

        border-radius: 15px;
    }

    .news-bottom-actions-v196 {
        width: 100%;

        align-items: stretch;

        flex-direction: column;
    }

    .news-bottom-primary-v196,
    .news-bottom-secondary-v196 {
        width: 100%;
    }

}


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

    .news-card[data-v196="true"],
    .news-card-media-v196 img,
    .news-card-link-v196 span,
    .news-bottom-primary-v196,
    .news-bottom-secondary-v196 {
        transition: none;
    }

}

/* =========================================================
   ETHOS V20.2.2 - LEGAL DOCUMENTS
========================================================= */

.legal-page-v20 {
    background: #f7f8f7;
}

.legal-container-v20 {
    width: min(1080px, calc(100% - 48px));
    margin: 0 auto;
}

.legal-hero-v20 {
    padding: 100px 0 70px;
    color: #fff;
    background:
        linear-gradient(
            115deg,
            #032e4e 0%,
            #063b63 58%,
            #075a51 100%
        );
}

.legal-eyebrow-v20 {
    margin-bottom: 18px;
    color: #ddb052;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .18em;
}

.legal-hero-v20 h1 {
    max-width: 850px;
    margin: 0;
    font-family: Georgia, serif;
    font-size: clamp(40px, 5vw, 64px);
    font-weight: 400;
    line-height: 1.04;
    letter-spacing: -.035em;
}

.legal-lead-v20 {
    max-width: 760px;
    margin: 24px 0 0;
    color: rgba(255,255,255,.78);
    font-size: 16px;
    line-height: 1.75;
}

.legal-body-v20 {
    padding: 60px 0 90px;
}

.legal-document-v20 {
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(7,59,92,.09);
    border-radius: 20px;
    box-shadow: 0 18px 50px rgba(7,59,92,.07);
}

.legal-document-header-v20 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 30px;
    border-bottom: 1px solid rgba(7,59,92,.08);
    background: rgba(247,248,247,.8);
}

.legal-document-header-v20 span,
.legal-download-bottom-v20 span {
    display: block;
    margin-bottom: 5px;
    color: #9a7528;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .17em;
}

.legal-document-header-v20 strong {
    color: #073b5c;
    font-size: 13px;
}

.legal-download-v20 {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 11px 16px;
    color: #073b5c;
    background: #fff;
    border: 1px solid rgba(7,59,92,.14);
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.legal-download-v20 span {
    margin: 0;
    color: #d39b2a;
    font-size: 15px;
}

.legal-content-v20 {
    max-width: 900px;
    margin: 0 auto;
    padding: 50px 58px 58px;
}

.legal-content-v20 p,
.legal-source-list-item {
    margin: 0 0 13px;
    color: #526a73;
    font-size: 14px;
    line-height: 1.8;
}

.legal-source-heading {
    margin: 38px 0 14px;
    color: #073b5c;
    font-family: Georgia, serif;
    font-size: clamp(22px, 2.4vw, 29px);
    font-weight: 500;
    line-height: 1.2;
}

.legal-source-subheading {
    margin: 28px 0 10px;
    color: #075a51;
    font-size: 16px;
    line-height: 1.45;
}

.legal-source-list-item {
    padding-left: 4px;
}

.legal-download-bottom-v20 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;
    margin: 0 30px 30px;
    padding: 25px 27px;
    color: #fff;
    background: linear-gradient(110deg,#073b5c,#075a51);
    border-radius: 15px;
}

.legal-download-bottom-v20 strong {
    display: block;
    font-family: Georgia, serif;
    font-size: 20px;
    font-weight: 400;
}

.legal-download-bottom-v20 p {
    margin: 6px 0 0;
    color: rgba(255,255,255,.68);
    font-size: 12px;
}

.legal-download-bottom-v20 > a {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 12px 18px;
    color: #073b5c;
    background: #fff;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    text-decoration: none;
}

.legal-download-bottom-v20 > a span {
    display: inline;
    margin: 0;
    color: #d39b2a;
    font-size: 15px;
}

@media (max-width: 700px) {

    .legal-container-v20 {
        width: calc(100% - 32px);
    }

    .legal-hero-v20 {
        padding: 72px 0 52px;
    }

    .legal-hero-v20 h1 {
        font-size: 42px;
    }

    .legal-document-header-v20 {
        align-items: flex-start;
        flex-direction: column;
        padding: 20px;
    }

    .legal-content-v20 {
        padding: 34px 22px 40px;
    }

    .legal-download-bottom-v20 {
        align-items: flex-start;
        flex-direction: column;
        margin: 0 16px 16px;
        padding: 22px 20px;
    }

    .legal-download-bottom-v20 > a {
        width: 100%;
        justify-content: center;
    }
}

/* =========================================================
   ETHOS V20.3 - PREMIUM LEGAL DOCUMENTS
   CONTENT PRESERVED - VISUAL LAYER ONLY
========================================================= */

.legal-page-v203 {
    --legal-navy: #073b5c;
    --legal-blue: #0b5277;
    --legal-green: #075a51;
    --legal-gold: #c99735;
    --legal-ink: #263d47;
    --legal-muted: #657a82;
    --legal-line: rgba(7,59,92,.11);
    --legal-paper: #ffffff;
    --legal-bg: #f5f7f6;
}


/* =========================================================
   HERO
========================================================= */

.legal-page-v203 .legal-hero-v20 {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    padding: 94px 0 82px;
    background:
        radial-gradient(
            circle at 86% 20%,
            rgba(201,151,53,.16),
            transparent 25%
        ),
        radial-gradient(
            circle at 10% 100%,
            rgba(255,255,255,.07),
            transparent 30%
        ),
        linear-gradient(
            125deg,
            #042d4b 0%,
            #073b5c 52%,
            #075a51 100%
        );
}

.legal-page-v203 .legal-hero-v20::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -180px;
    width: 430px;
    height: 430px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    box-shadow:
        0 0 0 55px rgba(255,255,255,.025),
        0 0 0 110px rgba(255,255,255,.018);
    pointer-events: none;
}

.legal-page-v203 .legal-container-v20 {
    position: relative;
    z-index: 1;
}

.legal-page-v203 .legal-eyebrow-v20 {
    margin-bottom: 22px;
    color: #dfb65f;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .2em;
}

.legal-hero-grid-v203 {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 180px;
    align-items: center;
    gap: 80px;
}

.legal-page-v203 .legal-hero-v20 h1 {
    max-width: 900px;
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.legal-page-v203 .legal-lead-v20 {
    max-width: 720px;
    margin-top: 25px;
    color: rgba(255,255,255,.72);
    font-size: 15px;
    line-height: 1.8;
}


/* =========================================================
   HERO DOCUMENT SYMBOL
========================================================= */

.legal-hero-document-v203 {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.legal-document-icon-v203 {
    position: relative;
    width: 94px;
    height: 116px;
    padding: 28px 18px 20px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 9px;
    box-shadow:
        0 20px 45px rgba(0,0,0,.15),
        inset 0 1px 0 rgba(255,255,255,.12);
}

.legal-document-icon-v203::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 27px;
    height: 27px;
    background: linear-gradient(
        135deg,
        transparent 49%,
        rgba(255,255,255,.22) 50%
    );
    border-bottom-left-radius: 7px;
}

.legal-document-icon-v203 span {
    display: block;
    height: 3px;
    margin-bottom: 9px;
    background: rgba(255,255,255,.48);
    border-radius: 4px;
}

.legal-document-icon-v203 span:nth-child(1) {
    width: 70%;
}

.legal-document-icon-v203 span:nth-child(2) {
    width: 100%;
}

.legal-document-icon-v203 span:nth-child(3) {
    width: 82%;
}

.legal-hero-document-v203 small {
    color: rgba(255,255,255,.52);
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .16em;
}


/* =========================================================
   PAPER
========================================================= */

.legal-page-v203 .legal-body-v20 {
    padding: 66px 0 100px;
    background:
        linear-gradient(
            180deg,
            #f5f7f6 0%,
            #eef2f1 100%
        );
}

.legal-page-v203 .legal-document-v20 {
    overflow: hidden;
    border: 1px solid rgba(7,59,92,.09);
    border-radius: 18px;
    background: var(--legal-paper);
    box-shadow:
        0 28px 70px rgba(7,59,92,.08),
        0 3px 12px rgba(7,59,92,.04);
}


/* =========================================================
   DOCUMENT HEADER
========================================================= */

.legal-page-v203 .legal-document-header-v20 {
    min-height: 82px;
    padding: 18px 30px;
    background: #fff;
}

.legal-document-brand-v203 {
    display: flex;
    align-items: center;
    gap: 13px;
}

.legal-mini-icon-v203 {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    color: #fff;
    background: linear-gradient(
        135deg,
        var(--legal-blue),
        var(--legal-green)
    );
    border-radius: 9px;
    font-size: 13px;
    font-weight: 900;
    box-shadow: 0 7px 18px rgba(7,59,92,.15);
}

.legal-page-v203 .legal-document-header-v20 span {
    margin-bottom: 4px;
    color: var(--legal-gold);
    font-size: 7px;
    letter-spacing: .19em;
}

.legal-page-v203 .legal-document-header-v20 strong {
    font-size: 12px;
    letter-spacing: .01em;
}

.legal-page-v203 .legal-download-v20 {
    transition:
        transform .2s ease,
        box-shadow .2s ease,
        border-color .2s ease;
}

.legal-page-v203 .legal-download-v20:hover {
    transform: translateY(-2px);
    border-color: rgba(7,59,92,.24);
    box-shadow: 0 9px 25px rgba(7,59,92,.10);
}

.legal-download-icon-v203 {
    display: inline-flex !important;
    width: 21px;
    height: 21px;
    align-items: center;
    justify-content: center;
    color: #fff !important;
    background: var(--legal-gold);
    border-radius: 50%;
    font-size: 13px !important;
}


/* =========================================================
   READING META
========================================================= */

.legal-reading-meta-v203 {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 30px;
    border-top: 1px solid rgba(7,59,92,.05);
    border-bottom: 1px solid rgba(7,59,92,.08);
    background: #fbfcfc;
    color: #87979c;
    font-size: 9px;
    letter-spacing: .02em;
}

.legal-reading-meta-v203 b {
    color: var(--legal-blue);
    font-weight: 750;
}


/* =========================================================
   CONTENT
========================================================= */

.legal-page-v203 .legal-content-v20 {
    max-width: 850px;
    padding: 60px 62px 72px;
    color: var(--legal-ink);
}

.legal-page-v203 .legal-content-v20 p,
.legal-page-v203 .legal-source-list-item {
    margin: 0 0 17px;
    color: #4f6871;
    font-size: 14px;
    line-height: 1.9;
}

.legal-page-v203 .legal-content-v20 p:last-child {
    margin-bottom: 0;
}


/* =========================================================
   LEGAL HEADINGS
========================================================= */

.legal-page-v203 .legal-source-heading {
    position: relative;
    margin: 54px 0 20px;
    padding-top: 19px;
    color: var(--legal-navy);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(23px, 2.4vw, 30px);
    font-weight: 500;
    line-height: 1.18;
    letter-spacing: -.018em;
}

.legal-page-v203 .legal-source-heading::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 34px;
    height: 2px;
    background: var(--legal-gold);
}

.legal-page-v203 .legal-source-heading:first-child {
    margin-top: 0;
}

.legal-page-v203 .legal-source-subheading {
    margin: 34px 0 12px;
    padding-left: 13px;
    border-left: 2px solid var(--legal-gold);
    color: var(--legal-green);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .005em;
}


/* =========================================================
   LISTES
========================================================= */

.legal-page-v203 .legal-source-list-item {
    position: relative;
    padding: 3px 0 3px 22px;
    margin-bottom: 7px;
    color: #506970;
}

.legal-page-v203 .legal-source-list-item::before {
    content: "";
    position: absolute;
    top: 13px;
    left: 3px;
    width: 6px;
    height: 6px;
    background: var(--legal-gold);
    border-radius: 50%;
}

.legal-page-v203 .legal-source-list-item {
    font-size: 13.5px;
    line-height: 1.75;
}


/* =========================================================
   LONG DOCUMENT RHYTHM
========================================================= */

.legal-page-v203 .legal-source-heading + p {
    color: #405a64;
}

.legal-page-v203 .legal-source-subheading + p {
    margin-top: 4px;
}


/* =========================================================
   FINAL DOWNLOAD
========================================================= */

.legal-page-v203 .legal-download-bottom-v20 {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 54px minmax(0,1fr) auto;
    align-items: center;
    gap: 20px;
    margin: 0 30px 30px;
    padding: 27px 29px;
    background:
        radial-gradient(
            circle at 90% 0%,
            rgba(201,151,53,.15),
            transparent 30%
        ),
        linear-gradient(
            110deg,
            #063754,
            #075a51
        );
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(7,59,92,.12);
}

.legal-final-document-icon-v203 {
    position: relative;
    width: 48px;
    height: 58px;
    padding: 15px 9px;
    background: rgba(255,255,255,.09);
    border: 1px solid rgba(255,255,255,.18);
    border-radius: 6px;
}

.legal-final-document-icon-v203 span {
    display: block;
    height: 2px;
    margin-bottom: 6px;
    background: rgba(255,255,255,.48);
    border-radius: 3px;
}

.legal-final-document-icon-v203 span:nth-child(1) {
    width: 65%;
}

.legal-final-document-icon-v203 span:nth-child(2) {
    width: 100%;
}

.legal-final-document-icon-v203 span:nth-child(3) {
    width: 78%;
}

.legal-page-v203 .legal-download-bottom-v20 span {
    margin-bottom: 5px;
    color: #e1bb65;
}

.legal-final-copy-v203 strong {
    display: block;
    color: #fff;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.25;
}

.legal-final-copy-v203 p {
    max-width: 540px;
    margin: 7px 0 0;
    color: rgba(255,255,255,.64);
    font-size: 11px;
    line-height: 1.6;
}

.legal-page-v203 .legal-download-bottom-v20 > a {
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.legal-page-v203 .legal-download-bottom-v20 > a:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 25px rgba(0,0,0,.14);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 800px) {

    .legal-page-v203 .legal-hero-v20 {
        padding: 72px 0 58px;
    }

    .legal-hero-grid-v203 {
        grid-template-columns: 1fr;
        gap: 35px;
    }

    .legal-hero-document-v203 {
        display: none;
    }

    .legal-page-v203 .legal-content-v20 {
        padding: 44px 28px 52px;
    }

    .legal-page-v203 .legal-download-bottom-v20 {
        grid-template-columns: 42px minmax(0,1fr);
        margin: 0 18px 18px;
        padding: 22px;
    }

    .legal-page-v203 .legal-download-bottom-v20 > a {
        grid-column: 1 / -1;
        width: 100%;
        justify-content: center;
    }

}

@media (max-width: 560px) {

    .legal-page-v203 .legal-container-v20 {
        width: calc(100% - 30px);
    }

    .legal-page-v203 .legal-hero-v20 h1 {
        font-size: 40px;
    }

    .legal-page-v203 .legal-lead-v20 {
        font-size: 14px;
    }

    .legal-page-v203 .legal-document-header-v20 {
        padding: 17px;
    }

    .legal-reading-meta-v203 {
        align-items: flex-start;
        flex-direction: column;
        padding: 11px 17px;
    }

    .legal-page-v203 .legal-content-v20 {
        padding: 38px 21px 45px;
    }

    .legal-page-v203 .legal-content-v20 p,
    .legal-page-v203 .legal-source-list-item {
        font-size: 13.5px;
        line-height: 1.82;
    }

    .legal-page-v203 .legal-source-heading {
        margin-top: 42px;
        font-size: 23px;
    }

}


/* =========================================================
   ACCESSIBILITY
========================================================= */

.legal-page-v203 a:focus-visible {
    outline: 3px solid rgba(201,151,53,.65);
    outline-offset: 4px;
}

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

    .legal-page-v203 *,
    .legal-page-v203 *::before,
    .legal-page-v203 *::after {
        scroll-behavior: auto !important;
        transition: none !important;
    }

}


/* ============================================================
   ETHOS V20.5 — LEGAL DOCUMENT PREMIUM
   ============================================================ */

.legal-page-v205 {
    --legal-ink: #123f43;
    --legal-ink-dark: #0d3033;
    --legal-accent: #1f7773;
    --legal-accent-soft: #e8f2f0;
    --legal-paper: #ffffff;
    --legal-background: #f5f7f6;
    --legal-border: #dfe7e5;
    --legal-muted: #6b7b7c;
    --legal-shadow: 0 24px 70px rgba(14, 42, 44, .10);
}


/* ------------------------------------------------------------
   GLOBAL
   ------------------------------------------------------------ */

.legal-page-v205 {
    background: var(--legal-background);
    color: var(--legal-ink-dark);
}

.legal-container-v205 {
    width: min(1240px, calc(100% - 48px));
    margin: 0 auto;
}


/* ------------------------------------------------------------
   HERO
   ------------------------------------------------------------ */

.legal-hero-v205 {
    position: relative;
    overflow: hidden;
    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(31, 119, 115, .12),
            transparent 34%
        ),
        linear-gradient(
            135deg,
            #f8fbfa 0%,
            #eef5f3 100%
        );
    border-bottom: 1px solid var(--legal-border);
}

.legal-hero-v205::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -170px;
    top: -220px;
    border-radius: 50%;
    border: 1px solid rgba(31,119,115,.12);
}

.legal-hero-v205 .legal-container-v205 {
    padding-top: 82px;
    padding-bottom: 82px;
}

.legal-hero-grid-v203 {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    gap: 90px;
    align-items: center;
}

.legal-hero-copy-v205 {
    max-width: 720px;
}

.legal-eyebrow-v20 {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    color: var(--legal-accent);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.legal-eyebrow-v20::before {
    content: "";
    width: 30px;
    height: 2px;
    background: var(--legal-accent);
}

.legal-hero-v205 h1 {
    max-width: 760px;
    margin: 0;
    color: var(--legal-ink-dark);
    font-size: clamp(42px, 5vw, 68px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.legal-lead-v20 {
    max-width: 650px;
    margin: 26px 0 0;
    color: #526566;
    font-size: 18px;
    line-height: 1.7;
}

.legal-hero-actions-v205 {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 34px;
}

.legal-download-primary-v205 {
    min-height: 54px;
    padding: 0 22px;
    border-radius: 7px;
    background: var(--legal-ink);
    color: white;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(18,63,67,.18);
    transition: transform .2s ease, box-shadow .2s ease;
}

.legal-download-primary-v205:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 34px rgba(18,63,67,.23);
}

.legal-official-note-v205 {
    color: #687778;
    font-size: 12px;
    letter-spacing: .02em;
}


/* ------------------------------------------------------------
   DOCUMENT VISUAL
   ------------------------------------------------------------ */

.legal-hero-document-v205 {
    display: flex;
    justify-content: center;
}

.legal-document-sheet-v205 {
    position: relative;
    width: min(330px, 100%);
    aspect-ratio: .73;
    padding: 28px;
    overflow: hidden;
    background: #fff;
    border: 1px solid #dce5e2;
    border-radius: 5px;
    box-shadow:
        0 30px 60px rgba(16, 46, 48, .16),
        0 4px 12px rgba(16, 46, 48, .05);
    transform: rotate(2deg);
}

.legal-document-sheet-v205::after {
    content: "";
    position: absolute;
    right: -55px;
    bottom: -55px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(31,119,115,.06);
}

.legal-document-sheet-top-v205 {
    display: flex;
    justify-content: space-between;
    color: #78908f;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .15em;
}

.legal-document-sheet-icon-v205 {
    width: 68px;
    height: 82px;
    margin: 54px auto 28px;
    padding: 13px 12px;
    border: 2px solid var(--legal-accent);
    border-radius: 4px;
}

.legal-document-sheet-icon-v205 span {
    display: block;
    height: 3px;
    margin-bottom: 8px;
    background: var(--legal-accent);
    opacity: .7;
}

.legal-document-sheet-icon-v205 span:nth-child(2) {
    width: 75%;
}

.legal-document-sheet-icon-v205 span:nth-child(3) {
    width: 90%;
}

.legal-document-sheet-icon-v205 span:nth-child(4) {
    width: 55%;
}

.legal-document-sheet-label-v205 {
    color: var(--legal-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .15em;
    text-align: center;
}

.legal-document-sheet-title-v205 {
    margin-top: 14px;
    color: var(--legal-ink-dark);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.15;
    text-align: center;
}

.legal-document-sheet-line-v205 {
    width: 50%;
    height: 1px;
    margin: 28px auto;
    background: #dce5e2;
}

.legal-document-sheet-footer-v205 {
    position: absolute;
    right: 28px;
    bottom: 26px;
    left: 28px;
    color: #829291;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .13em;
}


/* ------------------------------------------------------------
   DOCUMENT AREA
   ------------------------------------------------------------ */

.legal-body-v205 {
    padding: 70px 0 100px;
}

.legal-reading-layout-v205 {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 34px;
    align-items: start;
}

.legal-sidebar-v205 {
    position: sticky;
    top: 30px;
}

.legal-sidebar-card-v205 {
    padding: 25px;
    background: rgba(255,255,255,.75);
    border: 1px solid var(--legal-border);
    border-radius: 10px;
    box-shadow: 0 12px 35px rgba(15,42,44,.05);
}

.legal-sidebar-label-v205 {
    display: block;
    margin-bottom: 10px;
    color: var(--legal-accent);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
}

.legal-sidebar-card-v205 > strong {
    display: block;
    color: var(--legal-ink-dark);
    font-size: 16px;
    line-height: 1.35;
}

.legal-sidebar-divider-v205 {
    height: 1px;
    margin: 22px 0;
    background: var(--legal-border);
}

.legal-sidebar-meta-v205 {
    display: grid;
    gap: 17px;
}

.legal-sidebar-meta-v205 span {
    display: block;
    margin-bottom: 4px;
    color: #849292;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

.legal-sidebar-meta-v205 strong {
    color: var(--legal-ink-dark);
    font-size: 13px;
}

.legal-sidebar-download-v205 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid var(--legal-border);
    color: var(--legal-ink);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.legal-sidebar-download-v205 span {
    font-size: 18px;
}


/* ------------------------------------------------------------
   PAPER
   ------------------------------------------------------------ */

.legal-document-v205 {
    min-width: 0;
    overflow: hidden;
    background: var(--legal-paper);
    border: 1px solid #e0e7e5;
    border-radius: 12px;
    box-shadow: var(--legal-shadow);
}

.legal-document-header-v205 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    padding: 28px 38px;
    border-bottom: 1px solid var(--legal-border);
}

.legal-document-brand-v203 {
    display: flex;
    align-items: center;
    gap: 13px;
}

.legal-document-label-v205 {
    display: block;
    margin-bottom: 3px;
    color: #829291;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .14em;
}

.legal-document-brand-v203 strong {
    display: block;
    color: var(--legal-ink-dark);
    font-size: 13px;
    letter-spacing: .04em;
}

.legal-mini-icon-v203 {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border: 1px solid #cddbd8;
    border-radius: 6px;
    background: #f3f8f7;
}

.legal-mini-icon-v203 span {
    width: 14px;
    height: 2px;
    margin: 2px 0;
    background: var(--legal-accent);
}

.legal-download-header-v205 {
    padding: 11px 15px;
    border: 1px solid #cadbd8;
    border-radius: 6px;
    background: white;
    color: var(--legal-ink);
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.legal-download-header-v205:hover {
    background: var(--legal-accent-soft);
}

.legal-reading-meta-v205 {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 38px;
    border-bottom: 1px solid #edf1f0;
    color: #7b8989;
    font-size: 11px;
}

.legal-reading-status-v205 {
    padding: 5px 8px;
    border-radius: 4px;
    background: var(--legal-accent-soft);
    color: var(--legal-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .1em;
}


/* ------------------------------------------------------------
   CONTENT — LECTURE PREMIUM
   ------------------------------------------------------------ */

.legal-content-v205 {
    max-width: 850px;
    margin: 0 auto;
    padding: 55px 64px 70px;
    color: #344748;
    font-size: 15px;
    line-height: 1.85;
}

.legal-content-v205 > p {
    margin: 0 0 15px;
}

.legal-content-v205 > p:first-child {
    margin-top: 0;
}

.legal-content-v205 h2.legal-source-heading {
    margin: 46px 0 18px;
    padding-top: 22px;
    border-top: 1px solid #e5ecea;
    color: var(--legal-ink);
    font-size: 22px;
    line-height: 1.3;
    letter-spacing: -.02em;
}

.legal-content-v205 h2.legal-source-heading:first-child {
    margin-top: 10px;
}

.legal-content-v205 h3.legal-source-subheading {
    margin: 35px 0 12px;
    color: var(--legal-ink);
    font-size: 17px;
    line-height: 1.35;
}

.legal-content-v205 h2 + p,
.legal-content-v205 h3 + p {
    margin-top: 0;
}

.legal-content-v205 p:has(+ h2),
.legal-content-v205 p:has(+ h3) {
    margin-bottom: 10px;
}

.legal-content-v205 a {
    color: var(--legal-accent);
    font-weight: 650;
}

.legal-content-v205 strong {
    color: var(--legal-ink-dark);
}


/* ------------------------------------------------------------
   DOWNLOAD FINAL
   ------------------------------------------------------------ */

.legal-download-bottom-v205 {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 22px;
    align-items: center;
    margin: 0 38px 38px;
    padding: 26px 28px;
    border: 1px solid #d8e5e2;
    border-radius: 9px;
    background:
        linear-gradient(
            135deg,
            #f3f8f7,
            #edf5f3
        );
}

.legal-final-document-icon-v203 {
    display: grid;
    place-items: center;
    width: 48px;
    height: 58px;
    border: 1px solid #bcd2ce;
    border-radius: 5px;
    background: white;
}

.legal-final-document-icon-v203 span {
    display: block;
    width: 17px;
    height: 2px;
    margin: 3px;
    background: var(--legal-accent);
}

.legal-final-copy-v203 > span {
    display: block;
    margin-bottom: 5px;
    color: var(--legal-accent);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .13em;
}

.legal-final-copy-v203 strong {
    display: block;
    color: var(--legal-ink-dark);
    font-size: 15px;
}

.legal-final-copy-v203 p {
    margin: 5px 0 0;
    color: #687878;
    font-size: 12px;
    line-height: 1.5;
}

.legal-download-bottom-button-v205 {
    padding: 13px 17px;
    border-radius: 6px;
    background: var(--legal-ink);
    color: white;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
}


/* ------------------------------------------------------------
   MOBILE
   ------------------------------------------------------------ */

@media (max-width: 900px) {

    .legal-container-v205 {
        width: min(100% - 32px, 760px);
    }

    .legal-hero-v205 .legal-container-v205 {
        padding-top: 58px;
        padding-bottom: 58px;
    }

    .legal-hero-grid-v203 {
        grid-template-columns: 1fr;
        gap: 48px;
    }

    .legal-hero-document-v205 {
        justify-content: flex-start;
    }

    .legal-document-sheet-v205 {
        width: 250px;
    }

    .legal-reading-layout-v205 {
        grid-template-columns: 1fr;
    }

    .legal-sidebar-v205 {
        position: static;
    }

    .legal-sidebar-card-v205 {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 10px 20px;
    }

    .legal-sidebar-divider-v205 {
        display: none;
    }

    .legal-sidebar-meta-v205 {
        display: flex;
        gap: 20px;
    }

    .legal-sidebar-download-v205 {
        grid-column: 1 / -1;
    }

    .legal-content-v205 {
        padding: 45px 38px 55px;
    }
}


@media (max-width: 600px) {

    .legal-container-v205 {
        width: min(100% - 24px, 760px);
    }

    .legal-hero-v205 h1 {
        font-size: 39px;
    }

    .legal-lead-v20 {
        font-size: 16px;
    }

    .legal-hero-actions-v205 {
        align-items: stretch;
        flex-direction: column;
    }

    .legal-download-primary-v205 {
        justify-content: center;
        text-align: center;
    }

    .legal-document-sheet-v205 {
        width: 215px;
    }

    .legal-document-header-v205 {
        align-items: flex-start;
        flex-direction: column;
        padding: 22px;
    }

    .legal-download-header-v205 {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }

    .legal-reading-meta-v205 {
        align-items: flex-start;
        flex-direction: column;
        padding: 14px 22px;
    }

    .legal-content-v205 {
        padding: 35px 22px 45px;
        font-size: 14px;
        line-height: 1.8;
    }

    .legal-content-v205 h2.legal-source-heading {
        font-size: 20px;
    }

    .legal-download-bottom-v205 {
        grid-template-columns: 1fr;
        margin: 0 18px 18px;
        padding: 22px;
    }

    .legal-download-bottom-button-v205 {
        text-align: center;
    }
}

/* ETHOS V20.9 LEGAL FINAL START */

/* ==========================================================
   POLITIQUE QUALITÉ — DOCUMENT ÉDITORIAL FINAL
   ========================================================== */

.pq-document-v208 {
    --pq-navy: #073d63;
    --pq-navy-dark: #062f4d;
    --pq-teal: #0b665e;
    --pq-gold: #d2a14a;
    --pq-gold-soft: #f6eddc;
    --pq-ink: #344f5a;
    --pq-muted: #708187;
    --pq-line: rgba(7, 61, 99, .10);
    --pq-soft: #f7faf9;

    display: grid;
    gap: 26px;
    max-width: 880px;
    margin: 0 auto;
}

/* ---------- petite ligne de contexte ---------- */

.pq-header-v208 {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin: 0 0 4px;
}

.pq-header-v208 span {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 0 14px;
    border-radius: 999px;
    background: var(--pq-navy);
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.pq-header-v208 span:last-child {
    border: 1px solid var(--pq-line);
    background: #f1f5f4;
    color: #64787e;
}

/* ---------- vraies sections document ---------- */

.pq-section-v208 {
    padding: 34px;
    border: 1px solid var(--pq-line);
    border-radius: 20px;
    background: #fff;
    box-shadow:
        0 14px 38px rgba(7, 61, 99, .045),
        0 2px 6px rgba(7, 61, 99, .025);
}

.pq-title-v208 {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 24px;
}

.pq-title-v208 > span {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    background:
        linear-gradient(
            145deg,
            var(--pq-navy),
            var(--pq-teal)
        );
    color: #fff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    box-shadow: 0 7px 18px rgba(7, 61, 99, .13);
}

.pq-title-v208 small {
    display: block;
    margin: 2px 0 5px;
    color: #b9822d;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.pq-title-v208 h2 {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    color: var(--pq-navy-dark) !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 3vw, 32px) !important;
    font-weight: 400 !important;
    line-height: 1.12 !important;
    letter-spacing: -.025em !important;
}

/* neutralisation des anciens styles du contenu PDF */

.pq-document-v208 p {
    max-width: none !important;
    margin-top: 0 !important;
    color: var(--pq-ink) !important;
    font-size: 14px !important;
    line-height: 1.76 !important;
}

.pq-lead-v208 {
    margin-bottom: 20px !important;
    color: #294b58 !important;
    font-size: 15px !important;
}

/* ---------- identification ---------- */

.pq-facts-v208 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
}

.pq-facts-v208 > div {
    min-width: 0;
    padding: 17px 18px;
    border: 1px solid rgba(7, 61, 99, .075);
    border-radius: 14px;
    background:
        linear-gradient(
            145deg,
            #fbfdfc,
            #f6f9f8
        );
}

.pq-facts-v208 dt {
    margin: 0 0 6px;
    color: var(--pq-navy);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .03em;
}

.pq-facts-v208 dd {
    margin: 0;
    color: #536b74;
    font-size: 13px;
    line-height: 1.62;
    overflow-wrap: anywhere;
}

/* ---------- exigences / référentiels ---------- */

.pq-references-v208 {
    display: grid;
    gap: 10px;
    margin: 0 0 22px;
}

.pq-references-v208 > div {
    display: grid;
    grid-template-columns: 31px minmax(0, 1fr);
    gap: 13px;
    align-items: start;
    padding: 14px 16px;
    border: 1px solid rgba(7, 61, 99, .07);
    border-radius: 13px;
    background: #f9fbfb;
}

.pq-references-v208 strong {
    display: grid;
    width: 29px;
    height: 29px;
    place-items: center;
    border-radius: 50%;
    background: var(--pq-gold);
    color: #fff;
    font-size: 9px;
    font-weight: 850;
}

.pq-references-v208 p {
    margin: 2px 0 0 !important;
}

/* ---------- engagement principal ---------- */

.pq-highlight-v208 {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    padding: 21px;
    border-radius: 15px;
    background:
        linear-gradient(
            125deg,
            var(--pq-navy),
            var(--pq-teal)
        );
    box-shadow: 0 14px 32px rgba(7, 61, 99, .13);
}

.pq-highlight-v208 > span {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
    background: rgba(255, 255, 255, .11);
    color: #fff;
    font-size: 15px;
    font-weight: 900;
}

.pq-highlight-v208 p {
    margin: 0 !important;
    color: #fff !important;
    font-size: 14px !important;
    line-height: 1.7 !important;
}

/* ---------- principes directeurs ---------- */

.pq-grid-v208 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.pq-grid-v208 article {
    min-width: 0;
    padding: 21px;
    border: 1px solid rgba(7, 61, 99, .08);
    border-radius: 15px;
    background:
        linear-gradient(
            145deg,
            #fff,
            #f7faf9
        );
    transition:
        transform .18s ease,
        box-shadow .18s ease,
        border-color .18s ease;
}

.pq-grid-v208 article:hover {
    transform: translateY(-2px);
    border-color: rgba(7, 61, 99, .14);
    box-shadow: 0 12px 28px rgba(7, 61, 99, .07);
}

.pq-grid-v208 article > span {
    display: block;
    margin-bottom: 14px;
    color: #bf8730;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .1em;
}

.pq-grid-v208 h3 {
    margin: 0 0 9px !important;
    color: var(--pq-navy-dark) !important;
    font-size: 15px !important;
    font-weight: 780 !important;
    line-height: 1.36 !important;
}

.pq-grid-v208 p {
    margin: 0 !important;
    color: #61737a !important;
    font-size: 13px !important;
    line-height: 1.68 !important;
}

.pq-wide-v208 {
    grid-column: 1 / -1;
}

/* ---------- intertitre grand document ---------- */

.pq-break-v208 {
    position: relative;
    overflow: hidden;
    padding: 34px 36px;
    border-radius: 20px;
    background:
        linear-gradient(
            120deg,
            var(--pq-navy-dark),
            var(--pq-teal)
        );
    color: #fff;
    box-shadow: 0 17px 38px rgba(7, 61, 99, .12);
}

.pq-break-v208::after {
    content: "";
    position: absolute;
    right: -45px;
    top: -60px;
    width: 185px;
    height: 185px;
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 50%;
}

.pq-break-v208 small {
    display: block;
    margin-bottom: 5px;
    color: #e7c785;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .14em;
}

.pq-break-v208 strong {
    display: block;
    position: relative;
    z-index: 1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 400;
    line-height: 1.05;
}

.pq-break-v208 span {
    display: block;
    margin-top: 13px;
    color: rgba(255,255,255,.67);
    font-size: 10px;
}

/* ---------- objectifs ---------- */

.pq-checks-v208 {
    display: grid;
    gap: 10px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.pq-checks-v208 li {
    position: relative;
    margin: 0 !important;
    padding: 15px 17px 15px 50px !important;
    border: 1px solid rgba(7, 61, 99, .07);
    border-radius: 13px;
    background: #fafcfc;
    color: #485f67 !important;
    font-size: 14px !important;
    line-height: 1.66 !important;
    list-style: none !important;
}

.pq-checks-v208 li::before {
    content: "✓";
    position: absolute;
    left: 16px;
    top: 15px;
    display: grid;
    width: 23px;
    height: 23px;
    place-items: center;
    border-radius: 50%;
    background: var(--pq-gold);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

/* ---------- déploiement ---------- */

.pq-steps-v208 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.pq-steps-v208 > div {
    padding: 20px;
    border: 1px solid rgba(7, 61, 99, .075);
    border-radius: 14px;
    background: var(--pq-soft);
}

.pq-steps-v208 strong {
    display: block;
    margin-bottom: 11px;
    color: #b9822d;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .09em;
}

.pq-steps-v208 p {
    margin: 0 !important;
    font-size: 13px !important;
}

/* ---------- responsabilités ---------- */

.pq-roles-v208 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}

.pq-roles-v208 > div {
    min-width: 0;
    padding: 20px;
    border-radius: 14px;
    background:
        linear-gradient(
            145deg,
            var(--pq-navy),
            #084d66
        );
}

.pq-roles-v208 strong {
    display: block;
    margin-bottom: 8px;
    color: #fff;
    font-size: 14px;
}

.pq-roles-v208 p {
    margin: 0 !important;
    color: rgba(255,255,255,.76) !important;
    font-size: 12px !important;
    line-height: 1.65 !important;
}

/* ---------- contact ---------- */

.pq-contact-v208 {
    background:
        linear-gradient(
            145deg,
            #fff,
            #f7faf9
        );
}

.pq-contact-grid-v208 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 20px 0;
}

.pq-contact-grid-v208 > div {
    min-width: 0;
    padding: 20px;
    border-radius: 14px;
    background: var(--pq-navy);
}

.pq-contact-grid-v208 small {
    display: block;
    margin-bottom: 7px;
    color: #e7c785;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .13em;
}

.pq-contact-grid-v208 strong {
    display: block;
    color: #fff;
    font-size: 13px;
    overflow-wrap: anywhere;
}

.pq-contact-v208 blockquote {
    margin: 0 !important;
    padding: 18px 20px !important;
    border: 0 !important;
    border-left: 3px solid var(--pq-gold) !important;
    border-radius: 0 12px 12px 0 !important;
    background: #f4f8f7 !important;
    color: #425d65 !important;
    font-size: 13px !important;
    line-height: 1.7 !important;
}

/* ---------- mentions source : discrètes ---------- */

.pq-source-v208 {
    padding: 23px 26px;
    border: 1px dashed rgba(7, 61, 99, .17);
    border-radius: 16px;
    background: #f8faf9;
}

.pq-source-v208 small {
    display: block;
    margin-bottom: 12px;
    color: #ad792a;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .14em;
}

.pq-source-v208 p {
    max-width: none !important;
    margin: 0 0 5px !important;
    color: #75858a !important;
    font-size: 11px !important;
    line-height: 1.55 !important;
}

.pq-source-v208 strong {
    display: block;
    margin-top: 11px;
    color: var(--pq-navy);
    font-size: 12px;
}

/* ---------- adaptation du conteneur historique ---------- */

.legal-content-v20:has(.pq-document-v208),
.legal-content-v203:has(.pq-document-v208) {
    padding-top: 44px !important;
    padding-bottom: 48px !important;
}

/* ---------- responsive ---------- */

@media (max-width: 800px) {

    .pq-facts-v208,
    .pq-grid-v208,
    .pq-steps-v208,
    .pq-roles-v208,
    .pq-contact-grid-v208 {
        grid-template-columns: 1fr;
    }

    .pq-wide-v208 {
        grid-column: auto;
    }

    .pq-section-v208 {
        padding: 25px;
    }
}

@media (max-width: 520px) {

    .pq-document-v208 {
        gap: 18px;
    }

    .pq-section-v208 {
        padding: 21px 17px;
        border-radius: 17px;
    }

    .pq-title-v208 {
        gap: 12px;
        margin-bottom: 20px;
    }

    .pq-title-v208 > span {
        flex-basis: 36px;
        width: 36px;
        height: 36px;
    }

    .pq-title-v208 h2 {
        font-size: 23px !important;
    }

    .pq-break-v208 {
        padding: 27px 22px;
        border-radius: 17px;
    }

    .pq-highlight-v208 {
        grid-template-columns: 34px minmax(0, 1fr);
        padding: 17px;
    }

    .pq-highlight-v208 > span {
        width: 34px;
        height: 34px;
    }
}

/* ETHOS V20.9 LEGAL FINAL END */

/* ETHOS V20.10 ALL LEGAL START */


/* ============================================================
   DOCUMENT LEGAL COMMUN
   ============================================================ */

.legal-editorial-v210 {

    --le-navy:#073d63;
    --le-dark:#062f4d;
    --le-teal:#0b665e;
    --le-gold:#d2a14a;
    --le-text:#425e68;
    --le-muted:#728389;
    --le-line:rgba(7,61,99,.09);
    --le-soft:#f7faf9;

    display:grid;

    gap:22px;

    max-width:880px;

    margin:0 auto;

}


/* ---------- méta ---------- */

.legal-editorial-meta-v210 {

    display:flex;

    flex-wrap:wrap;

    gap:9px;

    margin-bottom:3px;

}


.legal-editorial-meta-v210 span {

    display:inline-flex;

    align-items:center;

    min-height:34px;

    padding:0 14px;

    border-radius:999px;

    background:var(--le-navy);

    color:#fff;

    font-size:9px;

    font-weight:850;

    letter-spacing:.12em;

    text-transform:uppercase;

}


.legal-editorial-meta-v210 span:last-child {

    border:1px solid var(--le-line);

    background:#f1f5f4;

    color:#65797f;

}


/* ---------- section ---------- */

.legal-editorial-section-v210 {

    padding:31px 33px;

    border:1px solid var(--le-line);

    border-radius:20px;

    background:#fff;

    box-shadow:
        0 14px 38px rgba(7,61,99,.045),
        0 2px 6px rgba(7,61,99,.025);

}


/* ---------- introduction sans titre ---------- */

.legal-editorial-intro-v210 {

    border-left:
        4px solid
        var(--le-gold);

    background:
        linear-gradient(
            145deg,
            #fff,
            #faf9f5
        );

}


/* ---------- heading ---------- */

.legal-editorial-heading-v210 {

    display:grid;

    grid-template-columns:
        43px
        minmax(0,1fr);

    gap:15px;

    align-items:start;

    margin-bottom:23px;

}


.legal-editorial-number-v210 {

    display:grid;

    width:43px;

    height:43px;

    place-items:center;

    border-radius:12px;

    background:
        linear-gradient(
            145deg,
            var(--le-navy),
            var(--le-teal)
        );

    color:#fff;

    font-size:10px;

    font-weight:850;

    box-shadow:
        0 7px 18px
        rgba(7,61,99,.13);

}


.legal-editorial-heading-v210 h2 {

    margin:4px 0 0 !important;

    padding:0 !important;

    border:0 !important;

    color:
        var(--le-dark) !important;

    font-family:
        Georgia,
        "Times New Roman",
        serif;

    font-size:
        clamp(
            23px,
            3vw,
            30px
        ) !important;

    font-weight:
        400 !important;

    line-height:
        1.13 !important;

    letter-spacing:
        -.025em !important;

}


/* ---------- body ---------- */

.legal-editorial-body-v210 {

    display:grid;

    gap:11px;

}


.legal-editorial-body-v210 > p {

    max-width:none !important;

    margin:0 !important;

    color:
        var(--le-text) !important;

    font-size:
        14px !important;

    line-height:
        1.78 !important;

}


/* Paragraphes courts = meilleure respiration */

.legal-editorial-body-v210 > p + p {

    padding-top:3px;

}


/* ---------- h3/h4 sources existants ---------- */

.legal-editorial-body-v210 h3,
.legal-editorial-body-v210 h4 {

    max-width:none !important;

    margin:
        13px 0
        2px !important;

    color:
        var(--le-navy) !important;

    font-size:
        15px !important;

    font-weight:
        800 !important;

    line-height:
        1.4 !important;

}


/* ---------- listes existantes ---------- */

.legal-editorial-body-v210 ul,
.legal-editorial-body-v210 ol {

    max-width:none !important;

    margin:
        4px 0
        7px !important;

    padding-left:
        21px !important;

}


.legal-editorial-body-v210 li {

    margin-bottom:
        7px !important;

    color:
        var(--le-text) !important;

    font-size:
        14px !important;

    line-height:
        1.7 !important;

}


.legal-editorial-body-v210 li::marker {

    color:
        var(--le-gold);

}


/* ---------- paragraphes contenant numéro article ---------- */

.legal-editorial-body-v210 p {

    overflow-wrap:anywhere;

}


/* ---------- pied/source PDF ---------- */

.legal-editorial-source-note-v210 {

    margin-top:12px;

    padding:
        13px
        15px;

    border:
        1px dashed
        rgba(7,61,99,.15);

    border-radius:
        12px;

    background:
        var(--le-soft);

}


.legal-editorial-source-note-v210 p {

    max-width:none !important;

    margin:0 !important;

    color:
        var(--le-muted) !important;

    font-size:
        10px !important;

    line-height:
        1.55 !important;

}


/* ---------- effet spécial certificat ---------- */

body:has(.legal-editorial-v210)
.legal-editorial-section-v210:hover {

    border-color:
        rgba(7,61,99,.13);

}


/* ---------- container historique ---------- */

.legal-content-v20:has(.legal-editorial-v210),
.legal-content-v203:has(.legal-editorial-v210) {

    padding-top:
        42px !important;

    padding-bottom:
        48px !important;

}


/* ---------- responsive ---------- */

@media (max-width:700px) {

    .legal-editorial-section-v210 {

        padding:
            24px
            20px;

        border-radius:
            17px;

    }


    .legal-editorial-heading-v210 {

        grid-template-columns:
            38px
            minmax(0,1fr);

        gap:12px;

        margin-bottom:
            19px;

    }


    .legal-editorial-number-v210 {

        width:38px;
        height:38px;

    }


    .legal-editorial-heading-v210 h2 {

        font-size:
            23px !important;

    }

}


@media (max-width:440px) {

    .legal-editorial-v210 {

        gap:16px;

    }


    .legal-editorial-section-v210 {

        padding:
            20px
            16px;

    }


    .legal-editorial-body-v210 > p,
    .legal-editorial-body-v210 li {

        font-size:
            13.5px !important;

    }

}


/* ETHOS V20.10 ALL LEGAL END */

/* ETHOS V20.11 LEGAL FINISH START */


/* ============================================================
   1. MENTIONS TECHNIQUES ISSUES DU PIED DE PDF
   ------------------------------------------------------------
   Elles restent présentes dans le HTML pour fidélité source,
   mais visuellement deviennent de simples notes éditoriales.
   ============================================================ */

.legal-editorial-source-note-v210 {

    margin:
        4px 0 0 !important;

    padding:
        5px 0 5px 13px !important;

    border:
        0 !important;

    border-left:
        2px solid
        rgba(210,161,74,.38) !important;

    border-radius:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

}


/* Plusieurs notes source consécutives =
   impression d'une seule zone documentaire. */

.legal-editorial-source-note-v210
+ .legal-editorial-source-note-v210 {

    margin-top:
        -7px !important;

    padding-top:
        4px !important;

}


.legal-editorial-source-note-v210 p {

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        #8b989c !important;

    font-size:
        9.5px !important;

    font-weight:
        450 !important;

    line-height:
        1.48 !important;

    letter-spacing:
        .005em !important;

}


/* Ne jamais laisser les pieds PDF prendre
   visuellement autant d'importance que le contenu juridique. */

.legal-editorial-body-v210
.legal-editorial-source-note-v210 {

    opacity:
        .83;

}


/* ============================================================
   2. ESPACEMENT DES SECTIONS
   ============================================================ */

.legal-editorial-body-v210 {

    gap:
        12px;

}


.legal-editorial-source-note-v210
+ p,

.legal-editorial-source-note-v210
+ h3,

.legal-editorial-source-note-v210
+ h4 {

    margin-top:
        8px !important;

}


/* ============================================================
   3. CTA PDF FINAL
   ------------------------------------------------------------
   Contraste volontairement forcé pour éviter les anciennes
   règles du site qui remettaient une couleur sombre.
   ============================================================ */

.legal-download-bottom-v20.legal-download-bottom-v203 {

    position:
        relative;

    overflow:
        hidden;

    display:
        grid !important;

    grid-template-columns:
        auto
        minmax(0,1fr)
        auto;

    align-items:
        center;

    gap:
        18px;

    margin-top:
        0 !important;

    padding:
        27px 31px !important;

    border:
        0 !important;

    border-radius:
        0 !important;

    background:
        linear-gradient(
            125deg,
            #063b63 0%,
            #075a51 100%
        ) !important;

    color:
        #ffffff !important;

}


.legal-download-bottom-v203::after {

    content:
        "";

    position:
        absolute;

    right:
        -55px;

    top:
        -80px;

    width:
        190px;

    height:
        190px;

    border:
        1px solid
        rgba(255,255,255,.09);

    border-radius:
        50%;

    pointer-events:
        none;

}


/* icône */

.legal-download-bottom-v203
.legal-final-document-icon-v203 {

    position:
        relative;

    z-index:
        1;

    display:
        grid;

    width:
        52px;

    height:
        52px;

    place-items:
        center;

    margin:
        0 !important;

    border:
        1px solid
        rgba(255,255,255,.15);

    border-radius:
        15px;

    background:
        rgba(255,255,255,.11) !important;

    color:
        #ffffff !important;

}


/* zone texte */

.legal-download-bottom-v203
.legal-final-copy-v203 {

    position:
        relative;

    z-index:
        1;

    min-width:
        0;

}


/* On force absolument tous les titres internes en blanc */

.legal-download-bottom-v203
.legal-final-copy-v203 strong,

.legal-download-bottom-v203
.legal-final-copy-v203 h2,

.legal-download-bottom-v203
.legal-final-copy-v203 h3,

.legal-download-bottom-v203
.legal-final-copy-v203 h4 {

    margin:
        0 0 5px !important;

    padding:
        0 !important;

    border:
        0 !important;

    color:
        #ffffff !important;

    -webkit-text-fill-color:
        #ffffff !important;

    font-size:
        15px !important;

    font-weight:
        800 !important;

    line-height:
        1.35 !important;

}


/* Sous-texte lisible */

.legal-download-bottom-v203
.legal-final-copy-v203 p,

.legal-download-bottom-v203
.legal-final-copy-v203 span,

.legal-download-bottom-v203
.legal-final-copy-v203 small {

    margin:
        0 !important;

    color:
        rgba(255,255,255,.76) !important;

    -webkit-text-fill-color:
        rgba(255,255,255,.76) !important;

    font-size:
        11.5px !important;

    line-height:
        1.55 !important;

}


/* ============================================================
   4. BOUTON PDF FINAL
   ============================================================ */

.legal-download-bottom-v203
.legal-download-v20 {

    position:
        relative;

    z-index:
        2;

    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        44px;

    padding:
        11px 18px !important;

    border:
        1px solid
        rgba(255,255,255,.25) !important;

    border-radius:
        999px !important;

    background:
        #ffffff !important;

    color:
        #063b63 !important;

    -webkit-text-fill-color:
        #063b63 !important;

    text-decoration:
        none !important;

    font-size:
        11px !important;

    font-weight:
        850 !important;

    line-height:
        1 !important;

    white-space:
        nowrap;

    box-shadow:
        0 10px 25px
        rgba(0,0,0,.10) !important;

    transition:
        transform .18s ease,
        box-shadow .18s ease !important;

}


.legal-download-bottom-v203
.legal-download-v20:hover {

    transform:
        translateY(-2px);

    box-shadow:
        0 14px 31px
        rgba(0,0,0,.16) !important;

}


.legal-download-bottom-v203
.legal-download-v20 * {

    color:
        #063b63 !important;

    -webkit-text-fill-color:
        #063b63 !important;

}


/* ============================================================
   5. CTA PDF DU HAUT
   ============================================================ */

.legal-document-header-v20
.legal-download-v20 {

    color:
        #ffffff !important;

    -webkit-text-fill-color:
        #ffffff !important;

}


.legal-document-header-v20
.legal-download-v20 * {

    color:
        #ffffff !important;

    -webkit-text-fill-color:
        #ffffff !important;

}


/* ============================================================
   6. MOBILE
   ============================================================ */

@media (max-width:700px) {

    .legal-download-bottom-v20.legal-download-bottom-v203 {

        grid-template-columns:
            46px
            minmax(0,1fr) !important;

        gap:
            14px !important;

        padding:
            23px 20px !important;

    }


    .legal-download-bottom-v203
    .legal-final-document-icon-v203 {

        width:
            46px;

        height:
            46px;

    }


    .legal-download-bottom-v203
    .legal-download-v20 {

        grid-column:
            1 / -1;

        width:
            100%;

        margin-top:
            3px;

    }

}


@media (max-width:480px) {

    .legal-editorial-source-note-v210 p {

        font-size:
            9px !important;

    }


    .legal-download-bottom-v20.legal-download-bottom-v203 {

        padding:
            21px 17px !important;

    }

}


/* ETHOS V20.11 LEGAL FINISH END */

/* ETHOS V20.12.2 PRIVACY START */

.privacy-page-v2012 {
    --pv-navy:#073d63;
    --pv-dark:#062f4d;
    --pv-teal:#0b665e;
    --pv-gold:#d2a14a;
    --pv-text:#455f68;
    --pv-muted:#728188;
    --pv-line:rgba(7,61,99,.09);

    background:
        radial-gradient(circle at 8% 0%,rgba(210,161,74,.10),transparent 380px),
        linear-gradient(180deg,#fff 0%,#f5f8f8 50%,#fff 100%);
}

.privacy-shell-v2012 {
    width:min(1160px,calc(100% - 40px));
    margin:0 auto;
}

.privacy-hero-v2012 {
    padding:76px 0 68px;
    border-bottom:1px solid var(--pv-line);
}

.privacy-hero-v2012 .privacy-shell-v2012 {
    display:grid;
    grid-template-columns:minmax(0,1fr) 230px;
    gap:70px;
    align-items:center;
}

.privacy-kicker-v2012 {
    display:inline-flex;
    padding:8px 14px;
    border:1px solid rgba(210,161,74,.35);
    border-radius:999px;
    color:var(--pv-navy);
    font-size:10px;
    font-weight:850;
    letter-spacing:.13em;
}

.privacy-hero-v2012 h1 {
    max-width:800px;
    margin:21px 0 17px;
    color:var(--pv-dark);
    font-size:clamp(2.5rem,5vw,4.5rem);
    line-height:.98;
    letter-spacing:-.05em;
}

.privacy-hero-v2012 p {
    max-width:650px;
    margin:0;
    color:var(--pv-muted);
    font-size:1.05rem;
    line-height:1.7;
}

.privacy-symbol-v2012 {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:13px;
}

.privacy-shield-v2012 {
    width:145px;
    height:165px;
    display:grid;
    place-items:center;
    border-radius:38px 38px 65px 65px;
    background:linear-gradient(145deg,var(--pv-navy),var(--pv-teal));
    box-shadow:0 25px 55px rgba(7,61,99,.14);
}

.privacy-shield-v2012 span {
    display:grid;
    width:52px;
    height:52px;
    place-items:center;
    border:1px solid rgba(255,255,255,.18);
    border-radius:50%;
    background:rgba(255,255,255,.12);
    color:#fff;
    font-size:22px;
    font-weight:900;
}

.privacy-symbol-v2012 small {
    color:#77878b;
    font-size:9px;
    font-weight:850;
    letter-spacing:.13em;
}

.privacy-body-v2012 {
    padding:55px 0 95px;
}

.privacy-document-v2012 {
    max-width:930px;
    margin:0 auto;
    overflow:hidden;
    border:1px solid var(--pv-line);
    border-radius:25px;
    background:#fff;
    box-shadow:0 25px 70px rgba(7,61,99,.07);
}

.privacy-document-head-v2012 {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    padding:25px 35px;
    border-bottom:1px solid var(--pv-line);
    background:#fafcfc;
}

.privacy-document-head-v2012 > div:first-child {
    display:flex;
    flex-direction:column;
    gap:4px;
}

.privacy-document-head-v2012 span {
    color:var(--pv-navy);
    font-size:10px;
    font-weight:850;
    letter-spacing:.1em;
}

.privacy-document-head-v2012 small {
    color:#7a898d;
    font-size:11px;
}

.privacy-rgpd-badge-v2012 {
    padding:9px 12px;
    border-radius:10px;
    background:#f4ead7;
    color:var(--pv-navy);
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
}

.privacy-sections-v2012 {
    padding:15px 55px 55px;
}

.privacy-section-v2012 {
    padding:35px 0;
    border-bottom:1px solid var(--pv-line);
}

.privacy-section-v2012:last-child {
    border-bottom:0;
}

.privacy-section-title-v2012 {
    display:grid;
    grid-template-columns:43px minmax(0,1fr);
    gap:15px;
    align-items:start;
    margin-bottom:21px;
}

.privacy-section-title-v2012 > span {
    display:grid;
    width:43px;
    height:43px;
    place-items:center;
    border-radius:12px;
    background:linear-gradient(145deg,var(--pv-navy),var(--pv-teal));
    color:#fff;
    font-size:10px;
    font-weight:850;
}

.privacy-section-title-v2012 h2 {
    margin:4px 0 0;
    color:var(--pv-dark);
    font-family:Georgia,"Times New Roman",serif;
    font-size:clamp(24px,3vw,30px);
    font-weight:400;
    line-height:1.15;
    letter-spacing:-.025em;
}

.privacy-section-v2012 p {
    margin:0 0 13px;
    color:var(--pv-text);
    font-size:14px;
    line-height:1.78;
}

.privacy-intro-v2012 {
    color:#304e58 !important;
    font-size:15px !important;
}

.privacy-list-v2012 {
    display:grid;
    gap:9px;
    margin:17px 0 0;
    padding:0;
    list-style:none;
}

.privacy-list-v2012 li {
    position:relative;
    padding:14px 16px 14px 49px;
    border:1px solid rgba(7,61,99,.07);
    border-radius:12px;
    background:#f8faf9;
    color:#4d666e;
    font-size:13.5px;
    line-height:1.65;
}

.privacy-list-v2012 li::before {
    content:"✓";
    position:absolute;
    left:16px;
    top:14px;
    display:grid;
    width:22px;
    height:22px;
    place-items:center;
    border-radius:50%;
    background:var(--pv-gold);
    color:#fff;
    font-size:10px;
    font-weight:900;
}

.privacy-note-v2012 {
    margin-top:18px;
    padding:17px 19px;
    border-left:3px solid var(--pv-gold);
    border-radius:0 12px 12px 0;
    background:#f6f9f8;
    color:#435f68;
    font-size:13px;
    line-height:1.7;
}

.privacy-contact-v2012 {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin-top:20px;
}

.privacy-contact-v2012 > div {
    min-width:0;
    padding:18px;
    border-radius:14px;
    background:var(--pv-navy);
}

.privacy-contact-v2012 small {
    display:block;
    margin-bottom:6px;
    color:#e5c681;
    font-size:9px;
    font-weight:850;
    letter-spacing:.12em;
}

.privacy-contact-v2012 strong {
    display:block;
    color:#fff;
    font-size:13px;
    line-height:1.5;
    overflow-wrap:anywhere;
}

.privacy-footer-v2012 {
    display:grid;
    grid-template-columns:50px minmax(0,1fr);
    gap:17px;
    align-items:center;
    padding:27px 35px;
    background:linear-gradient(125deg,var(--pv-navy),var(--pv-teal));
}

.privacy-footer-icon-v2012 {
    display:grid;
    width:50px;
    height:50px;
    place-items:center;
    border:1px solid rgba(255,255,255,.15);
    border-radius:14px;
    background:rgba(255,255,255,.11);
    color:#fff;
    font-weight:900;
}

.privacy-footer-v2012 strong {
    display:block;
    margin-bottom:4px;
    color:#fff;
    font-size:14px;
}

.privacy-footer-v2012 span {
    color:rgba(255,255,255,.76);
    font-size:11.5px;
    line-height:1.55;
}

@media (max-width:760px) {
    .privacy-shell-v2012 {
        width:calc(100% - 28px);
    }

    .privacy-hero-v2012 {
        padding:52px 0 45px;
    }

    .privacy-hero-v2012 .privacy-shell-v2012 {
        grid-template-columns:1fr;
        gap:32px;
    }

    .privacy-symbol-v2012 {
        align-items:flex-start;
    }

    .privacy-shield-v2012 {
        width:115px;
        height:130px;
    }

    .privacy-body-v2012 {
        padding:32px 0 55px;
    }

    .privacy-document-v2012 {
        border-radius:19px;
    }

    .privacy-sections-v2012 {
        padding:5px 20px 35px;
    }

    .privacy-document-head-v2012 {
        padding:22px 20px;
    }

    .privacy-contact-v2012 {
        grid-template-columns:1fr;
    }
}

@media (max-width:480px) {
    .privacy-section-title-v2012 {
        grid-template-columns:37px minmax(0,1fr);
        gap:11px;
    }

    .privacy-section-title-v2012 > span {
        width:37px;
        height:37px;
    }

    .privacy-section-title-v2012 h2 {
        font-size:22px;
    }

    .privacy-section-v2012 {
        padding:29px 0;
    }
}

/* ETHOS V20.12.2 PRIVACY END */

/* ETHOS V21.2 CONTACT PRIVACY START */

.contact-privacy-v212 {
    margin-top:18px;
    padding:16px 18px;
    border:1px solid rgba(7,61,99,.09);
    border-left:3px solid #d2a14a;
    border-radius:0 12px 12px 0;
    background:#f7faf9;
}

.contact-privacy-v212 strong {
    display:block;
    margin-bottom:6px;
    color:#073d63;
    font-size:12px;
    font-weight:800;
}

.contact-privacy-v212 p {
    margin:0;
    color:#60757c;
    font-size:11.5px;
    line-height:1.65;
}

.contact-privacy-v212 a {
    color:#075a51;
    font-weight:750;
    text-decoration:underline;
    text-underline-offset:2px;
}

/* ETHOS V21.2 CONTACT PRIVACY END */

/* ============================================================
   ETHOS V22.1.1 COOKIE CONSENT
   ============================================================ */

.cookie-consent-v221[hidden],
.cookie-preferences-v221[hidden],
.cookie-manage-v221[hidden] {
    display:none !important;
}

.cookie-consent-v221 {
    position:fixed;
    z-index:9999;
    right:22px;
    bottom:22px;
    width:min(560px,calc(100vw - 44px));
}

.cookie-consent-card-v221,
.cookie-preferences-v221 {
    overflow:hidden;
    border:1px solid rgba(7,61,99,.11);
    border-radius:22px;
    background:#fff;
    box-shadow:
        0 24px 70px rgba(6,47,77,.18),
        0 4px 14px rgba(6,47,77,.06);
}

.cookie-consent-card-v221 {
    padding:27px;
}

.cookie-consent-kicker-v221 {
    display:block;
    margin-bottom:8px;
    color:#d2a14a;
    font-size:9px;
    font-weight:900;
    letter-spacing:.14em;
}

.cookie-consent-copy-v221 h2,
.cookie-preferences-head-v221 h2 {
    margin:0 0 10px;
    color:#062f4d;
    font-family:Georgia,"Times New Roman",serif;
    font-size:25px;
    font-weight:400;
    line-height:1.15;
}

.cookie-consent-copy-v221 p {
    margin:0;
    color:#5d737b;
    font-size:12.5px;
    line-height:1.7;
}

.cookie-consent-link-v221 {
    display:inline-block;
    margin-top:11px;
    color:#075a51;
    font-size:11px;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:3px;
}

.cookie-consent-actions-v221,
.cookie-preferences-actions-v221 {
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    margin-top:22px;
}

.cookie-btn-v221 {
    min-height:42px;
    padding:10px 16px;
    border-radius:999px;
    font:inherit;
    font-size:11px;
    font-weight:850;
    cursor:pointer;
}

.cookie-btn-primary-v221 {
    border:1px solid #073d63;
    background:#073d63;
    color:#fff;
}

.cookie-btn-secondary-v221 {
    border:1px solid rgba(7,61,99,.15);
    background:#f7f9f9;
    color:#073d63;
}

.cookie-btn-v221:focus-visible,
.cookie-manage-v221:focus-visible,
.cookie-close-v221:focus-visible {
    outline:3px solid rgba(210,161,74,.45);
    outline-offset:2px;
}

.cookie-preferences-v221 {
    padding:25px;
}

.cookie-preferences-head-v221 {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:19px;
}

.cookie-close-v221 {
    display:grid;
    width:36px;
    height:36px;
    flex:none;
    place-items:center;
    border:1px solid rgba(7,61,99,.1);
    border-radius:50%;
    background:#f7f9f9;
    color:#073d63;
    font-size:22px;
    cursor:pointer;
}

.cookie-category-v221 {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    align-items:center;
    padding:17px 0;
    border-top:1px solid rgba(7,61,99,.08);
}

.cookie-category-v221 strong {
    display:block;
    margin-bottom:4px;
    color:#073d63;
    font-size:12px;
}

.cookie-category-v221 p {
    max-width:390px;
    margin:0;
    color:#73858b;
    font-size:10.5px;
    line-height:1.55;
}

.cookie-status-v221 {
    color:#0b665e;
    font-size:9.5px;
    font-weight:850;
}

.cookie-switch-v221 {
    position:relative;
    display:inline-flex;
    cursor:pointer;
}

.cookie-switch-v221 input {
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
}

.cookie-switch-v221 span {
    position:relative;
    width:43px;
    height:24px;
    border-radius:999px;
    background:#dce3e4;
    transition:.18s ease;
}

.cookie-switch-v221 span::after {
    content:"";
    position:absolute;
    top:3px;
    left:3px;
    width:18px;
    height:18px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 2px 7px rgba(0,0,0,.15);
    transition:.18s ease;
}

.cookie-switch-v221 input:checked + span {
    background:#0b665e;
}

.cookie-switch-v221 input:checked + span::after {
    transform:translateX(19px);
}

.cookie-manage-v221 {
    position:fixed;
    z-index:9998;
    left:16px;
    bottom:16px;
    min-height:36px;
    padding:8px 13px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    background:#073d63;
    color:#fff;
    font-size:9.5px;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 8px 24px rgba(6,47,77,.15);
}

@media (max-width:620px) {

    .cookie-consent-v221 {
        right:12px;
        bottom:12px;
        width:calc(100vw - 24px);
    }

    .cookie-consent-card-v221,
    .cookie-preferences-v221 {
        border-radius:18px;
        padding:21px 18px;
    }

    .cookie-consent-actions-v221,
    .cookie-preferences-actions-v221 {
        display:grid;
        grid-template-columns:1fr;
    }

    .cookie-btn-v221 {
        width:100%;
    }
}

/* ETHOS CONTACT FORM FEEDBACK */
.contact-flashes-v16 {
    width: min(100%, 1180px);
    margin: 0 auto 24px;
}

.contact-flash-v16 {
    padding: 14px 18px;
    border: 1px solid currentColor;
    border-radius: 10px;
    font-weight: 600;
}

.contact-flash-success {
    background: rgba(36, 120, 82, 0.08);
}

.contact-flash-error {
    background: rgba(150, 45, 45, 0.08);
}
