:root {
    color-scheme: light;
    --somago-navy: #102a43;
    --somago-blue: #176b87;
    --somago-teal: #18a6a6;
    --somago-ivory: #f5f1e8;
    --somago-white: #f8fafc;
    --somago-text: #4b5c6b;
    --somago-copper: #c9784a;
    --somago-yellow: #e4b647;
    --somago-line: #d8e0e5;
    --somago-font: Inter, Avenir, "Avenir Next", "Segoe UI", Helvetica, Arial, sans-serif;
    --somago-serif: Iowan Old Style, Palatino Linotype, Georgia, serif;
    --somago-shell: min(100% - 3rem, 86rem);
    font-family: var(--somago-font);
    line-height: 1.5;
    color: var(--somago-navy);
    background: var(--somago-white);
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    min-width: 320px;
    background: var(--somago-white);
}

body,
button,
input,
select {
    font-family: var(--somago-font);
}

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

a:focus-visible,
summary:focus-visible {
    outline: 3px solid var(--somago-yellow);
    outline-offset: 4px;
}

.somago-shell {
    width: var(--somago-shell);
    margin-inline: auto;
}

.somago-skip-link {
    position: fixed;
    z-index: 100;
    inset: 1rem auto auto 1rem;
    padding: 0.75rem 1rem;
    color: #fff;
    background: var(--somago-navy);
    transform: translateY(-180%);
}

.somago-skip-link:focus {
    transform: translateY(0);
}

.somago-announcement {
    padding: 0.6rem 1rem;
    color: var(--somago-navy);
    text-align: center;
    background: var(--somago-yellow);
}

.somago-header {
    position: sticky;
    z-index: 40;
    top: 0;
    border-bottom: 1px solid transparent;
    color: #fff;
    background: rgb(16 42 67 / 96%);
    transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.somago-topbar {
    color: #dfeaf1;
    background: var(--somago-navy);
}

.somago-topbar-inner,
.somago-topbar-meta,
.somago-language {
    display: flex;
    align-items: center;
}

.somago-topbar-inner {
    min-height: 2.25rem;
    justify-content: space-between;
    font-size: 0.69rem;
    font-weight: 650;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.somago-topbar-inner p {
    margin: 0;
}

.somago-topbar-meta {
    gap: 0.65rem;
}

.somago-language {
    min-height: 2.25rem;
    gap: 0.4rem;
    margin-left: 0.5rem;
    padding-inline: 0.85rem;
    border-inline: 1px solid rgb(255 255 255 / 18%);
}

.somago-language .is-current {
    color: #fff;
}

.somago-header-main {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1.35rem;
    align-items: center;
    min-height: 5.7rem;
    transition: min-height 180ms ease;
}

.somago-brand {
    display: inline-flex;
    gap: 0.8rem;
    align-items: center;
}

.somago-brand-logo {
    width: 3.5rem;
    height: 3.5rem;
    flex: 0 0 auto;
    object-fit: contain;
}

.somago-brand-copy {
    display: grid;
    line-height: 1.15;
}

.somago-brand-copy strong {
    font-size: 1.15rem;
    letter-spacing: 0.12em;
}

.somago-brand-copy small {
    margin-top: 0.24rem;
    color: #c3d0d8;
    font-size: 0.59rem;
    letter-spacing: 0.015em;
}

.somago-primary-nav ul,
.somago-mobile-menu ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.somago-primary-nav ul {
    display: flex;
    justify-content: flex-end;
    gap: clamp(0.55rem, 0.85vw, 1.1rem);
}

.somago-primary-nav a {
    display: inline-flex;
    align-items: center;
    min-height: 2.75rem;
    color: #f8fafc;
    font-size: clamp(0.68rem, 0.7vw, 0.74rem);
    font-weight: 700;
    white-space: nowrap;
}

.somago-primary-nav a:hover {
    color: #82d1d1;
}

.somago-header-cta,
.somago-mobile-appointment {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    min-height: 3rem;
    padding-inline: 1.1rem;
    color: #071c2c;
    font-size: 0.78rem;
    font-weight: 750;
    background: var(--somago-copper);
}

.somago-header:not(.is-scrolled) .somago-header-cta {
    border: 1px solid rgb(255 255 255 / 42%);
    color: #fff;
    background: rgb(7 28 44 / 45%);
}

.somago-header.is-scrolled {
    color: var(--somago-navy);
    border-bottom-color: rgb(16 42 67 / 12%);
    background: rgb(248 250 252 / 97%);
    box-shadow: 0 0.5rem 1.6rem rgb(7 28 44 / 8%);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
}

.somago-header.is-scrolled .somago-header-main {
    min-height: 4.75rem;
}

.somago-header.is-scrolled .somago-brand-copy small {
    color: var(--somago-text);
}

.somago-header.is-scrolled .somago-primary-nav a {
    color: #253f54;
}

.somago-header.is-scrolled .somago-primary-nav a:hover {
    color: var(--somago-blue);
}

.somago-header.is-scrolled .somago-header-cta {
    color: var(--somago-navy);
    background: var(--somago-ivory);
    border: 1px solid rgb(16 42 67 / 24%);
}

.somago-mobile-menu {
    display: none;
}

.somago-hero {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: var(--somago-navy);
}

.somago-hero::before {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background: linear-gradient(115deg, transparent 0 53%, rgb(24 166 166 / 8%) 53% 100%), repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), rgb(255 255 255 / 3%) calc(8.333% - 1px) 8.333%);
}

.somago-hero-grid {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(24rem, 0.92fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: center;
    min-height: 40rem;
    padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.somago-hero-copy {
    position: relative;
    z-index: 2;
}

.somago-editorial-label {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    color: var(--somago-teal);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.somago-editorial-label span {
    color: var(--somago-copper);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.somago-editorial-label::after {
    width: 3rem;
    height: 1px;
    content: "";
    background: currentColor;
}

.somago-hero-kicker {
    margin: 2rem 0 0.75rem;
    color: var(--somago-yellow);
    font-size: 0.78rem;
    font-weight: 850;
    letter-spacing: 0.25em;
}

.somago-hero h1 {
    max-width: 16ch;
    margin: 0;
    font-size: clamp(2.55rem, 4.15vw, 4.55rem);
    font-weight: 690;
    letter-spacing: -0.045em;
    line-height: 0.99;
    text-wrap: balance;
}

.somago-signature {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    align-items: center;
    margin: 1.7rem 0 0;
    color: #d8e7ef;
    font-family: var(--somago-serif);
    font-size: clamp(1rem, 1.45vw, 1.25rem);
    font-style: italic;
}

.somago-signature i {
    width: 0.22rem;
    aspect-ratio: 1;
    background: var(--somago-copper);
    border-radius: 50%;
}

.somago-hero-intro {
    max-width: 40rem;
    margin: 1.7rem 0 0;
    color: #b9cad5;
    font-size: 0.94rem;
    line-height: 1.75;
}

.somago-hero-intro em {
    display: block;
    margin-top: 0.35rem;
    color: #829aaa;
    font-size: 0.72rem;
}

.somago-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    margin-top: 2.2rem;
}

.somago-button {
    display: inline-flex;
    min-height: 3.4rem;
    gap: 2rem;
    align-items: center;
    justify-content: space-between;
    padding: 0.8rem 1.15rem;
    font-size: 0.83rem;
    font-weight: 760;
    transition: color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.somago-button-primary {
    min-width: 13.8rem;
    color: var(--somago-navy);
    background: var(--somago-yellow);
}

.somago-button-secondary {
    min-width: 14.8rem;
    border: 1px solid rgb(255 255 255 / 45%);
    color: #fff;
}

.somago-button-primary:hover {
    background: #f0c75c;
}

.somago-button-secondary:hover {
    border-color: #fff;
    background: rgb(255 255 255 / 8%);
}

.somago-hero-visual {
    position: relative;
    z-index: 1;
    align-self: stretch;
    min-height: 30rem;
    margin: 0;
}

.somago-hero-logo-panel {
    position: absolute;
    inset: 0 0 2.25rem;
    display: grid;
    overflow: hidden;
    place-items: center;
    border-radius: 9rem 0 0 0;
    background: radial-gradient(circle at 62% 35%, rgb(255 255 255 / 19%) 0 6%, transparent 6.2%), linear-gradient(145deg, #1c7187, #16516d 45%, #0d354e);
}

.somago-hero-logo-panel::before,
.somago-hero-logo-panel::after {
    position: absolute;
    content: "";
    border: 1px solid rgb(255 255 255 / 15%);
    border-radius: 50%;
}

.somago-hero-logo-panel::before {
    width: 68%;
    aspect-ratio: 1;
    right: -16%;
    top: -12%;
}

.somago-hero-logo-panel::after {
    width: 48%;
    aspect-ratio: 1;
    left: -16%;
    bottom: -18%;
}

.somago-visual-orbit {
    position: absolute;
    border: 1px solid rgb(255 255 255 / 22%);
    border-radius: 50%;
    transform: rotate(-18deg);
}

.somago-visual-orbit-one {
    width: 77%;
    height: 42%;
    top: 27%;
    left: 12%;
}

.somago-visual-orbit-two {
    width: 50%;
    height: 27%;
    top: 35%;
    left: 26%;
}

.somago-hero-logo-frame {
    position: relative;
    z-index: 1;
    display: block;
    width: min(70%, 21.5rem);
    padding: clamp(0.45rem, 1vw, 0.75rem);
    border: 1px solid rgb(255 255 255 / 35%);
    background: #fff;
    box-shadow: 0 1.5rem 3.5rem rgb(3 25 42 / 30%);
}

.somago-hero-logo {
    display: block;
    width: 100%;
    height: auto;
}

.somago-visual-label {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    padding: 0.45rem 0.65rem;
    border: 1px solid rgb(255 255 255 / 25%);
    color: #dcebf1;
    font-size: 0.61rem;
    font-weight: 750;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.somago-hero-visual figcaption {
    position: absolute;
    inset: auto 0 0;
    display: flex;
    justify-content: space-between;
    color: #829aaa;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.61rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.somago-hero-visual figcaption span {
    color: var(--somago-copper);
}

.somago-clinical-note {
    position: absolute;
    z-index: 3;
    right: clamp(1.5rem, 3vw, 3rem);
    bottom: -2.4rem;
    width: min(20rem, 32vw);
    padding: 1.2rem 1.4rem;
    color: var(--somago-navy);
    background: var(--somago-ivory);
}

.somago-clinical-note span {
    color: var(--somago-copper);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.somago-clinical-note p {
    margin: 0.45rem 0 0;
    font-family: var(--somago-serif);
    font-size: 0.91rem;
    line-height: 1.45;
}

.somago-patient-access {
    padding-block: clamp(5rem, 9vw, 8rem);
    background: var(--somago-ivory);
}

.somago-section-heading {
    display: grid;
    grid-template-columns: minmax(12rem, 0.38fr) 1fr;
    gap: 2rem;
    align-items: end;
    padding-bottom: 2rem;
    border-bottom: 1px solid rgb(16 42 67 / 18%);
}

.somago-section-heading h2 {
    margin: 0;
    font-size: clamp(2rem, 3.6vw, 3.6rem);
    font-weight: 680;
    letter-spacing: -0.04em;
    line-height: 1.03;
}

.somago-section-heading p {
    margin: 0.65rem 0 0;
    color: var(--somago-text);
}

.somago-access-layout {
    display: grid;
    grid-template-columns: minmax(17rem, 0.72fr) minmax(30rem, 1.28fr);
    gap: 1rem;
    margin-top: 1rem;
}

.somago-specialist-access,
.somago-appointment-access {
    min-height: 17.5rem;
    padding: clamp(1.5rem, 3vw, 2.6rem);
}

.somago-specialist-access {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1.3rem;
    align-items: start;
    border: 1px solid rgb(16 42 67 / 18%);
    background: rgb(248 250 252 / 75%);
}

.somago-access-index,
.somago-path-number {
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
}

.somago-access-index {
    color: var(--somago-copper);
    font-size: 0.72rem;
    font-weight: 800;
}

.somago-specialist-access small,
.somago-appointment-heading small {
    display: block;
    margin-bottom: 1.3rem;
    color: var(--somago-blue);
    font-size: 0.67rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.somago-specialist-access strong,
.somago-appointment-heading h3 {
    display: block;
    max-width: 16ch;
    margin: 0;
    font-size: clamp(1.55rem, 2.3vw, 2.35rem);
    font-weight: 680;
    letter-spacing: -0.035em;
    line-height: 1.05;
}

.somago-specialist-access span span {
    display: block;
    max-width: 29ch;
    margin-top: 1.15rem;
    color: var(--somago-text);
    font-size: 0.88rem;
}

.somago-access-arrow {
    display: grid;
    width: 2.6rem;
    aspect-ratio: 1;
    place-items: center;
    border: 1px solid var(--somago-teal);
    border-radius: 50%;
}

.somago-specialist-access:hover .somago-access-arrow {
    color: #fff;
    background: var(--somago-teal);
}

.somago-appointment-access {
    color: #fff;
    background: var(--somago-navy);
}

.somago-appointment-heading {
    display: flex;
    gap: 1.3rem;
}

.somago-appointment-heading small {
    margin-bottom: 0.6rem;
    color: #82d1d1;
}

.somago-care-paths {
    display: grid;
    grid-template-columns: 0.86fr 1.14fr;
    gap: 0.7rem;
    margin-top: 2rem;
}

.somago-care-paths a {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 0.85rem;
    align-items: center;
    min-height: 6rem;
    padding: 1rem;
    border: 1px solid rgb(255 255 255 / 20%);
}

.somago-care-paths a:hover {
    border-color: var(--somago-teal);
}

.somago-care-paths strong,
.somago-care-paths small {
    display: block;
}

.somago-care-paths strong {
    font-size: 0.86rem;
}

.somago-care-paths small {
    margin-top: 0.28rem;
    color: #aabfcb;
    font-size: 0.66rem;
}

.somago-path-number {
    color: var(--somago-teal);
    font-size: 0.64rem;
}

.somago-international-path {
    position: relative;
    background: linear-gradient(135deg, rgb(23 107 135 / 38%), rgb(24 166 166 / 10%));
}

.somago-international-path::before {
    position: absolute;
    inset: 0 auto 0 0;
    width: 3px;
    content: "";
    background: var(--somago-copper);
}

.somago-position,
.somago-component-output {
    width: var(--somago-shell);
    margin-inline: auto;
}

.somago-component-output {
    padding-block: 2rem;
}

.somago-component-output .blog-featured > .page-header:only-child {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.somago-system-page {
    display: grid;
    min-height: 100vh;
    place-items: center;
    padding: 1rem;
    color: var(--somago-navy);
    background: var(--somago-ivory);
}

.somago-system-card {
    max-width: 42rem;
    padding: clamp(1.5rem, 5vw, 4rem);
    border: 1px solid var(--somago-line);
    background: #fff;
}

.somago-mark {
    color: var(--somago-copper);
    font-size: 0.85rem;
    font-weight: 800;
    letter-spacing: 0.18em;
}

@media (max-width: 76rem) {
    :root {
        --somago-shell: min(100% - 2rem, 72rem);
    }

    .somago-primary-nav {
        display: none;
    }

    .somago-header-main {
        grid-template-columns: 1fr auto auto;
    }

    .somago-mobile-menu {
        display: block;
    }

    .somago-mobile-menu summary {
        display: flex;
        min-width: 5rem;
        min-height: 3rem;
        gap: 0.8rem;
        align-items: center;
        justify-content: center;
        border: 1px solid rgb(16 42 67 / 25%);
        font-size: 0.75rem;
        font-weight: 750;
        list-style: none;
        cursor: pointer;
    }

    .somago-header:not(.is-scrolled) .somago-mobile-menu summary {
        border-color: rgb(255 255 255 / 42%);
        color: #fff;
        background: rgb(7 28 44 / 30%);
    }

    .somago-header.is-scrolled .somago-mobile-menu summary {
        border-color: rgb(16 42 67 / 25%);
        color: var(--somago-navy);
        background: transparent;
    }

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

    .somago-menu-icon,
    .somago-menu-icon::before {
        width: 1rem;
        height: 1px;
        background: currentColor;
    }

    .somago-menu-icon {
        position: relative;
        display: block;
    }

    .somago-menu-icon::before {
        position: absolute;
        top: -0.35rem;
        content: "";
    }

    .somago-mobile-menu nav {
        position: absolute;
        inset: 100% 0 auto;
        padding: 1.25rem max(1rem, calc((100% - 72rem) / 2));
        border-top: 1px solid var(--somago-line);
        background: #fff;
        box-shadow: 0 1.2rem 2rem rgb(16 42 67 / 12%);
    }

    .somago-mobile-menu nav a {
        color: var(--somago-navy);
    }

    .somago-mobile-menu li + li {
        border-top: 1px solid var(--somago-line);
    }

    .somago-mobile-menu li a {
        display: flex;
        min-height: 2.75rem;
        align-items: center;
        font-size: 0.8rem;
        font-weight: 700;
    }

    .somago-mobile-appointment {
        margin-top: 1rem;
    }

    .somago-hero-grid {
        gap: 3rem;
        grid-template-columns: minmax(0, 1fr) minmax(20rem, 0.78fr);
    }
}

@media (max-width: 58rem) {
    .somago-hero-grid {
        grid-template-columns: 1fr;
        padding-bottom: 5.5rem;
    }

    .somago-hero-copy {
        max-width: 48rem;
    }

    .somago-hero-visual {
        min-height: 24rem;
    }

    .somago-hero-logo-panel {
        border-radius: 7rem 0 0 0;
    }

    .somago-clinical-note {
        width: min(22rem, 58vw);
    }

    .somago-access-layout {
        grid-template-columns: 1fr;
    }

    .somago-specialist-access,
    .somago-appointment-access {
        min-height: auto;
    }
}

@media (max-width: 42rem) {
    :root {
        --somago-shell: min(100% - 1.25rem, 38rem);
    }

    .somago-topbar-inner {
        min-height: 2rem;
    }

    .somago-topbar-inner > p,
    .somago-topbar-meta > span {
        display: none;
    }

    .somago-topbar-meta {
        width: 100%;
        justify-content: flex-end;
    }

    .somago-language {
        min-height: 2rem;
        border-right: 0;
    }

    .somago-header-main {
        min-height: 4.7rem;
        grid-template-columns: 1fr auto;
        gap: 0.75rem;
    }

    .somago-brand-logo {
        width: 3rem;
        height: 3rem;
    }

    .somago-brand-copy strong {
        font-size: 0.98rem;
    }

    .somago-brand-copy small {
        display: none;
    }

    .somago-header-cta {
        display: none;
    }

    .somago-mobile-menu summary {
        min-width: 3.15rem;
        padding: 0;
    }

    .somago-mobile-menu summary > span:first-child {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
    }

    .somago-hero-grid {
        min-height: auto;
        gap: 2.6rem;
        padding-block: 3.2rem 5.6rem;
    }

    .somago-editorial-label {
        font-size: 0.58rem;
    }

    .somago-editorial-label::after {
        width: 1.6rem;
    }

    .somago-hero-kicker {
        margin-top: 1.5rem;
    }

    .somago-hero h1 {
        font-size: clamp(2.2rem, 11.5vw, 3rem);
        line-height: 1.02;
    }

    .somago-hero h1 br {
        display: none;
    }

    .somago-signature {
        gap: 0.42rem;
        font-size: 0.95rem;
    }

    .somago-hero-intro {
        font-size: 0.85rem;
        line-height: 1.65;
    }

    .somago-hero-actions {
        display: grid;
    }

    .somago-button {
        width: 100%;
        min-width: 0;
        min-height: 3.25rem;
    }

    .somago-hero-visual {
        min-height: 19rem;
    }

    .somago-hero-logo-panel {
        border-radius: 4.5rem 0 0 0;
    }

    .somago-hero-logo-frame {
        width: min(68%, 13rem);
        padding: 0.35rem;
    }

    .somago-visual-label {
        top: 1rem;
        right: 1rem;
    }

    .somago-hero-visual figcaption {
        display: block;
        font-size: 0.53rem;
    }

    .somago-hero-visual figcaption span {
        display: block;
        margin-bottom: 0.2rem;
    }

    .somago-clinical-note {
        right: 0.65rem;
        bottom: -2.5rem;
        width: calc(100% - 1.3rem);
        padding: 1rem;
    }

    .somago-patient-access {
        padding-block: 4.5rem;
    }

    .somago-section-heading {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .somago-section-heading h2 {
        font-size: 2.2rem;
    }

    .somago-specialist-access,
    .somago-appointment-access {
        padding: 1.3rem;
    }

    .somago-specialist-access {
        grid-template-columns: auto 1fr;
    }

    .somago-specialist-access .somago-access-arrow {
        grid-column: 2;
        margin-top: 0.5rem;
    }

    .somago-care-paths {
        grid-template-columns: 1fr;
    }

    .somago-care-paths a {
        min-height: 5.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* C7-C — Homepage institutionnelle */

.somago-mobile-public {
    color: var(--somago-navy);
    background: var(--somago-ivory);
    border: 1px solid rgb(16 42 67 / 24%);
}

.somago-home .somago-hero-grid {
    min-height: 37rem;
    padding-block: clamp(4rem, 7vw, 6.4rem);
}

.somago-home .somago-hero h1 {
    max-width: 15ch;
    font-size: clamp(2.8rem, 4.35vw, 4.45rem);
}

.somago-home .somago-hero-intro {
    max-width: 37rem;
}

.somago-eyebrow,
.somago-placeholder-tag {
    font-size: 0.66rem;
    font-weight: 800;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.somago-eyebrow {
    color: var(--somago-blue);
}

.somago-placeholder-tag {
    color: #8a4726;
}

.somago-label-dark {
    color: var(--somago-blue);
}

.somago-text-link {
    display: inline-flex;
    min-height: 2.75rem;
    gap: 1rem;
    align-items: center;
    color: var(--somago-blue);
    font-size: 0.79rem;
    font-weight: 800;
}

.somago-text-link:hover {
    color: var(--somago-navy);
}

.somago-text-link-light {
    color: #72d1d0;
}

.somago-text-link-light:hover {
    color: #fff;
}

.somago-link-end {
    margin-top: 2rem;
    margin-left: auto;
}

.somago-section-intro {
    display: grid;
    grid-template-columns: minmax(13rem, 0.42fr) 1fr;
    gap: clamp(2rem, 6vw, 6rem);
    align-items: end;
    margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
}

.somago-section-intro h2,
.somago-introduction h2,
.somago-presidency h2,
.somago-next-event h2,
.somago-resources h2,
.somago-training h2,
.somago-media h2,
.somago-partners h2 {
    margin: 0;
    font-size: clamp(2rem, 3.5vw, 3.65rem);
    font-weight: 680;
    letter-spacing: -0.045em;
    line-height: 1.02;
}

.somago-section-intro p:not(.somago-eyebrow) {
    max-width: 42rem;
    margin: 1rem 0 0;
    color: var(--somago-text);
}

.somago-introduction {
    overflow: hidden;
    padding-block: clamp(6rem, 11vw, 10rem);
    background: var(--somago-ivory);
}

.somago-introduction-grid {
    display: grid;
    grid-template-columns: minmax(12rem, 0.4fr) minmax(0, 1fr) auto;
    gap: clamp(2rem, 6vw, 6rem);
    align-items: start;
}

.somago-introduction-copy {
    max-width: 48rem;
}

.somago-introduction-copy .somago-eyebrow {
    margin-top: 0;
}

.somago-lead {
    max-width: 42rem;
    margin: 1.5rem 0 1rem;
    color: var(--somago-text);
    font-family: var(--somago-serif);
    font-size: clamp(1.15rem, 1.7vw, 1.5rem);
    line-height: 1.6;
}

.somago-introduction-index {
    color: rgb(23 107 135 / 12%);
    font-size: clamp(4rem, 8vw, 8rem);
    font-weight: 850;
    letter-spacing: -0.08em;
    line-height: 0.72;
}

.somago-missions {
    padding-block: clamp(6rem, 10vw, 9rem);
    color: #fff;
    background: var(--somago-navy);
}

.somago-section-intro-light h2 {
    max-width: 18ch;
}

.somago-section-intro-light .somago-eyebrow {
    color: #75cfce;
}

.somago-mission-list {
    padding: 0;
    margin: 0;
    border-top: 1px solid rgb(255 255 255 / 19%);
    list-style: none;
}

.somago-mission-list li {
    display: grid;
    grid-template-columns: 5rem minmax(15rem, 0.65fr) minmax(20rem, 1fr);
    gap: clamp(1rem, 4vw, 4rem);
    align-items: baseline;
    padding-block: 2.2rem;
    border-bottom: 1px solid rgb(255 255 255 / 19%);
}

.somago-mission-number {
    color: var(--somago-copper);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.72rem;
}

.somago-mission-list h3 {
    margin: 0;
    font-size: clamp(1.3rem, 2vw, 2rem);
    font-weight: 650;
    letter-spacing: -0.025em;
}

.somago-mission-list p {
    max-width: 48rem;
    margin: 0;
    color: #b9cad5;
    line-height: 1.7;
}

.somago-presidency-event {
    padding-block: clamp(6rem, 10vw, 9rem);
    background: var(--somago-white);
}

.somago-editorial-split {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(24rem, 0.92fr);
    gap: clamp(2rem, 5vw, 5rem);
}

.somago-presidency {
    display: grid;
    grid-template-columns: minmax(14rem, 0.78fr) minmax(18rem, 1.22fr);
    min-height: 34rem;
    background: var(--somago-ivory);
}

.somago-photo-placeholder,
.somago-training-visual,
.somago-news-visual,
.somago-media-item {
    display: grid;
    place-items: end start;
    padding: 1.5rem;
    color: rgb(255 255 255 / 82%);
    font-size: 0.64rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    background: linear-gradient(145deg, #1b6b83, #102a43);
}

.somago-president-photo {
    min-height: 34rem;
    background: linear-gradient(160deg, rgb(24 166 166 / 45%), transparent 55%), linear-gradient(145deg, #176b87, #102a43);
}

.somago-president-photo::before,
.somago-practitioner-photo::before {
    display: block;
    width: 43%;
    aspect-ratio: 1;
    margin: auto auto 1rem;
    content: "";
    border: 1px solid rgb(255 255 255 / 24%);
    border-radius: 50%;
    background: rgb(255 255 255 / 10%);
}

.somago-presidency-copy {
    align-self: center;
    padding: clamp(2rem, 4vw, 4rem);
}

.somago-presidency-copy > p:not(.somago-placeholder-tag) {
    color: var(--somago-text);
    line-height: 1.75;
}

.somago-next-event {
    display: grid;
    grid-template-rows: auto 1fr;
    color: #fff;
    background: var(--somago-blue);
}

.somago-event-meta {
    display: flex;
    justify-content: space-between;
    padding: 1.5rem;
    border-bottom: 1px solid rgb(255 255 255 / 20%);
    color: #9fe0df;
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 0.11em;
}

.somago-event-meta strong {
    color: #fff;
    font-size: 0.78rem;
    text-align: right;
}

.somago-event-content {
    align-self: end;
    padding: clamp(2rem, 5vw, 4rem);
}

.somago-event-content .somago-placeholder-tag {
    color: #f0b694;
}

.somago-event-content dl {
    margin-block: 2rem;
}

.somago-event-content dl div {
    display: grid;
    grid-template-columns: 5rem 1fr;
    padding-block: 0.65rem;
    border-top: 1px solid rgb(255 255 255 / 20%);
}

.somago-event-content dt {
    color: #9fe0df;
    font-size: 0.67rem;
    text-transform: uppercase;
}

.somago-event-content dd {
    margin: 0;
}

.somago-button-light {
    border: 1px solid rgb(255 255 255 / 50%);
    color: #fff;
}

.somago-expertise {
    padding-block: clamp(6rem, 10vw, 9rem);
    background: var(--somago-ivory);
}

.somago-practitioner-preview {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgb(16 42 67 / 17%);
}

.somago-practitioner-card {
    background: var(--somago-white);
}

.somago-practitioner-photo {
    display: grid;
    min-height: 17rem;
    place-items: end center;
    background: linear-gradient(145deg, #26798f, #143b56);
}

.somago-practitioner-photo::before {
    width: 30%;
    margin: auto;
}

.somago-practitioner-card > div:last-child {
    min-height: 12rem;
    padding: 1.5rem;
}

.somago-practitioner-card h3 {
    margin: 0.5rem 0;
    font-size: 1.4rem;
}

.somago-practitioner-card p:last-child {
    color: var(--somago-text);
    font-size: 0.84rem;
    line-height: 1.65;
}

.somago-science-training {
    padding-block: clamp(6rem, 10vw, 9rem);
    background: var(--somago-white);
}

.somago-science-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.somago-resources {
    padding: clamp(2rem, 5vw, 5rem);
    color: #fff;
    background: var(--somago-navy);
}

.somago-resources h2 {
    margin-top: 2rem;
    max-width: 16ch;
}

.somago-resource-list {
    padding: 0;
    margin-block: 3rem;
    border-top: 1px solid rgb(255 255 255 / 20%);
    list-style: none;
}

.somago-resource-list li {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: 0.8rem;
    padding-block: 1rem;
    border-bottom: 1px solid rgb(255 255 255 / 20%);
}

.somago-resource-list li > span {
    color: var(--somago-teal);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.62rem;
}

.somago-resource-list small {
    grid-column: 2;
    color: #9db2c0;
}

.somago-training {
    display: grid;
    grid-template-rows: 0.9fr 1.1fr;
    background: var(--somago-ivory);
}

.somago-training-visual {
    min-height: 19rem;
    background: linear-gradient(135deg, rgb(228 182 71 / 18%), transparent 40%), linear-gradient(145deg, #218b94, #176b87);
}

.somago-training-copy {
    padding: clamp(2rem, 5vw, 4rem);
}

.somago-training-copy p:not(.somago-eyebrow) {
    color: var(--somago-text);
    line-height: 1.75;
}

.somago-news-governance {
    padding-block: clamp(6rem, 10vw, 9rem);
    background: var(--somago-ivory);
}

.somago-news-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(16rem, 0.7fr);
    gap: 1rem;
}

.somago-featured-news {
    display: grid;
    grid-template-columns: minmax(16rem, 0.9fr) 1.1fr;
    min-height: 27rem;
    background: #fff;
}

.somago-news-visual {
    min-height: 27rem;
    background: linear-gradient(145deg, rgb(201 120 74 / 30%), transparent 50%), linear-gradient(145deg, #176b87, #102a43);
}

.somago-featured-news > div:last-child {
    align-self: center;
    padding: clamp(2rem, 4vw, 4rem);
}

.somago-featured-news h3,
.somago-governance h3 {
    margin-block: 0.8rem;
    font-size: clamp(1.5rem, 2.4vw, 2.5rem);
    letter-spacing: -0.035em;
    line-height: 1.08;
}

.somago-secondary-news {
    display: grid;
    grid-template-rows: 1fr 1fr;
    gap: 1rem;
}

.somago-secondary-news article {
    display: grid;
    padding: 1.5rem;
    border: 1px solid rgb(16 42 67 / 17%);
    background: rgb(248 250 252 / 55%);
}

.somago-secondary-news span {
    color: var(--somago-copper);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.65rem;
}

.somago-secondary-news p {
    align-self: end;
    margin-bottom: 0.3rem;
    font-weight: 750;
}

.somago-secondary-news small {
    color: var(--somago-text);
}

.somago-governance {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 0.35fr 0.75fr 1fr auto;
    gap: 2rem;
    align-items: center;
    margin-top: 1rem;
    padding: clamp(2rem, 4vw, 3.5rem);
    color: #fff;
    background: var(--somago-blue);
}

.somago-governance .somago-eyebrow {
    color: #a4e5e4;
}

.somago-governance h3 {
    font-size: clamp(1.4rem, 2vw, 2rem);
}

.somago-governance-roles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgb(255 255 255 / 20%);
}

.somago-governance-roles span {
    display: grid;
    min-height: 6rem;
    align-content: center;
    padding: 1rem;
    background: var(--somago-blue);
    font-weight: 750;
}

.somago-governance-roles small {
    margin-top: 0.35rem;
    color: #b9dadd;
    font-size: 0.65rem;
    font-weight: 400;
}

.somago-governance .somago-text-link {
    color: #fff;
}

.somago-media {
    padding-block: clamp(6rem, 10vw, 9rem);
    color: #fff;
    background: #0a2238;
}

.somago-media-grid {
    display: grid;
    grid-template-columns: minmax(17rem, 0.65fr) minmax(30rem, 1.35fr);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: center;
}

.somago-media-heading p {
    color: #a9bdc9;
    line-height: 1.7;
}

.somago-media-heading h2 {
    margin-top: 2rem;
}

.somago-media-mosaic {
    display: grid;
    grid-template-columns: 1.3fr 0.7fr;
    grid-template-rows: 1fr 1fr;
    gap: 0.7rem;
    min-height: 32rem;
}

.somago-media-item {
    background: linear-gradient(145deg, #217b8f, #123d58);
}

.somago-media-item-large {
    grid-row: 1 / 3;
    background: linear-gradient(160deg, rgb(24 166 166 / 38%), transparent 55%), linear-gradient(145deg, #176b87, #102a43);
}

.somago-public-services {
    padding-block: clamp(6rem, 10vw, 9rem);
    background: var(--somago-white);
}

.somago-service-links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    border-top: 1px solid rgb(16 42 67 / 20%);
    border-left: 1px solid rgb(16 42 67 / 20%);
}

.somago-service-links a {
    display: grid;
    grid-template-columns: 2rem 1fr auto;
    gap: 0.7rem;
    align-items: center;
    min-height: 9rem;
    padding: 1.5rem;
    border-right: 1px solid rgb(16 42 67 / 20%);
    border-bottom: 1px solid rgb(16 42 67 / 20%);
}

.somago-service-links a > span {
    align-self: start;
    color: var(--somago-copper);
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 0.64rem;
}

.somago-service-links strong,
.somago-service-links small {
    grid-column: 2;
}

.somago-service-links strong {
    align-self: end;
    font-size: clamp(1.2rem, 2vw, 1.8rem);
}

.somago-service-links small {
    color: var(--somago-text);
}

.somago-service-links i {
    grid-column: 3;
    grid-row: 1 / 3;
    font-style: normal;
}

.somago-service-links a:hover {
    background: var(--somago-ivory);
}

.somago-service-international {
    color: #fff;
    background: var(--somago-blue);
}

.somago-service-international small {
    color: #c0dce1;
}

.somago-service-international:hover {
    background: #125a73 !important;
}

.somago-partners {
    padding-block: 4rem;
    background: var(--somago-ivory);
}

.somago-partners-inner {
    display: grid;
    grid-template-columns: 0.7fr 1.3fr;
    gap: 4rem;
    align-items: center;
}

.somago-partners h2 {
    font-size: clamp(1.8rem, 2.7vw, 2.8rem);
}

.somago-partner-placeholders {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
}

.somago-partner-placeholders span {
    display: grid;
    min-height: 6rem;
    place-items: center;
    border: 1px solid rgb(16 42 67 / 17%);
    color: #7a8995;
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-align: center;
}

.somago-footer {
    color: #fff;
    background: #071c2c;
}

.somago-footer-main {
    display: grid;
    grid-template-columns: 1.4fr repeat(3, 0.7fr);
    gap: clamp(2rem, 5vw, 5rem);
    padding-block: clamp(4rem, 8vw, 7rem);
}

.somago-footer-brand {
    display: flex;
    gap: 1rem;
    align-items: flex-start;
}

.somago-footer-logo {
    width: 4.75rem;
    height: 4.75rem;
    flex: 0 0 auto;
    object-fit: contain;
}

.somago-footer-brand strong {
    font-size: 1.25rem;
    letter-spacing: 0.14em;
}

.somago-footer-brand p {
    color: #9eb2bf;
    font-size: 0.75rem;
}

.somago-footer-column {
    display: grid;
    align-content: start;
    gap: 0.7rem;
}

.somago-footer-column h2 {
    margin: 0 0 0.8rem;
    color: #82d1d1;
    font-size: 0.67rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.somago-footer-column a {
    color: #c3d0d8;
    font-size: 0.78rem;
}

.somago-footer-bottom {
    display: flex;
    justify-content: space-between;
    padding-block: 1.3rem;
    border-top: 1px solid rgb(255 255 255 / 16%);
    color: #8296a3;
    font-size: 0.65rem;
}

.somago-page-hero {
    padding-block: clamp(4rem, 8vw, 7rem);
    color: #fff;
    background: linear-gradient(115deg, var(--somago-navy), #164d66);
}

.somago-page-hero p {
    margin: 1.5rem 0 0;
    font-family: var(--somago-serif);
    font-size: clamp(1.3rem, 2.5vw, 2.2rem);
}

.somago-inner .somago-component-output {
    min-height: 28rem;
    padding-block: clamp(4rem, 8vw, 7rem);
}

.somago-inner .item-page,
.somago-inner .com-content-article {
    max-width: 58rem;
}

.somago-inner .page-header h1,
.somago-inner .page-header h2,
.somago-inner .item-page > h2 {
    margin-top: 0;
    font-size: clamp(2.3rem, 4.5vw, 4.2rem);
    letter-spacing: -0.045em;
    line-height: 1.02;
}

.somago-inner .somago-component-output p {
    color: var(--somago-text);
    font-size: 1.02rem;
    line-height: 1.8;
}

.somago-inner .somago-component-output .somago-placeholder-tag {
    color: #8a4726;
    font-size: 0.66rem;
}

@media (max-width: 76rem) {
    .somago-editorial-split,
    .somago-media-grid {
        grid-template-columns: 1fr;
    }

    .somago-governance {
        grid-template-columns: 0.4fr 1fr;
    }

    .somago-governance-roles,
    .somago-governance .somago-text-link {
        grid-column: 2;
    }
}

@media (max-width: 58rem) {
    .somago-section-intro,
    .somago-introduction-grid,
    .somago-science-grid,
    .somago-news-grid,
    .somago-partners-inner,
    .somago-footer-main {
        grid-template-columns: 1fr;
    }

    .somago-introduction-index {
        position: absolute;
        right: 1rem;
        opacity: 0.7;
    }

    .somago-mission-list li {
        grid-template-columns: 3rem 1fr;
    }

    .somago-mission-list p {
        grid-column: 2;
    }

    .somago-presidency,
    .somago-featured-news {
        grid-template-columns: 1fr;
    }

    .somago-president-photo,
    .somago-news-visual {
        min-height: 24rem;
    }

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

    .somago-governance {
        grid-template-columns: 1fr;
    }

    .somago-governance-roles,
    .somago-governance .somago-text-link {
        grid-column: auto;
    }

    .somago-partner-placeholders {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 42rem) {
    .somago-home .somago-hero-grid {
        gap: 2.3rem;
        padding-block: 3rem 5rem;
    }

    .somago-home .somago-hero h1 {
        max-width: none;
        font-size: clamp(2.15rem, 10.7vw, 2.75rem);
    }

    .somago-home .somago-hero-actions {
        gap: 0.6rem;
    }

    .somago-mobile-public {
        display: flex;
        min-height: 3rem;
        align-items: center;
        justify-content: space-between;
        margin-top: 1rem;
        padding-inline: 1rem;
        font-size: 0.78rem;
        font-weight: 750;
    }

    .somago-section-intro,
    .somago-introduction-grid {
        gap: 1.2rem;
    }

    .somago-section-intro h2,
    .somago-introduction h2,
    .somago-presidency h2,
    .somago-next-event h2,
    .somago-resources h2,
    .somago-training h2,
    .somago-media h2,
    .somago-partners h2 {
        font-size: 2.15rem;
    }

    .somago-introduction,
    .somago-missions,
    .somago-presidency-event,
    .somago-expertise,
    .somago-science-training,
    .somago-news-governance,
    .somago-media,
    .somago-public-services {
        padding-block: 4.5rem;
    }

    .somago-introduction-index {
        display: none;
    }

    .somago-mission-list li {
        grid-template-columns: 2.2rem 1fr;
        gap: 0.8rem;
        padding-block: 1.6rem;
    }

    .somago-mission-list p {
        font-size: 0.85rem;
    }

    .somago-president-photo {
        min-height: 19rem;
    }

    .somago-presidency-copy,
    .somago-event-content,
    .somago-resources,
    .somago-training-copy,
    .somago-featured-news > div:last-child,
    .somago-governance {
        padding: 1.5rem;
    }

    .somago-practitioner-preview,
    .somago-service-links,
    .somago-partner-placeholders,
    .somago-governance-roles {
        grid-template-columns: 1fr;
    }

    .somago-practitioner-card:nth-child(3) {
        display: none;
    }

    .somago-practitioner-photo {
        min-height: 13rem;
    }

    .somago-media-grid {
        gap: 2rem;
    }

    .somago-media-mosaic {
        grid-template-columns: 1fr 1fr;
        min-height: 24rem;
    }

    .somago-media-item-large {
        grid-column: 1 / 3;
        grid-row: auto;
    }

    .somago-service-links a {
        min-height: 7rem;
    }

    .somago-footer-main {
        gap: 2rem;
    }

    .somago-footer-bottom {
        display: grid;
        gap: 0.3rem;
    }
}

/* ==========================================================
   SOMAGO_HEADER_PREMIUM_V1_20260812
   Homepage :
   - header intégré au hero au sommet
   - barre blanche compacte après scroll
   - pages internes inchangées
   ========================================================== */

/* --- HOME : header superposé au hero --- */
.somago-home .somago-header {
    position: fixed;
    z-index: 80;
    inset: 0 0 auto;
    width: 100%;
    border-bottom-color: transparent;
    background: transparent;
    box-shadow: none;
}

/* Topbar fondue dans le hero, sans devenir invisible */
.somago-home .somago-header:not(.is-scrolled) .somago-topbar {
    color: rgb(234 243 248 / 88%);
    background: rgb(7 28 44 / 38%);
    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);
}

/* Navigation principale réellement transparente au sommet */
.somago-home .somago-header:not(.is-scrolled) {
    color: #fff;
    background: linear-gradient(
        180deg,
        rgb(7 28 44 / 34%) 0%,
        rgb(7 28 44 / 12%) 58%,
        transparent 100%
    );
}

/* Hero compensé pour que le contenu ne passe jamais sous le header */
.somago-home .somago-hero-grid {
    padding-top: calc(clamp(4.5rem, 8vw, 7.5rem) + 7.65rem);
}

/* Logo légèrement mieux intégré dans l’état transparent */
.somago-home .somago-header:not(.is-scrolled) .somago-brand-logo {
    filter: drop-shadow(0 0.2rem 0.5rem rgb(0 0 0 / 16%));
}

/* Nom SOMAGO bien lisible sur le bleu du hero */
.somago-home .somago-header:not(.is-scrolled) .somago-brand-copy strong {
    color: #fff;
}

/* --- HOME : après scroll --- */
.somago-home .somago-header.is-scrolled {
    color: var(--somago-navy);
    border-bottom-color: rgb(16 42 67 / 10%);
    background: rgb(255 255 255 / 96%);
    box-shadow: 0 0.45rem 1.45rem rgb(7 28 44 / 9%);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
}

.somago-home .somago-header.is-scrolled .somago-topbar {
    color: #617685;
    background: rgb(248 250 252 / 97%);
    border-bottom: 1px solid rgb(16 42 67 / 8%);
}

.somago-home .somago-header.is-scrolled .somago-topbar a:hover,
.somago-home .somago-header.is-scrolled .somago-language .is-current {
    color: var(--somago-blue);
}

/* Compaction légèrement plus nette après scroll */
.somago-home .somago-header.is-scrolled .somago-header-main {
    min-height: 4.45rem;
}

.somago-home .somago-header.is-scrolled .somago-brand-logo {
    width: 3rem;
    height: 3rem;
    transition: width 180ms ease, height 180ms ease;
}

/* Transition du logo également au retour vers le haut */
.somago-brand-logo {
    transition:
        width 180ms ease,
        height 180ms ease,
        filter 180ms ease;
}

/* --- Pages internes : header institutionnel clair et stable --- */
.somago-inner .somago-header {
    color: var(--somago-navy);
    background: rgb(248 250 252 / 98%);
    border-bottom-color: rgb(16 42 67 / 10%);
    box-shadow: 0 0.35rem 1.1rem rgb(7 28 44 / 6%);
}

.somago-inner .somago-topbar {
    color: #dfeaf1;
    background: var(--somago-navy);
}

.somago-inner .somago-primary-nav a {
    color: #253f54;
}

.somago-inner .somago-primary-nav a:hover {
    color: var(--somago-blue);
}

.somago-inner .somago-brand-copy small {
    color: var(--somago-text);
}

.somago-inner .somago-header-cta {
    color: var(--somago-navy);
    background: var(--somago-ivory);
    border: 1px solid rgb(16 42 67 / 24%);
}

/* --- Tablette / mobile --- */
@media (max-width: 58rem) {
    .somago-home .somago-hero-grid {
        padding-top: calc(5rem + 7rem);
    }
}

@media (max-width: 42rem) {
    .somago-home .somago-header:not(.is-scrolled) .somago-topbar {
        background: rgb(7 28 44 / 50%);
    }

    .somago-home .somago-header:not(.is-scrolled) {
        background: linear-gradient(
            180deg,
            rgb(7 28 44 / 50%) 0%,
            rgb(7 28 44 / 14%) 75%,
            transparent 100%
        );
    }

    .somago-home .somago-hero-grid {
        padding-top: calc(3.2rem + 6.7rem);
        padding-bottom: 5.6rem;
    }

    .somago-home .somago-header.is-scrolled .somago-header-main {
        min-height: 4.15rem;
    }

    .somago-home .somago-header.is-scrolled .somago-brand-logo {
        width: 2.65rem;
        height: 2.65rem;
    }

    .somago-inner .somago-mobile-menu summary {
        color: var(--somago-navy);
        background: transparent;
        border-color: rgb(16 42 67 / 25%);
    }
}

/* Accessibilité : aucune transition imposée si mouvement réduit */
@media (prefers-reduced-motion: reduce) {
    .somago-header,
    .somago-header-main,
    .somago-brand-logo {
        transition: none !important;
    }
}


/* ==========================================================
   SOMAGO_LOGO_PREMIUM_V1_20260812
   - LIGHT sur fonds sombres / colorés
   - DARK sur fonds blancs
   - suppression du cadre blanc dans le hero
   ========================================================== */

/* Empilement propre des deux variantes dans le header */
.somago-brand-logo-stack {
    position: relative;
    display: block;
    width: 3.5rem;
    height: 3.5rem;
    flex: 0 0 auto;
    transition: width 180ms ease, height 180ms ease;
}

.somago-brand-logo-stack .somago-brand-logo {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition:
        opacity 180ms ease,
        filter 180ms ease;
}

/* En haut de la homepage : écriture blanche */
.somago-home .somago-header:not(.is-scrolled)
.somago-brand-logo-light {
    opacity: 1;
}

.somago-home .somago-header:not(.is-scrolled)
.somago-brand-logo-dark {
    opacity: 0;
}

/* Après scroll : écriture noire sur barre blanche */
.somago-home .somago-header.is-scrolled
.somago-brand-logo-light {
    opacity: 0;
}

.somago-home .somago-header.is-scrolled
.somago-brand-logo-dark {
    opacity: 1;
}

/* Pages internes claires : variante sombre */
.somago-inner .somago-brand-logo-light {
    opacity: 0;
}

.somago-inner .somago-brand-logo-dark {
    opacity: 1;
}

/* Synchronisation avec la compaction du header */
.somago-home .somago-header.is-scrolled .somago-brand-logo-stack {
    width: 3rem;
    height: 3rem;
}

/* HERO : le logo n'est plus une affiche blanche */
.somago-hero-logo-frame {
    width: min(72%, 22rem);
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.somago-hero-logo {
    display: block;
    width: 100%;
    height: auto;
    filter: drop-shadow(0 1.2rem 2rem rgb(3 25 42 / 28%));
}

/* Le fond turquoise devient réellement le support du logo */
.somago-hero-logo-panel {
    isolation: isolate;
}

/* Footer sombre = logo LIGHT */
.somago-footer-logo {
    object-fit: contain;
    filter: drop-shadow(0 0.35rem 0.65rem rgb(0 0 0 / 18%));
}

/*
 * Ancienne règle appliquée directement à .somago-brand-logo :
 * le stack contrôle désormais les dimensions.
 */
.somago-home .somago-header.is-scrolled .somago-brand-logo {
    width: 100%;
    height: 100%;
}

@media (max-width: 42rem) {
    .somago-brand-logo-stack {
        width: 3rem;
        height: 3rem;
    }

    .somago-home .somago-header.is-scrolled .somago-brand-logo-stack {
        width: 2.65rem;
        height: 2.65rem;
    }

    .somago-home .somago-header.is-scrolled .somago-brand-logo {
        width: 100%;
        height: 100%;
    }

    .somago-hero-logo-frame {
        width: min(76%, 18rem);
    }
}

@media (prefers-reduced-motion: reduce) {
    .somago-brand-logo-stack,
    .somago-brand-logo-stack .somago-brand-logo {
        transition: none !important;
    }
}


/* ==========================================================
   SOMAGO_LOGO_PREMIUM_FIX_V1_20260812
   Correction header après intégration light/dark
   ========================================================== */

.somago-brand {
    min-width: 18.5rem;
}

.somago-brand-logo-stack {
    overflow: visible;
}

.somago-brand-copy {
    min-width: 0;
}

.somago-brand-copy strong,
.somago-brand-copy small {
    position: relative;
    z-index: 2;
}

@media (max-width: 76rem) {
    .somago-brand {
        min-width: 16rem;
    }
}

@media (max-width: 42rem) {
    .somago-brand {
        min-width: 0;
    }
}


/* ==========================================================
   SOMAGO_LOGO_PREMIUM_FIX_V1_20260812
   Correction header après intégration light/dark
   ========================================================== */

.somago-brand {
    min-width: 18.5rem;
}

.somago-brand-logo-stack {
    overflow: visible;
}

.somago-brand-copy {
    min-width: 0;
}

.somago-brand-copy strong,
.somago-brand-copy small {
    position: relative;
    z-index: 2;
}

@media (max-width: 76rem) {
    .somago-brand {
        min-width: 16rem;
    }
}

@media (max-width: 42rem) {
    .somago-brand {
        min-width: 0;
    }
}


/* SOMAGO_MENU_UPPERCASE_V1_20260812 */
.somago-primary-nav a,
.somago-mobile-menu nav a {
    text-transform: uppercase;
    letter-spacing: 0.045em;
}

/* ==========================================================
   1. COMPOSITION GENERALE
   ========================================================== */

.somago-home .somago-hero {
    position: relative;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            #102a43 0%,
            #102a43 43%,
            #10334d 61%,
            #0e4965 100%
        );
}


.somago-home .somago-hero-grid {
    grid-template-columns:
        minmax(0, 0.92fr)
        minmax(0, 1.08fr);

    gap: clamp(1.5rem, 3vw, 3rem);

    align-items: stretch;
}


/* Le texte reste totalement au-dessus du fondu photo */

.somago-home .somago-hero-copy {
    position: relative;
    z-index: 8;
    align-self: center;
}


/* ==========================================================
   2. ZONE VISUELLE
   ========================================================== */

.somago-home .somago-hero-visual.somago-hero-maternal {
    position: relative;

    min-height: 38rem;

    align-self: stretch;

    margin: 0;

    overflow: visible;

    isolation: isolate;
}


/* ==========================================================
   3. ENVIRONNEMENT PHOTOGRAPHIQUE

   Ce panneau est volontairement plus grand que le visuel.
   Ses limites disparaissent derrière le hero.
   ========================================================== */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel {

    position: absolute;

    /*
       On déborde largement :
       aucune bordure du panneau ne doit devenir perceptible.
    */
    inset:
        -1.75rem
        -5rem
        -2.5rem
        -6rem;

    overflow: hidden;

    border: 0;
    border-radius: 0;

    box-shadow: none;

    /*
       Couleurs intermédiaires entre la photo
       et le bleu institutionnel.
    */
    background:
        radial-gradient(
            ellipse at 68% 42%,
            #268bb0 0%,
            #176b87 35%,
            #124c68 63%,
            #102a43 100%
        );
}


/* ==========================================================
   4. PHOTO

   POINT ESSENTIEL :
   PAS DE object-fit: cover.

   Toute la femme et tout le bébé sont préservés.
   ========================================================== */

.somago-home
.somago-hero-maternal
.somago-hero-photo {

    position: absolute;

    z-index: 2;

    inset:
        0
        0
        0
        auto;

    display: block;

    /*
       On conserve l'intégralité du sujet.
    */
    width: 100%;
    height: 100%;

    max-width: none;

    object-fit: contain;

    /*
       Sujet ancré en bas et à droite,
       avec toute la tête conservée.
    */
    object-position: right bottom;

    transform: none;

    -webkit-mask-image: none;
    mask-image: none;

    filter:
        brightness(0.90)
        saturate(0.88)
        contrast(1.025);
}


/* ==========================================================
   5. FUSION GAUCHE

   C'est ici que disparaît la couture entre
   le hero bleu et le fond cyan de l'image.
   ========================================================== */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::after {

    position: absolute;

    z-index: 4;

    inset: -2px;

    content: "";

    pointer-events: none;

    background:

        /*
           Grand fondu horizontal.
           La transition commence loin dans la photographie,
           pas juste sur son bord.
        */
        linear-gradient(
            90deg,

            #102a43 0%,

            rgb(16 42 67 / 100%) 8%,

            rgb(16 42 67 / 96%) 15%,

            rgb(16 42 67 / 82%) 23%,

            rgb(16 42 67 / 55%) 31%,

            rgb(16 42 67 / 26%) 39%,

            rgb(16 42 67 / 8%) 47%,

            transparent 58%
        ),

        /*
           Fondu supérieur.
           Il évite la fameuse ligne horizontale au-dessus
           du foulard.
        */
        linear-gradient(
            180deg,

            #102a43 0%,

            rgb(16 42 67 / 72%) 5%,

            rgb(16 42 67 / 28%) 11%,

            rgb(16 42 67 / 7%) 17%,

            transparent 25%
        ),

        /*
           Fondu bas très discret.
        */
        linear-gradient(
            0deg,

            rgb(16 42 67 / 50%) 0%,

            rgb(16 42 67 / 14%) 8%,

            transparent 18%
        );
}


/* ==========================================================
   6. LUMIERE D'AMBIANCE

   Elle donne le côté premium de la référence sans créer
   un nouveau rectangle.
   ========================================================== */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::before {

    position: absolute;

    z-index: 1;

    width: 34rem;
    height: 34rem;

    top: 3rem;
    right: 1rem;

    content: "";

    pointer-events: none;

    border-radius: 50%;

    background:
        radial-gradient(
            circle,
            rgb(122 222 237 / 19%) 0%,
            rgb(24 166 166 / 9%) 38%,
            transparent 70%
        );

    filter: blur(1.4rem);
}


/* ==========================================================
   7. ORBITES
   ========================================================== */

.somago-home
.somago-hero-maternal
.somago-visual-orbit {

    z-index: 5;

    opacity: 0.40;

    border-color: rgb(220 244 248 / 34%);
}


/* ==========================================================
   8. ETIQUETTE
   ========================================================== */

.somago-home
.somago-hero-maternal
.somago-visual-label {

    display: block;

    z-index: 6;

    top: 1.4rem;
    right: 1.4rem;

    padding: 0.45rem 0.7rem;

    border:
        1px solid
        rgb(255 255 255 / 30%);

    color: #fff;

    background:
        rgb(7 28 44 / 24%);

    -webkit-backdrop-filter: blur(8px);
    backdrop-filter: blur(8px);

    font-size: 0.58rem;
    font-weight: 800;
    letter-spacing: 0.12em;
}


/* ==========================================================
   9. LEGENDE BASSE
   ========================================================== */

.somago-home
.somago-hero-maternal
figcaption {

    display: flex;

    z-index: 7;

    inset:
        auto
        1rem
        1.1rem
        1rem;

    color:
        rgb(235 247 250 / 68%);

    font-size: 0.55rem;

    letter-spacing: 0.11em;

    text-transform: uppercase;
}


/* ==========================================================
   10. NOTE INSTITUTIONNELLE

   Elle reste DANS le hero.
   Plus de bloc qui sort sous le navigateur.
   ========================================================== */

.somago-home .somago-clinical-note {

    display: block;

    position: absolute;

    z-index: 12;

    right: clamp(1.5rem, 4vw, 4rem);

    bottom: 0;

    width: min(24rem, 33vw);

    padding:
        1.1rem
        1.35rem
        1.2rem;

    color: var(--somago-navy);

    background:
        rgb(245 241 232 / 98%);

    border: 0;

    box-shadow:
        0 -1rem 2rem
        rgb(3 25 42 / 9%);
}


/* ==========================================================
   11. DESKTOP LARGE

   On donne encore un peu plus d'air au sujet.
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        inset:
            -2rem
            -5rem
            -2.5rem
            -6.5rem;
    }

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        width: 98%;

        height: 98%;

        right: 0.25rem;

        bottom: 0;

        object-position:
            right bottom;
    }
}


/* ==========================================================
   12. TABLETTE
   ========================================================== */

@media (max-width: 76rem) {

    .somago-home .somago-hero-grid {

        grid-template-columns:
            minmax(0, 1fr)
            minmax(20rem, 0.88fr);

        gap: 1.5rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        inset:
            -1rem
            -2rem
            -2rem
            -2.5rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        width: 100%;
        height: 100%;

        object-position:
            center bottom;
    }
}


/* ==========================================================
   13. MOBILE / TABLETTE PORTRAIT
   ========================================================== */

@media (max-width: 58rem) {

    .somago-home .somago-hero-grid {

        grid-template-columns: 1fr;

        gap: 2rem;
    }


    .somago-home
    .somago-hero-visual.somago-hero-maternal {

        min-height: 31rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        inset:
            0
            -1rem
            -1.5rem
            -1rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        width: 100%;
        height: 100%;

        object-position:
            center bottom;
    }


    /*
       Sur petit écran, le fondu horizontal devient
       plus discret.
    */
    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::after {

        background:

            linear-gradient(
                180deg,
                var(--somago-navy) 0%,
                rgb(16 42 67 / 30%) 7%,
                transparent 17%
            ),

            linear-gradient(
                0deg,
                rgb(16 42 67 / 35%) 0%,
                transparent 16%
            );
    }


    .somago-home .somago-clinical-note {

        position: relative;

        right: auto;
        bottom: auto;

        width: min(100%, 31rem);

        margin:
            -1.75rem
            auto
            0;
    }
}


/* ==========================================================
   14. MOBILE
   ========================================================== */

@media (max-width: 42rem) {

    .somago-home
    .somago-hero-visual.somago-hero-maternal {

        min-height: 25rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-visual-label {

        top: 0.8rem;
        right: 0.8rem;

        font-size: 0.49rem;
    }
}


/* ==========================================================
   15. ACCESSIBILITE
   ========================================================== */

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

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        transition: none !important;
    }
}

/* ==========================================================
   SOMAGO_HERO_MASTER_V1_20260812

   HERO institutionnel définitif
   - décor photo fusionné au hero
   - aucune limite rectangulaire perceptible
   - foulard entièrement visible
   - sujet humain non recadré
   - fond photographique harmonisé avec #102a43
   ========================================================== */


/* ----------------------------------------------------------
   1. HERO
   ---------------------------------------------------------- */

.somago-home .somago-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(
            90deg,
            #102a43 0%,
            #102a43 43%,
            #10334c 62%,
            #11455f 100%
        );
}


/* liaison très douce entre les deux univers */

.somago-home .somago-hero::after {
    position: absolute;
    z-index: 1;
    inset: 0;
    content: "";
    pointer-events: none;

    background:
        radial-gradient(
            ellipse at 77% 48%,
            rgb(23 107 135 / 20%) 0%,
            rgb(16 42 67 / 8%) 42%,
            transparent 68%
        );
}


/* ----------------------------------------------------------
   2. GRID
   ---------------------------------------------------------- */

.somago-home .somago-hero-grid {
    position: relative;
    z-index: 2;

    grid-template-columns:
        minmax(0, 0.92fr)
        minmax(0, 1.08fr);

    gap: clamp(1rem, 2vw, 2rem);

    align-items: stretch;
}


.somago-home .somago-hero-copy {
    position: relative;
    z-index: 10;
    align-self: center;
}


/* ----------------------------------------------------------
   3. ZONE MATERNELLE
   ---------------------------------------------------------- */

.somago-home
.somago-hero-visual.somago-hero-maternal {
    position: relative;

    min-height: 41rem;

    margin: 0;

    align-self: stretch;

    overflow: visible;

    isolation: isolate;
}


/* ----------------------------------------------------------
   4. PANNEAU INVISIBLE

   Il sert uniquement de zone de composition.
   Plus aucun fond rectangulaire propre.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel {

    position: absolute;

    /*
       Le DECOR monte sous la navigation,
       mais la photo elle-même sera repositionnée plus bas.
    */
    inset:
        -7.4rem
        -5rem
        -2.5rem
        -7rem;

    overflow: visible;

    border: 0;
    border-radius: 0;

    background: transparent;

    box-shadow: none;
}


/* ----------------------------------------------------------
   5. PHOTO

   Le ratio 3:2 natif est conservé.
   On redescend volontairement le fichier complet :
   le foulard ne rencontre plus la limite du hero.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo {

    position: absolute;
    z-index: 3;

    /*
       C'EST LA CORRECTION PRINCIPALE.

       Le panneau reste haut,
       mais le sujet redescend dans le panneau.
    */
    top: 3.35rem;

    right: -1.35rem;

    bottom: auto;
    left: auto;

    /*
       Ratio natif 1536 / 1024 conservé.
    */
    height: calc(100% - 1.4rem);
    width: auto;

    max-width: none;

    object-fit: initial;
    object-position: initial;

    transform: none;

    filter:
        brightness(0.88)
        saturate(0.86)
        contrast(1.03);
}


/* ----------------------------------------------------------
   6. GRAND FONDU DE GAUCHE

   La photographie ne doit plus avoir de "début".
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::after {

    position: absolute;
    z-index: 6;

    inset:
        -1rem
        -1rem
        -1rem
        -1rem;

    content: "";
    pointer-events: none;

    background:

        /*
           Bleu SOMAGO → photo
        */
        linear-gradient(
            90deg,

            #102a43 0%,
            #102a43 12%,

            rgb(16 42 67 / 98%) 19%,
            rgb(16 42 67 / 88%) 26%,
            rgb(16 42 67 / 67%) 34%,
            rgb(16 42 67 / 40%) 41%,
            rgb(16 42 67 / 18%) 48%,
            rgb(16 42 67 / 5%) 54%,

            transparent 61%
        ),

        /*
           Harmonisation du haut.
           Contrairement aux anciens essais,
           elle porte sur l'environnement,
           pas sur le visage.
        */
        linear-gradient(
            180deg,

            rgb(16 42 67 / 55%) 0%,
            rgb(16 42 67 / 26%) 5%,
            rgb(16 42 67 / 7%) 11%,
            transparent 18%
        ),

        /*
           Bas du hero.
        */
        linear-gradient(
            0deg,

            rgb(16 42 67 / 34%) 0%,
            rgb(16 42 67 / 10%) 6%,
            transparent 15%
        );
}


/* ----------------------------------------------------------
   7. ATMOSPHERE CYAN

   Le cyan devient une lumière,
   plus un rectangle photographique.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::before {

    position: absolute;

    z-index: 2;

    width: 42rem;
    height: 37rem;

    top: 5rem;
    right: -2rem;

    content: "";

    pointer-events: none;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse,
            rgb(33 135 165 / 22%) 0%,
            rgb(23 107 135 / 13%) 37%,
            rgb(16 42 67 / 4%) 59%,
            transparent 74%
        );

    filter: blur(1.7rem);
}


/* ----------------------------------------------------------
   8. ORBITES
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-visual-orbit {

    z-index: 7;

    opacity: 0.31;

    border-color:
        rgb(225 247 250 / 30%);
}


/* ----------------------------------------------------------
   9. ETIQUETTE
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-visual-label {

    display: block;

    z-index: 9;

    top: 2.25rem;
    right: 1.8rem;

    padding:
        0.48rem
        0.72rem;

    color: #fff;

    border:
        1px solid
        rgb(255 255 255 / 24%);

    background:
        rgb(7 28 44 / 38%);

    -webkit-backdrop-filter: blur(9px);
    backdrop-filter: blur(9px);

    font-size: 0.57rem;
    font-weight: 800;
    letter-spacing: 0.11em;
}


/* ----------------------------------------------------------
   10. LEGENDE BASSE
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
figcaption {

    display: flex;

    z-index: 8;

    inset:
        auto
        1.2rem
        1.2rem
        1.2rem;

    justify-content: space-between;

    color:
        rgb(235 247 250 / 54%);

    font-size: 0.52rem;

    letter-spacing: 0.10em;

    text-transform: uppercase;
}


/* ----------------------------------------------------------
   11. NOTE INSTITUTIONNELLE
   ---------------------------------------------------------- */

.somago-home .somago-clinical-note {

    display: block;

    position: absolute;

    z-index: 15;

    right:
        clamp(1.75rem, 4vw, 4.5rem);

    /*
       Elle remonte légèrement.
       Elle ne doit plus être coupée.
    */
    bottom: 1rem;

    width:
        min(23rem, 31vw);

    padding:
        1.1rem
        1.35rem
        1.2rem;

    color: var(--somago-navy);

    background:
        rgb(245 241 232 / 98%);

    border: 0;

    box-shadow:
        0 1rem 3rem
        rgb(3 25 42 / 14%);
}


/* ----------------------------------------------------------
   12. DESKTOP LARGE
   ---------------------------------------------------------- */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        inset:
            -7.4rem
            -5.5rem
            -2.5rem
            -7.5rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        /*
           Environ 50px d'air récupéré
           au-dessus du foulard par rapport à l'essai précédent.
        */
        top: 3.65rem;

        right: -1.55rem;

        height: calc(100% - 1.75rem);

        width: auto;
    }
}


/* ----------------------------------------------------------
   13. TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 76rem) {

    .somago-home .somago-hero-grid {

        grid-template-columns:
            minmax(0, 1fr)
            minmax(20rem, 0.9fr);

        gap: 1.35rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        inset:
            -5rem
            -2.5rem
            -2rem
            -3rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        top: 2.8rem;

        right: -0.8rem;

        height: calc(100% - 1rem);

        width: auto;
    }
}


/* ----------------------------------------------------------
   14. MOBILE / TABLETTE PORTRAIT
   ---------------------------------------------------------- */

@media (max-width: 58rem) {

    .somago-home .somago-hero-grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }


    .somago-home
    .somago-hero-visual.somago-hero-maternal {

        min-height: 31rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        inset:
            0
            -1rem
            -1.25rem
            -1rem;

        overflow: hidden;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        top: 0.75rem;

        right: 50%;

        height: calc(100% - 0.75rem);

        width: auto;

        transform:
            translateX(50%);
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::after {

        background:

            linear-gradient(
                180deg,
                rgb(16 42 67 / 24%) 0%,
                transparent 14%
            ),

            linear-gradient(
                0deg,
                rgb(16 42 67 / 30%) 0%,
                transparent 15%
            );
    }


    .somago-home .somago-clinical-note {

        position: relative;

        right: auto;
        bottom: auto;

        width:
            min(100%, 31rem);

        margin:
            -1.25rem
            auto
            0;
    }
}


/* ----------------------------------------------------------
   15. MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-home
    .somago-hero-visual.somago-hero-maternal {

        min-height: 25rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-visual-label {

        top: 0.85rem;
        right: 0.85rem;

        font-size: 0.49rem;
    }
}


/* ==========================================================
   SOMAGO_HERO_MASTER_FINISH_V1_20260812

   Finition visuelle premium :
   - aucune bordure supérieure de photographie
   - aucune bordure droite de photographie
   - aucune rupture verticale dans la fusion
   - aucun texte technique sur l'image
   - photographie perçue comme partie intégrante du hero
   ========================================================== */


/* ----------------------------------------------------------
   1. SUPPRESSION DES TEXTES TECHNIQUES DU VISUEL
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-visual-label,

.somago-home
.somago-hero-maternal
figcaption {

    display: none !important;
}


/* ----------------------------------------------------------
   2. LE PANNEAU DOIT DEPASSER LARGEMENT LES LIMITES
      VISIBLES DU HERO

   Cela élimine toute possibilité de lire :
   - un bord supérieur
   - un bord droit
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel {

    top: -10rem;

    right: -10rem;

    bottom: -4rem;

    left: -10rem;

    overflow: visible;

    border: 0;

    outline: 0;

    border-radius: 0;

    background: transparent;

    box-shadow: none;
}


/* ----------------------------------------------------------
   3. PHOTO

   Elle dépasse elle aussi à droite.
   Le bord du bitmap sort complètement de la zone visible.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo {

    top: 6rem;

    right: -5.5rem;

    height: calc(100% - 0.5rem);

    width: auto;

    max-width: none;

    border: 0;

    outline: 0;

    box-shadow: none;
}


/* ----------------------------------------------------------
   4. FUSION HORIZONTALE CONTINUE

   Le masque démarre BIEN AVANT la photographie.
   Les anciens petits traits/ruptures deviennent invisibles.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::after {

    position: absolute;

    z-index: 6;

    /*
       Très important :
       la couche déborde de tous côtés.
    */
    top: -4rem;
    right: -4rem;
    bottom: -4rem;
    left: -4rem;

    content: "";

    pointer-events: none;

    background:

        /* FUSION GAUCHE PRINCIPALE */
        linear-gradient(
            90deg,

            #102a43 0%,
            #102a43 18%,

            rgb(16 42 67 / 100%) 24%,
            rgb(16 42 67 / 96%) 29%,
            rgb(16 42 67 / 87%) 34%,
            rgb(16 42 67 / 70%) 39%,
            rgb(16 42 67 / 48%) 44%,
            rgb(16 42 67 / 27%) 49%,
            rgb(16 42 67 / 12%) 54%,
            rgb(16 42 67 / 4%) 59%,

            transparent 65%
        ),

        /* HAUT : disparition de la ligne horizontale */
        linear-gradient(
            180deg,

            #102a43 0%,
            rgb(16 42 67 / 98%) 5%,
            rgb(16 42 67 / 80%) 9%,
            rgb(16 42 67 / 48%) 13%,
            rgb(16 42 67 / 20%) 17%,
            rgb(16 42 67 / 5%) 21%,

            transparent 27%
        ),

        /* DROITE : bord du bitmap absorbé */
        linear-gradient(
            270deg,

            #10344d 0%,
            rgb(16 52 77 / 88%) 4%,
            rgb(16 52 77 / 46%) 8%,
            rgb(16 52 77 / 13%) 12%,

            transparent 18%
        ),

        /* BAS */
        linear-gradient(
            0deg,

            rgb(16 42 67 / 34%) 0%,
            rgb(16 42 67 / 15%) 7%,
            rgb(16 42 67 / 3%) 12%,

            transparent 18%
        );
}


/* ----------------------------------------------------------
   5. HALO GLOBAL

   Le cyan de la photographie devient une variation
   du même univers chromatique que le hero.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::before {

    position: absolute;

    z-index: 2;

    top: 4rem;

    right: -3rem;

    width: 48rem;

    height: 44rem;

    content: "";

    pointer-events: none;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse at center,

            rgb(25 112 140 / 24%) 0%,
            rgb(20 88 113 / 18%) 32%,
            rgb(16 60 84 / 10%) 50%,
            rgb(16 42 67 / 3%) 65%,

            transparent 76%
        );

    filter: blur(2rem);
}


/* ----------------------------------------------------------
   6. HERO : MASQUER UNIQUEMENT CE QUI SORT DU SITE

   Le hero devient la seule vraie limite,
   pas la photographie.
   ---------------------------------------------------------- */

.somago-home .somago-hero {

    overflow: hidden;

    background:
        linear-gradient(
            90deg,

            #102a43 0%,
            #102a43 45%,
            #10334d 62%,
            #10445d 78%,
            #10445d 100%
        );
}


/* ----------------------------------------------------------
   7. EVITER LES MICRO-COUTURES DU GPU/SUBPIXEL
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal,
.somago-home
.somago-hero-photo-panel,
.somago-home
.somago-hero-photo-panel::before,
.somago-home
.somago-hero-photo-panel::after {

    backface-visibility: hidden;

    -webkit-backface-visibility: hidden;
}


/* ----------------------------------------------------------
   8. GRAND DESKTOP
   ---------------------------------------------------------- */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        /*
           Foulard conservé entièrement :
           on ne remonte PAS davantage le sujet.
        */
        top: 6.2rem;

        right: -5.75rem;

        height: calc(100% - 0.65rem);
    }
}


/* ----------------------------------------------------------
   9. MOBILE/TABLETTE

   Les règles desktop de débordement ne doivent pas
   dégrader la composition verticale.
   ---------------------------------------------------------- */

@media (max-width: 58rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        top: 0;

        right: -1rem;

        bottom: -1.25rem;

        left: -1rem;

        overflow: hidden;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        top: 0.75rem;

        right: 50%;

        height: calc(100% - 0.75rem);

        transform: translateX(50%);
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::after {

        inset: -1rem;

        background:

            linear-gradient(
                180deg,
                rgb(16 42 67 / 22%) 0%,
                transparent 16%
            ),

            linear-gradient(
                0deg,
                rgb(16 42 67 / 26%) 0%,
                transparent 17%
            );
    }
}


/* ==========================================================
   SOMAGO_HERO_BALANCE_FIX_V1_20260812

   Correction après contrôle visuel :
   - recentrage du couple mère/enfant
   - suppression optique du bord supérieur du bitmap
   - foulard non recadré
   - aucun déplacement supplémentaire vers le bord droit
   ========================================================== */


/* ----------------------------------------------------------
   1. RECENTRAGE DE LA PHOTO

   La femme était devenue trop collée au bord droit.
   On la ramène dans la composition sans changer son échelle.
   ---------------------------------------------------------- */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        top: 6.2rem;

        /*
           Avant : environ -5.75rem.
           On ramène la scène vers le centre.
        */
        right: -1.6rem;

        height: calc(100% - 0.65rem);

        width: auto;

        max-width: none;
    }
}


/* ----------------------------------------------------------
   2. LA ZONE VISUELLE RESTE PLUS LARGE QUE LA PHOTO

   Le bord droit du panneau n'est jamais perceptible.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel {

    right: -7rem;

    border: 0;
    outline: 0;
    box-shadow: none;

    background: transparent;
}


/* ----------------------------------------------------------
   3. SUPPRESSION OPTIQUE DE LA COUTURE SUPERIEURE

   IMPORTANT :
   on ne remonte PAS la photo, car le foulard touche
   presque le haut du fichier source.

   On fond uniquement la zone de background du bitmap
   avec le bleu du hero.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::after {

    z-index: 7;

    top: -4rem;
    right: -4rem;
    bottom: -4rem;
    left: -4rem;

    background:

        /* entrée gauche de la photographie */
        linear-gradient(
            90deg,

            #102a43 0%,
            #102a43 20%,

            rgb(16 42 67 / 98%) 27%,
            rgb(16 42 67 / 88%) 34%,
            rgb(16 42 67 / 68%) 41%,
            rgb(16 42 67 / 43%) 48%,
            rgb(16 42 67 / 20%) 55%,
            rgb(16 42 67 / 7%) 61%,

            transparent 68%
        ),

        /*
           Réparation spécifique du bord haut.

           Le voile est fort à gauche/centre,
           puis disparaît avant la zone du foulard.
        */
        linear-gradient(
            180deg,

            rgb(16 42 67 / 76%) 0%,
            rgb(16 42 67 / 48%) 4%,
            rgb(16 42 67 / 23%) 8%,
            rgb(16 42 67 / 8%) 12%,

            transparent 18%
        ),

        /*
           Fusion supplémentaire uniquement dans
           le coin supérieur gauche/central de la photo.
           Le côté droit reste clair pour ne pas voiler
           le visage ni le foulard.
        */
        radial-gradient(
            ellipse at 43% 5%,

            rgb(16 42 67 / 88%) 0%,
            rgb(16 42 67 / 61%) 22%,
            rgb(16 42 67 / 26%) 43%,
            rgb(16 42 67 / 7%) 58%,

            transparent 72%
        ),

        /* bas du hero */
        linear-gradient(
            0deg,

            rgb(16 42 67 / 29%) 0%,
            rgb(16 42 67 / 10%) 7%,

            transparent 15%
        );
}


/* ----------------------------------------------------------
   4. HARMONISATION DU CYAN

   Le cyan reste vivant autour de la femme,
   mais sa périphérie rejoint le bleu SOMAGO.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::before {

    top: 5rem;

    right: 0;

    width: 46rem;
    height: 40rem;

    background:
        radial-gradient(
            ellipse at 62% 48%,

            rgb(32 132 159 / 20%) 0%,
            rgb(23 107 135 / 15%) 32%,
            rgb(17 73 98 / 8%) 52%,

            transparent 70%
        );

    filter: blur(1.8rem);
}


/* ----------------------------------------------------------
   5. TEXTES TECHNIQUES DEFINITIVEMENT MASQUES
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-visual-label,

.somago-home
.somago-hero-maternal
figcaption {

    display: none !important;
}


/* ----------------------------------------------------------
   6. NOTE INSTITUTIONNELLE

   Elle reste indépendante de la photo.
   ---------------------------------------------------------- */

.somago-home
.somago-clinical-note {

    right: clamp(2rem, 5vw, 5.5rem);

    bottom: 1rem;
}


/* ----------------------------------------------------------
   7. TABLETTE : ne pas appliquer le déplacement desktop
   ---------------------------------------------------------- */

@media (max-width: 76rem) and (min-width: 58.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        right: -0.8rem;
    }
}


/* ==========================================================
   SOMAGO_HERO_BACKGROUND_LAYOUT_V1_20260812

   Objectif :
   - photo intégrée au hero comme une scène de fond
   - aucune limite de panneau
   - aucune ligne visible en haut / droite / gauche
   - sujet totalement visible
   - texte indépendant et parfaitement lisible
   ========================================================== */


/* ----------------------------------------------------------
   1. HERO = CONTENEUR UNIQUE
   ---------------------------------------------------------- */

.somago-home .somago-hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    background:
        linear-gradient(
            90deg,
            #102a43 0%,
            #102a43 39%,
            #10334d 56%,
            #0f4968 73%,
            #0f5a78 100%
        );
}


/* ----------------------------------------------------------
   2. GRID : TEXTE A GAUCHE / PHOTO EN COUCHE
   ---------------------------------------------------------- */

.somago-home .somago-hero-grid {
    position: relative;
    z-index: 2;

    display: grid;

    grid-template-columns:
        minmax(0, 0.92fr)
        minmax(0, 1.08fr);

    align-items: stretch;

    gap: 0;

    min-height: 45rem;
}


/* ----------------------------------------------------------
   3. TEXTE
   ---------------------------------------------------------- */

.somago-home .somago-hero-copy {
    position: relative;
    z-index: 20;

    align-self: center;

    padding-right:
        clamp(1rem, 3vw, 3rem);
}


/* ----------------------------------------------------------
   4. VISUEL MATERNEL :
      IL N'EST PLUS UNE "CARTE"
   ---------------------------------------------------------- */

.somago-home
.somago-hero-visual.somago-hero-maternal {

    position: static;

    min-height: 0;

    margin: 0;

    overflow: visible;
}


/* ----------------------------------------------------------
   5. PANNEAU PHOTO = COUCHE ABSOLUE DU HERO

   On le fait dépasser complètement de la grille.
   Il ne possède plus aucune frontière propre.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel {

    position: absolute;

    z-index: 1;

    /*
       Zone visuelle couvrant toute la partie droite
       et débordant du hero pour cacher tout bord du bitmap.
    */
    top: 0;
    right: -3rem;
    bottom: 0;

    left: 39%;

    overflow: hidden;

    border: 0;
    outline: 0;
    border-radius: 0;

    background: transparent;

    box-shadow: none;
}


/* ----------------------------------------------------------
   6. PHOTO = VRAI BACKGROUND VISUEL

   Elle remplit verticalement le hero,
   sans bord visible.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo {

    position: absolute;

    z-index: 2;

    top: 0;
    right: 0;
    bottom: 0;
    left: auto;

    width: auto;

    /*
       Photo un peu plus haute que le hero.
       Ainsi aucun bord haut ou bas n'est perceptible.
    */
    height: 104%;

    max-width: none;

    object-fit: initial;

    transform: none;

    /*
       Recentrage global vers la droite,
       tout en gardant le foulard entier.
    */
    translate: 0 -2%;

    filter:
        brightness(0.93)
        saturate(0.93)
        contrast(1.025);
}


/* ----------------------------------------------------------
   7. GRAND FONDU GAUCHE

   C'est lui qui crée l'effet "photo dans l'environnement".
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::after {

    position: absolute;

    z-index: 5;

    inset: -2rem;

    content: "";

    pointer-events: none;

    background:

        linear-gradient(
            90deg,

            #102a43 0%,
            #102a43 7%,

            rgb(16 42 67 / 98%) 14%,
            rgb(16 42 67 / 92%) 22%,
            rgb(16 42 67 / 78%) 30%,
            rgb(16 42 67 / 58%) 38%,
            rgb(16 42 67 / 35%) 46%,
            rgb(16 42 67 / 16%) 53%,
            rgb(16 42 67 / 5%) 59%,

            transparent 66%
        ),

        linear-gradient(
            180deg,

            rgb(16 42 67 / 13%) 0%,
            transparent 12%,
            transparent 88%,
            rgb(16 42 67 / 14%) 100%
        );
}


/* ----------------------------------------------------------
   8. AMBIANCE CYAN

   Le cyan est conservé comme lumière,
   mais pas comme rectangle autonome.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::before {

    position: absolute;

    z-index: 1;

    top: 10%;
    right: 4%;

    width: 44rem;
    height: 42rem;

    content: "";

    pointer-events: none;

    border-radius: 50%;

    background:
        radial-gradient(
            ellipse at center,

            rgb(33 141 170 / 19%) 0%,
            rgb(23 107 135 / 13%) 37%,
            rgb(16 71 96 / 6%) 55%,

            transparent 72%
        );

    filter: blur(2rem);
}


/* ----------------------------------------------------------
   9. PLUS AUCUN TEXTE TECHNIQUE SUR LA PHOTO
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-visual-label,

.somago-home
.somago-hero-maternal
figcaption {

    display: none !important;
}


/* ----------------------------------------------------------
   10. NOTE INSTITUTIONNELLE
   ---------------------------------------------------------- */

.somago-home .somago-clinical-note {

    position: absolute;

    z-index: 25;

    right:
        clamp(2rem, 5vw, 5.5rem);

    bottom: 0;

    width:
        min(23rem, 30vw);

    padding:
        1.15rem
        1.35rem
        1.25rem;

    color: var(--somago-navy);

    background:
        rgb(245 241 232 / 98%);

    border: 0;

    box-shadow:
        0 -0.4rem 1.6rem
        rgb(3 25 42 / 9%);
}


/* ----------------------------------------------------------
   11. DESKTOP LARGE
   ---------------------------------------------------------- */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        left: 38%;

        right: -4rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        height: 106%;

        right: 0;

        translate: 0 -3%;
    }
}


/* ----------------------------------------------------------
   12. TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 76rem) {

    .somago-home .somago-hero-grid {

        grid-template-columns:
            minmax(0, 1fr)
            minmax(20rem, 0.9fr);
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        left: 43%;

        right: -2rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        height: 103%;
    }
}


/* ----------------------------------------------------------
   13. MOBILE / TABLETTE PORTRAIT
   ---------------------------------------------------------- */

@media (max-width: 58rem) {

    .somago-home .somago-hero-grid {

        grid-template-columns: 1fr;

        min-height: auto;
    }


    .somago-home
    .somago-hero-visual.somago-hero-maternal {

        position: relative;

        min-height: 31rem;

        margin-top: 1.5rem;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        position: absolute;

        inset:
            0
            -1rem
            0
            -1rem;

        overflow: hidden;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        top: 0;

        right: 50%;

        height: 100%;

        width: auto;

        translate: 50% 0;

        transform: none;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::after {

        inset: 0;

        background:

            linear-gradient(
                180deg,
                rgb(16 42 67 / 16%) 0%,
                transparent 15%
            ),

            linear-gradient(
                0deg,
                rgb(16 42 67 / 24%) 0%,
                transparent 17%
            );
    }


    .somago-home .somago-clinical-note {

        position: relative;

        right: auto;
        bottom: auto;

        width:
            min(100%, 31rem);

        margin:
            -1rem
            auto
            0;
    }
}


/* ----------------------------------------------------------
   14. MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-home
    .somago-hero-visual.somago-hero-maternal {

        min-height: 25rem;
    }
}


/* ==========================================================
   SOMAGO_HERO_RIGHT_SEAM_FINAL_V1_20260812

   Dernière finition desktop :
   - aucune modification de taille
   - aucune modification de position
   - aucune modification du cadrage
   - disparition progressive du bord physique droit du bitmap
   ========================================================== */

@media (min-width: 58.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        /*
         * IMPORTANT :
         * aucune propriété géométrique ici.
         *
         * Les 96 premiers % de l'image restent strictement
         * identiques.
         *
         * Seuls les ~4 derniers % deviennent progressivement
         * transparents pour révéler naturellement le fond
         * du hero derrière eux.
         */

        -webkit-mask-image:
            linear-gradient(
                90deg,
                #000 0%,
                #000 95.8%,
                rgb(0 0 0 / 96%) 96.4%,
                rgb(0 0 0 / 82%) 97.2%,
                rgb(0 0 0 / 55%) 98.1%,
                rgb(0 0 0 / 24%) 99%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                90deg,
                #000 0%,
                #000 95.8%,
                rgb(0 0 0 / 96%) 96.4%,
                rgb(0 0 0 / 82%) 97.2%,
                rgb(0 0 0 / 55%) 98.1%,
                rgb(0 0 0 / 24%) 99%,
                transparent 100%
            );

        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;

        -webkit-mask-size: 100% 100%;
        mask-size: 100% 100%;
    }
}


/*
 * Sécurisation :
 * aucune ancienne bordure ou ombre ne doit réintroduire
 * une limite sur le panneau.
 */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel {

    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}


/*
 * Mobile :
 * on conserve exactement la composition actuelle.
 */

@media (max-width: 58rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        -webkit-mask-image: none;
        mask-image: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_RIGHT_COLOR_BLEND_V1_20260813

   Micro-finition :
   - position de la photo INCHANGÉE
   - dimensions INCHANGÉES
   - foulard INCHANGÉ
   - mère / bébé INCHANGÉS
   - neutralisation uniquement du cyan trop clair à droite
   ========================================================== */

@media (min-width: 58.01rem) {

    /*
     * On utilise le panneau existant.
     * Aucune géométrie de la photographie n'est modifiée.
     */

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::after {

        /*
         * On conserve cette couche au-dessus du décor.
         * Le gradient agit principalement dans les derniers
         * pixels à droite.
         */

        background:

            /* ------------------------------------------------
               1. FONDU GAUCHE EXISTANT / CONTINUITÉ
               ------------------------------------------------ */
            linear-gradient(
                90deg,

                #102a43 0%,
                rgb(16 42 67 / 100%) 18%,
                rgb(16 42 67 / 94%) 27%,
                rgb(16 42 67 / 72%) 36%,
                rgb(16 42 67 / 45%) 45%,
                rgb(16 42 67 / 18%) 54%,
                transparent 63%
            ),

            /* ------------------------------------------------
               2. NOUVEAU :
               absorption du cyan de l'extrême droite

               Quasiment aucune action jusqu'à ~82%.
               Le bleu SOMAGO monte ensuite progressivement.
               ------------------------------------------------ */
            linear-gradient(
                270deg,

                rgb(16 42 67 / 92%) 0%,
                rgb(16 42 67 / 82%) 2.5%,
                rgb(16 42 67 / 62%) 5%,
                rgb(16 42 67 / 40%) 8%,
                rgb(16 42 67 / 21%) 11%,
                rgb(16 42 67 / 8%) 14%,

                transparent 18%
            ),

            /* ------------------------------------------------
               3. léger fondu inférieur conservé
               ------------------------------------------------ */
            linear-gradient(
                0deg,

                rgb(16 42 67 / 28%) 0%,
                rgb(16 42 67 / 9%) 7%,

                transparent 15%
            );
    }


    /*
     * Petit halo supplémentaire sur le bord droit.
     * Il empêche un changement de couleur trop linéaire.
     */

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::before {

        background:
            radial-gradient(
                ellipse at 76% 48%,

                rgb(18 84 108 / 11%) 0%,
                rgb(16 67 91 / 10%) 38%,
                rgb(16 48 70 / 7%) 58%,

                transparent 74%
            );
    }
}


/* Mobile : aucune intervention supplémentaire. */
@media (max-width: 58rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::before {

        background: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_RIGHT_TONE_UNIFY_V1_20260813

   Objectif :
   - supprimer l'effet "deux tons"
   - conserver exactement la photo et son cadrage
   - harmoniser le dernier tiers droit du hero
   ========================================================== */


/* ----------------------------------------------------------
   1. Le fond global du hero accompagne désormais
      progressivement la couleur de la photographie.
   ---------------------------------------------------------- */

.somago-home .somago-hero {

    background:
        linear-gradient(
            90deg,

            #102a43 0%,
            #102a43 48%,

            #103149 58%,
            #103a54 68%,
            #10445e 78%,
            #104d67 88%,
            #10546e 100%
        );
}


/* ----------------------------------------------------------
   2. Le bord droit n'est plus assombri brutalement.
      Il se fond sur une zone beaucoup plus large.
   ---------------------------------------------------------- */

@media (min-width: 58.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::after {

        background:

            /* FONDU GAUCHE — conservé doux */
            linear-gradient(
                90deg,

                #102a43 0%,
                rgb(16 42 67 / 100%) 20%,
                rgb(16 42 67 / 92%) 29%,
                rgb(16 42 67 / 72%) 38%,
                rgb(16 42 67 / 45%) 47%,
                rgb(16 42 67 / 20%) 56%,

                transparent 66%
            ),

            /* DROITE — transition longue et uniforme */
            linear-gradient(
                270deg,

                rgb(16 84 110 / 72%) 0%,
                rgb(16 80 105 / 58%) 5%,
                rgb(16 74 99 / 43%) 10%,
                rgb(16 68 93 / 28%) 15%,
                rgb(16 62 87 / 15%) 20%,
                rgb(16 57 82 / 6%) 25%,

                transparent 31%
            ),

            /* BAS — discret */
            linear-gradient(
                0deg,

                rgb(16 42 67 / 22%) 0%,
                rgb(16 42 67 / 8%) 7%,

                transparent 15%
            );
    }


    /* ------------------------------------------------------
       3. Halo droit plus large.
       Il "mélange" les deux univers au lieu de créer
       une séparation.
       ------------------------------------------------------ */

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::before {

        top: 3rem;
        right: -6rem;

        width: 56rem;
        height: 46rem;

        background:
            radial-gradient(
                ellipse at 72% 48%,

                rgb(20 112 140 / 17%) 0%,
                rgb(18 94 120 / 15%) 30%,
                rgb(16 77 103 / 11%) 46%,
                rgb(16 61 86 / 7%) 60%,
                rgb(16 48 70 / 3%) 72%,

                transparent 82%
            );

        filter: blur(2.4rem);
    }
}


/* ----------------------------------------------------------
   4. On conserve le masque de disparition du bord physique.
   ---------------------------------------------------------- */

@media (min-width: 58.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        -webkit-mask-image:
            linear-gradient(
                90deg,
                #000 0%,
                #000 94.5%,
                rgb(0 0 0 / 96%) 95.5%,
                rgb(0 0 0 / 82%) 96.8%,
                rgb(0 0 0 / 56%) 98%,
                rgb(0 0 0 / 26%) 99%,
                transparent 100%
            );

        mask-image:
            linear-gradient(
                90deg,
                #000 0%,
                #000 94.5%,
                rgb(0 0 0 / 96%) 95.5%,
                rgb(0 0 0 / 82%) 96.8%,
                rgb(0 0 0 / 56%) 98%,
                rgb(0 0 0 / 26%) 99%,
                transparent 100%
            );
    }
}


/* ----------------------------------------------------------
   5. MOBILE
   On ne touche pas à la composition mobile.
   ---------------------------------------------------------- */

@media (max-width: 58rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        -webkit-mask-image: none;
        mask-image: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_FINAL_100_V1_20260813

   Dernière finition validée visuellement :
   - retrait du texte topbar gauche
   - assombrissement léger du bord droit du hero
   - photographie STRICTEMENT inchangée
   - cadrage STRICTEMENT inchangé
   ========================================================== */


/* ----------------------------------------------------------
   1. TOPBAR

   Suppression :
   "SOCIÉTÉ SAVANTE MÉDICALE • RÉPUBLIQUE DU MALI"

   Les accès Espace scientifique / Services au public /
   FR / EN sont conservés.
   ---------------------------------------------------------- */

.somago-home
.somago-topbar-inner > p {

    display: none;
}


/*
 * Le bloc droit reste naturellement aligné à droite,
 * même après disparition du texte gauche.
 */

.somago-home
.somago-topbar-meta {

    margin-left: auto;
}


/* ----------------------------------------------------------
   2. HERO

   IMPORTANT :
   on ne touche PAS à la photographie.

   On modifie seulement la couleur du FOND du hero
   sous l'extrême droite.

   Avant : bleu/cyan trop lumineux.
   Après : bleu institutionnel plus profond.
   ---------------------------------------------------------- */

.somago-home .somago-hero {

    background:
        linear-gradient(
            90deg,

            #102a43 0%,
            #102a43 48%,

            #103149 58%,
            #103a52 68%,
            #104057 78%,

            /*
             * La partie droite devient progressivement
             * plus sombre au lieu de devenir cyan clair.
             */
            #103c53 88%,
            #10364d 94%,
            #102f46 100%
        );
}


/* ----------------------------------------------------------
   3. MICRO-HARMONISATION DU BORD DROIT

   Un voile extrêmement léger est ajouté sur le dernier
   morceau du décor uniquement.

   Aucun déplacement.
   Aucun redimensionnement.
   ---------------------------------------------------------- */

@media (min-width: 58.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel::after {

        background:

            /* Fusion gauche actuelle */
            linear-gradient(
                90deg,

                #102a43 0%,
                rgb(16 42 67 / 100%) 20%,
                rgb(16 42 67 / 92%) 29%,
                rgb(16 42 67 / 72%) 38%,
                rgb(16 42 67 / 45%) 47%,
                rgb(16 42 67 / 20%) 56%,

                transparent 66%
            ),

            /*
             * Extrême droite :
             * légèrement plus sombre et beaucoup plus doux.
             */
            linear-gradient(
                270deg,

                rgb(16 47 70 / 78%) 0%,
                rgb(16 52 76 / 62%) 3%,
                rgb(16 58 82 / 43%) 6%,
                rgb(16 64 88 / 24%) 10%,
                rgb(16 69 94 / 10%) 14%,

                transparent 19%
            ),

            /* Bas discret */
            linear-gradient(
                0deg,

                rgb(16 42 67 / 22%) 0%,
                rgb(16 42 67 / 8%) 7%,

                transparent 15%
            );
    }
}


/* ----------------------------------------------------------
   4. GARDE-FOUS

   Ces propriétés rappellent explicitement que la photo
   elle-même n'est pas repositionnée par ce bloc.
   ---------------------------------------------------------- */

.somago-home
.somago-hero-maternal
.somago-hero-photo {

    /*
     * volontairement aucune règle :
     * top
     * right
     * width
     * height
     * transform
     * object-position
     */
}


/* ==========================================================
   SOMAGO_JOOMLA_MENU_NATIVE_V2_20260813
   Dropdown Joomla natif — desktop + mobile
   ========================================================== */


/* ----------------------------------------------------------
   DESKTOP — NIVEAU 1
   ---------------------------------------------------------- */

.somago-primary-nav .somago-nav-level-1 {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: clamp(0.45rem, 0.7vw, 0.9rem);
}

.somago-primary-nav .somago-nav-item {
    position: relative;
}

.somago-primary-nav .somago-nav-link {
    gap: 0.34rem;
}


/* Chevron dessiné en CSS */

.somago-nav-chevron,
.somago-mobile-chevron {
    display: block;

    width: 0.42rem;
    height: 0.42rem;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform:
        translateY(-0.12rem)
        rotate(45deg);

    transition:
        transform 160ms ease;
}

.somago-nav-item.has-children:hover
.somago-nav-chevron,

.somago-nav-item.has-children:focus-within
.somago-nav-chevron,

.somago-nav-item.has-children.is-open
.somago-nav-chevron {

    transform:
        translateY(0.08rem)
        rotate(225deg);
}


/* ----------------------------------------------------------
   DROPDOWN
   ---------------------------------------------------------- */

.somago-primary-nav .somago-submenu {

    position: absolute;

    z-index: 200;

    top: calc(100% + 0.35rem);
    left: 50%;

    display: grid;

    min-width: 15.5rem;

    padding: 0.55rem;

    margin: 0;

    opacity: 0;
    visibility: hidden;

    transform:
        translate(-50%, 0.65rem);

    border:
        1px solid
        rgb(16 42 67 / 10%);

    border-radius: 0.45rem;

    color: var(--somago-navy);

    background:
        rgb(255 255 255 / 98%);

    box-shadow:
        0 1.25rem 3rem
        rgb(7 28 44 / 18%);

    -webkit-backdrop-filter:
        blur(16px);

    backdrop-filter:
        blur(16px);

    transition:
        opacity 150ms ease,
        transform 150ms ease,
        visibility 150ms ease;
}


/*
 * Pont invisible parent → dropdown.
 */

.somago-primary-nav .somago-submenu::before {

    position: absolute;

    right: 0;
    bottom: 100%;
    left: 0;

    height: 0.55rem;

    content: "";
}


/* Ouverture */

.somago-primary-nav
.has-children:hover
> .somago-submenu,

.somago-primary-nav
.has-children:focus-within
> .somago-submenu,

.somago-primary-nav
.has-children.is-open
> .somago-submenu {

    opacity: 1;
    visibility: visible;

    transform:
        translate(-50%, 0);
}


/* Enfants */

.somago-primary-nav
.somago-submenu li {

    display: block;
}

.somago-primary-nav
.somago-submenu li + li {

    border-top:
        1px solid
        rgb(16 42 67 / 8%);
}

.somago-primary-nav
.somago-submenu a {

    display: flex;

    min-height: 2.85rem;

    align-items: center;

    padding:
        0.55rem
        0.8rem;

    border-radius: 0.25rem;

    color:
        #284257 !important;

    font-size:
        0.74rem;

    font-weight:
        700;

    white-space:
        nowrap;

    transition:
        color 140ms ease,
        background-color 140ms ease,
        padding-left 140ms ease;
}

.somago-primary-nav
.somago-submenu a:hover,

.somago-primary-nav
.somago-submenu a:focus-visible {

    padding-left: 1rem;

    color:
        var(--somago-blue) !important;

    background:
        rgb(23 107 135 / 7%);
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

.somago-mobile-submenu {
    width: 100%;
}

.somago-mobile-submenu > summary {

    display: flex;

    width: 100%;
    min-height: 2.75rem;

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

    padding: 0;

    border: 0 !important;

    color:
        var(--somago-navy) !important;

    background:
        transparent !important;

    font-size: 0.8rem;
    font-weight: 700;

    cursor: pointer;

    list-style: none;
}

.somago-mobile-submenu
> summary::-webkit-details-marker {

    display: none;
}

.somago-mobile-submenu[open]
.somago-mobile-chevron {

    transform:
        translateY(0.08rem)
        rotate(225deg);
}

.somago-mobile-submenu > ul {

    padding:
        0.25rem
        0
        0.5rem
        1rem !important;

    margin:
        0
        0
        0.45rem !important;

    border-left:
        2px solid
        rgb(24 166 166 / 30%);
}

.somago-mobile-submenu > ul li {

    border-top: 0 !important;
}

.somago-mobile-submenu > ul a {

    min-height:
        2.35rem !important;

    color:
        #526978 !important;

    font-size:
        0.75rem !important;

    font-weight:
        650 !important;
}

.somago-mobile-parent-link a {

    color:
        var(--somago-blue) !important;

    font-weight:
        750 !important;
}


/* Desktop dropdown inutile quand nav desktop masquée */

@media (max-width: 76rem) {

    .somago-primary-nav .somago-submenu {
        display: none;
    }
}


/* ==========================================================
   SOMAGO_DROPDOWN_PREMIUM_V1_20260813

   Menu déroulant institutionnel premium :
   - grand panneau blanc
   - pointe vers le parent
   - grandes zones cliquables
   - pastilles/icônes graphiques
   - aucune modification des données Joomla
   ========================================================== */


/* ----------------------------------------------------------
   1. PARENT AVEC ENFANTS
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-nav-item.has-children {

    position: relative;
}


.somago-primary-nav
.somago-nav-item.has-children
> .somago-nav-link {

    position: relative;

    padding-inline:
        0.72rem;

    border-radius:
        0.75rem;

    transition:
        color 160ms ease,
        background-color 160ms ease;
}


/* Parent actif au hover / clavier */

.somago-primary-nav
.somago-nav-item.has-children:hover
> .somago-nav-link,

.somago-primary-nav
.somago-nav-item.has-children:focus-within
> .somago-nav-link,

.somago-primary-nav
.somago-nav-item.has-children.is-open
> .somago-nav-link {

    color:
        #fff;

    background:
        rgb(255 255 255 / 12%);
}


/* Header blanc après scroll */

.somago-header.is-scrolled
.somago-primary-nav
.somago-nav-item.has-children:hover
> .somago-nav-link,

.somago-header.is-scrolled
.somago-primary-nav
.somago-nav-item.has-children:focus-within
> .somago-nav-link,

.somago-header.is-scrolled
.somago-primary-nav
.somago-nav-item.has-children.is-open
> .somago-nav-link {

    color:
        var(--somago-navy);

    background:
        rgb(16 42 67 / 7%);
}


/* ----------------------------------------------------------
   2. GRAND PANNEAU
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu {

    position: absolute;

    z-index: 250;

    /*
     * Le panneau démarre légèrement sous le parent.
     */
    top: calc(100% + 1.45rem);

    left: 50%;

    display: grid;

    width:
        clamp(
            18rem,
            26vw,
            25rem
        );

    min-width: 18rem;

    padding:
        1.15rem;

    margin: 0;

    opacity: 0;

    visibility: hidden;

    transform:
        translate(-50%, 0.75rem);

    border:
        1px solid
        rgb(16 42 67 / 8%);

    border-radius:
        1.55rem;

    color:
        var(--somago-navy);

    background:
        rgb(255 255 255 / 99%);

    box-shadow:
        0 1.6rem 4.5rem
        rgb(4 24 39 / 22%);

    -webkit-backdrop-filter:
        blur(20px);

    backdrop-filter:
        blur(20px);

    transition:
        opacity 170ms ease,
        transform 170ms ease,
        visibility 170ms ease;
}


/* ----------------------------------------------------------
   3. PETITE POINTE VERS LE PARENT
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu::after {

    position: absolute;

    top: -0.55rem;
    left: 50%;

    width: 1.1rem;
    height: 1.1rem;

    content: "";

    background:
        #fff;

    border-top:
        1px solid
        rgb(16 42 67 / 8%);

    border-left:
        1px solid
        rgb(16 42 67 / 8%);

    transform:
        translateX(-50%)
        rotate(45deg);
}


/*
 * Pont invisible :
 * empêche le dropdown de se fermer quand
 * la souris descend du parent vers le panneau.
 */

.somago-primary-nav
.somago-submenu::before {

    position: absolute;

    right: 0;
    bottom: 100%;
    left: 0;

    height:
        1.65rem;

    content: "";
}


/* ----------------------------------------------------------
   4. OUVERTURE
   ---------------------------------------------------------- */

.somago-primary-nav
.has-children:hover
> .somago-submenu,

.somago-primary-nav
.has-children:focus-within
> .somago-submenu,

.somago-primary-nav
.has-children.is-open
> .somago-submenu {

    opacity: 1;

    visibility: visible;

    transform:
        translate(-50%, 0);
}


/* ----------------------------------------------------------
   5. ITEMS
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu
li {

    position: relative;

    display: block;

    border: 0 !important;
}


/*
 * Une ligne devient une grande zone cliquable.
 */

.somago-primary-nav
.somago-submenu
a {

    position: relative;

    display: flex;

    min-height:
        4.55rem;

    align-items: center;

    gap:
        1rem;

    padding:
        0.65rem
        0.8rem;

    border-radius:
        1rem;

    color:
        #273548 !important;

    font-size:
        clamp(
            0.82rem,
            0.9vw,
            0.98rem
        );

    font-weight:
        600;

    line-height:
        1.25;

    white-space:
        normal;

    transition:
        color 150ms ease,
        background-color 150ms ease,
        transform 150ms ease;
}


/* ----------------------------------------------------------
   6. PASTILLE AVANT CHAQUE ITEM
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu
a::before {

    display: grid;

    width:
        3.25rem;

    height:
        3.25rem;

    flex:
        0 0 3.25rem;

    place-items:
        center;

    content: "•";

    border:
        1px solid
        rgb(16 42 67 / 5%);

    border-radius:
        50%;

    color:
        #73808f;

    background:
        #f4f6f8;

    font-size:
        1.6rem;

    font-weight:
        300;

    transition:
        color 150ms ease,
        background-color 150ms ease,
        border-color 150ms ease;
}


/*
 * Hover premium.
 */

.somago-primary-nav
.somago-submenu
a:hover,

.somago-primary-nav
.somago-submenu
a:focus-visible {

    padding-left:
        0.8rem;

    color:
        var(--somago-navy) !important;

    background:
        rgb(23 107 135 / 7%);

    transform:
        translateX(0.12rem);
}


.somago-primary-nav
.somago-submenu
a:hover::before,

.somago-primary-nav
.somago-submenu
a:focus-visible::before {

    color:
        var(--somago-blue);

    border-color:
        rgb(23 107 135 / 12%);

    background:
        rgb(23 107 135 / 9%);
}


/* ----------------------------------------------------------
   7. SEPARATION DISCRETE ENTRE ITEMS
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu
li + li {

    margin-top:
        0.16rem;
}


/*
 * Pour les grands menus, une légère ligne peut apparaître
 * avant le dernier élément.
 */

.somago-primary-nav
.somago-submenu
li:last-child {

    margin-top:
        0.65rem;

    padding-top:
        0.65rem;

    border-top:
        1px solid
        rgb(16 42 67 / 8%) !important;
}


/* ----------------------------------------------------------
   8. CHEVRON DU PARENT
   ---------------------------------------------------------- */

.somago-nav-chevron {

    width:
        0.4rem;

    height:
        0.4rem;

    margin-left:
        0.15rem;

    opacity:
        0.8;
}


/* ----------------------------------------------------------
   9. ACTUALITES :
   dropdown avec un seul enfant = plus compact
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu:has(> li:only-child) {

    width:
        clamp(
            17rem,
            21vw,
            20rem
        );

    padding:
        0.75rem;
}


.somago-primary-nav
.somago-submenu:has(> li:only-child)
li:last-child {

    margin-top:
        0;

    padding-top:
        0;

    border-top:
        0 !important;
}


/* ----------------------------------------------------------
   10. ACCESSIBILITE MOUVEMENT
   ---------------------------------------------------------- */

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

    .somago-primary-nav
    .somago-submenu,

    .somago-primary-nav
    .somago-submenu a,

    .somago-primary-nav
    .somago-submenu a::before {

        transition:
            none !important;
    }
}


/* ----------------------------------------------------------
   11. TABLETTE / MOBILE

   Le grand mega-dropdown desktop disparaît.
   Le menu mobile Joomla V2 reste responsable
   de l'affichage des enfants.
   ---------------------------------------------------------- */

@media (max-width: 76rem) {

    .somago-primary-nav
    .somago-submenu {

        display:
            none !important;
    }
}


/* ==========================================================
   SOMAGO_DROPDOWN_COMPACT_V2_20260813
   Réduction forte des dimensions et espaces inutiles
   ========================================================== */

/* panneau global moins massif */
.somago-primary-nav .somago-submenu {
    width: auto;
    min-width: 15rem;
    max-width: 22rem;

    padding: 0.55rem;

    border-radius: 1rem;
}

/* items plus compacts */
.somago-primary-nav .somago-submenu a {
    min-height: 3.35rem;

    gap: 0.75rem;

    padding:
        0.45rem
        0.65rem;

    border-radius: 0.75rem;

    font-size: 0.8rem;
    line-height: 1.2;
}

/* pastille réduite */
.somago-primary-nav .somago-submenu a::before {
    width: 2.35rem;
    height: 2.35rem;

    flex:
        0 0 2.35rem;

    font-size: 1.1rem;
}

/* spacing vertical réduit */
.somago-primary-nav .somago-submenu li + li {
    margin-top: 0.05rem;
}

/* suppression séparation inutile sur petits menus */
.somago-primary-nav .somago-submenu li:last-child {
    margin-top: 0;
    padding-top: 0;

    border-top:
        0 !important;
}

/* cas 1 seul enfant : très compact */
.somago-primary-nav
.somago-submenu:has(> li:only-child) {

    width: 16.5rem;
    min-width: 16.5rem;
    max-width: 16.5rem;

    padding: 0.45rem;
}

.somago-primary-nav
.somago-submenu:has(> li:only-child)
a {

    min-height: 3rem;

    padding:
        0.4rem
        0.55rem;
}

/* pointe plus petite */
.somago-primary-nav
.somago-submenu::after {

    top: -0.4rem;

    width: 0.8rem;
    height: 0.8rem;
}

/* rapproche le dropdown du parent */
.somago-primary-nav
.somago-submenu {

    top:
        calc(100% + 0.9rem);
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_PREMIUM_V1_20260813

   Femme + bébé détourés :
   - aucun rectangle image
   - aucun bord visible
   - décor = Hero SOMAGO lui-même
   - sujet flottant naturellement dans la composition
   ========================================================== */


/* Le conteneur photo cesse complètement d'être un panneau */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel {

    position: absolute;

    inset:
        -6.2rem
        -2.5rem
        -1rem
        -5rem;

    overflow: visible;

    border: 0;
    border-radius: 0;

    background: transparent !important;

    box-shadow: none !important;
}


/*
 * Suppression des anciennes couches qui pouvaient encore
 * révéler les dimensions rectangulaires de la photographie.
 */

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::before,

.somago-home
.somago-hero-maternal
.somago-hero-photo-panel::after {

    display: none !important;
}


/* Femme + bébé uniquement */

.somago-home
.somago-hero-maternal
.somago-hero-photo {

    position: absolute;

    z-index: 3;

    top: 0;
    right: -0.4rem;
    bottom: auto;
    left: auto;

    width: auto;

    /*
     * La hauteur pilote le sujet :
     * foulard entièrement visible et silhouette généreuse.
     */
    height: calc(100% + 1.6rem);

    max-width: none;

    object-fit: contain;

    object-position: center bottom;

    transform: none;
    translate: none;

    /*
     * Aucun masque nécessaire puisque le fichier
     * possède désormais sa propre transparence.
     */
    -webkit-mask-image: none;
    mask-image: none;

    /*
     * Très légère harmonisation avec le Hero.
     * On conserve les carnations et le blanc médical.
     */
    filter:
        brightness(0.96)
        saturate(0.96)
        contrast(1.015);

    /*
     * Ombre extrêmement légère sous la silhouette,
     * pas autour du rectangle.
     */
    drop-shadow:
        0 1.2rem 2.8rem
        rgb(3 25 42 / 12%);
}


/*
 * Le visuel dispose de toute sa surface :
 * aucune limite artificielle.
 */

.somago-home
.somago-hero-visual.somago-hero-maternal {

    overflow: visible;
}


/*
 * Orbites graphiques :
 * elles appartiennent maintenant au décor du Hero,
 * derrière la personne.
 */

.somago-home
.somago-hero-maternal
.somago-visual-orbit {

    z-index: 1;

    opacity: 0.34;

    border-color:
        rgb(255 255 255 / 20%);
}


/*
 * Suppression de la petite légende technique de l'ancien
 * panneau photo : rendu plus propre.
 */

.somago-home
.somago-hero-maternal
figcaption {

    display: none !important;
}


/*
 * L'étiquette visuelle n'est plus nécessaire :
 * la photographie fait partie intégrante du Hero.
 */

.somago-home
.somago-hero-maternal
.somago-visual-label {

    display: none !important;
}


/* TABLETTE */

@media (max-width: 76rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        inset:
            -3.5rem
            -1rem
            -1rem
            -2rem;
    }

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        right: 0;

        height:
            calc(100% + 0.5rem);
    }
}


/* MOBILE / TABLETTE PORTRAIT */

@media (max-width: 58rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        inset: 0;

        overflow: visible;
    }

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        top: auto;
        right: 50%;
        bottom: 0;

        width: auto;

        height: 100%;

        translate: 50% 0;
    }
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_POSITION_V2_20260813

   Ajustement visuel après passage au vrai PNG transparent :
   - sujet réduit
   - recentré vers la droite
   - aucun chevauchement du titre
   - foulard entièrement visible
   - aucune modification du décor Hero
   ========================================================== */


/* Desktop : le conteneur reste totalement transparent */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        /*
         * Plus besoin d'étendre massivement le panneau
         * vers la gauche avec le sujet détouré.
         */
        inset:
            -4.6rem
            -2rem
            -1rem
            -1.5rem;

        overflow: visible;
    }


    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        /*
         * Réduction principale :
         * on passe du sujet surdimensionné à une présence
         * éditoriale forte mais équilibrée.
         */
        height: 84%;

        width: auto;

        /*
         * Ancrage à droite.
         */
        right: -1.6rem;

        /*
         * Un peu plus bas pour libérer la navigation
         * et conserver le foulard entier.
         */
        top: 2.15rem;

        bottom: auto;
        left: auto;

        max-width: none;

        object-fit: contain;
        object-position: center bottom;

        transform: none;
        translate: none;
    }
}


/* Écrans desktop intermédiaires */

@media (min-width: 58.01rem) and (max-width: 76rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo-panel {

        inset:
            -2.5rem
            -1rem
            -1rem
            -1rem;
    }

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        height: 88%;

        top: 1.5rem;
        right: -1rem;

        width: auto;
        max-width: none;

        translate: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_POSITION_V3_20260813
   Micro-finition desktop finale :
   - sujet légèrement plus à droite
   - foulard sous la navigation
   - équilibre avec la note institutionnelle
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        /*
         * Très légère réduction.
         */
        height: 81.5%;

        /*
         * Décalage vers la droite.
         */
        right: -3.4rem;

        /*
         * Descente légère pour dégager le menu.
         */
        top: 3.1rem;
    }

    /*
     * La note conserve sa fonction mais respire
     * davantage par rapport à la silhouette.
     */
    .somago-home
    .somago-clinical-note {

        right: clamp(2rem, 5vw, 5.5rem);
    }
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_BOTTOM_FILL_V4_20260813

   Ajustement final :
   - conserve exactement le positionnement supérieur V3
   - remplit davantage la partie basse du Hero
   - aucune modification du header, menu ou décor
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        /*
         * Le haut reste exactement à la position validée.
         */
        top: 3.1rem;

        /*
         * Légère augmentation seulement :
         * la silhouette descend davantage et remplit
         * naturellement la zone vide sous les bras.
         */
        height: 86%;

        /*
         * Très petit recalage compensatoire à droite.
         */
        right: -3.65rem;

        bottom: auto;
        left: auto;

        width: auto;
        max-width: none;

        object-fit: contain;
        object-position: center bottom;

        transform: none;
        translate: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_BOTTOM_FILL_V5_20260813

   Micro-ajustement final :
   - descend légèrement le sujet
   - remplit davantage la partie basse
   - conserve la taille validée
   - ne touche pas au menu ni au décor
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        /*
         * Taille V4 conservée.
         */
        height: 86%;

        /*
         * Descente légère supplémentaire.
         * Environ 12–16 px visuellement.
         */
        top: 4rem;

        /*
         * Position horizontale conservée.
         */
        right: -3.65rem;

        bottom: auto;
        left: auto;

        width: auto;
        max-width: none;

        object-fit: contain;
        object-position: center bottom;

        transform: none;
        translate: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_BOTTOM_FILL_V6_20260813
   Dernière descente du PNG détouré
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        /*
         * Taille validée conservée.
         */
        height: 86%;

        /*
         * Descente supplémentaire :
         * le bas du sujet vient presque rejoindre
         * la bande blanche inférieure.
         */
        top: 5.1rem;

        /*
         * Position horizontale inchangée.
         */
        right: -3.65rem;

        bottom: auto;
        left: auto;

        width: auto;
        max-width: none;

        object-fit: contain;
        object-position: center bottom;

        transform: none;
        translate: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_BOTTOM_FILL_V7_20260813
   Descente supplémentaire sans modifier l'échelle
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        height: 86%;

        /*
         * Descente supplémentaire.
         * V6 = 5.1rem
         */
        top: 5.9rem;

        right: -3.65rem;

        bottom: auto;
        left: auto;

        width: auto;
        max-width: none;

        object-fit: contain;
        object-position: center bottom;

        transform: none;
        translate: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_BOTTOM_FILL_V8_20260813
   Descente supplémentaire du sujet sans changer son échelle
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        height: 86%;

        /*
         * V7 = 5.9rem
         * Descente supplémentaire légère.
         */
        top: 6.6rem;

        right: -3.65rem;

        bottom: auto;
        left: auto;

        width: auto;
        max-width: none;

        object-fit: contain;
        object-position: center bottom;

        transform: none;
        translate: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_BOTTOM_FILL_V9_20260813
   Descente finale du sujet sans changement d'échelle
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        height: 86%;

        /*
         * V8 = 6.6rem
         * Descente supplémentaire légère.
         */
        top: 7.2rem;

        right: -3.65rem;

        bottom: auto;
        left: auto;

        width: auto;
        max-width: none;

        object-fit: contain;
        object-position: center bottom;

        transform: none;
        translate: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_CUTOUT_BOTTOM_FILL_V10_20260813
   Micro-descente finale vers la bande blanche
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-home
    .somago-hero-maternal
    .somago-hero-photo {

        height: 86%;

        /*
         * V9 = 7.2rem
         * Dernier déplacement très léger.
         */
        top: 7.55rem;

        right: -3.65rem;

        bottom: auto;
        left: auto;

        width: auto;
        max-width: none;

        object-fit: contain;
        object-position: center bottom;

        transform: none;
        translate: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_PREMIUM_MOTION_V1_20260813

   Micro-interactions institutionnelles premium.

   IMPORTANT :
   - aucune modification de taille du cutout
   - aucune modification de top/right du cutout
   - aucune modification du layout Hero
   - animation volontairement discrète
   ========================================================== */


/* ----------------------------------------------------------
   1. ENTREE DU CONTENU HERO
   ---------------------------------------------------------- */

@keyframes somagoHeroContentReveal {

    from {
        opacity: 0;
        transform: translateY(1rem);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/*
 * On anime uniquement les éléments éditoriaux.
 * Le visuel femme + bébé reste physiquement intact.
 */

.somago-home .somago-hero-copy > * {

    opacity: 0;

    animation:
        somagoHeroContentReveal
        0.72s
        cubic-bezier(.22, .61, .36, 1)
        forwards;
}


.somago-home .somago-hero-copy > *:nth-child(1) {
    animation-delay: 0.08s;
}

.somago-home .somago-hero-copy > *:nth-child(2) {
    animation-delay: 0.15s;
}

.somago-home .somago-hero-copy > *:nth-child(3) {
    animation-delay: 0.22s;
}

.somago-home .somago-hero-copy > *:nth-child(4) {
    animation-delay: 0.29s;
}

.somago-home .somago-hero-copy > *:nth-child(5) {
    animation-delay: 0.36s;
}

.somago-home .somago-hero-copy > *:nth-child(n + 6) {
    animation-delay: 0.43s;
}


/* ----------------------------------------------------------
   2. ORBITES — RESPIRATION TRES LENTE
   ---------------------------------------------------------- */

@keyframes somagoHeroOrbitBreath {

    0%,
    100% {
        opacity: 0.25;
        transform: scale(1);
    }

    50% {
        opacity: 0.39;
        transform: scale(1.025);
    }
}


.somago-home
.somago-hero-maternal
.somago-visual-orbit {

    transform-origin: center;

    animation:
        somagoHeroOrbitBreath
        24s
        ease-in-out
        infinite;
}


/* ----------------------------------------------------------
   3. BOUTONS — MICRO-MOUVEMENT PREMIUM
   ---------------------------------------------------------- */

.somago-home
.somago-hero-copy
a {

    transition:
        transform 180ms ease,
        box-shadow 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}


.somago-home
.somago-hero-copy
a:hover {

    transform: translateY(-2px);
}


.somago-home
.somago-hero-copy
a:active {

    transform: translateY(0);
}


/*
 * Les flèches éventuelles se déplacent très légèrement.
 */

.somago-home
.somago-hero-copy
a span:last-child {

    transition:
        transform 180ms ease;
}


.somago-home
.somago-hero-copy
a:hover span:last-child {

    transform: translateX(0.22rem);
}


/* ----------------------------------------------------------
   4. LIGNE D'ACCENT — REVEAL HORIZONTAL
   ---------------------------------------------------------- */

@keyframes somagoHeroAccentReveal {

    from {
        opacity: 0;
        transform: scaleX(0);
    }

    to {
        opacity: 1;
        transform: scaleX(1);
    }
}


/*
 * On cible les décorations horizontales déjà présentes
 * sans créer de nouvel élément HTML.
 */

.somago-home
.somago-hero-copy
[class*="eyebrow"]::after {

    transform-origin: left center;

    animation:
        somagoHeroAccentReveal
        0.85s
        0.38s
        cubic-bezier(.22, .61, .36, 1)
        both;
}


/* ----------------------------------------------------------
   5. ACCESSIBILITE — REDUCED MOTION
   ---------------------------------------------------------- */

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

    .somago-home .somago-hero-copy > *,
    .somago-home .somago-visual-orbit,
    .somago-home .somago-hero-copy a,
    .somago-home .somago-hero-copy a span:last-child,
    .somago-home .somago-hero-copy [class*="eyebrow"]::after {

        animation: none !important;
        transition: none !important;

        opacity: 1;
        transform: none;
    }
}


/* ==========================================================
   SOMAGO_HERO_INSTITUTION_CARD_V1_20260813

   Cartouche institutionnel premium :
   - structure éditoriale plus forte
   - signature Mali discrète
   - aucune modification du Hero ou du cutout
   ========================================================== */

.somago-home
.somago-clinical-note {

    position: absolute;

    z-index: 20;

    right:
        clamp(2rem, 5vw, 5.5rem);

    bottom:
        1rem;

    width:
        min(23rem, 31vw);

    padding:
        1.25rem
        1.45rem
        1.35rem;

    color:
        var(--somago-navy);

    background:
        rgb(250 248 242 / 98%);

    border:
        1px solid
        rgb(16 42 67 / 8%);

    border-radius:
        0.35rem;

    box-shadow:
        0 1.35rem 3.5rem
        rgb(3 25 42 / 14%);

    overflow:
        hidden;
}


/* Signature Mali très discrète */

.somago-home
.somago-clinical-note::before {

    position: absolute;

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

    height:
        0.23rem;

    content: "";

    background:
        linear-gradient(
            90deg,
            #14a44d 0 33.333%,
            #f4c430 33.333% 66.666%,
            #d33b32 66.666% 100%
        );
}


/* Petit accent éditorial */

.somago-home
.somago-clinical-note::after {

    position: absolute;

    right:
        1.2rem;

    bottom:
        1rem;

    width:
        3rem;

    height:
        3rem;

    content: "";

    border:
        1px solid
        rgb(23 107 135 / 9%);

    border-radius:
        50%;

    background:
        radial-gradient(
            circle,
            rgb(24 166 166 / 7%) 0%,
            transparent 68%
        );
}


/* Surtitre */

.somago-home
.somago-clinical-note
> span {

    display: inline-flex;

    align-items: center;

    gap:
        0.55rem;

    margin-bottom:
        0.55rem;

    color:
        var(--somago-blue);

    font-size:
        0.58rem;

    font-weight:
        850;

    letter-spacing:
        0.14em;

    text-transform:
        uppercase;
}


.somago-home
.somago-clinical-note
> span::before {

    width:
        1.4rem;

    height:
        1px;

    content: "";

    background:
        var(--somago-copper);
}


/* Texte principal */

.somago-home
.somago-clinical-note
p {

    position: relative;

    z-index: 2;

    max-width:
        19rem;

    margin:
        0;

    color:
        #334b5e;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(0.88rem, 1vw, 1rem);

    line-height:
        1.55;
}


/* Mobile */

@media (max-width: 58rem) {

    .somago-home
    .somago-clinical-note {

        position: relative;

        right: auto;
        bottom: auto;

        width:
            min(100%, 31rem);

        margin:
            -1rem
            auto
            0;
    }
}


/* ==========================================================
   SOMAGO_STATS_STRIP_V1_20260813
   Bande chiffres institutionnels légère
   ========================================================== */

.somago-stats-strip {

    position: relative;

    z-index: 5;

    color: var(--somago-navy);

    background:
        #f8fafc;

    border-top:
        1px solid rgb(16 42 67 / 8%);

    border-bottom:
        1px solid rgb(16 42 67 / 8%);
}


.somago-stats-strip-inner {

    display: grid;

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

    align-items: stretch;
}


.somago-stats-heading,
.somago-stat-item {

    display: flex;

    min-height:
        7.5rem;

    flex-direction: column;

    justify-content: center;

    padding:
        1.4rem
        1.6rem;
}


.somago-stats-heading {

    padding-left: 0;

}


.somago-stats-heading span {

    margin-bottom:
        0.35rem;

    color:
        var(--somago-copper);

    font-size:
        0.6rem;

    font-weight:
        850;

    letter-spacing:
        0.14em;

    text-transform:
        uppercase;
}


.somago-stats-heading strong {

    color:
        var(--somago-navy);

    font-size:
        clamp(1rem, 1.2vw, 1.25rem);

    line-height:
        1.2;
}


.somago-stat-item {

    position: relative;

    border-left:
        1px solid rgb(16 42 67 / 8%);
}


.somago-stat-item strong {

    display: block;

    margin-bottom:
        0.3rem;

    color:
        var(--somago-blue);

    font-size:
        clamp(1.65rem, 2.4vw, 2.35rem);

    font-weight:
        800;

    line-height:
        1;
}


.somago-stat-item span {

    color:
        #617384;

    font-size:
        0.7rem;

    font-weight:
        650;

    line-height:
        1.4;
}


/* Petit accent graphique */

.somago-stat-item::after {

    position: absolute;

    right:
        1.4rem;

    bottom:
        1.15rem;

    width:
        1.2rem;

    height:
        2px;

    content: "";

    background:
        var(--somago-yellow);

    opacity:
        0.85;
}


/* Responsive */

@media (max-width: 76rem) {

    .somago-stats-strip-inner {

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

    .somago-stats-heading {

        grid-column:
            1 / -1;

        min-height:
            auto;

        padding:
            1.5rem 0 0.5rem;
    }

    .somago-stat-item {

        border-left:
            0;

        border-top:
            1px solid rgb(16 42 67 / 8%);
    }
}


@media (max-width: 42rem) {

    .somago-stats-strip-inner {

        grid-template-columns:
            1fr;
    }

    .somago-stat-item {

        min-height:
            5.5rem;

        padding-inline:
            0;
    }
}


/* ==========================================================
   SOMAGO_STATS_MOTION_V1_20260813
   Reveal discret de la bande + stagger des statistiques
   ========================================================== */

@media (prefers-reduced-motion: no-preference) {

    .somago-stats-strip
    .somago-stats-heading,

    .somago-stats-strip
    .somago-stat-item {

        opacity: 0;

        transform:
            translateY(0.8rem);

        transition:
            opacity 620ms cubic-bezier(.22, .61, .36, 1),
            transform 620ms cubic-bezier(.22, .61, .36, 1);
    }


    .somago-stats-strip.is-visible
    .somago-stats-heading,

    .somago-stats-strip.is-visible
    .somago-stat-item {

        opacity: 1;

        transform:
            translateY(0);
    }


    .somago-stats-strip.is-visible
    .somago-stat-item:nth-of-type(1) {
        transition-delay: 80ms;
    }

    .somago-stats-strip.is-visible
    .somago-stat-item:nth-of-type(2) {
        transition-delay: 150ms;
    }

    .somago-stats-strip.is-visible
    .somago-stat-item:nth-of-type(3) {
        transition-delay: 220ms;
    }

    .somago-stats-strip.is-visible
    .somago-stat-item:nth-of-type(4) {
        transition-delay: 290ms;
    }


    /*
     * Petit réveil de l'accent jaune.
     */

    .somago-stat-item::after {

        transform:
            scaleX(0);

        transform-origin:
            left center;

        transition:
            transform 520ms ease;
    }


    .somago-stats-strip.is-visible
    .somago-stat-item::after {

        transform:
            scaleX(1);
    }
}


/* Accessibilité */

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

    .somago-stats-strip
    .somago-stats-heading,

    .somago-stats-strip
    .somago-stat-item {

        opacity: 1 !important;

        transform: none !important;

        transition: none !important;
    }
}


/* ==========================================================
   SOMAGO_SCROLL_REVEAL_V1_20260813

   Signature de mouvement SOMAGO :
   - douce
   - institutionnelle
   - aucune modification du layout
   - aucun mouvement permanent
   ========================================================== */


/*
 * Nous ciblons uniquement les enfants éditoriaux de
 * "Notre raison d'être".
 *
 * Le conteneur lui-même ne bouge jamais :
 * aucune possibilité de provoquer un layout shift.
 */

@media (prefers-reduced-motion: no-preference) {

    [data-somago-reveal="section"]
    > * {

        opacity: 0;

        transform:
            translateY(1rem);

        transition-property:
            opacity,
            transform;

        transition-duration:
            720ms;

        transition-timing-function:
            cubic-bezier(.22, .61, .36, 1);

        will-change:
            opacity,
            transform;
    }


    /*
     * Une fois visible.
     */

    [data-somago-reveal="section"].is-somago-revealed
    > * {

        opacity: 1;

        transform:
            translateY(0);
    }


    /*
     * Séquence progressive.
     */

    [data-somago-reveal="section"].is-somago-revealed
    > *:nth-child(1) {

        transition-delay:
            40ms;
    }


    [data-somago-reveal="section"].is-somago-revealed
    > *:nth-child(2) {

        transition-delay:
            130ms;
    }


    [data-somago-reveal="section"].is-somago-revealed
    > *:nth-child(3) {

        transition-delay:
            220ms;
    }


    [data-somago-reveal="section"].is-somago-revealed
    > *:nth-child(4) {

        transition-delay:
            310ms;
    }


    [data-somago-reveal="section"].is-somago-revealed
    > *:nth-child(n+5) {

        transition-delay:
            380ms;
    }
}


/*
 * Accessibilité :
 * aucun mouvement si l'utilisateur a demandé
 * une réduction des animations.
 */

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

    [data-somago-reveal="section"]
    > * {

        opacity: 1 !important;

        transform: none !important;

        transition: none !important;
    }
}


/* ==========================================================
   SOMAGO_PRESIDENCY_PREMIUM_V1_20260813
   Mot du Président — traitement éditorial premium
   ========================================================== */


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

.somago-presidency-premium {

    position: relative;

    overflow: hidden;
}


/* ----------------------------------------------------------
   BLOC PRESIDENCE
   ---------------------------------------------------------- */

.somago-presidency-premium
.somago-presidency {

    position: relative;

    overflow: hidden;

    background:
        linear-gradient(
            135deg,
            #f8fafc 0%,
            #f5f1e8 100%
        );

    border:
        1px solid rgb(16 42 67 / 9%);
}


/* ----------------------------------------------------------
   MEDIA
   ---------------------------------------------------------- */

.somago-president-media {

    position: relative;

    overflow: hidden;

    min-height:
        28rem;

    background:
        linear-gradient(
            145deg,
            #12344d,
            #176b87
        );
}


/* Vraie photo */

.somago-president-photo-real {

    display: block;

    width: 100%;
    height: 100%;

    min-height:
        28rem;

    object-fit: cover;

    object-position:
        center top;
}


/* Placeholder premium */

.somago-president-photo-premium {

    position: absolute;

    inset: 0;

    display: grid;

    place-items: center;

    min-height: 100%;

    overflow: hidden;

    color:
        #fff;

    background:

        radial-gradient(
            circle at 66% 35%,
            rgb(255 255 255 / 12%),
            transparent 30%
        ),

        linear-gradient(
            145deg,
            #12344d 0%,
            #176b87 55%,
            #115469 100%
        );
}


/* Orbe décorative */

.somago-president-photo-premium::before {

    position: absolute;

    width:
        23rem;

    height:
        23rem;

    content: "";

    border:
        1px solid
        rgb(255 255 255 / 13%);

    border-radius:
        50%;

    transform:
        translate(24%, -18%);
}


/* Monogramme provisoire */

.somago-president-monogram {

    position: relative;

    z-index: 2;

    display: grid;

    width:
        7rem;

    height:
        7rem;

    place-items: center;

    border:
        1px solid
        rgb(255 255 255 / 25%);

    border-radius:
        50%;

    color:
        rgb(255 255 255 / 86%);

    font-family:
        var(--somago-serif);

    font-size:
        3.4rem;

    font-weight:
        400;

    background:
        rgb(255 255 255 / 6%);

    -webkit-backdrop-filter:
        blur(8px);

    backdrop-filter:
        blur(8px);
}


.somago-president-photo-note {

    position: absolute;

    right:
        1.3rem;

    bottom:
        1.3rem;

    left:
        1.3rem;

    z-index: 2;

    padding-top:
        0.8rem;

    border-top:
        1px solid
        rgb(255 255 255 / 20%);

    color:
        #fff;

    font-size:
        0.67rem;

    font-weight:
        800;

    letter-spacing:
        0.1em;

    text-transform:
        uppercase;
}


.somago-president-photo-note small {

    display: block;

    margin-top:
        0.25rem;

    color:
        rgb(255 255 255 / 60%);

    font-size:
        0.55rem;

    font-weight:
        600;

    letter-spacing:
        0.05em;
}


/* grand numéro éditorial */

.somago-president-media-index {

    position: absolute;

    top:
        1.3rem;

    left:
        1.3rem;

    z-index: 4;

    color:
        rgb(255 255 255 / 42%);

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;

    font-size:
        0.68rem;

    letter-spacing:
        0.12em;
}


/* ----------------------------------------------------------
   COPY
   ---------------------------------------------------------- */

.somago-presidency-premium
.somago-presidency-copy {

    position: relative;

    padding:
        clamp(2rem, 4vw, 3.6rem);
}


.somago-presidency-kicker {

    margin:
        1.5rem
        0
        0.5rem;

    color:
        var(--somago-copper);

    font-size:
        0.61rem;

    font-weight:
        850;

    letter-spacing:
        0.14em;

    text-transform:
        uppercase;
}


.somago-presidency-premium
.somago-presidency-copy h2 {

    max-width:
        13ch;

    margin:
        0;

    color:
        var(--somago-navy);

    font-size:
        clamp(2rem, 3vw, 3.35rem);

    font-weight:
        650;

    letter-spacing:
        -0.04em;

    line-height:
        1.04;
}


/* Message */

.somago-presidency-message {

    position: relative;

    max-width:
        32rem;

    margin-top:
        1.8rem;

    padding-left:
        2.3rem;
}


.somago-presidency-message p {

    margin: 0;

    color:
        #516675;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(0.95rem, 1.2vw, 1.1rem);

    font-style:
        italic;

    line-height:
        1.75;
}


.somago-presidency-quote {

    position: absolute;

    top:
        -0.8rem;

    left: 0;

    color:
        var(--somago-yellow);

    font-family:
        Georgia,
        serif;

    font-size:
        3.5rem;

    line-height:
        1;
}


/* Identité */

.somago-presidency-identity {

    display: grid;

    gap:
        0.2rem;

    margin-top:
        1.8rem;

    padding-top:
        1rem;

    border-top:
        1px solid
        rgb(16 42 67 / 10%);
}


.somago-presidency-identity strong {

    color:
        var(--somago-navy);

    font-size:
        0.8rem;
}


.somago-presidency-identity span {

    color:
        #788894;

    font-size:
        0.65rem;
}


.somago-presidency-link {

    margin-top:
        1.4rem;
}


/* ----------------------------------------------------------
   EVENEMENT : légère harmonisation
   ---------------------------------------------------------- */

.somago-presidency-premium
.somago-next-event {

    position: relative;

    overflow: hidden;
}


.somago-presidency-premium
.somago-next-event::after {

    position: absolute;

    right:
        -5rem;

    bottom:
        -5rem;

    width:
        13rem;

    height:
        13rem;

    content: "";

    border:
        1px solid
        rgb(255 255 255 / 9%);

    border-radius:
        50%;

    pointer-events:
        none;
}


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

@media (max-width: 58rem) {

    .somago-president-media,
    .somago-president-photo-real {

        min-height:
            23rem;
    }


    .somago-presidency-premium
    .somago-presidency-copy h2 {

        max-width:
            17ch;
    }
}


@media (max-width: 42rem) {

    .somago-president-media,
    .somago-president-photo-real {

        min-height:
            19rem;
    }


    .somago-presidency-premium
    .somago-presidency-copy {

        padding:
            1.5rem;
    }
}


/* ==========================================================
   SOMAGO_NEWS_DYNAMIC_V1_20260813
   Première actualité réelle SOMAGO
   ========================================================== */

.somago-featured-news-live
.somago-news-visual-live {

    position: relative;

    display: block;

    overflow: hidden;

    min-height: 20rem;

    background:
        var(--somago-navy);
}


.somago-featured-news-live
.somago-news-visual-live img {

    position: absolute;

    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    object-position: center;

    transition:
        transform 700ms cubic-bezier(.22, .61, .36, 1);
}


.somago-featured-news-live
.somago-news-visual-live::after {

    position: absolute;

    inset: 0;

    content: "";

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgb(7 28 44 / 18%) 100%
        );
}


.somago-featured-news-live
.somago-news-visual-live:hover img {

    transform:
        scale(1.025);
}


/* contenu */

.somago-featured-news-copy {

    align-self: center;
}


.somago-news-category {

    margin:
        0
        0
        0.7rem;

    color:
        var(--somago-copper);

    font-size:
        0.61rem;

    font-weight:
        850;

    letter-spacing:
        0.14em;

    text-transform:
        uppercase;
}


.somago-featured-news-live h3 {

    max-width:
        24ch;

    margin:
        0;

    color:
        var(--somago-navy);

    font-size:
        clamp(1.45rem, 2.1vw, 2.15rem);

    font-weight:
        650;

    letter-spacing:
        -0.03em;

    line-height:
        1.12;
}


.somago-featured-news-live h3 a {

    color: inherit;
}


.somago-news-excerpt {

    max-width:
        42rem;

    margin:
        1rem
        0
        0;

    color:
        #60717f;

    font-size:
        0.78rem;

    line-height:
        1.7;
}


.somago-featured-news-copy
.somago-text-link {

    margin-top:
        1.3rem;
}


/* responsive */

@media (max-width: 58rem) {

    .somago-featured-news-live
    .somago-news-visual-live {

        min-height:
            17rem;
    }
}


@media (max-width: 42rem) {

    .somago-featured-news-live
    .somago-news-visual-live {

        min-height:
            14rem;
    }
}


/* ==========================================================
   SOMAGO_ARTICLE_PREMIUM_V1_20260813
   Page article éditoriale premium
   ========================================================== */


/* ----------------------------------------------------------
   CONTENEUR INTERNE
   ---------------------------------------------------------- */

.somago-inner
.somago-component-output {

    width:
        min(100% - 3rem, 78rem);

    padding-top:
        clamp(3rem, 6vw, 6rem);

    padding-bottom:
        clamp(4rem, 7vw, 7rem);
}


/* ----------------------------------------------------------
   ARTICLE
   ---------------------------------------------------------- */

.somago-article-premium {

    width: 100%;

    color:
        var(--somago-navy);
}


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

.somago-article-header {

    max-width:
        62rem;

    margin:
        0
        auto
        clamp(2.5rem, 5vw, 4.5rem);
}


.somago-article-back {

    display:
        inline-flex;

    gap:
        0.55rem;

    align-items:
        center;

    margin-bottom:
        2rem;

    color:
        var(--somago-blue);

    font-size:
        0.7rem;

    font-weight:
        800;

    letter-spacing:
        0.04em;
}


.somago-article-meta {

    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        0.8rem
        1.2rem;

    align-items:
        center;

    margin-bottom:
        1.1rem;
}


.somago-article-category {

    color:
        var(--somago-copper);

    font-size:
        0.63rem;

    font-weight:
        850;

    letter-spacing:
        0.14em;

    text-transform:
        uppercase;
}


.somago-article-date {

    color:
        #7e8b96;

    font-size:
        0.7rem;

    font-weight:
        650;
}


.somago-article-header h1 {

    max-width:
        18ch;

    margin: 0;

    color:
        var(--somago-navy);

    font-size:
        clamp(2.35rem, 5vw, 4.8rem);

    font-weight:
        720;

    letter-spacing:
        -0.055em;

    line-height:
        0.98;

    text-wrap:
        balance;
}


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

.somago-article-hero {

    position:
        relative;

    overflow:
        hidden;

    width: 100%;

    max-height:
        38rem;

    margin:
        0
        auto
        clamp(2.8rem, 5vw, 4.5rem);

    background:
        #e9edf0;
}


.somago-article-hero img {

    display:
        block;

    width:
        100%;

    height:
        clamp(23rem, 48vw, 38rem);

    object-fit:
        cover;

    object-position:
        center 38%;
}


/* ----------------------------------------------------------
   CORPS
   ---------------------------------------------------------- */

.somago-article-layout {

    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(13rem, 17rem);

    gap:
        clamp(3rem, 7vw, 7rem);

    align-items:
        start;

    max-width:
        68rem;

    margin:
        0
        auto;
}


.somago-article-main {

    min-width: 0;
}


.somago-article-lead {

    color:
        #344f63;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1.05rem, 1.45vw, 1.22rem);

    line-height:
        1.8;
}


.somago-article-lead p {

    margin:
        0
        0
        1.35rem;
}


.somago-article-body {

    margin-top:
        2rem;

    color:
        #536775;

    font-size:
        0.96rem;

    line-height:
        1.9;
}


.somago-article-body p {

    margin:
        0
        0
        1.5rem;
}


/* ----------------------------------------------------------
   SIDEBAR
   ---------------------------------------------------------- */

.somago-article-side {

    position:
        sticky;

    top:
        8rem;
}


.somago-article-side-card {

    padding:
        1.5rem;

    border-top:
        3px solid
        var(--somago-yellow);

    background:
        var(--somago-ivory);
}


.somago-article-side-label {

    display:
        block;

    margin-bottom:
        0.8rem;

    color:
        var(--somago-copper);

    font-size:
        0.58rem;

    font-weight:
        850;

    letter-spacing:
        0.16em;

    text-transform:
        uppercase;
}


.somago-article-side-card strong {

    display:
        block;

    color:
        var(--somago-navy);

    font-size:
        0.88rem;

    line-height:
        1.4;
}


.somago-article-side-card p {

    margin:
        0.7rem
        0
        0;

    color:
        #73818c;

    font-size:
        0.7rem;

    line-height:
        1.6;
}


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

.somago-article-footer {

    display:
        flex;

    justify-content:
        space-between;

    gap:
        2rem;

    align-items:
        end;

    max-width:
        68rem;

    margin:
        clamp(3rem, 6vw, 5rem)
        auto
        0;

    padding-top:
        1.5rem;

    border-top:
        1px solid
        rgb(16 42 67 / 12%);
}


.somago-article-footer div {

    display:
        grid;

    gap:
        0.25rem;
}


.somago-article-footer div span {

    color:
        var(--somago-copper);

    font-size:
        0.56rem;

    font-weight:
        850;

    letter-spacing:
        0.13em;

    text-transform:
        uppercase;
}


.somago-article-footer div strong {

    color:
        var(--somago-navy);

    font-size:
        0.72rem;
}


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

@media (max-width: 58rem) {

    .somago-article-layout {

        grid-template-columns:
            1fr;
    }


    .somago-article-side {

        position:
            static;

        max-width:
            24rem;
    }


    .somago-article-header h1 {

        max-width:
            20ch;
    }
}


@media (max-width: 42rem) {

    .somago-inner
    .somago-component-output {

        width:
            min(100% - 1.5rem, 40rem);

        padding-top:
            2.25rem;
    }


    .somago-article-header {

        margin-bottom:
            2rem;
    }


    .somago-article-header h1 {

        font-size:
            clamp(2rem, 11vw, 3.2rem);

        line-height:
            1.02;
    }


    .somago-article-hero {

        margin-bottom:
            2rem;
    }


    .somago-article-hero img {

        height:
            18rem;
    }


    .somago-article-footer {

        align-items:
            start;

        flex-direction:
            column;
    }
}


/* ==========================================================
   SOMAGO_SCIENTIFIC_AUTH_V1_20260813
   Connexion + inscription premium
   ========================================================== */


/* ----------------------------------------------------------
   PAGE AUTH : suppression habillage public
   ---------------------------------------------------------- */

.somago-auth-page {

    background:
        #f7f8fa;
}


.somago-auth-page
.somago-header,

.somago-auth-page
.somago-page-hero,

.somago-auth-page
.somago-footer {

    display:
        none !important;
}


.somago-auth-page
.somago-component-output {

    width:
        100%;

    max-width:
        none;

    margin: 0;

    padding: 0;
}


/* ----------------------------------------------------------
   SHELL
   ---------------------------------------------------------- */

.somago-auth-shell {

    display:
        grid;

    grid-template-columns:
        minmax(25rem, 1fr)
        minmax(30rem, 1fr);

    min-height:
        100vh;

    background:
        #f8fafc;
}


/* ----------------------------------------------------------
   PANNEAU SOMAGO
   ---------------------------------------------------------- */

.somago-auth-brand {

    position:
        relative;

    display:
        flex;

    overflow:
        hidden;

    min-height:
        100vh;

    padding:
        clamp(2.2rem, 5vw, 5rem);

    flex-direction:
        column;

    justify-content:
        space-between;

    color:
        #fff;

    background:

        radial-gradient(
            circle at 78% 35%,
            rgb(70 190 195 / 22%),
            transparent 23%
        ),

        linear-gradient(
            145deg,
            #092a43 0%,
            #0d526c 58%,
            #117387 100%
        );
}


.somago-auth-brand::before {

    position:
        absolute;

    top:
        24%;

    right:
        -9rem;

    width:
        30rem;

    height:
        30rem;

    content: "";

    border:
        1px solid
        rgb(255 255 255 / 10%);

    border-radius:
        50%;
}


.somago-auth-brand::after {

    position:
        absolute;

    top:
        31%;

    right:
        -2rem;

    width:
        17rem;

    height:
        17rem;

    content: "";

    border:
        1px solid
        rgb(255 255 255 / 8%);

    border-radius:
        50%;
}


.somago-auth-logo {

    position:
        relative;

    z-index:
        2;

    display:
        flex;

    gap:
        1rem;

    align-items:
        center;

    color:
        #fff;
}


.somago-auth-logo img {

    width:
        3.8rem;

    height:
        3.8rem;

    object-fit:
        contain;
}


.somago-auth-logo span {

    display:
        grid;

    gap:
        0.1rem;
}


.somago-auth-logo strong {

    font-size:
        1.2rem;

    letter-spacing:
        0.12em;
}


.somago-auth-logo small {

    max-width:
        17rem;

    color:
        rgb(255 255 255 / 67%);

    font-size:
        0.66rem;

    line-height:
        1.35;
}


.somago-auth-brand-copy {

    position:
        relative;

    z-index:
        2;

    max-width:
        34rem;
}


.somago-auth-quote {

    display:
        block;

    height:
        3rem;

    color:
        var(--somago-yellow);

    font-family:
        Georgia,
        serif;

    font-size:
        4rem;

    line-height:
        1;
}


.somago-auth-brand-copy h1 {

    max-width:
        15ch;

    margin:
        0;

    color:
        #fff;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(2rem, 3.4vw, 3.8rem);

    font-weight:
        400;

    line-height:
        1.12;
}


.somago-auth-brand-copy p {

    max-width:
        32rem;

    margin:
        1.3rem
        0
        0;

    color:
        rgb(255 255 255 / 68%);

    line-height:
        1.7;
}


.somago-auth-metrics {

    position:
        relative;

    z-index:
        2;

    display:
        flex;

    gap:
        2.2rem;

    flex-wrap:
        wrap;
}


.somago-auth-metrics span {

    display:
        grid;

    gap:
        0.2rem;
}


.somago-auth-metrics strong {

    color:
        #fff;

    font-size:
        0.72rem;

    letter-spacing:
        0.08em;
}


.somago-auth-metrics small {

    color:
        rgb(255 255 255 / 50%);

    font-size:
        0.62rem;
}


/* ----------------------------------------------------------
   PANNEAU FORMULAIRE
   ---------------------------------------------------------- */

.somago-auth-main {

    display:
        grid;

    min-height:
        100vh;

    place-items:
        center;

    padding:
        clamp(2rem, 5vw, 5rem);

    background:
        #fff;
}


.somago-auth-card {

    width:
        min(100%, 31rem);
}


.somago-auth-card-registration {

    width:
        min(100%, 34rem);
}


.somago-auth-back {

    display:
        inline-flex;

    margin-bottom:
        1.4rem;

    color:
        var(--somago-blue);

    font-size:
        0.72rem;

    font-weight:
        700;
}


.somago-auth-heading p {

    margin:
        0
        0
        0.4rem;

    color:
        var(--somago-copper);

    font-size:
        0.61rem;

    font-weight:
        850;

    letter-spacing:
        0.14em;

    text-transform:
        uppercase;
}


.somago-auth-heading h2 {

    margin: 0;

    color:
        #111827;

    font-size:
        clamp(2rem, 3vw, 2.75rem);

    letter-spacing:
        -0.045em;
}


.somago-auth-heading > span {

    display:
        block;

    margin-top:
        0.55rem;

    color:
        #87909b;

    font-size:
        0.8rem;

    line-height:
        1.55;
}


/* ----------------------------------------------------------
   FORM
   ---------------------------------------------------------- */

.somago-auth-form {

    margin-top:
        2rem;
}


.somago-auth-section-title {

    margin-bottom:
        1rem;

    color:
        #808a96;

    font-size:
        0.62rem;

    font-weight:
        850;

    letter-spacing:
        0.1em;

    text-transform:
        uppercase;
}


.somago-auth-field {

    margin-bottom:
        1rem;
}


.somago-auth-form
.control-group,

.somago-auth-form
.mb-3 {

    margin-bottom:
        0 !important;
}


.somago-auth-form label {

    display:
        block;

    margin-bottom:
        0.4rem;

    color:
        #202832;

    font-size:
        0.76rem;

    font-weight:
        650;
}


.somago-auth-form
.form-control,

.somago-auth-form
.form-select,

.somago-auth-form
input[type="text"],

.somago-auth-form
input[type="email"],

.somago-auth-form
input[type="password"] {

    width:
        100%;

    min-height:
        3.35rem;

    padding:
        0.8rem
        1rem;

    border:
        1px solid
        #d8dde4;

    border-radius:
        0.65rem;

    color:
        #17202a;

    background:
        #fff;

    box-shadow:
        none;

    transition:
        border-color 160ms ease,
        box-shadow 160ms ease;
}


.somago-auth-form
.form-control:focus,

.somago-auth-form
input:focus {

    outline:
        none;

    border-color:
        #1d8394;

    box-shadow:
        0 0 0 0.2rem
        rgb(29 131 148 / 10%);
}


.somago-auth-check {

    display:
        flex !important;

    gap:
        0.6rem;

    align-items:
        center;

    margin:
        1rem
        0
        1.3rem;
}


.somago-auth-submit {

    display:
        flex;

    width:
        100%;

    min-height:
        3.45rem;

    align-items:
        center;

    justify-content:
        space-between;

    padding-inline:
        1.2rem;

    border: 0;

    border-radius:
        0.65rem;

    color:
        #071c2c;

    font-size:
        0.8rem;

    font-weight:
        850;

    background:
        var(--somago-yellow);

    cursor:
        pointer;

    box-shadow:
        0 0.65rem 1.5rem
        rgb(7 28 44 / 10%);
}


.somago-auth-options {

    display:
        flex;

    justify-content:
        space-between;

    gap:
        1rem;

    margin-top:
        1rem;

    font-size:
        0.67rem;
}


.somago-auth-options a {

    color:
        var(--somago-blue);
}


.somago-auth-separator {

    display:
        flex;

    gap:
        1rem;

    align-items:
        center;

    margin:
        1.6rem
        0;
}


.somago-auth-separator::before,
.somago-auth-separator::after {

    height:
        1px;

    content: "";

    flex: 1;

    background:
        #e4e7eb;
}


.somago-auth-separator span {

    color:
        #a0a7af;

    font-size:
        0.6rem;
}


.somago-auth-register-link {

    display:
        flex;

    width:
        100%;

    min-height:
        3.3rem;

    align-items:
        center;

    justify-content:
        space-between;

    padding-inline:
        1.2rem;

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

    border-radius:
        0.65rem;

    color:
        var(--somago-blue);

    font-size:
        0.78rem;

    font-weight:
        800;
}


.somago-auth-approval {

    margin:
        0.8rem
        0
        0;

    color:
        #9aa1aa;

    font-size:
        0.63rem;

    text-align:
        center;
}


.somago-auth-security-note {

    display:
        flex;

    gap:
        0.7rem;

    margin:
        1.2rem
        0;

    padding:
        0.85rem
        1rem;

    color:
        #6e7984;

    font-size:
        0.68rem;

    background:
        #f5f7f8;

    border-radius:
        0.55rem;
}


.somago-auth-security-note p {

    margin: 0;
}


.somago-auth-login-link {

    margin-top:
        1.2rem;

    color:
        #8c949d;

    font-size:
        0.7rem;

    text-align:
        center;
}


.somago-auth-login-link a {

    color:
        var(--somago-blue);

    font-weight:
        800;
}


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

@media (max-width: 58rem) {

    .somago-auth-shell {

        grid-template-columns:
            1fr;
    }


    .somago-auth-brand {

        min-height:
            23rem;
    }


    .somago-auth-main {

        min-height:
            auto;

        padding:
            3rem
            1.5rem;
    }
}


@media (max-width: 42rem) {

    .somago-auth-brand {

        min-height:
            20rem;

        padding:
            1.5rem;
    }


    .somago-auth-brand-copy h1 {

        font-size:
            2rem;
    }


    .somago-auth-metrics {

        gap:
            1rem;
    }


    .somago-auth-options {

        align-items:
            flex-start;

        flex-direction:
            column;
    }
}


/* ==========================================================
   SOMAGO_PASSWORD_EYE_V1_20260813
   ========================================================== */

.somago-auth-form .password-group {
    position: relative;
}

.somago-auth-form .password-group input[type="password"],
.somago-auth-form .password-group input[type="text"] {
    padding-right: 3rem;
}

/* bouton natif Joomla transformé en œil intégré */
.somago-auth-form .password-group button,
.somago-auth-form .password-group .btn {
    position: absolute;
    top: 50%;
    right: .75rem;
    transform: translateY(-50%);
    width: 2rem;
    height: 2rem;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    font-size: 0;
    line-height: 1;
    z-index: 3;
    cursor: pointer;
}

/* ==========================================================
   SOMAGO_PASSWORD_EYE_V2_20260813
   ========================================================== */

.somago-auth-form .password-group button::before,
.somago-auth-form .password-group .btn::before {
    content: "";
    display: block;
    width: 1.15rem;
    height: 1.15rem;
    margin: auto;

    background-color: #173b57;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c5.5 0 9.5 5.4 9.5 7s-4 7-9.5 7S2.5 13.6 2.5 12 6.5 5 12 5Zm0 2C8.2 7 5.2 10.3 4.6 12c.6 1.7 3.6 5 7.4 5s6.8-3.3 7.4-5c-.6-1.7-3.6-5-7.4-5Zm0 2.2A2.8 2.8 0 1 1 12 14.8a2.8 2.8 0 0 1 0-5.6Z'/%3E%3C/svg%3E")
        center / contain
        no-repeat;

    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5c5.5 0 9.5 5.4 9.5 7s-4 7-9.5 7S2.5 13.6 2.5 12 6.5 5 12 5Zm0 2C8.2 7 5.2 10.3 4.6 12c.6 1.7 3.6 5 7.4 5s6.8-3.3 7.4-5c-.6-1.7-3.6-5-7.4-5Zm0 2.2A2.8 2.8 0 1 1 12 14.8a2.8 2.8 0 0 1 0-5.6Z'/%3E%3C/svg%3E")
        center / contain
        no-repeat;

    opacity: .68;
    transition:
        opacity .18s ease,
        transform .18s ease;
}

.somago-auth-form .password-group button:hover::before,
.somago-auth-form .password-group .btn:hover::before {
    opacity: 1;
    transform: scale(1.06);
}

/* état mot de passe visible */
.somago-auth-form .password-group button[aria-pressed="true"]::before,
.somago-auth-form .password-group .btn[aria-pressed="true"]::before {
    background-color: #0d6f86;

    -webkit-mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3.3 2.3 18.4 18.4-1.4 1.4-3.1-3.1A10.7 10.7 0 0 1 12 20C6.5 20 2.5 14.6 2.5 13c.1-1.2 1.8-3.7 4.4-5.4L1.9 3.7l1.4-1.4Zm5.1 6.8C6.5 10.3 5 12.1 4.6 13c.6 1.7 3.6 5 7.4 5 1.4 0 2.7-.4 3.8-1L14 15.2a3 3 0 0 1-4.1-4.1L8.4 9.1ZM12 6c5.5 0 9.5 5.4 9.5 7 0 .8-1 2.4-2.6 3.9l-1.4-1.4c1-1 1.7-2 1.9-2.5-.6-1.7-3.6-5-7.4-5-.5 0-1 .1-1.5.2L8.8 6.5C9.8 6.2 10.9 6 12 6Z'/%3E%3C/svg%3E")
        center / contain
        no-repeat;

    mask:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m3.3 2.3 18.4 18.4-1.4 1.4-3.1-3.1A10.7 10.7 0 0 1 12 20C6.5 20 2.5 14.6 2.5 13c.1-1.2 1.8-3.7 4.4-5.4L1.9 3.7l1.4-1.4Zm5.1 6.8C6.5 10.3 5 12.1 4.6 13c.6 1.7 3.6 5 7.4 5 1.4 0 2.7-.4 3.8-1L14 15.2a3 3 0 0 1-4.1-4.1L8.4 9.1ZM12 6c5.5 0 9.5 5.4 9.5 7 0 .8-1 2.4-2.6 3.9l-1.4-1.4c1-1 1.7-2 1.9-2.5-.6-1.7-3.6-5-7.4-5-.5 0-1 .1-1.5.2L8.8 6.5C9.8 6.2 10.9 6 12 6Z'/%3E%3C/svg%3E")
        center / contain
        no-repeat;
}


/* ==========================================================
   SOMAGO_PASSWORD_STRENGTH_HIDE_V1_20260813
   Cache uniquement l'indicateur visuel natif de robustesse.
   La validation Joomla reste active.
   ========================================================== */

.somago-auth-form meter,
.somago-auth-form progress,
.somago-auth-form .password-strength,
.somago-auth-form .password-strength-meter,
.somago-auth-form .password-meter {
    display: none !important;
}


/* ==========================================================
   SOMAGO_PASSWORD_NOTE_FIX_V1_20260813
   Réactive l'indicateur natif Joomla.
   Cache uniquement la note SOMAGO redondante.
   ========================================================== */

.somago-auth-form meter,
.somago-auth-form progress,
.somago-auth-form .password-strength,
.somago-auth-form .password-strength-meter,
.somago-auth-form .password-meter {
    display: revert !important;
}

.somago-auth-security-note {
    display: none !important;
}


/* ==========================================================
   SOMAGO_SCIENTIFIC_DASHBOARD_V1_20260813
   ========================================================== */

.somago-member-dashboard {
    padding:
        1rem
        0
        5rem;
}


.somago-member-welcome {

    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap:
        3rem;

    align-items:
        end;

    padding:
        4.5rem;

    color:
        #fff;

    background:
        radial-gradient(
            circle at 90% 15%,
            rgb(54 164 183 / 24%),
            transparent 30%
        ),
        #102f49;
}


.somago-member-kicker {

    margin:
        0
        0
        1rem;

    color:
        #efbd3d;

    font-size:
        .7rem;

    font-weight:
        800;

    letter-spacing:
        .18em;
}


.somago-member-welcome h1 {

    max-width:
        47rem;

    margin:
        0;

    font-size:
        clamp(
            2.6rem,
            5vw,
            5rem
        );

    line-height:
        .97;

    letter-spacing:
        -.055em;
}


.somago-member-welcome-copy > p:last-child {

    max-width:
        42rem;

    margin:
        1.5rem
        0
        0;

    color:
        rgb(255 255 255 / 72%);

    font-size:
        1rem;

    line-height:
        1.7;
}


.somago-member-status {

    min-width:
        14rem;

    padding:
        1.35rem;

    border-top:
        3px solid
        #efbd3d;

    background:
        rgb(255 255 255 / 7%);
}


.somago-member-status span,
.somago-member-status strong {

    display:
        block;
}


.somago-member-status span {

    margin-bottom:
        .4rem;

    color:
        rgb(255 255 255 / 55%);

    font-size:
        .64rem;

    font-weight:
        800;

    letter-spacing:
        .15em;
}


.somago-member-grid {

    display:
        grid;

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

    gap:
        1px;

    background:
        #dfd9cc;
}


.somago-member-card {

    position:
        relative;

    min-height:
        21rem;

    padding:
        3rem;

    color:
        #102f49;

    text-decoration:
        none;

    background:
        #fff;

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


.somago-member-card:hover {

    z-index:
        2;

    color:
        #102f49;

    background:
        #f8f4e9;

    transform:
        translateY(-3px);
}


.somago-member-card > span {

    display:
        block;

    margin-bottom:
        3.5rem;

    color:
        #c5784c;

    font-size:
        .72rem;

    font-weight:
        800;
}


.somago-member-card small {

    display:
        block;

    margin-bottom:
        .75rem;

    color:
        #16809a;

    font-size:
        .68rem;

    font-weight:
        800;

    letter-spacing:
        .14em;

    text-transform:
        uppercase;
}


.somago-member-card h2 {

    margin:
        0
        0
        1rem;

    font-size:
        clamp(
            1.8rem,
            3vw,
            3rem
        );

    line-height:
        1;

    letter-spacing:
        -.04em;
}


.somago-member-card p {

    max-width:
        33rem;

    margin:
        0
        0
        2rem;

    color:
        #65717b;

    line-height:
        1.65;
}


.somago-member-card > strong {

    color:
        #15748a;

    font-size:
        .82rem;
}


.somago-member-card-profile {

    grid-column:
        span 2;

    min-height:
        15rem;

    background:
        #f3eddf;
}


.somago-member-card-profile > span {

    margin-bottom:
        2rem;
}


@media (max-width: 54rem) {

    .somago-member-welcome {

        grid-template-columns:
            1fr;

        padding:
            2.5rem
            1.5rem;
    }


    .somago-member-grid {

        grid-template-columns:
            1fr;
    }


    .somago-member-card-profile {

        grid-column:
            auto;
    }


    .somago-member-card {

        min-height:
            auto;

        padding:
            2rem
            1.5rem;
    }


    .somago-member-card > span {

        margin-bottom:
            2rem;
    }
}


/* ==========================================================
   SOMAGO_SEARCH_HEADER_V1_20260813
   ========================================================== */

.somago-header-search {
    position: relative;
    flex: 0 0 auto;
}

.somago-header-search > summary {
    display: grid;
    width: 2.75rem;
    height: 2.75rem;
    place-items: center;
    color: #173b57;
    cursor: pointer;
    list-style: none;
    border: 1px solid rgb(18 54 79 / 14%);
    border-radius: 50%;
    background: rgb(255 255 255 / 72%);
    transition:
        color .18s ease,
        border-color .18s ease,
        background .18s ease,
        transform .18s ease;
}

.somago-header-search > summary::-webkit-details-marker {
    display: none;
}

.somago-header-search > summary:hover {
    color: #0c7188;
    border-color: rgb(12 113 136 / 30%);
    background: #fff;
    transform: translateY(-1px);
}

.somago-header-search[open] > summary {
    color: #fff;
    border-color: #0f7188;
    background: #0f7188;
}

.somago-header-search-panel {
    position: absolute;
    z-index: 120;
    top: calc(100% + .9rem);
    right: 0;
    display: grid;
    grid-template-columns: minmax(18rem, 30rem) auto;
    gap: .6rem;
    min-width: min(39rem, calc(100vw - 2rem));
    padding: .75rem;
    border: 1px solid rgb(17 47 73 / 9%);
    box-shadow:
        0 1.25rem 3.2rem rgb(11 36 56 / 18%);
    background: #fff;
}

.somago-header-search-panel input {
    min-width: 0;
    height: 3rem;
    padding: 0 1rem;
    color: #173b57;
    font: inherit;
    border: 1px solid #d9dedf;
    outline: none;
    background: #f8f7f3;
}

.somago-header-search-panel input:focus {
    border-color: #17839b;
    box-shadow: 0 0 0 3px rgb(23 131 155 / 10%);
    background: #fff;
}

.somago-header-search-panel button {
    min-height: 3rem;
    padding: 0 1.15rem;
    color: #fff;
    font: inherit;
    font-size: .78rem;
    font-weight: 800;
    border: 0;
    cursor: pointer;
    background: #123e5a;
    transition:
        background .18s ease,
        transform .18s ease;
}

.somago-header-search-panel button:hover {
    background: #0f7188;
    transform: translateY(-1px);
}

.somago-mobile-search {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
    padding: 1rem 0;
    color: inherit;
    font-weight: 750;
    text-decoration: none;
    border-top: 1px solid rgb(255 255 255 / 12%);
}

@media (max-width: 74rem) {

    .somago-header-search {
        display: none;
    }
}


/* ==========================================================
   SOMAGO_SEARCH_OVERLAY_V1_20260813
   Recherche plein écran superposée
   ========================================================== */

/*
 * Le details reste dans le header,
 * mais son contenu passe au-dessus de toute la page.
 */
.somago-header-search {
    position: relative;
    z-index: 999;
}


/* ----------------------------------------------------------
   FOND TRANSPARENT SUPERPOSE
   ---------------------------------------------------------- */

.somago-search-overlay {
    position: fixed;

    z-index: 9998;

    inset: 0;

    display: flex;

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

    padding:
        2rem;

    background:
        rgb(5 25 39 / 68%);

    backdrop-filter:
        blur(7px);

    -webkit-backdrop-filter:
        blur(7px);
}


/* ----------------------------------------------------------
   BOITE CENTRALE
   ---------------------------------------------------------- */

.somago-search-dialog {
    position: relative;

    width:
        min(
            58rem,
            calc(100vw - 4rem)
        );

    padding:
        1.4rem;

    border:
        1px solid
        rgb(255 255 255 / 25%);

    background:
        rgb(255 255 255 / 96%);

    box-shadow:
        0 2rem 6rem
        rgb(0 0 0 / 30%);
}


/* ----------------------------------------------------------
   ENTETE
   ---------------------------------------------------------- */

.somago-search-dialog-top {
    display: flex;

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

    margin-bottom:
        1rem;
}


.somago-search-dialog-top > span {
    color:
        #0d7188;

    font-size:
        .68rem;

    font-weight:
        800;

    letter-spacing:
        .18em;
}


/* ----------------------------------------------------------
   FERMETURE
   ---------------------------------------------------------- */

.somago-search-close {
    display: grid;

    width:
        2.4rem;

    height:
        2.4rem;

    padding:
        0;

    place-items:
        center;

    border:
        0;

    color:
        #173b57;

    background:
        transparent;

    font-size:
        1.8rem;

    font-weight:
        300;

    line-height:
        1;

    cursor:
        pointer;
}


.somago-search-close:hover {
    color:
        #0d7188;
}


/* ----------------------------------------------------------
   FORMULAIRE HORIZONTAL
   ---------------------------------------------------------- */

.somago-search-overlay
.somago-header-search-panel {
    position:
        static;

    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    gap:
        .65rem;

    width:
        100%;

    min-width:
        0;

    padding:
        0;

    border:
        0;

    background:
        transparent;

    box-shadow:
        none;
}


/* ----------------------------------------------------------
   GRAND CHAMP DE SAISIE
   ---------------------------------------------------------- */

.somago-search-overlay
.somago-header-search-panel
input[type="search"] {
    width:
        100%;

    min-width:
        0;

    height:
        4.4rem;

    padding:
        0 1.5rem;

    border:
        1px solid
        #d7dddf;

    border-radius:
        0;

    outline:
        none;

    color:
        #102a43;

    background:
        #fff;

    font-size:
        1.12rem;

    font-weight:
        500;

    box-shadow:
        none;
}


.somago-search-overlay
.somago-header-search-panel
input[type="search"]::placeholder {
    color:
        #7c8992;
}


.somago-search-overlay
.somago-header-search-panel
input[type="search"]:focus {
    border-color:
        #137b91;

    box-shadow:
        0 0 0 3px
        rgb(19 123 145 / 10%);
}


/* ----------------------------------------------------------
   BOUTON RECHERCHE
   ---------------------------------------------------------- */

.somago-search-overlay
.somago-header-search-panel
button[type="submit"] {
    display:
        inline-flex;

    min-width:
        10.5rem;

    height:
        4.4rem;

    padding:
        0 1.45rem;

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

    gap:
        1.5rem;

    border:
        0;

    color:
        #fff;

    background:
        #123e5a;

    font-size:
        .76rem;

    font-weight:
        800;

    cursor:
        pointer;
}


.somago-search-overlay
.somago-header-search-panel
button[type="submit"]:hover {
    background:
        #0d7188;
}


/* ----------------------------------------------------------
   PETITE AIDE
   ---------------------------------------------------------- */

.somago-search-hint {
    margin:
        .9rem 0 0;

    color:
        #77838b;

    font-size:
        .77rem;

    line-height:
        1.5;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 48rem) {

    .somago-search-overlay {
        padding:
            1rem;
    }

    .somago-search-dialog {
        width:
            100%;

        padding:
            1rem;
    }

    .somago-search-overlay
    .somago-header-search-panel {
        grid-template-columns:
            1fr;
    }

    .somago-search-overlay
    .somago-header-search-panel
    input[type="search"] {
        height:
            3.8rem;
    }

    .somago-search-overlay
    .somago-header-search-panel
    button[type="submit"] {
        width:
            100%;

        height:
            3.6rem;
    }

}



/* ==========================================================
   SOMAGO_SEARCH_OVERLAY_LAYOUT_FIX_V2_20260813

   Le label accessible restait visuellement présent et
   occupait la première cellule de la grille.

   Résultat corrigé :
   [ grand champ de recherche ] [ Rechercher → ]

   Accessibilité conservée :
   le label reste disponible pour les lecteurs d'écran.
   ========================================================== */


/* ----------------------------------------------------------
   LABEL ACCESSIBLE MAIS HORS DU FLUX VISUEL
   ---------------------------------------------------------- */

.somago-search-overlay
.somago-header-search-panel
.visually-hidden {

    position: absolute !important;

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

    padding: 0 !important;
    margin: -1px !important;

    overflow: hidden !important;

    clip: rect(0, 0, 0, 0) !important;
    clip-path: inset(50%) !important;

    white-space: nowrap !important;

    border: 0 !important;
}


/* ----------------------------------------------------------
   FORMULAIRE : UNE SEULE LIGNE HORIZONTALE
   ---------------------------------------------------------- */

.somago-search-overlay
.somago-header-search-panel {

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        11rem;

    align-items: stretch;

    gap: .7rem;

    width: 100%;
}


/* ----------------------------------------------------------
   GRAND CHAMP PRINCIPAL
   ---------------------------------------------------------- */

.somago-search-overlay
.somago-header-search-panel
input[type="search"] {

    grid-column: 1;

    width: 100%;
    min-width: 0;

    height: 4.2rem;

    padding:
        0 1.35rem;

    box-sizing:
        border-box;
}


/* ----------------------------------------------------------
   BOUTON A DROITE
   ---------------------------------------------------------- */

.somago-search-overlay
.somago-header-search-panel
button[type="submit"] {

    grid-column: 2;

    width: 100%;
    min-width: 0;

    height: 4.2rem;

    box-sizing:
        border-box;
}


/* ----------------------------------------------------------
   MOBILE : RETOUR VERTICAL PROPRE
   ---------------------------------------------------------- */

@media (max-width: 48rem) {

    .somago-search-overlay
    .somago-header-search-panel {

        grid-template-columns:
            1fr;
    }


    .somago-search-overlay
    .somago-header-search-panel
    input[type="search"],

    .somago-search-overlay
    .somago-header-search-panel
    button[type="submit"] {

        grid-column:
            1;

        width:
            100%;
    }

}



/* ==========================================================
   SOMAGO_SEARCH_HEADER_CTA_POSITION_FIX_V1_20260813
   La recherche reste compacte dans le header.
   L'overlay demeure plein écran uniquement lorsqu'il s'ouvre.
   ========================================================== */

.somago-header-main
.somago-header-search {

    flex:
        0 0 auto;

    width:
        auto;

    min-width:
        0;

    margin:
        0;
}


/* La loupe reste un simple bouton dans le flux du header */

.somago-header-main
.somago-header-search > summary {

    flex:
        0 0 auto;
}


/* L'overlay fixed ne doit jamais influencer la largeur du header */

.somago-header-search
.somago-search-overlay {

    width:
        auto;

    min-width:
        0;
}


/* Accès public reprend sa place normale à droite */

.somago-header-main
.somago-header-cta {

    flex:
        0 0 auto;

    margin-left:
        0;
}


/* Séquence desktop :
   navigation → loupe → accès public
*/

@media (min-width: 74.01rem) {

    .somago-header-main
    .somago-primary-nav {

        margin-left:
            auto;
    }

}



/* ==========================================================
   SOMAGO_SEARCH_HEADER_GRID_FIX_V1_20260813

   Header desktop :
   [ Logo ] [ Navigation ] [ Recherche ] [ Accès public ]

   Le header possède désormais 4 enfants directs.
   La grille doit donc posséder 4 colonnes.
   ========================================================== */

@media (min-width: 74.01rem) {

    .somago-header-main {
        grid-template-columns:
            auto
            minmax(0, 1fr)
            auto
            auto;
    }

    .somago-primary-nav {
        min-width: 0;
    }

    .somago-header-search,
    .somago-header-cta {
        align-self: center;
    }
}


/* ==========================================================
   SOMAGO_SEARCH_RESULTS_PREMIUM_V1_20260813
   ========================================================== */

.somago-component-output .com-finder {
    max-width: 72rem;
    margin-inline: auto;
}

.somago-component-output
.com-finder__form {
    margin-bottom: 3rem;
}


/* formulaire */

.somago-finder-form {
    margin: 0;
}

.somago-finder-searchbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 11rem;
    gap: .7rem;
}

.somago-finder-searchbar input {
    width: 100%;
    min-width: 0;
    height: 4rem;
    padding: 0 1.3rem;

    border:
        1px solid
        rgb(16 42 67 / 18%);

    color: #173b57;
    background: #fff;

    font: inherit;
    font-size: 1rem;

    outline: 0;
}

.somago-finder-searchbar input:focus {
    border-color: #167a91;

    box-shadow:
        0 0 0 3px
        rgb(22 122 145 / 9%);
}

.somago-finder-searchbar button {
    display: flex;
    height: 4rem;

    padding:
        0 1.25rem;

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

    border: 0;

    color: #fff;
    background: #123e5a;

    font: inherit;
    font-size: .78rem;
    font-weight: 800;

    cursor: pointer;

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

.somago-finder-searchbar button:hover {
    background: #0f7188;

    transform:
        translateY(-1px);
}


/* entête résultats */

.somago-search-results-head {
    padding:
        0 0
        2rem;

    border-bottom:
        1px solid
        rgb(16 42 67 / 13%);
}

.somago-search-results-kicker {
    display: block;

    margin-bottom:
        .8rem;

    color:
        #bd653d;

    font-size:
        .67rem;

    font-weight:
        800;

    letter-spacing:
        .18em;
}

.somago-search-results-head h1 {
    margin:
        0;

    color:
        #102a43;

    font-size:
        clamp(
            2.1rem,
            4vw,
            3.5rem
        );

    line-height:
        .98;
}

.somago-search-results-summary {
    margin:
        1rem 0 0;

    color:
        #5c6c78;

    font-size:
        1rem;
}


/* liste */

.somago-search-result-list {
    padding:
        0;

    margin:
        0;

    list-style:
        none;
}

.somago-search-result-item {
    padding:
        2.3rem 0;

    border-bottom:
        1px solid
        rgb(16 42 67 / 12%);
}

.somago-search-result-card {
    max-width:
        58rem;
}

.somago-search-result-meta {
    min-height:
        1rem;

    margin-bottom:
        .7rem;

    color:
        #bd653d;

    font-size:
        .72rem;

    font-weight:
        800;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}

.somago-search-result-title {
    margin:
        0;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(
            1.5rem,
            2.6vw,
            2.15rem
        );

    line-height:
        1.12;
}

.somago-search-result-title a {
    color:
        #102a43;

    text-decoration:
        none;
}

.somago-search-result-title a:hover {
    color:
        #0f7188;
}

.somago-search-result-description {
    max-width:
        52rem;

    margin:
        .9rem 0 0;

    color:
        #536574;

    font-size:
        .98rem;

    line-height:
        1.7;
}

.somago-search-result-more {
    display:
        inline-flex;

    gap:
        .55rem;

    align-items:
        center;

    margin-top:
        1.15rem;

    color:
        #0f7188;

    font-size:
        .79rem;

    font-weight:
        800;

    text-decoration:
        none;
}

.somago-search-result-more:hover {
    gap:
        .8rem;
}


/* aucun résultat */

.somago-search-empty {
    padding:
        3rem 0;

    border-bottom:
        1px solid
        rgb(16 42 67 / 12%);
}

.somago-search-empty h2 {
    margin:
        0 0
        .6rem;

    color:
        #102a43;
}


/* pagination */

.somago-search-pagination {
    padding-top:
        2rem;
}


/* protections :
   ancien rendu Joomla ne doit plus polluer la page
*/

.somago-component-output
.result__title-url,

.somago-component-output
.result__taxonomy,

.somago-component-output
.com-finder__advanced,

.somago-component-output
.com-finder__explained {
    display:
        none !important;
}


/* mobile */

@media (max-width: 48rem) {

    .somago-finder-searchbar {
        grid-template-columns:
            1fr;
    }

    .somago-finder-searchbar button {
        width:
            100%;
    }

    .somago-search-result-item {
        padding:
            1.8rem 0;
    }
}


/* ==========================================================
   SOMAGO_SCIENTIFIC_LIBRARY_UI_V1_20260813
   ========================================================== */

.somago-library {
    display: grid;
    gap: 3rem;
}

.somago-library-intro {
    padding:
        clamp(2rem, 5vw, 4rem);

    color:
        #fff;

    background:
        linear-gradient(
            135deg,
            #113956,
            #0e6678
        );
}

.somago-library-kicker {
    margin:
        0 0 1rem;

    color:
        #76cad1;

    font-size:
        .72rem;

    font-weight:
        800;

    letter-spacing:
        .16em;
}

.somago-library-intro h1 {
    margin:
        0;

    color:
        #fff;

    font-size:
        clamp(
            2.5rem,
            5vw,
            4.8rem
        );

    line-height:
        .98;
}

.somago-library-intro > p:last-child {
    max-width:
        46rem;

    margin:
        1.4rem 0 0;

    color:
        rgb(255 255 255 / 82%);

    font-size:
        1.05rem;

    line-height:
        1.7;
}


.somago-library-categories {
    display:
        grid;

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

    border-top:
        1px solid
        rgb(16 42 67 / 12%);

    border-left:
        1px solid
        rgb(16 42 67 / 12%);
}

.somago-library-category {
    min-height:
        18rem;

    padding:
        clamp(
            1.5rem,
            4vw,
            2.5rem
        );

    border-right:
        1px solid
        rgb(16 42 67 / 12%);

    border-bottom:
        1px solid
        rgb(16 42 67 / 12%);
}

.somago-library-category > span,
.somago-library-section-heading span {
    color:
        #c66738;

    font-size:
        .72rem;

    font-weight:
        800;
}

.somago-library-category small,
.somago-library-section-heading small {
    display:
        block;

    margin-top:
        2rem;

    color:
        #11768a;

    font-size:
        .72rem;

    font-weight:
        800;

    letter-spacing:
        .12em;
}

.somago-library-category h2 {
    margin:
        .7rem 0 1rem;

    color:
        #173b57;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(
            1.7rem,
            3vw,
            2.5rem
        );
}

.somago-library-category p {
    max-width:
        30rem;

    color:
        #536879;

    line-height:
        1.7;
}

.somago-library-category strong {
    display:
        inline-block;

    margin-top:
        1rem;

    color:
        #9aa4aa;

    font-size:
        .8rem;
}


.somago-library-documents {
    padding-top:
        1rem;
}

.somago-library-section-heading {
    display:
        grid;

    grid-template-columns:
        12rem
        minmax(0, 1fr);

    gap:
        2rem;

    align-items:
        end;

    padding-bottom:
        1.5rem;

    border-bottom:
        1px solid
        rgb(16 42 67 / 16%);
}

.somago-library-section-heading small {
    margin-top:
        .5rem;
}

.somago-library-section-heading h2 {
    margin:
        0;

    color:
        #173b57;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(
            2rem,
            4vw,
            3.4rem
        );
}


.somago-library-document-grid {
    display:
        grid;

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

    gap:
        1rem;

    margin-top:
        1.5rem;
}

.somago-library-document {
    display:
        flex;

    min-height:
        20rem;

    flex-direction:
        column;

    padding:
        1.7rem;

    border:
        1px solid
        rgb(16 42 67 / 12%);

    background:
        #fff;
}

.somago-library-document-type {
    width:
        fit-content;

    padding:
        .35rem
        .55rem;

    color:
        #fff;

    background:
        #12788c;

    font-size:
        .68rem;

    font-weight:
        800;

    letter-spacing:
        .1em;
}

.somago-library-document h3 {
    margin:
        1.4rem 0 1rem;

    color:
        #173b57;

    font-family:
        var(--somago-serif);

    font-size:
        1.65rem;

    line-height:
        1.15;
}

.somago-library-document p {
    margin:
        0;

    color:
        #627584;

    line-height:
        1.65;
}

.somago-library-document a {
    display:
        flex;

    justify-content:
        space-between;

    gap:
        1rem;

    margin-top:
        auto;

    padding-top:
        1.5rem;

    color:
        #11768a;

    font-weight:
        800;

    text-decoration:
        none;
}

.somago-library-document a:hover {
    color:
        #173b57;
}


@media (max-width: 58rem) {

    .somago-library-categories,
    .somago-library-document-grid {
        grid-template-columns:
            1fr;
    }

    .somago-library-section-heading {
        grid-template-columns:
            1fr;
    }

}


/* ==========================================================
   SOMAGO_PROFILE_UI_V1_20260813
   Profil membre / espace scientifique
   ========================================================== */

.somago-profile-page {
    width: 100%;
    padding:
        clamp(2.5rem, 5vw, 5rem)
        0
        clamp(4rem, 7vw, 7rem);
}


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

.somago-profile-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;

    padding:
        clamp(2rem, 4vw, 3.5rem);

    color: #fff;

    background:
        linear-gradient(
            120deg,
            #102a43 0%,
            #123d59 68%,
            #0e7087 100%
        );
}


.somago-profile-identity {
    display: flex;
    align-items: center;
    gap:
        clamp(1.3rem, 3vw, 2.4rem);
}


.somago-profile-avatar {
    display: grid;

    width:
        clamp(5rem, 9vw, 7rem);

    height:
        clamp(5rem, 9vw, 7rem);

    flex:
        0 0 auto;

    place-items: center;

    border:
        1px solid
        rgb(255 255 255 / 22%);

    border-radius:
        50%;

    color:
        #102a43;

    background:
        #f1bc45;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(2rem, 4vw, 3rem);

    font-weight:
        700;
}


.somago-profile-kicker,
.somago-profile-aside-kicker {
    margin:
        0 0 .7rem;

    color:
        #71c9cf;

    font-size:
        .69rem;

    font-weight:
        800;

    letter-spacing:
        .18em;
}


.somago-profile-heading h1 {
    margin:
        0;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(2.1rem, 4vw, 3.8rem);

    line-height:
        .98;
}


.somago-profile-heading > p:last-child {
    max-width:
        38rem;

    margin:
        1rem 0 0;

    color:
        rgb(255 255 255 / 74%);

    line-height:
        1.7;
}


.somago-profile-edit {
    display:
        inline-flex;

    min-height:
        3.6rem;

    flex:
        0 0 auto;

    align-items:
        center;

    justify-content:
        space-between;

    gap:
        2rem;

    padding:
        0 1.25rem;

    color:
        #102a43;

    background:
        #f1bc45;

    font-size:
        .78rem;

    font-weight:
        800;

    text-decoration:
        none;

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


.somago-profile-edit:hover {
    color:
        #102a43;

    background:
        #f5c85d;

    transform:
        translateY(-2px);
}


/* ----------------------------------------------------------
   LAYOUT
   ---------------------------------------------------------- */

.somago-profile-layout {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(16rem, 21rem);

    gap:
        clamp(1.5rem, 4vw, 3rem);

    margin-top:
        1.5rem;
}


.somago-profile-main {
    display:
        grid;

    gap:
        1rem;
}


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

.somago-profile-card {
    padding:
        clamp(1.6rem, 3vw, 2.5rem);

    border:
        1px solid
        rgb(16 42 67 / 12%);

    background:
        #fff;
}


.somago-profile-card-heading {
    display:
        flex;

    align-items:
        flex-start;

    gap:
        1rem;

    padding-bottom:
        1.5rem;

    border-bottom:
        1px solid
        rgb(16 42 67 / 10%);
}


.somago-profile-card-heading > span {
    color:
        #ca6841;

    font-size:
        .72rem;

    font-weight:
        800;
}


.somago-profile-card-heading small {
    display:
        block;

    margin-bottom:
        .35rem;

    color:
        #0e7187;

    font-size:
        .65rem;

    font-weight:
        800;

    letter-spacing:
        .16em;
}


.somago-profile-card-heading h2 {
    margin:
        0;

    color:
        #102a43;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1.55rem, 2.5vw, 2.2rem);
}


/* ----------------------------------------------------------
   DONNEES
   ---------------------------------------------------------- */

.somago-profile-data {
    margin:
        0;

    padding:
        0;
}


.somago-profile-data > div {
    display:
        grid;

    grid-template-columns:
        minmax(9rem, .38fr)
        1fr;

    gap:
        1rem;

    padding:
        1.15rem 0;

    border-bottom:
        1px solid
        rgb(16 42 67 / 8%);
}


.somago-profile-data > div:last-child {
    border-bottom:
        0;
}


.somago-profile-data dt {
    color:
        #778590;

    font-size:
        .76rem;

    font-weight:
        700;

    text-transform:
        uppercase;

    letter-spacing:
        .06em;
}


.somago-profile-data dd {
    margin:
        0;

    color:
        #173b57;

    font-weight:
        700;
}


.somago-profile-status {
    display:
        inline-flex;

    align-items:
        center;

    gap:
        .5rem;
}


.somago-profile-status::before {
    width:
        .55rem;

    height:
        .55rem;

    border-radius:
        50%;

    background:
        #28a36a;

    content:
        "";
}


/* ----------------------------------------------------------
   SIDEBAR
   ---------------------------------------------------------- */

.somago-profile-aside {
    display:
        grid;

    align-content:
        start;

    gap:
        1rem;
}


.somago-profile-science,
.somago-profile-library {
    padding:
        1.6rem;

    border-top:
        3px solid
        #e7b941;

    background:
        #f3eddf;
}


.somago-profile-science h2 {
    margin:
        0 0 1.4rem;

    color:
        #102a43;

    font-family:
        var(--somago-serif);

    font-size:
        1.8rem;
}


.somago-profile-science-title {
    display:
        grid;

    gap:
        .3rem;

    padding-top:
        1rem;

    border-top:
        1px solid
        rgb(16 42 67 / 12%);
}


.somago-profile-science-title span {
    color:
        #778590;

    font-size:
        .72rem;

    text-transform:
        uppercase;

    letter-spacing:
        .08em;
}


.somago-profile-science-title strong {
    color:
        #0e7187;

    font-family:
        var(--somago-serif);

    font-size:
        2rem;
}


.somago-profile-empty {
    margin:
        0;

    color:
        #667783;

    line-height:
        1.65;
}


.somago-profile-library {
    display:
        grid;

    gap:
        .7rem;

    color:
        #fff;

    border-top-color:
        #61c5c8;

    background:
        #123e5a;

    text-decoration:
        none;

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


.somago-profile-library small {
    color:
        #70cbd0;

    font-size:
        .65rem;

    font-weight:
        800;

    letter-spacing:
        .15em;
}


.somago-profile-library strong {
    font-family:
        var(--somago-serif);

    font-size:
        1.55rem;

    line-height:
        1.15;
}


.somago-profile-library span {
    margin-top:
        .5rem;

    font-size:
        .78rem;

    font-weight:
        800;
}


.somago-profile-library:hover {
    color:
        #fff;

    background:
        #0e7187;

    transform:
        translateY(-2px);
}


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

@media (max-width: 58rem) {

    .somago-profile-hero {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .somago-profile-layout {
        grid-template-columns:
            1fr;
    }


    .somago-profile-aside {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 38rem) {

    .somago-profile-identity {
        align-items:
            flex-start;

        flex-direction:
            column;
    }


    .somago-profile-edit {
        width:
            100%;
    }


    .somago-profile-data > div {
        grid-template-columns:
            1fr;

        gap:
            .35rem;
    }


    .somago-profile-aside {
        grid-template-columns:
            1fr;
    }

}



/* ==========================================================
   SOMAGO_PROFILE_SPACING_FIX_V1_20260813

   Page /mon-profil :
   - le composant profil possède déjà son propre Hero ;
   - suppression du double espace vertical ;
   - aucune incidence sur les autres pages internes.
   ========================================================== */


/* Le composant profil commence directement sous le header */

.somago-profile-route
.somago-component-output {

    padding-top:
        clamp(1rem, 2vw, 1.6rem);
}


/* Le profil lui-même n'ajoute plus un second grand espace */

.somago-profile-route
.somago-profile-page {

    padding-top:
        0;
}


/* Mobile */

@media (max-width: 48rem) {

    .somago-profile-route
    .somago-component-output {

        padding-top:
            .75rem;
    }

}


/* ==========================================================
   SOMAGO_ADHESION_FORM_V1_20260813
   Formulaire public d'adhésion
   ========================================================== */

.somago-adhesion-page {
    padding:
        clamp(3rem, 6vw, 6rem)
        0
        clamp(5rem, 8vw, 8rem);

    background:
        #f7f8fa;
}

.somago-adhesion-layout {
    display:
        grid;

    grid-template-columns:
        minmax(20rem, .8fr)
        minmax(30rem, 1.2fr);

    gap:
        clamp(3rem, 7vw, 7rem);

    align-items:
        start;
}

.somago-adhesion-intro {
    padding-top:
        1rem;
}

.somago-adhesion-intro h1 {
    max-width:
        11ch;

    margin:
        .8rem 0 1.4rem;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(3rem, 5vw, 5rem);

    font-weight:
        400;

    letter-spacing:
        -.045em;

    line-height:
        .98;
}

.somago-adhesion-intro > p:not(.somago-eyebrow) {
    max-width:
        34rem;

    color:
        var(--somago-text);

    font-size:
        1rem;

    line-height:
        1.8;
}

.somago-adhesion-note {
    display:
        grid;

    gap:
        .45rem;

    max-width:
        31rem;

    margin-top:
        3rem;

    padding:
        1.35rem 1.5rem;

    border-left:
        3px solid
        var(--somago-teal);

    background:
        #fff;
}

.somago-adhesion-note strong {
    color:
        var(--somago-navy);

    font-size:
        .88rem;
}

.somago-adhesion-note span {
    color:
        var(--somago-text);

    font-size:
        .82rem;

    line-height:
        1.6;
}

.somago-adhesion-card {
    padding:
        clamp(2rem, 4vw, 3.2rem);

    border:
        1px solid
        rgb(16 42 67 / 8%);

    background:
        #fff;

    box-shadow:
        0 1.5rem 4rem
        rgb(16 42 67 / 8%);
}

.somago-adhesion-heading small {
    color:
        var(--somago-teal);

    font-size:
        .67rem;

    font-weight:
        800;

    letter-spacing:
        .14em;
}

.somago-adhesion-heading h2 {
    margin:
        .45rem 0 .5rem;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(2rem, 3vw, 2.8rem);

    font-weight:
        400;
}

.somago-adhesion-heading p {
    margin:
        0 0 2rem;

    color:
        var(--somago-text);

    font-size:
        .86rem;
}

.somago-adhesion-form {
    display:
        grid;

    gap:
        1.25rem;
}

.somago-adhesion-grid {
    display:
        grid;

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

    gap:
        1.25rem;
}

.somago-adhesion-form label {
    display:
        grid;

    gap:
        .5rem;
}

.somago-adhesion-form label > span {
    color:
        var(--somago-navy);

    font-size:
        .75rem;

    font-weight:
        750;
}

.somago-adhesion-form input,
.somago-adhesion-form select {
    width:
        100%;

    min-height:
        3.35rem;

    padding:
        .75rem .95rem;

    border:
        1px solid
        #d5dde3;

    border-radius:
        0;

    color:
        var(--somago-navy);

    background:
        #fbfcfd;

    font:
        inherit;
}

.somago-adhesion-form input:focus,
.somago-adhesion-form select:focus {
    border-color:
        var(--somago-teal);

    outline:
        2px solid
        rgb(24 166 166 / 20%);
}

.somago-adhesion-form button {
    display:
        flex;

    min-height:
        3.9rem;

    margin-top:
        .7rem;

    padding:
        0 1.3rem;

    align-items:
        center;

    justify-content:
        space-between;

    border:
        0;

    color:
        #fff;

    background:
        var(--somago-navy);

    font:
        inherit;

    font-size:
        .79rem;

    font-weight:
        800;

    cursor:
        pointer;

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

.somago-adhesion-form button:hover {
    background:
        #164d66;

    transform:
        translateY(-1px);
}

.somago-adhesion-errors {
    margin-bottom:
        1.5rem;

    padding:
        1rem 1.2rem;

    border-left:
        3px solid #b74040;

    background:
        #fff3f3;
}

.somago-adhesion-errors p {
    margin:
        .25rem 0;

    color:
        #872e2e;

    font-size:
        .84rem;
}

.somago-adhesion-success {
    padding:
        1rem 0;
}

.somago-adhesion-success > span {
    display:
        grid;

    width:
        3.3rem;

    height:
        3.3rem;

    place-items:
        center;

    border-radius:
        50%;

    color:
        #fff;

    background:
        var(--somago-teal);

    font-size:
        1.35rem;
}

.somago-adhesion-success .somago-eyebrow {
    margin-top:
        1.6rem;
}

.somago-adhesion-success h2 {
    margin:
        .5rem 0 .8rem;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(2rem, 3vw, 3rem);

    font-weight:
        400;
}

.somago-adhesion-success p {
    max-width:
        32rem;

    color:
        var(--somago-text);

    line-height:
        1.7;
}

.somago-adhesion-success a {
    display:
        inline-block;

    margin-top:
        1.5rem;

    color:
        var(--somago-teal);

    font-size:
        .82rem;

    font-weight:
        800;
}

@media (max-width: 58rem) {

    .somago-adhesion-layout {
        grid-template-columns:
            1fr;
    }

}

@media (max-width: 38rem) {

    .somago-adhesion-grid {
        grid-template-columns:
            1fr;
    }

    .somago-adhesion-card {
        padding:
            1.5rem;
    }

}


/* ==========================================================
   SOMAGO_ADHESION_V2_20260814
   UX formulaire société savante + navigation interne
   ========================================================== */


/* ----------------------------------------------------------
   1. MENU PARENT LISIBLE SUR HEADER CLAIR
   ---------------------------------------------------------- */

.somago-inner
.somago-primary-nav
.somago-nav-item.has-children:hover
> .somago-nav-link,

.somago-inner
.somago-primary-nav
.somago-nav-item.has-children:focus-within
> .somago-nav-link,

.somago-inner
.somago-primary-nav
.somago-nav-item.has-children.is-open
> .somago-nav-link {

    color:
        var(--somago-navy) !important;

    background:
        rgb(16 42 67 / 7%);
}


/* ----------------------------------------------------------
   2. DROPDOWN PLUS COMPACT
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu {

    width:
        clamp(
            16rem,
            21vw,
            20rem
        );

    min-width:
        16rem;

    padding:
        .55rem;

    border-radius:
        .85rem;
}


.somago-primary-nav
.somago-submenu
a {

    min-height:
        3.35rem;

    gap:
        .7rem;

    padding:
        .45rem
        .55rem;

    border-radius:
        .55rem;

    font-size:
        .78rem;
}


/*
 * Réduction de l'espace gauche créé par les
 * pastilles graphiques du dropdown premium.
 */

.somago-primary-nav
.somago-submenu
a::before {

    width:
        2.35rem;

    height:
        2.35rem;

    flex:
        0 0 2.35rem;

    font-size:
        .72rem;
}


/* Hover : plus de décalage horizontal excessif */

.somago-primary-nav
.somago-submenu
a:hover,

.somago-primary-nav
.somago-submenu
a:focus-visible {

    padding-left:
        .55rem;

    transform:
        translateX(2px);
}


/* ----------------------------------------------------------
   3. SECTIONS DU FORMULAIRE
   ---------------------------------------------------------- */

.somago-adhesion-section {

    display:
        grid;

    gap:
        1.25rem;

    padding-top:
        1.6rem;

    margin-top:
        .35rem;

    border-top:
        1px solid
        rgb(16 42 67 / 10%);
}


.somago-adhesion-section-heading {

    display:
        flex;

    gap:
        .9rem;

    align-items:
        center;
}


.somago-adhesion-section-heading
> span {

    display:
        grid;

    width:
        2.35rem;

    height:
        2.35rem;

    flex:
        0 0 2.35rem;

    place-items:
        center;

    border-radius:
        50%;

    color:
        #fff;

    background:
        var(--somago-navy);

    font-size:
        .66rem;

    font-weight:
        800;
}


.somago-adhesion-section-heading
div {

    display:
        grid;

    gap:
        .1rem;
}


.somago-adhesion-section-heading
strong {

    color:
        var(--somago-navy);

    font-size:
        .9rem;
}


.somago-adhesion-section-heading
small {

    color:
        var(--somago-text);

    font-size:
        .72rem;
}


/* ----------------------------------------------------------
   4. TEXTAREA
   ---------------------------------------------------------- */

.somago-adhesion-form
textarea {

    width:
        100%;

    min-height:
        8.5rem;

    padding:
        .9rem .95rem;

    resize:
        vertical;

    border:
        1px solid
        #d5dde3;

    border-radius:
        0;

    color:
        var(--somago-navy);

    background:
        #fbfcfd;

    font:
        inherit;

    line-height:
        1.55;
}


.somago-adhesion-form
textarea:focus {

    border-color:
        var(--somago-teal);

    outline:
        2px solid
        rgb(24 166 166 / 20%);
}


/* ----------------------------------------------------------
   5. FACULTATIF
   ---------------------------------------------------------- */

.somago-adhesion-form
.somago-optional {

    margin-left:
        .35rem;

    color:
        #758594;

    font-size:
        .64rem;

    font-weight:
        500;
}


/* ----------------------------------------------------------
   6. CONSENTEMENT
   ---------------------------------------------------------- */

.somago-adhesion-form
.somago-adhesion-consent {

    display:
        grid;

    grid-template-columns:
        auto
        minmax(0, 1fr);

    gap:
        .8rem;

    align-items:
        start;

    padding:
        1rem 1.1rem;

    border:
        1px solid
        rgb(16 42 67 / 10%);

    background:
        #f7f9fa;
}


.somago-adhesion-form
.somago-adhesion-consent
input {

    width:
        1.05rem;

    height:
        1.05rem;

    min-height:
        0;

    margin:
        .15rem 0 0;

    accent-color:
        var(--somago-teal);
}


.somago-adhesion-form
.somago-adhesion-consent
> span {

    color:
        var(--somago-text);

    font-size:
        .78rem;

    font-weight:
        500;

    line-height:
        1.55;
}


/* ----------------------------------------------------------
   7. RESPONSIVE
   ---------------------------------------------------------- */

@media (max-width: 38rem) {

    .somago-adhesion-section {

        padding-top:
            1.3rem;
    }


    .somago-adhesion-section-heading {

        align-items:
            flex-start;
    }

}



/* ==========================================================
   SOMAGO_DROPDOWN_CLEAN_V21_20260814

   Navigation desktop :
   - suppression des pastilles décoratives ;
   - suppression de l'espace gauche artificiel ;
   - largeur adaptée au contenu ;
   - Actualités plus compact ;
   - Rendez-vous conserve assez de largeur pour ses libellés ;
   - aucun changement Joomla / HTML / mobile.
   ========================================================== */


/* ----------------------------------------------------------
   1. PANNEAU PLUS NATUREL
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu {

    width:
        max-content;

    min-width:
        12.5rem;

    max-width:
        18rem;

    padding:
        .45rem;
}


/* ----------------------------------------------------------
   2. SUPPRESSION DES PASTILLES PREMIUM
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu
a::before {

    display:
        none !important;

    content:
        none !important;
}


/* ----------------------------------------------------------
   3. ITEMS : PLUS D'ESPACE ARTIFICIEL A GAUCHE
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-submenu
a {

    min-height:
        3rem;

    gap:
        0;

    padding:
        .65rem
        .8rem;

    border-radius:
        .55rem;

    line-height:
        1.25;
}


/* Hover sans déplacement horizontal */

.somago-primary-nav
.somago-submenu
a:hover,

.somago-primary-nav
.somago-submenu
a:focus-visible {

    padding-left:
        .8rem;

    transform:
        none;
}


/* ----------------------------------------------------------
   4. ACTUALITES
   Deux entrées courtes : panneau volontairement compact.
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-nav-item:has(> .somago-nav-link[href$="/actualites"])
> .somago-submenu {

    width:
        13.5rem;

    min-width:
        13.5rem;

    max-width:
        13.5rem;
}


/* ----------------------------------------------------------
   5. RENDEZ-VOUS
   Plus large pour "Prise en charge internationale".
   ---------------------------------------------------------- */

.somago-primary-nav
.somago-nav-item:has(
    > .somago-nav-link[href$="/demander-un-rendez-vous"]
)
> .somago-submenu {

    width:
        16.5rem;

    min-width:
        16.5rem;

    max-width:
        16.5rem;
}


/* ----------------------------------------------------------
   6. MOBILE
   Aucun impact sur la navigation mobile.
   ---------------------------------------------------------- */

@media (max-width: 76rem) {

    .somago-primary-nav
    .somago-submenu {

        display:
            none !important;
    }
}



/* ==========================================================
   SOMAGO_DROPDOWN_ALIGNMENT_FIX_V1_20260814

   Correction cause racine :
   la règle globale `.somago-primary-nav ul`
   applique justify-content:flex-end + gap aux sous-menus.

   Pour les dropdowns desktop :
   - contenu aligné naturellement à gauche ;
   - suppression du gap hérité du menu principal ;
   - lignes sur toute la largeur ;
   - aucune modification HTML / Joomla / mobile.
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-primary-nav
    .somago-submenu {

        justify-content:
            stretch;

        justify-items:
            stretch;

        gap:
            0;
    }


    .somago-primary-nav
    .somago-submenu
    > li {

        width:
            100%;
    }


    .somago-primary-nav
    .somago-submenu
    > li
    > a {

        width:
            100%;

        justify-content:
            flex-start;

        text-align:
            left;
    }

}



/* ==========================================================
   SOMAGO_DROPDOWN_ACTUALITES_MICRO_V22_20260814

   Micro-finition du dropdown Actualités :
   - conserve largeur et centrage actuels ;
   - conserve alignement gauche ;
   - réduit seulement la hauteur visuelle ;
   - aucun impact JS / Joomla / mobile.
   ========================================================== */

@media (min-width: 76.01rem) {

    .somago-primary-nav
    .somago-nav-item:has(
        > .somago-nav-link[href$="/actualites"]
    )
    > .somago-submenu {

        padding:
            .30rem
            .40rem;
    }


    .somago-primary-nav
    .somago-nav-item:has(
        > .somago-nav-link[href$="/actualites"]
    )
    > .somago-submenu
    > li
    > a {

        min-height:
            2.55rem;

        padding:
            .45rem
            .65rem;
    }

}


/* ==========================================================
   SOMAGO_HERO_SCROLL_PREMIUM_V1_20260814

   Invitation visuelle à poursuivre la visite.
   - aucune légende ;
   - position centrale basse ;
   - mouvement vertical très doux ;
   - halo discret ;
   - compatible clavier ;
   - respect prefers-reduced-motion.
   ========================================================== */


/* Le hero devient le référentiel de positionnement */

.somago-home
.somago-hero {

    position:
        relative;
}


/* ----------------------------------------------------------
   CONTENEUR
   ---------------------------------------------------------- */

.somago-home
.somago-hero-scroll {

    position:
        absolute;

    z-index:
        20;

    left:
        50%;

    bottom:
        clamp(.8rem, 1.8vw, 1.4rem);

    display:
        grid;

    width:
        3.6rem;

    height:
        3.6rem;

    place-items:
        center;

    transform:
        translateX(-50%);

    border-radius:
        50%;

    text-decoration:
        none;

    outline:
        none;

    isolation:
        isolate;
}


/* ----------------------------------------------------------
   HALO EXTERIEUR
   ---------------------------------------------------------- */

.somago-home
.somago-hero-scroll-halo {

    position:
        absolute;

    inset:
        .15rem;

    z-index:
        -1;

    border:
        1px solid
        rgb(255 255 255 / 22%);

    border-radius:
        50%;

    background:
        rgb(255 255 255 / 5%);

    box-shadow:
        0 0 0 .45rem
        rgb(255 255 255 / 3%),
        0 .8rem 2rem
        rgb(0 0 0 / 16%);

    backdrop-filter:
        blur(4px);

    -webkit-backdrop-filter:
        blur(4px);

    animation:
        somagoHeroScrollHalo
        2.8s
        ease-in-out
        infinite;
}


/* ----------------------------------------------------------
   CERCLE CENTRAL
   ---------------------------------------------------------- */

.somago-home
.somago-hero-scroll-ring {

    display:
        grid;

    width:
        2.45rem;

    height:
        2.45rem;

    place-items:
        center;

    border:
        1px solid
        rgb(255 255 255 / 52%);

    border-radius:
        50%;

    color:
        #fff;

    background:
        rgb(7 28 44 / 42%);

    box-shadow:
        inset 0 0 0 1px
        rgb(255 255 255 / 4%);

    backdrop-filter:
        blur(8px);

    -webkit-backdrop-filter:
        blur(8px);

    transition:
        background-color .2s ease,
        border-color .2s ease,
        transform .2s ease;
}


/* ----------------------------------------------------------
   FLECHE
   ---------------------------------------------------------- */

.somago-home
.somago-hero-scroll-arrow {

    width:
        .55rem;

    height:
        .55rem;

    border-right:
        1.6px solid
        currentColor;

    border-bottom:
        1.6px solid
        currentColor;

    transform:
        translateY(-.15rem)
        rotate(45deg);

    animation:
        somagoHeroScrollArrow
        1.8s
        cubic-bezier(.4, 0, .2, 1)
        infinite;
}


/* ----------------------------------------------------------
   HOVER / CLAVIER
   ---------------------------------------------------------- */

.somago-home
.somago-hero-scroll:hover
.somago-hero-scroll-ring,

.somago-home
.somago-hero-scroll:focus-visible
.somago-hero-scroll-ring {

    border-color:
        rgb(255 255 255 / 82%);

    background:
        rgb(7 28 44 / 70%);

    transform:
        scale(1.06);
}


.somago-home
.somago-hero-scroll:focus-visible {

    outline:
        2px solid
        rgb(255 255 255 / 88%);

    outline-offset:
        .25rem;
}


/* ----------------------------------------------------------
   ANIMATIONS
   ---------------------------------------------------------- */

@keyframes somagoHeroScrollArrow {

    0%,
    100% {

        opacity:
            .55;

        transform:
            translateY(-.22rem)
            rotate(45deg);
    }

    50% {

        opacity:
            1;

        transform:
            translateY(.18rem)
            rotate(45deg);
    }

}


@keyframes somagoHeroScrollHalo {

    0%,
    100% {

        opacity:
            .45;

        transform:
            scale(.92);
    }

    50% {

        opacity:
            .95;

        transform:
            scale(1.08);
    }

}


/* ----------------------------------------------------------
   SCROLL DOUX
   ---------------------------------------------------------- */

html {

    scroll-behavior:
        smooth;
}


/* L'ancre ne passe pas sous le header */

#somago-apres-hero {

    scroll-margin-top:
        6.5rem;
}


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

@media (max-width: 58rem) {

    .somago-home
    .somago-hero-scroll {

        bottom:
            .75rem;

        width:
            3.25rem;

        height:
            3.25rem;
    }


    .somago-home
    .somago-hero-scroll-ring {

        width:
            2.25rem;

        height:
            2.25rem;
    }

}


/* ----------------------------------------------------------
   ACCESSIBILITE MOUVEMENT
   ---------------------------------------------------------- */

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

    html {

        scroll-behavior:
            auto;
    }


    .somago-home
    .somago-hero-scroll-halo,

    .somago-home
    .somago-hero-scroll-arrow {

        animation:
            none !important;
    }

}



/* ==========================================================
   SOMAGO_INSTITUTION_PAGE_V1_20260814
   Page /la-somago — identité institutionnelle dédiée
   ========================================================== */

.somago-institution-page {
    width: 100%;
    color: #0d304b;
}

.somago-institution-intro {
    padding: 34px 0 90px;
    border-bottom: 1px solid rgba(13, 48, 75, .12);
}

.somago-institution-eyebrow {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 50px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #008b99;
}

.somago-institution-eyebrow i {
    width: 70px;
    height: 1px;
    background: currentColor;
}

.somago-institution-intro-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    gap: clamp(60px, 8vw, 130px);
    align-items: end;
}

.somago-institution-kicker,
.somago-institution-label {
    display: block;
    margin: 0 0 18px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #c36a32;
}

.somago-institution-title h1 {
    max-width: 820px;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(52px, 6.2vw, 92px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 400;
}

.somago-institution-title h1 em {
    display: block;
    color: #008b99;
    font-weight: 400;
}

.somago-institution-lead {
    padding-bottom: 7px;
}

.somago-institution-lead p {
    margin: 0 0 20px;
    font-size: 17px;
    line-height: 1.75;
    color: #536879;
}

.somago-institution-mission {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: 45px;
    padding: 100px 0;
}

.somago-institution-section-number {
    padding-top: 6px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .15em;
    color: #d09b45;
}

.somago-institution-section-content h2,
.somago-institution-pillars-head h2,
.somago-institution-governance h2,
.somago-institution-documents-head h2,
.somago-institution-cta h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1.08;
}

.somago-institution-section-content h2 {
    max-width: 850px;
    font-size: clamp(42px, 5vw, 70px);
}

.somago-institution-copy-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px;
    max-width: 930px;
    margin-top: 50px;
}

.somago-institution-copy-columns p {
    margin: 0;
    font-size: 16px;
    line-height: 1.85;
    color: #566b7c;
}

.somago-institution-pillars {
    margin: 0 calc(50% - 50vw);
    padding: 95px max(calc((100vw - 1280px) / 2), 5vw);
    background: #0d304b;
    color: #fff;
}

.somago-institution-pillars-head,
.somago-institution-documents-head {
    display: grid;
    grid-template-columns: 1fr minmax(280px, .55fr);
    gap: 70px;
    align-items: end;
    margin-bottom: 65px;
}

.somago-institution-pillars-head h2 {
    max-width: 700px;
    font-size: clamp(38px, 4.2vw, 62px);
}

.somago-institution-pillars-head > p {
    margin: 0;
    color: rgba(255,255,255,.7);
    line-height: 1.8;
}

.somago-institution-pillars-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid rgba(255,255,255,.18);
}

.somago-institution-pillars-grid article {
    min-height: 290px;
    padding: 34px 30px 20px 0;
    border-right: 1px solid rgba(255,255,255,.14);
}

.somago-institution-pillars-grid article + article {
    padding-left: 30px;
}

.somago-institution-pillars-grid article:last-child {
    border-right: 0;
}

.somago-institution-pillars-grid article > span {
    display: block;
    margin-bottom: 70px;
    font-size: 11px;
    letter-spacing: .16em;
    color: #d7ad59;
}

.somago-institution-pillars-grid h3 {
    margin: 0 0 16px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    font-weight: 400;
}

.somago-institution-pillars-grid p {
    margin: 0;
    color: rgba(255,255,255,.68);
    line-height: 1.7;
}

.somago-institution-governance {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: clamp(70px, 10vw, 150px);
    padding: 110px 0;
}

.somago-institution-governance h2 {
    max-width: 760px;
    font-size: clamp(40px, 4.5vw, 64px);
}

.somago-institution-governance-copy > p {
    max-width: 720px;
    margin: 35px 0 0;
    font-size: 17px;
    line-height: 1.8;
    color: #566b7c;
}

.somago-institution-provisional {
    padding-left: 22px;
    border-left: 2px solid #13a6ad;
    font-size: 14px !important;
}

.somago-institution-governance-card {
    align-self: start;
    padding: 38px;
    background: #f1eee7;
    border-top: 3px solid #d8a33d;
}

.somago-institution-governance-card > span {
    display: block;
    margin-bottom: 30px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #c36a32;
}

.somago-institution-governance-card strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    line-height: 1.55;
    font-weight: 400;
}

.somago-institution-governance-card a {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin-top: 40px;
    padding-top: 20px;
    border-top: 1px solid rgba(13,48,75,.16);
    font-weight: 800;
    color: inherit;
    text-decoration: none;
}

.somago-institution-documents {
    padding: 95px 0;
    border-top: 1px solid rgba(13,48,75,.12);
}

.somago-institution-documents-head h2 {
    max-width: 720px;
    font-size: clamp(38px, 4vw, 58px);
}

.somago-institution-documents-head > p {
    margin: 0;
    color: #607383;
    line-height: 1.8;
}

.somago-institution-document-list {
    border-top: 1px solid rgba(13,48,75,.18);
}

.somago-institution-document-list a {
    display: grid;
    grid-template-columns: 90px 1fr 40px;
    align-items: center;
    min-height: 95px;
    border-bottom: 1px solid rgba(13,48,75,.14);
    color: inherit;
    text-decoration: none;
    transition: padding .25s ease, background .25s ease;
}

.somago-institution-document-list a:hover {
    padding-left: 15px;
    background: rgba(13,48,75,.025);
}

.somago-institution-document-list a > span {
    font-size: 11px;
    letter-spacing: .14em;
    color: #c36a32;
}

.somago-institution-document-list strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
}

.somago-institution-document-list i {
    font-style: normal;
    font-size: 20px;
}

.somago-institution-cta {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 70px;
    align-items: end;
    margin: 25px 0 110px;
    padding: 65px;
    background: #e9f0ef;
    border-top: 4px solid #13a6ad;
}

.somago-institution-cta > div > span {
    display: block;
    margin-bottom: 18px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .18em;
    color: #c36a32;
}

.somago-institution-cta h2 {
    max-width: 700px;
    font-size: clamp(34px, 3.8vw, 52px);
}

.somago-institution-cta-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

@media (max-width: 980px) {

    .somago-institution-intro-grid,
    .somago-institution-pillars-head,
    .somago-institution-documents-head,
    .somago-institution-governance,
    .somago-institution-cta {
        grid-template-columns: 1fr;
    }

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

    .somago-institution-governance-card {
        max-width: 520px;
    }
}

@media (max-width: 680px) {

    .somago-institution-intro {
        padding: 15px 0 60px;
    }

    .somago-institution-eyebrow {
        margin-bottom: 32px;
    }

    .somago-institution-title h1 {
        font-size: clamp(44px, 13vw, 62px);
    }

    .somago-institution-mission {
        grid-template-columns: 1fr;
        gap: 20px;
        padding: 70px 0;
    }

    .somago-institution-copy-columns,
    .somago-institution-pillars-grid {
        grid-template-columns: 1fr;
    }

    .somago-institution-copy-columns {
        gap: 25px;
    }

    .somago-institution-pillars {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .somago-institution-pillars-grid article,
    .somago-institution-pillars-grid article + article {
        min-height: 0;
        padding: 30px 0;
        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.14);
    }

    .somago-institution-pillars-grid article > span {
        margin-bottom: 30px;
    }

    .somago-institution-governance,
    .somago-institution-documents {
        padding: 70px 0;
    }

    .somago-institution-document-list a {
        grid-template-columns: 45px 1fr 25px;
    }

    .somago-institution-document-list strong {
        font-size: 20px;
    }

    .somago-institution-cta {
        margin-bottom: 70px;
        padding: 38px 28px;
    }
}


/* ==========================================================
   SOMAGO_INSTITUTION_PAGE_V2_CSS_20260814
   Page institutionnelle /la-somago
   ========================================================== */

.somago-institution-v2 {
    display: grid;
    gap: 0;
    width: 100%;
    max-width: none;
}


/* HERO */

.somago-institution-v2
.somago-institution-intro {
    padding:
        clamp(2rem, 4vw, 4rem)
        0
        clamp(4rem, 7vw, 7rem);
}

.somago-institution-v2
.somago-institution-eyebrow {
    display: flex;
    gap: .75rem;
    align-items: center;
    margin-bottom: 2rem;
    color: var(--somago-teal);
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.somago-institution-v2
.somago-institution-eyebrow i {
    width: 2.5rem;
    height: 1px;
    background: currentColor;
}

.somago-institution-v2
.somago-institution-eyebrow small {
    color: #71808c;
    font-size: .62rem;
    font-weight: 650;
}

.somago-institution-v2
.somago-institution-intro-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(20rem, .8fr);
    gap: clamp(2rem, 7vw, 7rem);
    align-items: end;
}

.somago-institution-v2
.somago-institution-kicker {
    margin: 0 0 .85rem;
    color: var(--somago-copper);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.somago-institution-v2
.somago-institution-title h1 {
    max-width: 12ch;
    margin: 0;
    font-family: var(--somago-serif);
    font-size: clamp(3rem, 6vw, 6rem);
    font-weight: 400;
    letter-spacing: -.05em;
    line-height: .94;
}

.somago-institution-v2
.somago-institution-lead {
    padding-left: 1.6rem;
    border-left: 1px solid rgb(16 42 67 / 14%);
}

.somago-institution-v2
.somago-institution-lead p {
    margin: 0;
    color: var(--somago-text);
    font-size: .96rem;
    line-height: 1.8;
}

.somago-institution-v2
.somago-institution-lead p + p {
    margin-top: 1.2rem;
}


/* REPÈRES */

.somago-institution-facts {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid rgb(16 42 67 / 10%);
    border-bottom: 1px solid rgb(16 42 67 / 10%);
}

.somago-institution-fact {
    display: grid;
    min-height: 9rem;
    padding: 1.45rem;
    align-content: space-between;
}

.somago-institution-fact + .somago-institution-fact {
    border-left: 1px solid rgb(16 42 67 / 10%);
}

.somago-institution-fact > span {
    color: var(--somago-teal);
    font-size: .65rem;
    font-weight: 800;
}

.somago-institution-fact small {
    margin-top: 1.25rem;
    color: #7e8b96;
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.somago-institution-fact strong {
    margin-top: .4rem;
    color: var(--somago-navy);
    font-size: .95rem;
    line-height: 1.35;
}


/* PURPOSE */

.somago-institution-purpose {
    display: grid;
    grid-template-columns: 9rem minmax(0, 1fr);
    gap: clamp(1.5rem, 5vw, 5rem);
    padding:
        clamp(5rem, 9vw, 9rem)
        0;
}

.somago-institution-section-index {
    color: rgb(23 107 135 / 18%);
    font-size: clamp(4rem, 8vw, 7rem);
    font-weight: 850;
    letter-spacing: -.08em;
    line-height: .8;
}

.somago-institution-section-copy {
    max-width: 56rem;
}

.somago-institution-section-copy h2,
.somago-institution-section-heading h2,
.somago-institution-members h2,
.somago-institution-governance h2,
.somago-institution-bureau h2,
.somago-institution-cta h2 {
    margin: .65rem 0 0;
    font-family: var(--somago-serif);
    font-size: clamp(2.4rem, 4.5vw, 4.5rem);
    font-weight: 400;
    letter-spacing: -.045em;
    line-height: 1;
}

.somago-institution-large-copy {
    max-width: 50rem;
    margin: 2rem 0 0;
    color: var(--somago-text);
    font-size: clamp(1rem, 1.3vw, 1.2rem);
    line-height: 1.8;
}


/* OBJECTIFS */

.somago-institution-objectives {
    padding:
        clamp(5rem, 9vw, 8rem)
        clamp(1.5rem, 5vw, 5rem);
    margin-inline:
        calc(50% - 50vw);
    padding-inline:
        max(
            calc((100vw - var(--somago-shell-max, 72rem)) / 2),
            1rem
        );
    color: #fff;
    background: var(--somago-navy);
}

.somago-institution-objectives
.somago-institution-section-heading {
    max-width: 52rem;
}

.somago-institution-objectives
.somago-eyebrow {
    color: #81d4d2;
}

.somago-institution-objective-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: clamp(3rem, 6vw, 5rem);
    border-top: 1px solid rgb(255 255 255 / 15%);
    border-left: 1px solid rgb(255 255 255 / 15%);
}

.somago-institution-objective-grid article {
    min-height: 17rem;
    padding: 1.6rem;
    border-right: 1px solid rgb(255 255 255 / 15%);
    border-bottom: 1px solid rgb(255 255 255 / 15%);
}

.somago-institution-objective-grid article > span {
    color: var(--somago-copper);
    font-size: .65rem;
    font-weight: 800;
}

.somago-institution-objective-grid h3 {
    margin: 3rem 0 .9rem;
    font-family: var(--somago-serif);
    font-size: 1.55rem;
    font-weight: 400;
}

.somago-institution-objective-grid p {
    margin: 0;
    color: #b9cad5;
    font-size: .82rem;
    line-height: 1.7;
}


/* MEMBRES */

.somago-institution-members {
    display: grid;
    grid-template-columns:
        minmax(20rem, .85fr)
        minmax(24rem, 1.15fr);
    gap: clamp(3rem, 8vw, 8rem);
    padding:
        clamp(5rem, 9vw, 9rem)
        0;
}

.somago-institution-members-copy > p:not(.somago-eyebrow) {
    max-width: 32rem;
    margin: 1.5rem 0 0;
    color: var(--somago-text);
    line-height: 1.75;
}

.somago-institution-action {
    display: inline-flex;
    gap: 2rem;
    align-items: center;
    margin-top: 2rem;
    padding-bottom: .4rem;
    border-bottom: 1px solid var(--somago-teal);
    color: var(--somago-navy);
    font-size: .76rem;
    font-weight: 800;
}

.somago-institution-member-list {
    border-top: 1px solid rgb(16 42 67 / 12%);
}

.somago-institution-member-list > div {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    min-height: 4.6rem;
    align-items: center;
    border-bottom: 1px solid rgb(16 42 67 / 12%);
}

.somago-institution-member-list span {
    color: var(--somago-teal);
    font-size: .64rem;
    font-weight: 800;
}

.somago-institution-member-list strong {
    color: var(--somago-navy);
    font-size: .92rem;
}


/* MOYENS D'ACTION */

.somago-institution-actions {
    padding:
        clamp(4rem, 8vw, 7rem)
        0;
    border-top: 1px solid rgb(16 42 67 / 10%);
}

.somago-institution-actions
.somago-institution-section-heading {
    max-width: 52rem;
}

.somago-institution-action-list {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: 3rem;
}

.somago-institution-action-list span {
    padding: .8rem 1rem;
    border: 1px solid rgb(16 42 67 / 12%);
    border-radius: 999px;
    color: var(--somago-navy);
    background: #fff;
    font-size: .72rem;
    font-weight: 700;
}


/* GOUVERNANCE */

.somago-institution-governance {
    padding:
        clamp(5rem, 9vw, 9rem)
        0;
    border-top: 1px solid rgb(16 42 67 / 10%);
}

.somago-institution-governance-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem, 7vw, 7rem);
    align-items: end;
}

.somago-institution-governance-intro
.somago-eyebrow {
    grid-column: 1 / -1;
    margin-bottom: -1rem;
}

.somago-institution-governance-intro p:last-child {
    max-width: 34rem;
    margin: 0;
    color: var(--somago-text);
    line-height: 1.75;
}

.somago-institution-organs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 4rem;
}

.somago-institution-organs article {
    min-height: 16rem;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border: 1px solid rgb(16 42 67 / 10%);
    margin: -1px 0 0 -1px;
}

.somago-institution-organs article.is-primary {
    color: #fff;
    background: var(--somago-teal);
}

.somago-institution-organs article > span {
    font-size: .64rem;
    font-weight: 850;
}

.somago-institution-organs small {
    display: block;
    margin-top: 2.2rem;
    color: inherit;
    opacity: .65;
    font-size: .62rem;
    font-weight: 750;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.somago-institution-organs h3 {
    margin: .45rem 0 .8rem;
    font-family: var(--somago-serif);
    font-size: 1.65rem;
    font-weight: 400;
}

.somago-institution-organs p {
    max-width: 31rem;
    margin: 0;
    color: inherit;
    opacity: .8;
    font-size: .82rem;
    line-height: 1.7;
}


/* BUREAU */

.somago-institution-bureau {
    display: grid;
    grid-template-columns:
        minmax(20rem, .9fr)
        minmax(25rem, 1.1fr);
    gap: clamp(3rem, 8vw, 8rem);
    padding:
        clamp(5rem, 9vw, 8rem)
        0;
    border-top: 1px solid rgb(16 42 67 / 10%);
}

.somago-institution-bureau-list {
    padding: 0;
    margin: 0;
    list-style: none;
    border-top: 1px solid rgb(16 42 67 / 12%);
}

.somago-institution-bureau-list li {
    display: grid;
    grid-template-columns: 3.5rem 1fr;
    min-height: 4.5rem;
    align-items: center;
    border-bottom: 1px solid rgb(16 42 67 / 12%);
}

.somago-institution-bureau-list span {
    color: var(--somago-teal);
    font-size: .64rem;
    font-weight: 800;
}

.somago-institution-bureau-list strong {
    color: var(--somago-navy);
    font-size: .9rem;
}

.somago-institution-data-note {
    grid-column: 2;
    max-width: 32rem;
    margin: -5rem 0 0;
    color: #798792;
    font-size: .72rem;
    line-height: 1.6;
}


/* DOCUMENTS */

.somago-institution-documents {
    padding:
        clamp(5rem, 9vw, 8rem)
        0;
    border-top: 1px solid rgb(16 42 67 / 10%);
}

.somago-institution-document-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 3rem;
}

.somago-institution-document-grid > a {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1rem;
    min-height: 10rem;
    padding: 1.5rem;
    align-items: start;
    border: 1px solid rgb(16 42 67 / 10%);
    margin: -1px 0 0 -1px;
    color: var(--somago-navy);
    background: #fff;
    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.somago-institution-document-grid > a:hover {
    z-index: 2;
    transform: translateY(-3px);
    box-shadow: 0 1rem 2.5rem rgb(16 42 67 / 10%);
}

.somago-institution-document-grid > a > span {
    color: var(--somago-teal);
    font-size: .62rem;
    font-weight: 850;
}

.somago-institution-document-grid small {
    display: block;
    color: #83909a;
    font-size: .58rem;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.somago-institution-document-grid strong {
    display: block;
    margin-top: .65rem;
    font-family: var(--somago-serif);
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.25;
}

.somago-institution-document-grid i {
    font-style: normal;
}


/* CTA */

.somago-institution-cta {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3rem;
    align-items: end;
    padding:
        clamp(4rem, 7vw, 6rem);
    margin:
        1rem
        0
        clamp(3rem, 7vw, 6rem);
    color: #fff;
    background: var(--somago-navy);
}

.somago-institution-cta h2 {
    max-width: 13ch;
}

.somago-institution-cta
.somago-eyebrow {
    color: #81d4d2;
}

.somago-institution-cta-link {
    display: flex;
    min-width: 17rem;
    min-height: 4rem;
    gap: 2rem;
    padding: 0 1.3rem;
    align-items: center;
    justify-content: space-between;
    color: var(--somago-navy);
    background: var(--somago-copper);
    font-size: .78rem;
    font-weight: 800;
}

.somago-institution-cta-link i {
    font-style: normal;
}


/* RESPONSIVE */

@media (max-width: 58rem) {

    .somago-institution-v2
    .somago-institution-intro-grid,

    .somago-institution-members,

    .somago-institution-governance-intro,

    .somago-institution-bureau {
        grid-template-columns: 1fr;
    }

    .somago-institution-facts,
    .somago-institution-objective-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .somago-institution-document-grid {
        grid-template-columns: 1fr;
    }

    .somago-institution-data-note {
        grid-column: auto;
        margin: 0;
    }

    .somago-institution-cta {
        grid-template-columns: 1fr;
    }
}


@media (max-width: 38rem) {

    .somago-institution-v2
    .somago-institution-title h1 {
        font-size: clamp(2.6rem, 13vw, 4rem);
    }

    .somago-institution-facts,
    .somago-institution-objective-grid,
    .somago-institution-organs {
        grid-template-columns: 1fr;
    }

    .somago-institution-fact
    + .somago-institution-fact {
        border-left: 0;
        border-top: 1px solid rgb(16 42 67 / 10%);
    }

    .somago-institution-purpose {
        grid-template-columns: 1fr;
    }

    .somago-institution-section-index {
        font-size: 3.7rem;
    }

    .somago-institution-cta {
        padding: 2rem 1.5rem;
    }

    .somago-institution-cta-link {
        min-width: 0;
        width: 100%;
    }
}


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

    .somago-institution-document-grid > a {
        transition: none !important;
    }
}



/* ==========================================================
   SOMAGO_INSTITUTION_UX_FINAL_V21_20260814

   Finition UX/UI page /la-somago :
   - réduction des espaces verticaux excessifs ;
   - conservation d'une respiration éditoriale premium ;
   - amélioration du contraste des textes secondaires ;
   - cartes plus compactes ;
   - densité visuelle mieux maîtrisée ;
   - aucun changement du contenu ou du HTML.
   ========================================================== */


/* ----------------------------------------------------------
   1. RYTHME TYPOGRAPHIQUE GENERAL
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-eyebrow {
    margin-bottom:
        1.25rem;
}

.somago-institution-v2
.somago-institution-eyebrow small {
    color:
        #5e6f7d;

    font-size:
        .66rem;

    font-weight:
        700;
}


/*
 * Titres toujours éditoriaux mais légèrement mieux maîtrisés.
 * On évite que plusieurs sections occupent presque tout
 * un écran uniquement à cause du titre.
 */

.somago-institution-v2
.somago-institution-section-copy h2,

.somago-institution-v2
.somago-institution-section-heading h2,

.somago-institution-v2
.somago-institution-members h2,

.somago-institution-v2
.somago-institution-governance h2,

.somago-institution-v2
.somago-institution-bureau h2,

.somago-institution-v2
.somago-institution-cta h2 {

    font-size:
        clamp(
            2.35rem,
            4vw,
            4rem
        );

    line-height:
        1.02;
}


/* Texte courant plus lisible */

.somago-institution-v2
.somago-institution-lead p,

.somago-institution-v2
.somago-institution-large-copy,

.somago-institution-v2
.somago-institution-members-copy
> p:not(.somago-eyebrow),

.somago-institution-v2
.somago-institution-governance-intro
p:last-child {

    color:
        #43586a;
}


/* ----------------------------------------------------------
   2. HERO INSTITUTIONNEL
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-intro {

    padding:
        clamp(1.75rem, 3vw, 3rem)
        0
        clamp(3rem, 5vw, 4.75rem);
}


.somago-institution-v2
.somago-institution-intro-grid {

    gap:
        clamp(
            2rem,
            5vw,
            5rem
        );
}


.somago-institution-v2
.somago-institution-lead p {

    font-size:
        1rem;

    line-height:
        1.7;
}


/* ----------------------------------------------------------
   3. REPERES INSTITUTIONNELS
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-fact {

    min-height:
        7.4rem;

    padding:
        1.2rem
        1.3rem;
}


.somago-institution-v2
.somago-institution-fact small {

    margin-top:
        .8rem;

    color:
        #60717f;

    font-size:
        .64rem;
}


/* ----------------------------------------------------------
   4. RAISON D'ETRE
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-purpose {

    gap:
        clamp(
            1.5rem,
            4vw,
            4rem
        );

    padding:
        clamp(3.75rem, 6vw, 5.75rem)
        0;
}


.somago-institution-v2
.somago-institution-large-copy {

    margin-top:
        1.4rem;

    font-size:
        clamp(
            1rem,
            1.15vw,
            1.12rem
        );

    line-height:
        1.72;
}


/* ----------------------------------------------------------
   5. OBJECTIFS — ZONE BLEU NUIT
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-objectives {

    padding-block:
        clamp(
            4rem,
            6vw,
            5.75rem
        );
}


.somago-institution-v2
.somago-institution-objective-grid {

    margin-top:
        clamp(
            2rem,
            4vw,
            3.5rem
        );
}


.somago-institution-v2
.somago-institution-objective-grid
article {

    min-height:
        13.5rem;

    padding:
        1.45rem
        1.55rem;
}


.somago-institution-v2
.somago-institution-objective-grid
h3 {

    margin:
        1.8rem
        0
        .75rem;

    font-size:
        1.55rem;

    line-height:
        1.15;
}


/*
 * Contraste volontairement renforcé.
 * Le texte précédent était élégant mais trop discret
 * pour une lecture prolongée sur bleu nuit.
 */

.somago-institution-v2
.somago-institution-objective-grid
p {

    color:
        #d7e3ea;

    font-size:
        .9rem;

    line-height:
        1.65;
}


/* Surtitres de la zone sombre */

.somago-institution-v2
.somago-institution-objectives
.somago-eyebrow {

    color:
        #9ce3e0;
}


/* ----------------------------------------------------------
   6. COMMUNAUTE / MEMBRES
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-members {

    gap:
        clamp(
            2.5rem,
            6vw,
            6rem
        );

    padding:
        clamp(4rem, 6vw, 5.75rem)
        0;
}


.somago-institution-v2
.somago-institution-members-copy
> p:not(.somago-eyebrow) {

    margin-top:
        1.2rem;

    line-height:
        1.7;
}


.somago-institution-v2
.somago-institution-action {

    margin-top:
        1.5rem;
}


.somago-institution-v2
.somago-institution-member-list
> div {

    min-height:
        4rem;
}


/* ----------------------------------------------------------
   7. MOYENS D'ACTION
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-actions {

    padding:
        clamp(3.75rem, 5vw, 5rem)
        0;
}


.somago-institution-v2
.somago-institution-action-list {

    gap:
        .55rem;

    margin-top:
        2rem;
}


.somago-institution-v2
.somago-institution-action-list
span {

    padding:
        .72rem
        .95rem;

    font-size:
        .74rem;
}


/* ----------------------------------------------------------
   8. GOUVERNANCE
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-governance {

    padding:
        clamp(4rem, 6vw, 5.75rem)
        0;
}


.somago-institution-v2
.somago-institution-governance-intro {

    gap:
        clamp(
            2rem,
            5vw,
            5rem
        );
}


.somago-institution-v2
.somago-institution-governance-intro
.somago-eyebrow {

    margin-bottom:
        -.35rem;
}


.somago-institution-v2
.somago-institution-governance-intro
p:last-child {

    line-height:
        1.7;
}


.somago-institution-v2
.somago-institution-organs {

    margin-top:
        2.75rem;
}


.somago-institution-v2
.somago-institution-organs
article {

    min-height:
        13.25rem;

    padding:
        clamp(
            1.4rem,
            2.5vw,
            2rem
        );
}


.somago-institution-v2
.somago-institution-organs
small {

    margin-top:
        1.5rem;

    opacity:
        .82;

    font-size:
        .64rem;
}


.somago-institution-v2
.somago-institution-organs
p {

    opacity:
        .92;

    font-size:
        .88rem;

    line-height:
        1.62;
}


/*
 * Carte turquoise :
 * texte vraiment blanc et lisible.
 */

.somago-institution-v2
.somago-institution-organs
article.is-primary
p {

    color:
        #f5fbfc;

    opacity:
        .96;
}


.somago-institution-v2
.somago-institution-organs
article.is-primary
small {

    color:
        #ffffff;

    opacity:
        .88;
}


/* ----------------------------------------------------------
   9. BUREAU EXECUTIF
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-bureau {

    gap:
        clamp(
            2.5rem,
            6vw,
            6rem
        );

    padding:
        clamp(4rem, 6vw, 5.5rem)
        0;
}


.somago-institution-v2
.somago-institution-bureau-list
li {

    min-height:
        4rem;
}


.somago-institution-v2
.somago-institution-data-note {

    margin-top:
        -3rem;

    color:
        #5e6f7d;

    font-size:
        .8rem;

    line-height:
        1.65;
}


/* ----------------------------------------------------------
   10. TEXTES DE REFERENCE
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-documents {

    padding:
        clamp(4rem, 6vw, 5.5rem)
        0;
}


.somago-institution-v2
.somago-institution-document-grid {

    margin-top:
        2rem;
}


.somago-institution-v2
.somago-institution-document-grid
> a {

    min-height:
        8.5rem;

    padding:
        1.3rem;
}


.somago-institution-v2
.somago-institution-document-grid
small {

    color:
        #617381;

    font-size:
        .62rem;
}


.somago-institution-v2
.somago-institution-document-grid
strong {

    margin-top:
        .5rem;

    font-size:
        1.16rem;
}


/* ----------------------------------------------------------
   11. CTA FINAL
   ---------------------------------------------------------- */

.somago-institution-v2
.somago-institution-cta {

    gap:
        2rem;

    padding:
        clamp(
            3rem,
            5vw,
            4.5rem
        );

    margin:
        .5rem
        0
        clamp(2.5rem, 5vw, 4rem);
}


.somago-institution-v2
.somago-institution-cta
.somago-eyebrow {

    color:
        #a3e5e2;
}


/* ----------------------------------------------------------
   12. TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 58rem) {

    .somago-institution-v2
    .somago-institution-intro,

    .somago-institution-v2
    .somago-institution-purpose,

    .somago-institution-v2
    .somago-institution-members,

    .somago-institution-v2
    .somago-institution-actions,

    .somago-institution-v2
    .somago-institution-governance,

    .somago-institution-v2
    .somago-institution-bureau,

    .somago-institution-v2
    .somago-institution-documents {

        padding-top:
            3.5rem;

        padding-bottom:
            3.5rem;
    }


    .somago-institution-v2
    .somago-institution-objectives {

        padding-block:
            3.75rem;
    }


    .somago-institution-v2
    .somago-institution-members,

    .somago-institution-v2
    .somago-institution-bureau {

        gap:
            2.5rem;
    }


    .somago-institution-v2
    .somago-institution-data-note {

        margin:
            1rem
            0
            0;
    }


    .somago-institution-v2
    .somago-institution-objective-grid
    article,

    .somago-institution-v2
    .somago-institution-organs
    article {

        min-height:
            auto;
    }
}


/* ----------------------------------------------------------
   13. MOBILE
   ---------------------------------------------------------- */

@media (max-width: 38rem) {

    .somago-institution-v2
    .somago-institution-intro,

    .somago-institution-v2
    .somago-institution-purpose,

    .somago-institution-v2
    .somago-institution-members,

    .somago-institution-v2
    .somago-institution-actions,

    .somago-institution-v2
    .somago-institution-governance,

    .somago-institution-v2
    .somago-institution-bureau,

    .somago-institution-v2
    .somago-institution-documents {

        padding-top:
            2.75rem;

        padding-bottom:
            2.75rem;
    }


    .somago-institution-v2
    .somago-institution-objectives {

        padding-block:
            3rem;
    }


    .somago-institution-v2
    .somago-institution-section-copy h2,

    .somago-institution-v2
    .somago-institution-section-heading h2,

    .somago-institution-v2
    .somago-institution-members h2,

    .somago-institution-v2
    .somago-institution-governance h2,

    .somago-institution-v2
    .somago-institution-bureau h2,

    .somago-institution-v2
    .somago-institution-cta h2 {

        font-size:
            clamp(
                2.15rem,
                10vw,
                3rem
            );

        line-height:
            1.03;
    }


    .somago-institution-v2
    .somago-institution-section-index {

        font-size:
            3.1rem;
    }


    .somago-institution-v2
    .somago-institution-objective-grid
    article {

        padding:
            1.35rem;
    }


    .somago-institution-v2
    .somago-institution-objective-grid
    h3 {

        margin-top:
            1.25rem;
    }


    .somago-institution-v2
    .somago-institution-organs {

        margin-top:
            2rem;
    }


    .somago-institution-v2
    .somago-institution-cta {

        padding:
            2.25rem
            1.5rem;
    }
}



/* ==========================================================
   SOMAGO_GOUVERNANCE_PREMIUM_V3_20260814

   /la-somago — Gouvernance

   Nouvelle composition :
   - introduction éditoriale compacte ;
   - suppression du grand vide asymétrique ;
   - 4 organes sur toute la largeur ;
   - Assemblée Générale mise en valeur ;
   - desktop 4 colonnes ;
   - tablette 2 colonnes ;
   - mobile 1 colonne.
   ========================================================== */


.somago-institution-v2
.somago-institution-governance {
    padding:
        clamp(4.25rem, 6vw, 6.5rem)
        0
        clamp(4.5rem, 6.5vw, 7rem);
}


/* ---------- INTRO ---------- */

.somago-institution-v2
.somago-institution-governance-intro {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.25fr)
        minmax(20rem, .75fr);

    grid-template-areas:
        "eyebrow eyebrow"
        "title copy";

    column-gap:
        clamp(3rem, 7vw, 7.5rem);

    row-gap:
        clamp(1rem, 2vw, 1.75rem);

    align-items:
        end;
}


.somago-institution-v2
.somago-institution-governance-intro
.somago-eyebrow {
    grid-area:
        eyebrow;

    margin:
        0;
}


.somago-institution-v2
.somago-institution-governance-intro
h2 {
    grid-area:
        title;

    max-width:
        13ch;

    margin:
        0;

    font-size:
        clamp(3rem, 5.2vw, 5.25rem);

    line-height:
        .96;

    letter-spacing:
        -.045em;
}


.somago-institution-v2
.somago-institution-governance-intro
> p:last-child {
    grid-area:
        copy;

    max-width:
        31rem;

    margin:
        0
        0
        .35rem;

    align-self:
        end;

    line-height:
        1.75;
}


/* ---------- ORGANES ---------- */

.somago-institution-v2
.somago-institution-organs {
    display:
        grid;

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

    margin-top:
        clamp(3rem, 5vw, 5rem);

    border-top:
        1px solid
        rgba(13, 48, 73, .14);

    border-bottom:
        1px solid
        rgba(13, 48, 73, .14);
}


.somago-institution-v2
.somago-institution-organs
article {
    position:
        relative;

    min-width:
        0;

    min-height:
        clamp(19rem, 25vw, 23rem);

    padding:
        clamp(1.75rem, 2.5vw, 2.6rem);

    border:
        0;

    border-right:
        1px solid
        rgba(13, 48, 73, .14);

    background:
        transparent;

    display:
        flex;

    flex-direction:
        column;

    align-items:
        flex-start;
}


.somago-institution-v2
.somago-institution-organs
article:last-child {
    border-right:
        0;
}


/* Numéro */

.somago-institution-v2
.somago-institution-organs
article > span {
    display:
        block;

    margin-bottom:
        clamp(2.3rem, 4vw, 3.6rem);

    color:
        #13a7aa;

    font-size:
        .78rem;

    font-weight:
        800;

    letter-spacing:
        .08em;
}


/* Catégorie */

.somago-institution-v2
.somago-institution-organs
small {
    display:
        block;

    margin:
        0
        0
        .65rem;

    color:
        #526473;

    font-size:
        .72rem;

    font-weight:
        800;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


/* Titre */

.somago-institution-v2
.somago-institution-organs
h3 {
    margin:
        0
        0
        1rem;

    max-width:
        12ch;

    font-size:
        clamp(1.65rem, 2.2vw, 2.25rem);

    line-height:
        1.08;
}


/* Description */

.somago-institution-v2
.somago-institution-organs
article p {
    margin:
        0;

    max-width:
        27ch;

    line-height:
        1.65;
}


/* ---------- CARTE PRINCIPALE ---------- */

.somago-institution-v2
.somago-institution-organs
article.is-primary {
    background:
        #16a6aa;

    padding-left:
        clamp(1.75rem, 2.5vw, 2.6rem);

    padding-right:
        clamp(1.75rem, 2.5vw, 2.6rem);
}


.somago-institution-v2
.somago-institution-organs
article.is-primary
> span {
    color:
        #ffffff;
}


.somago-institution-v2
.somago-institution-organs
article.is-primary
small {
    color:
        rgba(255, 255, 255, .86);
}


.somago-institution-v2
.somago-institution-organs
article.is-primary
h3 {
    color:
        #ffffff;
}


.somago-institution-v2
.somago-institution-organs
article.is-primary
p {
    color:
        #ffffff;

    opacity:
        .96;
}


/* Petit accent supérieur de la carte principale */

.somago-institution-v2
.somago-institution-organs
article.is-primary::before {
    content:
        "";

    position:
        absolute;

    top:
        0;

    left:
        0;

    width:
        100%;

    height:
        3px;

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


/* ---------- TABLETTE ---------- */

@media (max-width: 64rem) {

    .somago-institution-v2
    .somago-institution-governance-intro {
        grid-template-columns:
            1fr
            minmax(18rem, .75fr);

        column-gap:
            2.5rem;
    }


    .somago-institution-v2
    .somago-institution-organs {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .somago-institution-v2
    .somago-institution-organs
    article {
        min-height:
            18rem;

        border-bottom:
            1px solid
            rgba(13, 48, 73, .14);
    }


    .somago-institution-v2
    .somago-institution-organs
    article:nth-child(2n) {
        border-right:
            0;
    }


    .somago-institution-v2
    .somago-institution-organs
    article:nth-last-child(-n+2) {
        border-bottom:
            0;
    }
}


/* ---------- MOBILE ---------- */

@media (max-width: 44rem) {

    .somago-institution-v2
    .somago-institution-governance {
        padding:
            3rem
            0
            3.5rem;
    }


    .somago-institution-v2
    .somago-institution-governance-intro {
        display:
            block;
    }


    .somago-institution-v2
    .somago-institution-governance-intro
    .somago-eyebrow {
        margin-bottom:
            1.25rem;
    }


    .somago-institution-v2
    .somago-institution-governance-intro
    h2 {
        max-width:
            11ch;

        margin-bottom:
            1.5rem;

        font-size:
            clamp(2.5rem, 12vw, 3.7rem);
    }


    .somago-institution-v2
    .somago-institution-governance-intro
    > p:last-child {
        max-width:
            36rem;
    }


    .somago-institution-v2
    .somago-institution-organs {
        grid-template-columns:
            1fr;

        margin-top:
            2.5rem;
    }


    .somago-institution-v2
    .somago-institution-organs
    article {
        min-height:
            auto;

        padding:
            1.75rem;

        border-right:
            0;

        border-bottom:
            1px solid
            rgba(13, 48, 73, .14);
    }


    .somago-institution-v2
    .somago-institution-organs
    article:nth-last-child(-n+2) {
        border-bottom:
            1px solid
            rgba(13, 48, 73, .14);
    }


    .somago-institution-v2
    .somago-institution-organs
    article:last-child {
        border-bottom:
            0;
    }


    .somago-institution-v2
    .somago-institution-organs
    article > span {
        margin-bottom:
            1.75rem;
    }
}


/* ==========================================================
   SOMAGO_GOUVERNANCE_PREMIUM_V31_20260814

   Correction UX desktop de la Gouvernance :
   - intro éditoriale sur toute la largeur ;
   - cartes sous l'introduction ;
   - 4 colonnes réellement exploitables ;
   - suppression des chevauchements ;
   - densité premium conservée.
   ========================================================== */

.somago-institution-v2
.somago-institution-governance {
    padding:
        clamp(3.6rem, 5vw, 5rem)
        0;
}


/* INTRO */

.somago-institution-v2
.somago-institution-governance-intro {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(22rem, .78fr);

    gap:
        clamp(2.5rem, 6vw, 6rem);

    align-items:
        end;
}


.somago-institution-v2
.somago-institution-governance-intro
.somago-eyebrow {
    grid-column:
        1 / -1;

    margin:
        0 0 .2rem;
}


.somago-institution-v2
.somago-institution-governance-intro
h2 {
    max-width:
        12ch;

    margin-top:
        .45rem;
}


.somago-institution-v2
.somago-institution-governance-intro
p:last-child {
    align-self:
        end;

    max-width:
        34rem;

    margin:
        0;
}


/* CARTES */

.somago-institution-v2
.somago-institution-organs {
    display:
        grid;

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

    width:
        100%;

    margin-top:
        clamp(2.4rem, 4vw, 3.5rem);
}


.somago-institution-v2
.somago-institution-organs
article {
    min-width:
        0;

    min-height:
        15rem;

    padding:
        clamp(1.4rem, 2vw, 2rem);

    overflow:
        hidden;
}


.somago-institution-v2
.somago-institution-organs
small {
    margin-top:
        1.6rem;
}


.somago-institution-v2
.somago-institution-organs
h3 {
    margin:
        .5rem
        0
        .8rem;

    font-size:
        clamp(1.35rem, 1.8vw, 1.7rem);

    line-height:
        1.08;

    overflow-wrap:
        anywhere;
}


.somago-institution-v2
.somago-institution-organs
p {
    font-size:
        .82rem;

    line-height:
        1.65;

    overflow-wrap:
        anywhere;
}


/* La carte principale garde une excellente lisibilité */

.somago-institution-v2
.somago-institution-organs
article.is-primary
h3 {
    color:
        #fff;
}


.somago-institution-v2
.somago-institution-organs
article.is-primary
p {
    color:
        #f7ffff;

    opacity:
        1;
}


/* TABLETTE */

@media (max-width: 72rem) {

    .somago-institution-v2
    .somago-institution-organs {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


/* PETITE TABLETTE */

@media (max-width: 58rem) {

    .somago-institution-v2
    .somago-institution-governance-intro {
        grid-template-columns:
            1fr;

        gap:
            1.4rem;
    }

    .somago-institution-v2
    .somago-institution-governance-intro
    p:last-child {
        max-width:
            42rem;
    }

}


/* MOBILE */

@media (max-width: 38rem) {

    .somago-institution-v2
    .somago-institution-organs {
        grid-template-columns:
            1fr;
    }

    .somago-institution-v2
    .somago-institution-organs
    article {
        min-height:
            auto;
    }

}


/* ==========================================================
   SOMAGO_GOUVERNANCE_PREMIUM_V32_20260814

   Correction structurelle définitive :
   l'ancienne version de la page imposait encore
   une grille parent "contenu + colonne 380px".

   Cette règle enfermait les 4 organes de gouvernance
   dans seulement 380px.

   V3.2 remet la section dans un flux vertical :
   INTRO
   ↓
   4 ORGANES PLEINE LARGEUR
   ========================================================== */

.somago-institution-v2
.somago-institution-governance {
    display: block;

    grid-template-columns: none;

    gap: 0;
}


/*
 * Sécurité :
 * aucun enfant de Gouvernance ne doit hériter
 * d'une ancienne colonne du layout historique.
 */

.somago-institution-v2
.somago-institution-governance-intro,

.somago-institution-v2
.somago-institution-organs {
    width: 100%;
    max-width: none;
}


/*
 * Desktop :
 * les quatre organes utilisent réellement
 * toute la largeur disponible.
 */

.somago-institution-v2
.somago-institution-organs {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));
}


/*
 * On n'autorise plus la cassure artificielle
 * lettre par lettre utilisée comme protection
 * dans V3.1 lorsque les colonnes étaient étranglées.
 */

.somago-institution-v2
.somago-institution-organs
h3,

.somago-institution-v2
.somago-institution-organs
p {
    overflow-wrap: normal;
    word-break: normal;
    hyphens: auto;
}


/* TABLETTE */

@media (max-width: 72rem) {

    .somago-institution-v2
    .somago-institution-organs {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* MOBILE */

@media (max-width: 38rem) {

    .somago-institution-v2
    .somago-institution-organs {
        grid-template-columns:
            1fr;
    }
}



/* ==========================================================
   SOMAGO_BUREAU_PREMIUM_V8_7G1_20260815

   /bureau-executif
   Page institutionnelle dynamique du Bureau exécutif.
   ========================================================== */

.somago-bureau-page {
    --bureau-ink: #102f49;
    --bureau-text: #526878;
    --bureau-teal: #0e9da2;
    --bureau-teal-deep: #087c82;
    --bureau-gold: #d2a34d;
    --bureau-line: rgba(16, 47, 73, .12);
    --bureau-soft: #f3f5f2;
    --bureau-paper: #fbfaf7;

    width: min(1280px, calc(100% - 3rem));
    margin: 0 auto;
    padding:
        clamp(4.5rem, 8vw, 8rem)
        0
        clamp(5rem, 8vw, 8rem);

    color: var(--bureau-ink);
}


/* HERO */

.somago-bureau-hero {
    display: grid;
    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(20rem, .7fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: end;
}

.somago-bureau-eyebrow {
    margin: 0 0 1rem;
    color: var(--bureau-teal-deep);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.somago-bureau-hero h1 {
    max-width: 12ch;
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3.5rem, 7vw, 7.3rem);
    font-weight: 400;
    letter-spacing: -.055em;
    line-height: .91;
}

.somago-bureau-hero h1 em {
    display: block;
    color: var(--bureau-teal);
    font-style: normal;
    font-weight: 400;
}

.somago-bureau-hero-intro {
    padding-bottom: .45rem;
}

.somago-bureau-hero-intro p {
    max-width: 34rem;
    margin: 0;
    color: var(--bureau-text);
    font-size: clamp(1rem, 1.35vw, 1.18rem);
    line-height: 1.75;
}

.somago-bureau-hero-intro > span {
    display: inline-block;
    margin-top: 2rem;
    padding-top: .8rem;
    border-top: 2px solid var(--bureau-gold);
    color: var(--bureau-ink);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* RULE */

.somago-bureau-rule {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 1.25rem;
    align-items: center;
    margin:
        clamp(3.5rem, 6vw, 6rem)
        0
        1.5rem;
}

.somago-bureau-rule span {
    color: #72818c;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.somago-bureau-rule i {
    height: 1px;
    background: var(--bureau-line);
}


/* GRID */

.somago-bureau-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap:
        clamp(2.5rem, 4vw, 4rem)
        clamp(1.35rem, 2.7vw, 2.6rem);
}

.somago-bureau-card {
    min-width: 0;
}

.somago-bureau-card-visual {
    position: relative;
    overflow: hidden;
    aspect-ratio: 4 / 5;
    background:
        linear-gradient(
            145deg,
            #e8efed 0%,
            #f5f4ee 100%
        );
}

.somago-bureau-card-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border: 1px solid rgba(16, 47, 73, .06);
}

.somago-bureau-card-visual img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center top;
    filter: saturate(.92);
    transition:
        transform .6s ease,
        filter .6s ease;
}

.somago-bureau-card:hover
.somago-bureau-card-visual img {
    transform: scale(1.025);
    filter: saturate(1);
}

.somago-bureau-card-number {
    position: absolute;
    top: 1.15rem;
    right: 1.2rem;
    z-index: 2;
    color: var(--bureau-ink);
    font-size: .69rem;
    font-weight: 850;
    letter-spacing: .1em;
}

.somago-bureau-card.is-president
.somago-bureau-card-number {
    color: #fff;
}


/* PLACEHOLDER PHOTO */

.somago-bureau-photo-placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
    background:
        radial-gradient(
            circle at 50% 30%,
            rgba(255,255,255,.95),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #e7efed,
            #f4f1e8
        );
}

.somago-bureau-card.is-president
.somago-bureau-photo-placeholder {
    background:
        radial-gradient(
            circle at 50% 30%,
            rgba(255,255,255,.11),
            transparent 40%
        ),
        linear-gradient(
            145deg,
            #0d7e85,
            #12a2a6
        );
}

.somago-bureau-photo-placeholder > div {
    position: relative;
    width: 7.5rem;
    height: 9rem;
    opacity: .55;
}

.somago-bureau-photo-placeholder
> div > span {
    position: absolute;
    top: 0;
    left: 50%;
    width: 3.45rem;
    height: 3.45rem;
    transform: translateX(-50%);
    border-radius: 50%;
    background: rgba(16,47,73,.16);
}

.somago-bureau-photo-placeholder
> div > i {
    position: absolute;
    left: 50%;
    bottom: 0;
    width: 7.5rem;
    height: 5rem;
    transform: translateX(-50%);
    border-radius:
        4rem
        4rem
        .65rem
        .65rem;
    background: rgba(16,47,73,.16);
}

.somago-bureau-card.is-president
.somago-bureau-photo-placeholder
> div > span,
.somago-bureau-card.is-president
.somago-bureau-photo-placeholder
> div > i {
    background: rgba(255,255,255,.2);
}

.somago-bureau-photo-placeholder small {
    color: #6d7d86;
    font-size: .64rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.somago-bureau-card.is-president
.somago-bureau-photo-placeholder small {
    color: rgba(255,255,255,.76);
}


/* CARD CONTENT */

.somago-bureau-card-body {
    padding: 1.5rem 0 0;
}

.somago-bureau-function {
    margin: 0 0 .65rem;
    color: var(--bureau-teal-deep);
    font-size: .71rem;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.somago-bureau-card h2 {
    margin: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.75rem, 2.5vw, 2.65rem);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1.02;
}

.somago-bureau-grade {
    margin: .8rem 0 0;
    color: var(--bureau-ink);
    font-size: .92rem;
    font-weight: 700;
}

.somago-bureau-speciality {
    margin: .35rem 0 0;
    color: var(--bureau-teal-deep);
    font-size: .82rem;
    font-weight: 700;
}

.somago-bureau-bio {
    max-width: 33rem;
    margin: 1.15rem 0 0;
    color: var(--bureau-text);
    font-size: .88rem;
    line-height: 1.7;
}

.somago-bureau-bio.is-pending {
    color: #78858e;
    font-style: italic;
}

.somago-bureau-card-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    min-height: 4rem;
    margin-top: 1.4rem;
    padding-top: 1rem;
    border-top: 1px solid var(--bureau-line);
}

.somago-bureau-card-footer > span {
    color: #75838b;
    font-size: .67rem;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.somago-bureau-card-footer > span strong {
    display: block;
    margin-top: .25rem;
    color: var(--bureau-ink);
    font-size: .77rem;
}

.somago-bureau-card-footer
> span.is-pending {
    max-width: 14rem;
}

.somago-bureau-card-footer a {
    flex: 0 0 auto;
    color: var(--bureau-ink);
    font-size: .75rem;
    font-weight: 850;
    text-decoration: none;
}

.somago-bureau-card-footer a i {
    margin-left: .25rem;
    color: var(--bureau-teal);
    font-style: normal;
}


/* PRESIDENT */

.somago-bureau-card.is-president
.somago-bureau-card-visual {
    box-shadow:
        inset 0 4px 0 var(--bureau-gold);
}


/* EMPTY */

.somago-bureau-empty {
    padding: clamp(3rem, 6vw, 6rem);
    text-align: center;
    background: var(--bureau-soft);
}

.somago-bureau-empty strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.7rem, 3vw, 3rem);
    font-weight: 400;
}

.somago-bureau-empty p {
    max-width: 35rem;
    margin: 1rem auto 0;
    color: var(--bureau-text);
    line-height: 1.75;
}


/* FOOTER */

.somago-bureau-footer {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3rem;
    align-items: end;
    margin-top: clamp(5rem, 8vw, 8rem);
    padding-top: clamp(2rem, 4vw, 3.5rem);
    border-top: 1px solid var(--bureau-line);
}

.somago-bureau-footer strong {
    display: block;
    max-width: 19ch;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3vw, 3.2rem);
    font-weight: 400;
    letter-spacing: -.035em;
    line-height: 1.03;
}

.somago-bureau-footer > a {
    display: flex;
    flex-direction: row-reverse;
    gap: .75rem;
    align-items: center;
    padding-bottom: .4rem;
    border-bottom: 1px solid var(--bureau-ink);
    color: var(--bureau-ink);
    font-size: .76rem;
    font-weight: 850;
    text-decoration: none;
}


/* TABLETTE */

@media (max-width: 64rem) {

    .somago-bureau-hero {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(18rem, .75fr);
        gap: 3rem;
    }

    .somago-bureau-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}


/* PETITE TABLETTE */

@media (max-width: 48rem) {

    .somago-bureau-page {
        width: min(100% - 2rem, 1280px);
        padding-top: 3.5rem;
    }

    .somago-bureau-hero {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .somago-bureau-hero h1 {
        max-width: 10ch;
    }

    .somago-bureau-hero-intro {
        max-width: 38rem;
    }

    .somago-bureau-footer {
        grid-template-columns: 1fr;
    }

    .somago-bureau-footer > a {
        justify-self: start;
    }
}


/* MOBILE */

@media (max-width: 38rem) {

    .somago-bureau-page {
        width: min(100% - 1.5rem, 1280px);
    }

    .somago-bureau-hero h1 {
        font-size: clamp(3rem, 16vw, 4.6rem);
    }

    .somago-bureau-grid {
        grid-template-columns: 1fr;
        gap: 3.5rem;
    }

    .somago-bureau-rule {
        margin-top: 3rem;
    }

    .somago-bureau-card-visual {
        aspect-ratio: 4 / 4.8;
    }
}


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

    .somago-bureau-card-visual img {
        transition: none;
    }
}


/* ==========================================================
   SOMAGO_BUREAU_PREMIUM_V9_20260815

   Hiérarchie institutionnelle :
   Président au sommet + membres en grille.
   ========================================================== */


/* ----------------------------------------------------------
   PAGE
   ---------------------------------------------------------- */

.somago-bureau-page-v9 {
    padding-top:
        clamp(5rem, 8vw, 8.5rem);
}


/* ----------------------------------------------------------
   PRESIDENCE
   ---------------------------------------------------------- */

.somago-bureau-presidency {
    margin-top:
        clamp(4rem, 7vw, 7rem);
}


.somago-bureau-presidency-heading {
    display:
        grid;

    grid-template-columns:
        auto
        auto
        1fr
        auto;

    gap:
        1rem;

    align-items:
        center;

    margin-bottom:
        1.5rem;
}


.somago-bureau-presidency-heading
> span {
    color:
        var(--bureau-gold);

    font-size:
        .68rem;

    font-weight:
        900;

    letter-spacing:
        .12em;
}


.somago-bureau-presidency-heading
> p,
.somago-bureau-presidency-heading
> small {
    margin:
        0;

    color:
        #667984;

    font-size:
        .66rem;

    font-weight:
        850;

    letter-spacing:
        .15em;

    text-transform:
        uppercase;
}


.somago-bureau-presidency-heading
> i {
    height:
        1px;

    background:
        var(--bureau-line);
}


/* ----------------------------------------------------------
   PRESIDENT CARD
   ---------------------------------------------------------- */

.somago-president-card {
    position:
        relative;

    display:
        grid;

    grid-template-columns:
        minmax(22rem, .82fr)
        minmax(0, 1.18fr);

    min-height:
        clamp(37rem, 53vw, 47rem);

    overflow:
        hidden;

    background:
        var(--bureau-ink);

    color:
        #fff;

    box-shadow:
        0 2.5rem 5rem
        rgba(16, 47, 73, .10);
}


.somago-president-card::before {
    content:
        "";

    position:
        absolute;

    z-index:
        3;

    top:
        0;

    left:
        0;

    width:
        100%;

    height:
        4px;

    background:
        linear-gradient(
            90deg,
            var(--bureau-gold),
            #e5c57d,
            var(--bureau-teal)
        );
}


/* PHOTO PRESIDENT */

.somago-president-visual {
    position:
        relative;

    min-height:
        100%;

    overflow:
        hidden;

    background:
        linear-gradient(
            145deg,
            #0a7279,
            #12a4a8
        );
}


.somago-president-visual::after {
    content:
        "";

    position:
        absolute;

    inset:
        0;

    pointer-events:
        none;

    background:
        linear-gradient(
            180deg,
            transparent 55%,
            rgba(8, 39, 60, .30)
        );
}


.somago-president-visual
img {
    display:
        block;

    width:
        100%;

    height:
        100%;

    min-height:
        clamp(37rem, 53vw, 47rem);

    object-fit:
        cover;

    object-position:
        center top;

    filter:
        saturate(.94);
}


.somago-president-visual-label {
    position:
        absolute;

    z-index:
        4;

    left:
        2rem;

    bottom:
        1.75rem;

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

    font-size:
        .65rem;

    font-weight:
        900;

    letter-spacing:
        .18em;

    text-transform:
        uppercase;
}


/* PLACEHOLDER PRESIDENT */

.somago-president-placeholder {
    position:
        absolute;

    inset:
        0;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

    align-items:
        center;

    gap:
        1.65rem;

    background:
        radial-gradient(
            circle at 50% 31%,
            rgba(255,255,255,.15),
            transparent 31%
        ),
        linear-gradient(
            145deg,
            #08787f,
            #13a7aa
        );
}


.somago-president-placeholder
> span {
    width:
        5rem;

    height:
        5rem;

    border-radius:
        50%;

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


.somago-president-placeholder
> i {
    width:
        10rem;

    height:
        7rem;

    margin-top:
        -1rem;

    border-radius:
        6rem
        6rem
        .8rem
        .8rem;

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


.somago-president-placeholder
> small {
    color:
        rgba(255,255,255,.76);

    font-size:
        .66rem;

    font-weight:
        850;

    letter-spacing:
        .15em;

    text-transform:
        uppercase;
}


/* CONTENU PRESIDENT */

.somago-president-content {
    position:
        relative;

    display:
        flex;

    flex-direction:
        column;

    justify-content:
        center;

    padding:
        clamp(3rem, 6vw, 6.5rem);
}


.somago-president-content::before {
    content:
        "01";

    position:
        absolute;

    top:
        clamp(2rem, 4vw, 3.5rem);

    right:
        clamp(2rem, 4vw, 3.5rem);

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

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

    font-size:
        clamp(4rem, 8vw, 8.5rem);

    line-height:
        1;
}


.somago-president-kicker {
    position:
        relative;

    z-index:
        2;

    margin:
        0 0 1.25rem;

    color:
        #75d8d6;

    font-size:
        .72rem;

    font-weight:
        900;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;
}


.somago-president-content h2 {
    position:
        relative;

    z-index:
        2;

    max-width:
        12ch;

    margin:
        0;

    color:
        #fff;

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

    font-size:
        clamp(3.2rem, 5.4vw, 6rem);

    font-weight:
        400;

    letter-spacing:
        -.055em;

    line-height:
        .94;
}


.somago-president-content
h2 span {
    display:
        block;

    margin-bottom:
        .55rem;

    color:
        var(--bureau-gold);

    font-family:
        inherit;

    font-size:
        .26em;

    font-weight:
        700;

    letter-spacing:
        .08em;

    line-height:
        1.2;

    text-transform:
        uppercase;
}


.somago-president-grade {
    margin:
        1.7rem 0 0;

    color:
        #fff;

    font-size:
        1rem;

    font-weight:
        750;
}


.somago-president-speciality {
    margin:
        .4rem 0 0;

    color:
        #79d8d6;

    font-size:
        .9rem;

    font-weight:
        750;
}


.somago-president-bio {
    position:
        relative;

    z-index:
        2;

    max-width:
        39rem;

    margin:
        clamp(2rem, 4vw, 3rem)
        0
        0;

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

    font-size:
        clamp(.95rem, 1.25vw, 1.1rem);

    line-height:
        1.8;
}


.somago-president-bio.is-pending {
    font-style:
        italic;
}


.somago-president-meta {
    display:
        grid;

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

    gap:
        2rem;

    margin-top:
        clamp(2.5rem, 5vw, 4.5rem);

    padding-top:
        1.5rem;

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


.somago-president-meta
small {
    display:
        block;

    margin-bottom:
        .4rem;

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

    font-size:
        .62rem;

    font-weight:
        800;

    letter-spacing:
        .13em;

    text-transform:
        uppercase;
}


.somago-president-meta
strong {
    display:
        block;

    color:
        #fff;

    font-size:
        .85rem;

    font-weight:
        750;
}


/* ----------------------------------------------------------
   MEMBRES
   ---------------------------------------------------------- */

.somago-bureau-members {
    margin-top:
        clamp(6rem, 10vw, 10rem);
}


.somago-bureau-members-heading {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(18rem, .62fr);

    gap:
        clamp(3rem, 8vw, 8rem);

    align-items:
        end;

    margin-bottom:
        clamp(3rem, 5vw, 5rem);
}


.somago-bureau-members-heading
h2 {
    max-width:
        11ch;

    margin:
        0;

    color:
        var(--bureau-ink);

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

    font-size:
        clamp(3rem, 5.7vw, 5.8rem);

    font-weight:
        400;

    letter-spacing:
        -.05em;

    line-height:
        .93;
}


.somago-bureau-members-heading
h2 em {
    display:
        block;

    color:
        var(--bureau-teal);

    font-style:
        normal;
}


.somago-bureau-members-heading
> p {
    max-width:
        31rem;

    margin:
        0;

    color:
        var(--bureau-text);

    font-size:
        1rem;

    line-height:
        1.75;
}


/*
 * V9 :
 * les autres responsables ne doivent plus
 * entrer en compétition visuelle avec le Président.
 */

.somago-bureau-page-v9
.somago-bureau-grid {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    column-gap:
        clamp(2rem, 4vw, 4rem);

    row-gap:
        clamp(4rem, 7vw, 6rem);
}


.somago-bureau-page-v9
.somago-bureau-card-visual {
    aspect-ratio:
        4 / 4.65;
}


.somago-bureau-page-v9
.somago-bureau-card-body {
    padding-top:
        1.65rem;
}


.somago-bureau-page-v9
.somago-bureau-card h3 {
    margin:
        0;

    color:
        var(--bureau-ink);

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

    font-size:
        clamp(2rem, 3vw, 3.1rem);

    font-weight:
        400;

    letter-spacing:
        -.04em;

    line-height:
        1;
}


/* Accent alterné très discret */

.somago-bureau-page-v9
.somago-bureau-card:nth-child(even)
.somago-bureau-card-number {
    color:
        var(--bureau-teal-deep);
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-president-card {
        grid-template-columns:
            minmax(18rem, .8fr)
            minmax(0, 1.2fr);
    }

    .somago-president-content {
        padding:
            3.5rem;
    }
}


/* ----------------------------------------------------------
   PETITE TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 48rem) {

    .somago-president-card {
        grid-template-columns:
            1fr;
    }

    .somago-president-visual {
        min-height:
            auto;

        aspect-ratio:
            4 / 4.3;
    }

    .somago-president-visual
    img {
        min-height:
            0;

        aspect-ratio:
            4 / 4.3;
    }

    .somago-president-content {
        padding:
            clamp(2rem, 8vw, 4rem);
    }

    .somago-president-content
    h2 {
        max-width:
            10ch;
    }

    .somago-bureau-members-heading {
        grid-template-columns:
            1fr;

        gap:
            1.5rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 38rem) {

    .somago-bureau-presidency {
        margin-top:
            3.5rem;
    }

    .somago-bureau-presidency-heading {
        grid-template-columns:
            auto
            auto
            1fr;
    }

    .somago-bureau-presidency-heading
    > small {
        display:
            none;
    }

    .somago-president-content::before {
        font-size:
            4.5rem;
    }

    .somago-president-content h2 {
        font-size:
            clamp(2.8rem, 14vw, 4.1rem);
    }

    .somago-president-meta {
        grid-template-columns:
            1fr;
    }

    .somago-bureau-page-v9
    .somago-bureau-grid {
        grid-template-columns:
            1fr;
    }

    .somago-bureau-members {
        margin-top:
            5rem;
    }
}



/* ==========================================================
   SOMAGO_BUREAU_PREMIUM_V9_1_COMPACT_20260815

   Ajustement :
   - Président toujours au sommet ;
   - carte nettement plus compacte ;
   - photo moins dominante ;
   - contenu horizontal premium ;
   - réduction des grands vides.
   ========================================================== */


/* ----------------------------------------------------------
   HERO PLUS COMPACT
   ---------------------------------------------------------- */

.somago-bureau-page-v9 {
    padding-top:
        clamp(3.5rem, 5vw, 5.5rem);
}

.somago-bureau-page-v9
.somago-bureau-hero {
    gap:
        clamp(2.5rem, 6vw, 6rem);
}

.somago-bureau-page-v9
.somago-bureau-hero h1 {
    font-size:
        clamp(3.2rem, 5.7vw, 5.8rem);
}

.somago-bureau-page-v9
.somago-bureau-hero-intro > span {
    margin-top:
        1.4rem;
}


/* ----------------------------------------------------------
   PRESIDENCE — REDUCTION GENERALE
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-presidency {
    margin-top:
        clamp(3rem, 5vw, 4.5rem);
}

.somago-bureau-page-v9
.somago-bureau-presidency-heading {
    margin-bottom:
        1rem;
}


/* ----------------------------------------------------------
   CARTE PRESIDENT — FORMAT HORIZONTAL COMPACT
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-president-card {
    grid-template-columns:
        minmax(15rem, 21rem)
        minmax(0, 1fr);

    min-height:
        0;

    height:
        auto;
}


/* ----------------------------------------------------------
   PHOTO PRESIDENT
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-president-visual {
    min-height:
        22rem;

    height:
        100%;
}

.somago-bureau-page-v9
.somago-president-visual img {
    min-height:
        22rem;

    height:
        100%;
}


/* Placeholder plus petit */

.somago-bureau-page-v9
.somago-president-placeholder {
    gap:
        1rem;
}

.somago-bureau-page-v9
.somago-president-placeholder > span {
    width:
        3.9rem;

    height:
        3.9rem;
}

.somago-bureau-page-v9
.somago-president-placeholder > i {
    width:
        7.5rem;

    height:
        5.1rem;

    margin-top:
        -.6rem;
}

.somago-bureau-page-v9
.somago-president-placeholder > small {
    font-size:
        .6rem;
}


/* ----------------------------------------------------------
   CONTENU PRESIDENT
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-president-content {
    justify-content:
        center;

    padding:
        clamp(2rem, 4vw, 3.75rem)
        clamp(2.25rem, 5vw, 4.5rem);
}

.somago-bureau-page-v9
.somago-president-content::before {
    top:
        1.5rem;

    right:
        2rem;

    font-size:
        clamp(3.8rem, 6vw, 6rem);
}

.somago-bureau-page-v9
.somago-president-kicker {
    margin-bottom:
        .8rem;
}

.somago-bureau-page-v9
.somago-president-content h2 {
    max-width:
        14ch;

    font-size:
        clamp(2.5rem, 4.1vw, 4.4rem);

    line-height:
        .96;
}

.somago-bureau-page-v9
.somago-president-content h2 span {
    margin-bottom:
        .35rem;
}

.somago-bureau-page-v9
.somago-president-grade {
    margin-top:
        1.1rem;
}

.somago-bureau-page-v9
.somago-president-bio {
    max-width:
        42rem;

    margin-top:
        1.5rem;

    font-size:
        .95rem;

    line-height:
        1.65;
}

.somago-bureau-page-v9
.somago-president-meta {
    grid-template-columns:
        repeat(2, minmax(8rem, 12rem));

    justify-content:
        start;

    gap:
        clamp(2rem, 5vw, 5rem);

    margin-top:
        1.8rem;

    padding-top:
        1rem;
}


/* ----------------------------------------------------------
   MEMBRES — REMONTER LA SECTION
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-members {
    margin-top:
        clamp(4.5rem, 7vw, 6.5rem);
}

.somago-bureau-page-v9
.somago-bureau-members-heading {
    margin-bottom:
        clamp(2.5rem, 4vw, 3.5rem);
}

.somago-bureau-page-v9
.somago-bureau-members-heading h2 {
    font-size:
        clamp(2.8rem, 4.8vw, 4.8rem);
}


/* ----------------------------------------------------------
   CARTES DES AUTRES MEMBRES PLUS COMPACTES
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-grid {
    column-gap:
        clamp(1.5rem, 3vw, 3rem);

    row-gap:
        clamp(3rem, 5vw, 4.5rem);
}

.somago-bureau-page-v9
.somago-bureau-card-visual {
    aspect-ratio:
        4 / 4.25;
}

.somago-bureau-page-v9
.somago-bureau-card-body {
    padding-top:
        1.25rem;
}

.somago-bureau-page-v9
.somago-bureau-card h3 {
    font-size:
        clamp(1.8rem, 2.5vw, 2.65rem);
}

.somago-bureau-page-v9
.somago-bureau-bio {
    margin-top:
        .9rem;
}


/* ----------------------------------------------------------
   DESKTOP LARGE
   ---------------------------------------------------------- */

@media (min-width: 75rem) {

    .somago-bureau-page-v9
    .somago-president-card {
        grid-template-columns:
            20rem
            minmax(0, 1fr);
    }

    .somago-bureau-page-v9
    .somago-president-visual {
        min-height:
            21rem;
    }

    .somago-bureau-page-v9
    .somago-president-visual img {
        min-height:
            21rem;
    }
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-bureau-page-v9
    .somago-president-card {
        grid-template-columns:
            minmax(14rem, 18rem)
            minmax(0, 1fr);
    }

    .somago-bureau-page-v9
    .somago-president-content {
        padding:
            2.5rem;
    }
}


/* ----------------------------------------------------------
   MOBILE / PETITE TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 48rem) {

    .somago-bureau-page-v9
    .somago-president-card {
        grid-template-columns:
            1fr;
    }

    .somago-bureau-page-v9
    .somago-president-visual {
        min-height:
            0;

        aspect-ratio:
            4 / 3.5;
    }

    .somago-bureau-page-v9
    .somago-president-visual img {
        min-height:
            0;

        aspect-ratio:
            4 / 3.5;
    }

    .somago-bureau-page-v9
    .somago-president-content {
        padding:
            2rem;
    }

    .somago-bureau-page-v9
    .somago-president-meta {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            1.5rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 38rem) {

    .somago-bureau-page-v9
    .somago-president-content h2 {
        font-size:
            clamp(2.4rem, 12vw, 3.5rem);
    }

    .somago-bureau-page-v9
    .somago-president-meta {
        grid-template-columns:
            1fr;
    }
}



/* ==========================================================
   SOMAGO_BUREAU_PREMIUM_V9_2_MEMBERS_COMPACT_20260815

   Ajustement ciblé :
   - Président inchangé ;
   - photos des autres membres réduites ;
   - cartes plus éditoriales ;
   - moins de hauteur perdue ;
   - grille plus élégante.
   ========================================================== */


/* ----------------------------------------------------------
   GRILLE DES MEMBRES
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-grid {
    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    column-gap:
        clamp(2rem, 4vw, 3.5rem);

    row-gap:
        clamp(3rem, 5vw, 4rem);
}


/* ----------------------------------------------------------
   VISUEL MEMBRE — FORMAT PLUS COMPACT
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-card-visual {
    aspect-ratio:
        4 / 3.15;

    min-height:
        0;

    max-height:
        none;
}


/* Photo réelle */

.somago-bureau-page-v9
.somago-bureau-card-visual img {
    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center top;
}


/* ----------------------------------------------------------
   PLACEHOLDER MEMBRE
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-photo-placeholder {
    gap:
        1rem;
}


.somago-bureau-page-v9
.somago-bureau-photo-placeholder > div {
    width:
        5.5rem;

    height:
        6.5rem;
}


.somago-bureau-page-v9
.somago-bureau-photo-placeholder
> div > span {
    width:
        2.7rem;

    height:
        2.7rem;
}


.somago-bureau-page-v9
.somago-bureau-photo-placeholder
> div > i {
    width:
        5.5rem;

    height:
        3.7rem;

    border-radius:
        3rem
        3rem
        .55rem
        .55rem;
}


.somago-bureau-page-v9
.somago-bureau-photo-placeholder small {
    font-size:
        .58rem;

    letter-spacing:
        .13em;
}


/* ----------------------------------------------------------
   NUMEROS
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-card-number {
    top:
        .9rem;

    right:
        1rem;

    font-size:
        .64rem;
}


/* ----------------------------------------------------------
   CONTENU MEMBRE
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-card-body {
    padding-top:
        1.15rem;
}


.somago-bureau-page-v9
.somago-bureau-function {
    margin-bottom:
        .5rem;

    font-size:
        .67rem;
}


.somago-bureau-page-v9
.somago-bureau-card h3 {
    font-size:
        clamp(1.75rem, 2.4vw, 2.5rem);

    line-height:
        1.02;
}


.somago-bureau-page-v9
.somago-bureau-grade {
    margin-top:
        .7rem;
}


.somago-bureau-page-v9
.somago-bureau-speciality {
    margin-top:
        .25rem;
}


.somago-bureau-page-v9
.somago-bureau-bio {
    margin-top:
        .8rem;

    font-size:
        .86rem;

    line-height:
        1.65;
}


.somago-bureau-page-v9
.somago-bureau-card-footer {
    min-height:
        0;

    margin-top:
        1rem;

    padding-top:
        .8rem;
}


/* ----------------------------------------------------------
   DESKTOP LARGE
   ---------------------------------------------------------- */

@media (min-width: 75rem) {

    .somago-bureau-page-v9
    .somago-bureau-card-visual {
        aspect-ratio:
            4 / 3;
    }
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-bureau-page-v9
    .somago-bureau-card-visual {
        aspect-ratio:
            4 / 3.35;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 38rem) {

    .somago-bureau-page-v9
    .somago-bureau-card-visual {
        aspect-ratio:
            4 / 3.4;
    }
}



/* ==========================================================
   SOMAGO_BUREAU_PREMIUM_V9_3_4COL_20260815

   Président seul au sommet.
   Membres du Bureau :
   - desktop : 4 colonnes ;
   - tablette : 2 colonnes ;
   - mobile : 1 colonne.
   ========================================================== */


/* DESKTOP */

.somago-bureau-page-v9
.somago-bureau-grid {
    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    column-gap:
        clamp(1.25rem, 2vw, 2rem);

    row-gap:
        clamp(3rem, 4vw, 4rem);
}


/* Visuels adaptés aux colonnes plus étroites */

.somago-bureau-page-v9
.somago-bureau-card-visual {
    aspect-ratio:
        4 / 4.35;
}


/* Titres légèrement adaptés */

.somago-bureau-page-v9
.somago-bureau-card h3 {
    font-size:
        clamp(1.45rem, 1.8vw, 2rem);
}


/* Bio plus compacte */

.somago-bureau-page-v9
.somago-bureau-bio {
    font-size:
        .82rem;

    line-height:
        1.6;
}


/* TABLETTE */

@media (max-width: 64rem) {

    .somago-bureau-page-v9
    .somago-bureau-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        column-gap:
            2rem;
    }

    .somago-bureau-page-v9
    .somago-bureau-card-visual {
        aspect-ratio:
            4 / 3.5;
    }

    .somago-bureau-page-v9
    .somago-bureau-card h3 {
        font-size:
            clamp(1.7rem, 3vw, 2.3rem);
    }
}


/* MOBILE */

@media (max-width: 38rem) {

    .somago-bureau-page-v9
    .somago-bureau-grid {
        grid-template-columns:
            1fr;
    }

    .somago-bureau-page-v9
    .somago-bureau-card-visual {
        aspect-ratio:
            4 / 3.4;
    }
}



/* ==========================================================
   SOMAGO_BUREAU_PREMIUM_V9_4_MOTION_20260815

   Motion premium :
   - zoom très léger des photos ;
   - élévation discrète des cartes ;
   - accent turquoise au survol ;
   - numéro animé ;
   - mouvement subtil des titres ;
   - effet spécifique Président ;
   - respect prefers-reduced-motion.
   ========================================================== */


/* ----------------------------------------------------------
   CARTES MEMBRES
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-card {
    position: relative;

    transition:
        transform .38s cubic-bezier(.2,.75,.25,1),
        filter .38s ease;
}


.somago-bureau-page-v9
.somago-bureau-card:hover {
    transform:
        translateY(-7px);
}


/* ----------------------------------------------------------
   VISUEL
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-card-visual {
    transition:
        box-shadow .4s ease,
        border-color .4s ease;
}


.somago-bureau-page-v9
.somago-bureau-card:hover
.somago-bureau-card-visual {
    box-shadow:
        0 22px 45px rgba(16, 47, 73, .10);
}


/* PHOTO */

.somago-bureau-page-v9
.somago-bureau-card-visual img {
    transition:
        transform .65s cubic-bezier(.2,.75,.25,1),
        filter .55s ease;
}


.somago-bureau-page-v9
.somago-bureau-card:hover
.somago-bureau-card-visual img {
    transform:
        scale(1.035);

    filter:
        saturate(1.03)
        contrast(1.015);
}


/* ----------------------------------------------------------
   PLACEHOLDER PHOTO
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-photo-placeholder {
    transition:
        background .45s ease;
}


.somago-bureau-page-v9
.somago-bureau-card:hover
.somago-bureau-photo-placeholder {
    background:
        radial-gradient(
            circle at 50% 28%,
            rgba(255,255,255,1),
            transparent 40%
        ),
        linear-gradient(
            145deg,
            #e4efed,
            #f7f3e8
        );
}


.somago-bureau-page-v9
.somago-bureau-photo-placeholder > div {
    transition:
        transform .45s cubic-bezier(.2,.75,.25,1),
        opacity .4s ease;
}


.somago-bureau-page-v9
.somago-bureau-card:hover
.somago-bureau-photo-placeholder > div {
    transform:
        translateY(-5px)
        scale(1.035);

    opacity:
        .72;
}


/* ----------------------------------------------------------
   NUMERO
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-card-number {
    transition:
        color .3s ease,
        transform .35s ease;
}


.somago-bureau-page-v9
.somago-bureau-card:hover
.somago-bureau-card-number {
    color:
        var(--bureau-teal);

    transform:
        translateY(-2px);
}


/* ----------------------------------------------------------
   TITRES
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-function {
    transition:
        color .3s ease,
        transform .35s ease;
}


.somago-bureau-page-v9
.somago-bureau-card:hover
.somago-bureau-function {
    color:
        var(--bureau-teal);

    transform:
        translateY(-2px);
}


.somago-bureau-page-v9
.somago-bureau-card h3 {
    transition:
        transform .4s cubic-bezier(.2,.75,.25,1),
        color .3s ease;
}


.somago-bureau-page-v9
.somago-bureau-card:hover h3 {
    transform:
        translateY(-3px);
}


/* ----------------------------------------------------------
   LIGNE ACCENT
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-bureau-card-body {
    position: relative;
}


.somago-bureau-page-v9
.somago-bureau-card-body::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 0;
    height: 2px;

    background:
        linear-gradient(
            90deg,
            var(--bureau-teal),
            var(--bureau-gold)
        );

    transition:
        width .45s cubic-bezier(.2,.75,.25,1);
}


.somago-bureau-page-v9
.somago-bureau-card:hover
.somago-bureau-card-body::before {
    width:
        4rem;
}


/* ----------------------------------------------------------
   PRESIDENT — MOTION SPECIFIQUE
   ---------------------------------------------------------- */

.somago-bureau-page-v9
.somago-president-card {
    position: relative;
    overflow: hidden;

    transition:
        transform .45s cubic-bezier(.2,.75,.25,1),
        box-shadow .45s ease;
}


.somago-bureau-page-v9
.somago-president-card:hover {
    transform:
        translateY(-4px);

    box-shadow:
        0 28px 60px rgba(16, 47, 73, .12);
}


/* reflet */

.somago-bureau-page-v9
.somago-president-card::after {
    content: "";

    position: absolute;

    top: -40%;
    left: -28%;

    width: 25%;
    height: 180%;

    pointer-events: none;

    opacity: 0;

    transform:
        rotate(18deg);

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.08),
            transparent
        );

    transition:
        left .8s ease,
        opacity .25s ease;
}


.somago-bureau-page-v9
.somago-president-card:hover::after {
    left:
        115%;

    opacity:
        1;
}


/* photo Président */

.somago-bureau-page-v9
.somago-president-visual img {
    transition:
        transform .7s cubic-bezier(.2,.75,.25,1),
        filter .6s ease;
}


.somago-bureau-page-v9
.somago-president-card:hover
.somago-president-visual img {
    transform:
        scale(1.025);

    filter:
        saturate(1.04);
}


/* Placeholder Président */

.somago-bureau-page-v9
.somago-president-placeholder {
    transition:
        filter .45s ease;
}


.somago-bureau-page-v9
.somago-president-card:hover
.somago-president-placeholder {
    filter:
        brightness(1.04);
}


/* numéro 01 */

.somago-bureau-page-v9
.somago-president-content::before {
    transition:
        opacity .35s ease,
        transform .45s cubic-bezier(.2,.75,.25,1);
}


.somago-bureau-page-v9
.somago-president-card:hover
.somago-president-content::before {
    opacity:
        .18;

    transform:
        translateY(-5px);
}


/* ----------------------------------------------------------
   ACCESSIBILITE — REDUCED MOTION
   ---------------------------------------------------------- */

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

    .somago-bureau-page-v9
    .somago-bureau-card,

    .somago-bureau-page-v9
    .somago-bureau-card-visual,

    .somago-bureau-page-v9
    .somago-bureau-card-visual img,

    .somago-bureau-page-v9
    .somago-bureau-photo-placeholder,

    .somago-bureau-page-v9
    .somago-bureau-photo-placeholder > div,

    .somago-bureau-page-v9
    .somago-bureau-card-number,

    .somago-bureau-page-v9
    .somago-bureau-function,

    .somago-bureau-page-v9
    .somago-bureau-card h3,

    .somago-bureau-page-v9
    .somago-bureau-card-body::before,

    .somago-bureau-page-v9
    .somago-president-card,

    .somago-bureau-page-v9
    .somago-president-card::after,

    .somago-bureau-page-v9
    .somago-president-visual img,

    .somago-bureau-page-v9
    .somago-president-placeholder,

    .somago-bureau-page-v9
    .somago-president-content::before {

        transition:
            none !important;
    }


    .somago-bureau-page-v9
    .somago-bureau-card:hover,

    .somago-bureau-page-v9
    .somago-president-card:hover {

        transform:
            none;
    }
}



/* ==========================================================
   SOMAGO_LA_SOMAGO_BUREAU_BUTTON_V9_5_20260815
   Bouton vers /bureau-executif
   ========================================================== */

.somago-institution-bureau-action {
    margin-top: 1.75rem;
}

.somago-institution-bureau-button {
    display: inline-flex;
    align-items: center;
    gap: .9rem;

    padding:
        .9rem
        1.15rem;

    border:
        1px solid rgba(16, 47, 73, .16);

    color:
        #102f49;

    background:
        transparent;

    font-size:
        .72rem;

    font-weight:
        850;

    letter-spacing:
        .06em;

    text-decoration:
        none;

    text-transform:
        uppercase;

    transition:
        background .3s ease,
        color .3s ease,
        border-color .3s ease,
        transform .3s ease;
}

.somago-institution-bureau-button i {
    color:
        #0e9da2;

    font-style:
        normal;

    font-size:
        1rem;

    transition:
        transform .3s ease,
        color .3s ease;
}

.somago-institution-bureau-button:hover,
.somago-institution-bureau-button:focus-visible {
    background:
        #102f49;

    color:
        #fff;

    border-color:
        #102f49;

    transform:
        translateY(-2px);
}

.somago-institution-bureau-button:hover i,
.somago-institution-bureau-button:focus-visible i {
    color:
        #4fd1d4;

    transform:
        translateX(4px);
}

@media (max-width: 38rem) {

    .somago-institution-bureau-button {
        width:
            100%;

        justify-content:
            space-between;
    }
}

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

    .somago-institution-bureau-button,
    .somago-institution-bureau-button i {
        transition:
            none;
    }

    .somago-institution-bureau-button:hover,
    .somago-institution-bureau-button:focus-visible {
        transform:
            none;
    }
}



/* ==========================================================
   SOMAGO_LA_SOMAGO_BUREAU_BUTTON_REPOSITION_V9_5_1_20260815
   Note + CTA alignés dans la colonne droite.
   ========================================================== */

.somago-institution-bureau-followup {
    grid-column:
        2;

    width:
        100%;
}

.somago-institution-bureau-followup
.somago-institution-data-note {
    margin-bottom:
        0;
}

.somago-institution-bureau-followup
.somago-institution-bureau-action {
    margin-top:
        1.6rem;
}


/* TABLETTE / MOBILE */

@media (max-width: 48rem) {

    .somago-institution-bureau-followup {
        grid-column:
            1 / -1;
    }
}



/* ==========================================================
   SOMAGO_DIRECTORY_PREMIUM_V173E2A_20260815
   Annuaire professionnel SOMAGO
   ========================================================== */

.somago-directory-page {
    --directory-ink: #102f49;
    --directory-text: #526878;
    --directory-teal: #0e9da2;
    --directory-teal-deep: #087c82;
    --directory-gold: #d2a34d;
    --directory-paper: #fbfaf7;
    --directory-soft: #f2f6f5;
    --directory-line: rgba(16, 47, 73, .13);

    color: var(--directory-ink);
    background: #fff;
    padding: 3rem 0 5rem;
}

.somago-directory-shell {
    width: min(1180px, calc(100% - 3rem));
    margin: 0 auto;
}

.somago-directory-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
    gap: 3rem;
    align-items: end;

    padding-bottom: 2.2rem;
    margin-bottom: 2rem;

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

.somago-directory-kicker {
    margin: 0 0 .65rem;

    color: var(--directory-teal-deep);

    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.somago-directory-hero h1 {
    margin: 0;

    color: var(--directory-ink);

    font-size: clamp(2.3rem, 5vw, 4.5rem);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 800;
}

.somago-directory-hero h1 em {
    display: block;

    color: var(--directory-teal);

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

.somago-directory-intro {
    margin: 0;

    color: var(--directory-text);

    font-size: 1.05rem;
    line-height: 1.75;
}

.somago-directory-search {
    margin-bottom: 2.5rem;

    padding: 1.5rem;

    border: 1px solid var(--directory-line);
    border-radius: 1.2rem;

    background:
        linear-gradient(
            135deg,
            rgba(14, 157, 162, .045),
            rgba(210, 163, 77, .035)
        ),
        #fff;
}

.somago-directory-search-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;

    margin-bottom: 1.25rem;
}

.somago-directory-search-heading > div {
    display: flex;
    align-items: center;
    gap: .9rem;
}

.somago-directory-search-heading > div > span {
    display: grid;
    place-items: center;

    width: 2.6rem;
    height: 2.6rem;

    border: 1px solid rgba(14, 157, 162, .25);
    border-radius: 50%;

    color: var(--directory-teal-deep);

    font-size: .78rem;
    font-weight: 850;
}

.somago-directory-search-heading small {
    display: block;

    margin-bottom: .15rem;

    color: var(--directory-teal-deep);

    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .14em;
}

.somago-directory-search-heading h2 {
    margin: 0;

    font-size: 1.15rem;
    font-weight: 800;
}

.somago-directory-search-heading > strong {
    display: inline-flex;
    align-items: center;

    padding: .45rem .8rem;

    border-radius: 999px;

    background: rgba(14, 157, 162, .08);

    color: var(--directory-teal-deep);

    font-size: .78rem;
    font-weight: 800;
}

.somago-directory-form {
    display: grid;
    grid-template-columns: minmax(260px, 1.6fr) repeat(3, minmax(145px, .7fr)) auto;
    gap: .9rem;
    align-items: end;
}

.somago-directory-field {
    display: grid;
    gap: .45rem;

    margin: 0;
}

.somago-directory-field > span {
    color: var(--directory-ink);

    font-size: .75rem;
    font-weight: 800;
}

.somago-directory-field input,
.somago-directory-field select {
    width: 100%;
    min-height: 46px;

    padding: .72rem .82rem;

    border: 1px solid rgba(16, 47, 73, .16);
    border-radius: .75rem;

    color: var(--directory-ink);

    background: #fff;

    font: inherit;

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

.somago-directory-field input:focus,
.somago-directory-field select:focus {
    outline: none;

    border-color: var(--directory-teal);

    box-shadow: 0 0 0 3px rgba(14, 157, 162, .12);
}

.somago-directory-form button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;

    min-height: 46px;

    padding: .72rem 1.05rem;

    border: 0;
    border-radius: .75rem;

    background: var(--directory-ink);

    color: #fff;

    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .03em;

    cursor: pointer;

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

.somago-directory-form button:hover,
.somago-directory-form button:focus-visible {
    background: var(--directory-teal-deep);
    transform: translateY(-1px);
}

.somago-directory-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.35rem;
}

.somago-directory-card {
    position: relative;

    padding: 1.4rem;

    border: 1px solid var(--directory-line);
    border-radius: 1.15rem;

    background: var(--directory-paper);

    box-shadow:
        0 18px 50px rgba(16, 47, 73, .055);

    overflow: hidden;

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

.somago-directory-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;

    width: 100%;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            var(--directory-teal),
            var(--directory-gold)
        );
}

.somago-directory-card:hover {
    transform: translateY(-3px);

    border-color: rgba(14, 157, 162, .28);

    box-shadow:
        0 22px 60px rgba(16, 47, 73, .09);
}

.somago-directory-card-head {
    display: flex;
    align-items: center;
    gap: 1.1rem;
}

.somago-directory-avatar {
    flex: 0 0 auto;

    width: 92px;
    height: 92px;

    border-radius: 50%;

    object-fit: cover;
    object-position: center;

    border: 4px solid #fff;

    box-shadow:
        0 8px 24px rgba(16, 47, 73, .13);
}

.somago-directory-avatar-initials {
    display: grid;
    place-items: center;

    background:
        linear-gradient(
            135deg,
            var(--directory-ink),
            var(--directory-teal-deep)
        );

    color: #fff;

    font-size: 1.4rem;
    font-weight: 850;
}

.somago-directory-identity {
    min-width: 0;
}

.somago-directory-identity h2 {
    margin: 0 0 .4rem;

    color: var(--directory-ink);

    font-size: 1.3rem;
    line-height: 1.15;
    font-weight: 850;
}

.somago-directory-speciality {
    display: inline-flex;

    padding: .35rem .65rem;

    border-radius: 999px;

    background: rgba(14, 157, 162, .09);

    color: var(--directory-teal-deep);

    font-size: .76rem;
    font-weight: 800;
}

.somago-directory-role-list {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;

    margin-top: 1.15rem;
}

.somago-directory-role-list span {
    display: inline-flex;

    padding: .38rem .65rem;

    border: 1px solid rgba(210, 163, 77, .28);
    border-radius: .55rem;

    background: rgba(210, 163, 77, .08);

    color: #785d23;

    font-size: .73rem;
    font-weight: 800;
}

.somago-directory-meta {
    display: grid;
    gap: .7rem;

    margin: 1.2rem 0 0;
    padding-top: 1rem;

    border-top: 1px solid var(--directory-line);
}

.somago-directory-meta > div {
    display: grid;
    grid-template-columns: 110px 1fr;
    gap: .8rem;
}

.somago-directory-meta dt {
    color: var(--directory-text);

    font-size: .72rem;
    font-weight: 800;
}

.somago-directory-meta dd {
    margin: 0;

    color: var(--directory-ink);

    font-size: .88rem;
    font-weight: 750;
}

.somago-directory-empty {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1.5rem;
    align-items: center;

    padding: 2rem;

    border: 1px dashed rgba(16, 47, 73, .2);
    border-radius: 1.15rem;

    background: var(--directory-soft);
}

.somago-directory-empty > span {
    display: grid;
    place-items: center;

    width: 82px;
    height: 82px;

    border-radius: 50%;

    background: var(--directory-ink);

    color: #fff;

    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .08em;
}

.somago-directory-empty h2 {
    margin: 0 0 .45rem;

    color: var(--directory-ink);

    font-size: 1.35rem;
}

.somago-directory-empty p:last-child {
    margin: 0;

    color: var(--directory-text);

    line-height: 1.65;
}


/* TABLETTE */

@media (max-width: 68rem) {

    .somago-directory-form {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

    .somago-directory-field-search {
        grid-column:
            1 / -1;
    }

    .somago-directory-form button {
        width: 100%;
    }
}


/* MOBILE */

@media (max-width: 48rem) {

    .somago-directory-page {
        padding:
            2rem 0
            3.5rem;
    }

    .somago-directory-shell {
        width:
            min(
                100% - 1.5rem,
                1180px
            );
    }

    .somago-directory-hero {
        grid-template-columns:
            1fr;

        gap:
            1.2rem;

        align-items:
            start;
    }

    .somago-directory-hero h1 {
        font-size:
            clamp(
                2.2rem,
                11vw,
                3.4rem
            );
    }

    .somago-directory-search {
        padding:
            1rem;
    }

    .somago-directory-search-heading {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .somago-directory-form {
        grid-template-columns:
            1fr;
    }

    .somago-directory-field-search {
        grid-column:
            auto;
    }

    .somago-directory-grid {
        grid-template-columns:
            1fr;
    }

    .somago-directory-card {
        padding:
            1.15rem;
    }

    .somago-directory-avatar {
        width:
            78px;

        height:
            78px;
    }

    .somago-directory-meta > div {
        grid-template-columns:
            1fr;

        gap:
            .15rem;
    }
}


/* PETITS MOBILES */

@media (max-width: 30rem) {

    .somago-directory-card-head {
        align-items:
            flex-start;

        flex-direction:
            column;
    }

    .somago-directory-avatar {
        width:
            88px;

        height:
            88px;
    }

    .somago-directory-empty {
        grid-template-columns:
            1fr;
    }
}


/* ACCESSIBILITE / REDUCED MOTION */

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

    .somago-directory-card,
    .somago-directory-form button,
    .somago-directory-field input,
    .somago-directory-field select {
        transition:
            none;
    }

    .somago-directory-card:hover,
    .somago-directory-form button:hover {
        transform:
            none;
    }
}



/* ==========================================================
   SOMAGO_MEMBER_DIRECTORY_PROFILE_V173E4A_20260816
   Enrichissement des cartes annuaire :
   expertises + langues.
   ========================================================== */

.somago-directory-profile-extra {
    display:
        grid;

    gap:
        .85rem;

    margin-top:
        1rem;

    padding-top:
        1rem;

    border-top:
        1px solid
        var(--directory-line);
}


.somago-directory-expertises,
.somago-directory-languages {
    display:
        grid;

    gap:
        .5rem;
}


.somago-directory-expertises > small,
.somago-directory-languages > small {
    color:
        var(--directory-text);

    font-size:
        .64rem;

    font-weight:
        850;

    letter-spacing:
        .1em;

    line-height:
        1.2;

    text-transform:
        uppercase;
}


.somago-directory-expertises > div,
.somago-directory-languages > div {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        .4rem;
}


.somago-directory-expertises span,
.somago-directory-languages span {
    display:
        inline-flex;

    align-items:
        center;

    min-height:
        1.8rem;

    padding:
        .35rem
        .62rem;

    border-radius:
        999px;

    font-size:
        .69rem;

    font-weight:
        750;

    line-height:
        1.15;
}


.somago-directory-expertises span {
    border:
        1px solid
        rgba(14, 157, 162, .18);

    background:
        rgba(14, 157, 162, .07);

    color:
        var(--directory-teal-deep);
}


.somago-directory-languages span {
    border:
        1px solid
        rgba(16, 47, 73, .12);

    background:
        var(--directory-soft);

    color:
        var(--directory-ink);
}


@media (max-width: 48rem) {

    .somago-directory-profile-extra {
        gap:
            .75rem;
    }

    .somago-directory-expertises span,
    .somago-directory-languages span {
        font-size:
            .68rem;
    }
}



/* ==========================================================
   SOMAGO_MEMBER_DIRECTORY_PREMIUM_CARD_V173E4A1_20260816
   Carte membre premium — annuaire SOMAGO
   ========================================================== */

.somago-directory-card {
    overflow: hidden;

    padding: 1.65rem;

    border:
        1px solid
        rgba(16, 47, 73, .10);

    border-radius:
        1.35rem;

    background:
        linear-gradient(
            145deg,
            rgba(255, 255, 255, .98),
            rgba(251, 250, 247, .98)
        );

    box-shadow:
        0 20px 50px
        rgba(16, 47, 73, .065);

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

.somago-directory-card::before {
    height: 3px;

    background:
        linear-gradient(
            90deg,
            var(--directory-teal),
            rgba(14, 157, 162, .55) 42%,
            var(--directory-gold)
        );

    opacity: .92;
}

.somago-directory-card:hover {
    transform:
        translateY(-4px);

    border-color:
        rgba(14, 157, 162, .19);

    box-shadow:
        0 26px 58px
        rgba(16, 47, 73, .095);
}


/* IDENTITE */

.somago-directory-card-head {
    align-items:
        center;

    gap:
        1.15rem;
}

.somago-directory-avatar {
    width:
        6.15rem;

    height:
        6.15rem;

    flex:
        0 0 6.15rem;

    border:
        5px solid #fff;

    border-radius:
        50%;

    background:
        #fff;

    box-shadow:
        0 12px 28px
        rgba(16, 47, 73, .11);
}

.somago-directory-identity h2 {
    margin-bottom:
        .45rem;

    color:
        var(--directory-ink);

    font-size:
        clamp(
            1.22rem,
            1.7vw,
            1.48rem
        );

    line-height:
        1.15;

    letter-spacing:
        -.025em;
}

.somago-directory-speciality {
    display:
        inline-flex;

    align-items:
        center;

    padding:
        .38rem
        .7rem;

    border:
        0;

    border-radius:
        999px;

    background:
        rgba(14, 157, 162, .08);

    color:
        var(--directory-teal-deep);

    font-size:
        .72rem;

    font-weight:
        800;
}


/* FONCTIONS */

.somago-directory-role-list {
    display:
        block;

    margin-top:
        1.25rem;

    padding:
        1rem
        0
        1.05rem;

    border-top:
        1px solid
        var(--directory-line);

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

.somago-directory-role-primary {
    display:
        inline-flex;

    align-items:
        center;

    padding:
        .48rem
        .75rem;

    border:
        1px solid
        rgba(210, 163, 77, .28);

    border-radius:
        .65rem;

    background:
        rgba(210, 163, 77, .09);

    color:
        #805e1c;

    font-size:
        .79rem;

    font-weight:
        850;

    letter-spacing:
        .01em;
}

.somago-directory-role-secondary {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        .35rem
        .75rem;

    margin-top:
        .65rem;
}

.somago-directory-role-secondary span {
    position:
        relative;

    padding:
        0
        0
        0
        .8rem;

    border:
        0;

    background:
        transparent;

    color:
        var(--directory-text);

    font-size:
        .72rem;

    font-weight:
        700;
}

.somago-directory-role-secondary span::before {
    content:
        "";

    position:
        absolute;

    left:
        0;

    top:
        50%;

    width:
        .3rem;

    height:
        .3rem;

    border-radius:
        50%;

    background:
        var(--directory-gold);

    transform:
        translateY(-50%);
}


/* EXPERTISES + LANGUES */

.somago-directory-profile-extra {
    display:
        grid;

    gap:
        .95rem;

    margin-top:
        1.05rem;

    padding:
        0;
}

.somago-directory-expertises,
.somago-directory-languages {
    display:
        grid;

    gap:
        .5rem;
}

.somago-directory-expertises > strong,
.somago-directory-languages > strong {
    color:
        rgba(16, 47, 73, .66);

    font-size:
        .62rem;

    font-weight:
        900;

    letter-spacing:
        .13em;

    text-transform:
        uppercase;
}

.somago-directory-expertises > div,
.somago-directory-languages > div {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        .42rem;
}

.somago-directory-expertises span {
    padding:
        .36rem
        .65rem;

    border:
        1px solid
        rgba(14, 157, 162, .14);

    border-radius:
        999px;

    background:
        rgba(14, 157, 162, .055);

    color:
        var(--directory-teal-deep);

    font-size:
        .69rem;

    font-weight:
        780;
}

.somago-directory-languages span {
    position:
        relative;

    padding:
        0
        .85rem
        0
        0;

    border:
        0;

    border-radius:
        0;

    background:
        transparent;

    color:
        var(--directory-ink);

    font-size:
        .7rem;

    font-weight:
        750;
}

.somago-directory-languages span:not(:last-child)::after {
    content:
        "·";

    position:
        absolute;

    right:
        .28rem;

    color:
        var(--directory-gold);

    font-weight:
        900;
}


/* LOCALISATION */

.somago-directory-meta {
    margin-top:
        1.1rem;

    padding-top:
        1rem;

    border-top:
        1px solid
        var(--directory-line);
}

.somago-directory-meta > div {
    min-height:
        auto;
}

.somago-directory-meta dt {
    color:
        rgba(16, 47, 73, .58);

    font-size:
        .66rem;

    font-weight:
        850;

    letter-spacing:
        .03em;
}

.somago-directory-meta dd {
    color:
        var(--directory-ink);

    font-size:
        .8rem;

    font-weight:
        780;
}


/* TABLETTE */

@media (max-width: 62rem) {

    .somago-directory-card {
        padding:
            1.4rem;
    }

    .somago-directory-avatar {
        width:
            5.6rem;

        height:
            5.6rem;

        flex-basis:
            5.6rem;
    }
}


/* MOBILE */

@media (max-width: 38rem) {

    .somago-directory-card {
        padding:
            1.2rem;

        border-radius:
            1.15rem;
    }

    .somago-directory-card-head {
        align-items:
            flex-start;
    }

    .somago-directory-avatar {
        width:
            4.8rem;

        height:
            4.8rem;

        flex-basis:
            4.8rem;
    }

    .somago-directory-identity h2 {
        font-size:
            1.15rem;
    }

    .somago-directory-role-list {
        margin-top:
            1rem;
    }
}


/* ACCESSIBILITE */

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

    .somago-directory-card {
        transition:
            none;
    }

    .somago-directory-card:hover {
        transform:
            none;
    }
}



/* ==========================================================
   SOMAGO_DIRECTORY_CARD_PREMIUM_V173E4B_20260816

   Carte membre premium équilibrée :
   - moins verticale
   - pas de bande horizontale
   - hiérarchie professionnelle
   - deux cartes possibles sur grand écran
   ========================================================== */


/* ----------------------------------------------------------
   GRILLE
   ---------------------------------------------------------- */

.somago-directory-grid {
    display: grid;

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

    gap:
        1.65rem;
}


/* ----------------------------------------------------------
   CARTE
   ---------------------------------------------------------- */

.somago-directory-card {
    position: relative;

    display: flex;
    flex-direction: column;

    min-height: 0;

    padding:
        1.55rem
        1.6rem
        1.45rem;

    border-radius:
        1.15rem;

    overflow:
        hidden;
}


/* ----------------------------------------------------------
   IDENTITE
   ---------------------------------------------------------- */

.somago-directory-card-head {
    display: grid;

    grid-template-columns:
        5.8rem
        minmax(0, 1fr);

    gap:
        1.15rem;

    align-items:
        center;

    padding-bottom:
        1.05rem;

    margin-bottom:
        1rem;

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


.somago-directory-avatar {
    width:
        5.8rem;

    height:
        5.8rem;

    flex:
        0 0 5.8rem;

    object-fit:
        cover;
}


.somago-directory-identity {
    min-width:
        0;
}


.somago-directory-identity h2 {
    margin:
        0
        0
        .45rem;

    font-size:
        clamp(
            1.18rem,
            1.65vw,
            1.48rem
        );

    line-height:
        1.14;

    letter-spacing:
        -.025em;
}


/* ----------------------------------------------------------
   SPECIALITE
   ---------------------------------------------------------- */

.somago-directory-speciality {
    display:
        inline-flex;

    width:
        fit-content;

    padding:
        .36rem
        .68rem;
}


/* ----------------------------------------------------------
   FONCTION
   ---------------------------------------------------------- */

.somago-directory-role-list {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        .45rem;

    margin:
        0
        0
        1rem;
}


.somago-directory-role-list span {
    padding:
        .45rem
        .72rem;

    border-radius:
        .65rem;
}


/* Première fonction = fonction principale */

.somago-directory-role-list span:first-child {
    font-weight:
        850;

    box-shadow:
        inset 0 0 0 1px
        rgba(
            210,
            163,
            77,
            .18
        );
}


/* Les fonctions suivantes restent secondaires */

.somago-directory-role-list span:not(:first-child) {
    opacity:
        .78;

    font-size:
        .72rem;
}


/* ----------------------------------------------------------
   EXPERTISES / LANGUES
   ---------------------------------------------------------- */

.somago-directory-profile-extra {
    display:
        grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(150px, .75fr);

    gap:
        1rem;

    padding:
        .95rem
        0;

    margin:
        0;

    border-top:
        1px solid
        var(--directory-line);

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


.somago-directory-expertises,
.somago-directory-languages {
    min-width:
        0;
}


.somago-directory-profile-extra
small,
.somago-directory-profile-extra
strong {
    display:
        block;
}


.somago-directory-expertises > div,
.somago-directory-languages > div {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        .38rem;

    margin-top:
        .5rem;
}


/* Badges expertises */

.somago-directory-expertises span {
    padding:
        .34rem
        .58rem;

    border-radius:
        999px;

    white-space:
        normal;

    line-height:
        1.25;
}


/* Langues plus légères */

.somago-directory-languages span {
    padding:
        .25rem
        0;

    border:
        0;

    background:
        transparent;

    box-shadow:
        none;
}


.somago-directory-languages span:not(:last-child)::after {
    content:
        "·";

    display:
        inline-block;

    margin-left:
        .45rem;

    color:
        var(--directory-gold);
}


/* ----------------------------------------------------------
   LOCALISATION / ETABLISSEMENT
   ---------------------------------------------------------- */

.somago-directory-meta {
    display:
        grid;

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

    gap:
        .7rem
        1.2rem;

    margin:
        1rem
        0
        0;

    padding:
        0;

    border:
        0;
}


.somago-directory-meta > div {
    display:
        grid;

    grid-template-columns:
        auto
        minmax(0, 1fr);

    gap:
        .55rem;

    align-items:
        baseline;

    padding:
        0;

    border:
        0;
}


.somago-directory-meta dt {
    margin:
        0;

    white-space:
        nowrap;
}


.somago-directory-meta dd {
    margin:
        0;

    min-width:
        0;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 70rem) {

    .somago-directory-grid {
        grid-template-columns:
            1fr;
    }

    .somago-directory-card {
        width:
            min(
                100%,
                43rem
            );

        margin-inline:
            auto;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 48rem) {

    .somago-directory-card {
        width:
            100%;

        padding:
            1.25rem;
    }

    .somago-directory-card-head {
        grid-template-columns:
            4.8rem
            minmax(0, 1fr);

        gap:
            .9rem;
    }

    .somago-directory-avatar {
        width:
            4.8rem;

        height:
            4.8rem;

        flex-basis:
            4.8rem;
    }

    .somago-directory-profile-extra {
        grid-template-columns:
            1fr;
    }

    .somago-directory-meta {
        grid-template-columns:
            1fr;
    }
}


/* ----------------------------------------------------------
   TRES PETIT MOBILE
   ---------------------------------------------------------- */

@media (max-width: 32rem) {

    .somago-directory-card-head {
        grid-template-columns:
            1fr;

        align-items:
            start;
    }

    .somago-directory-avatar {
        width:
            5rem;

        height:
            5rem;
    }

    .somago-directory-identity h2 {
        font-size:
            1.25rem;
    }
}




/* ==========================================================
   SOMAGO_MEMBER_PROFILE_LINK_V173E4C1B_R2_20260816
   CTA premium vers la fiche publique membre
   ========================================================== */

.somago-directory-profile-action {
    margin-top: auto;
    padding-top: 1.15rem;
}

.somago-directory-profile-link {
    position: relative;

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

    width: 100%;

    padding:
        .92rem
        1rem;

    border:
        1px solid
        rgba(16, 47, 73, .12);

    border-radius:
        .9rem;

    background:
        linear-gradient(
            135deg,
            rgba(14, 157, 162, .055),
            rgba(255, 255, 255, .96)
        );

    color:
        var(--directory-ink);

    text-decoration:
        none;

    font-size:
        .76rem;

    font-weight:
        850;

    letter-spacing:
        .035em;

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

.somago-directory-profile-link::before {
    content:
        "";

    position:
        absolute;

    left:
        0;

    top:
        .75rem;

    bottom:
        .75rem;

    width:
        3px;

    border-radius:
        999px;

    background:
        var(--directory-teal);
}

.somago-directory-profile-link span {
    padding-left:
        .35rem;
}

.somago-directory-profile-link i {
    display:
        grid;

    place-items:
        center;

    flex:
        0 0 auto;

    width:
        2rem;

    height:
        2rem;

    border-radius:
        50%;

    background:
        var(--directory-ink);

    color:
        #fff;

    font-style:
        normal;

    font-size:
        1rem;

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

.somago-directory-profile-link:hover,
.somago-directory-profile-link:focus-visible {
    border-color:
        rgba(14, 157, 162, .3);

    background:
        rgba(14, 157, 162, .07);

    color:
        var(--directory-teal-deep);

    box-shadow:
        0 12px 28px
        rgba(16, 47, 73, .08);

    transform:
        translateY(-2px);
}

.somago-directory-profile-link:hover i,
.somago-directory-profile-link:focus-visible i {
    background:
        var(--directory-teal-deep);

    transform:
        translateX(3px);
}

@media (max-width: 48rem) {

    .somago-directory-profile-action {
        padding-top:
            1rem;
    }

    .somago-directory-profile-link {
        padding:
            .82rem
            .9rem;
    }
}

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

    .somago-directory-profile-link,
    .somago-directory-profile-link i {
        transition:
            none;
    }

    .somago-directory-profile-link:hover,
    .somago-directory-profile-link:focus-visible,
    .somago-directory-profile-link:hover i,
    .somago-directory-profile-link:focus-visible i {
        transform:
            none;
    }
}



/* ==========================================================
   SOMAGO_MEMBER_DIRECTORY_COMPACT_CARD_V173E4C2_20260816
   Profession + rôle principal dans la zone identité.
   Réduction de la hauteur sans perte d'information.
   ========================================================== */

.somago-directory-identity-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;

    margin-top: .45rem;
}

.somago-directory-identity-tags
.somago-directory-speciality,

.somago-directory-identity-tags
.somago-directory-role-primary {
    margin: 0;
}

.somago-directory-role-primary-inline {
    display: inline-flex;
    align-items: center;

    width: auto;

    padding: .42rem .72rem;

    border: 1px solid rgba(210, 163, 77, .28);
    border-radius: .65rem;

    background: rgba(210, 163, 77, .08);

    color: #7b5b21;

    font-size: .72rem;
    font-weight: 800;
    line-height: 1.2;
}

.somago-directory-role-list-secondary-only {
    margin-top: .8rem;
}

@media (max-width: 38rem) {

    .somago-directory-identity-tags {
        gap: .4rem;
    }

    .somago-directory-role-primary-inline {
        padding: .38rem .62rem;
        font-size: .68rem;
    }
}



/* ==========================================================
   SOMAGO_MEMBER_PROFILE_PREMIUM_V173E4D2_20260816
   ========================================================== */

.somago-member-profile-page {
    padding: 32px 24px 72px;
    background:
        linear-gradient(
            180deg,
            #f8fafb 0%,
            #ffffff 100%
        );
}

.somago-member-profile-shell {
    width: min(1180px, 100%);
    margin: 0 auto;
}

.somago-member-profile-back {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 24px;
    color: #123653;
    font-weight: 700;
    text-decoration: none;
}

.somago-member-premium {
    display: grid;
    grid-template-columns:
        minmax(0, 1.65fr)
        minmax(300px, .75fr);
    gap: 28px;
    align-items: start;
}

.somago-member-premium-main,
.somago-member-appointment-card,
.somago-member-profile-summary {
    background: #fff;
    border: 1px solid rgba(18, 54, 83, .10);
    border-radius: 22px;
    box-shadow:
        0 18px 50px
        rgba(18, 54, 83, .07);
}

.somago-member-premium-main {
    padding: 34px;
    position: relative;
    overflow: hidden;
}

.somago-member-premium-main::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background:
        linear-gradient(
            90deg,
            #26a9aa,
            #d8b65b
        );
}

.somago-member-premium-header {
    display: flex;
    align-items: center;
    gap: 26px;
    padding-bottom: 30px;
    border-bottom: 1px solid rgba(18, 54, 83, .10);
}

.somago-member-premium-photo-wrap {
    flex: 0 0 auto;
}

.somago-member-premium-photo {
    display: block;
    width: 150px;
    height: 150px;
    border-radius: 20px;
    object-fit: cover;
    background: #f4f7f8;
    border: 1px solid rgba(18, 54, 83, .08);
}

.somago-member-premium-photo-empty {
    display: grid;
    place-items: center;
    color: #2a9d9f;
    font-size: 34px;
    font-weight: 800;
}

.somago-member-premium-kicker,
.somago-member-appointment-kicker {
    margin: 0 0 8px;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .14em;
    color: #2a9d9f;
}

.somago-member-premium-identity h1 {
    margin: 0;
    color: #123653;
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.somago-member-premium-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 16px;
}

.somago-member-premium-profession,
.somago-member-premium-role {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 12px;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
    font-weight: 800;
}

.somago-member-premium-profession {
    color: #187d7e;
    background: #edf8f7;
}

.somago-member-premium-role {
    color: #80601c;
    background: #fbf6e9;
    border: 1px solid #eee0b7;
}

.somago-member-premium-section,
.somago-member-premium-bio {
    padding: 26px 0;
    border-bottom: 1px solid rgba(18, 54, 83, .09);
}

.somago-member-premium-label {
    margin: 0 0 12px;
    color: #667887;
    font-size: 11px;
    line-height: 1.2;
    font-weight: 800;
    letter-spacing: .10em;
    text-transform: uppercase;
}

.somago-member-premium-tags,
.somago-member-premium-languages {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.somago-member-premium-tags span,
.somago-member-premium-languages span {
    display: inline-flex;
    padding: 7px 11px;
    border-radius: 999px;
    background: #f2f8f8;
    color: #176f72;
    font-size: 12px;
    font-weight: 700;
}

.somago-member-premium-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    padding-top: 12px;
}

.somago-member-premium-info > div {
    padding: 18px 0;
    border-bottom: 1px solid rgba(18, 54, 83, .09);
}

.somago-member-premium-info > div:nth-child(odd) {
    padding-right: 20px;
}

.somago-member-premium-info span,
.somago-member-profile-summary span {
    display: block;
    margin-bottom: 5px;
    color: #788895;
    font-size: 11px;
    font-weight: 700;
}

.somago-member-premium-info strong,
.somago-member-profile-summary strong {
    display: block;
    color: #123653;
    font-size: 14px;
    line-height: 1.45;
}

.somago-member-premium-bio {
    border-bottom: 0;
    padding-bottom: 0;
}

.somago-member-premium-bio > div {
    color: #536675;
    line-height: 1.75;
}

.somago-member-premium-side {
    display: grid;
    gap: 20px;
    position: sticky;
    top: 24px;
}

.somago-member-appointment-card {
    padding: 28px;
    position: relative;
    overflow: hidden;
}

.somago-member-appointment-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background:
        linear-gradient(
            90deg,
            #26a9aa,
            #d8b65b
        );
}

.somago-member-appointment-number {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    margin-bottom: 22px;
    border: 1px solid rgba(42, 157, 159, .25);
    border-radius: 50%;
    color: #238e90;
    font-size: 12px;
    font-weight: 800;
}

.somago-member-appointment-card h2 {
    margin: 0 0 12px;
    color: #123653;
    font-size: 27px;
    line-height: 1.1;
    letter-spacing: -.025em;
}

.somago-member-appointment-intro {
    margin: 0 0 22px;
    color: #60727f;
    font-size: 14px;
    line-height: 1.65;
}

.somago-member-appointment-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    width: 100%;
    padding: 14px 14px 14px 18px;
    border-radius: 12px;
    background: #123653;
    color: #fff;
    text-decoration: none;
    font-size: 13px;
    font-weight: 800;
}

.somago-member-appointment-button strong {
    display: grid;
    place-items: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: rgba(255,255,255,.13);
    font-size: 17px;
}

.somago-member-appointment-note {
    margin: 14px 0 0;
    color: #7a8994;
    font-size: 11px;
    line-height: 1.5;
}

.somago-member-appointment-unavailable {
    padding: 15px;
    border-radius: 12px;
    background: #f5f7f8;
    color: #667783;
    font-size: 13px;
    line-height: 1.5;
}

.somago-member-profile-summary {
    padding: 24px 28px;
}

.somago-member-profile-summary > div {
    padding: 12px 0;
    border-top: 1px solid rgba(18, 54, 83, .08);
}

.somago-member-profile-summary > div:first-of-type {
    border-top: 0;
}

@media (max-width: 900px) {

    .somago-member-premium {
        grid-template-columns: 1fr;
    }

    .somago-member-premium-side {
        position: static;
    }
}

@media (max-width: 640px) {

    .somago-member-profile-page {
        padding:
            22px
            14px
            48px;
    }

    .somago-member-premium-main {
        padding: 22px;
    }

    .somago-member-premium-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    .somago-member-premium-photo {
        width: 112px;
        height: 112px;
    }

    .somago-member-premium-info {
        grid-template-columns: 1fr;
    }

    .somago-member-premium-info > div:nth-child(odd) {
        padding-right: 0;
    }
}


/* ==========================================================
   SOMAGO_APPOINTMENT_INTERNAL_FORM_E1A_R2_20260816
   Formulaire interne de rendez-vous membre
   ========================================================== */

.somago-member-appointment-form {
    display: grid;
    gap: .85rem;

    margin-top: 1.15rem;
}

.somago-member-appointment-form > label,
.somago-member-appointment-name > label {
    display: grid;
    gap: .38rem;

    margin: 0;
}

.somago-member-appointment-form label > span {
    color: #526878;

    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .055em;
}

.somago-member-appointment-form label > span small {
    font-size: .62rem;
    font-weight: 650;
    letter-spacing: 0;
}

.somago-member-appointment-name {
    display: grid;
    grid-template-columns:
        repeat(2, minmax(0, 1fr));
    gap: .7rem;
}

.somago-member-appointment-form input,
.somago-member-appointment-form select,
.somago-member-appointment-form textarea {
    width: 100%;

    border: 1px solid rgba(16, 47, 73, .14);
    border-radius: .72rem;

    background: #fff;

    color: #102f49;

    font: inherit;

    transition:
        border-color .18s ease,
        box-shadow .18s ease,
        background .18s ease;
}

.somago-member-appointment-form input,
.somago-member-appointment-form select {
    min-height: 42px;

    padding:
        .62rem
        .72rem;
}

.somago-member-appointment-form textarea {
    min-height: 92px;

    padding:
        .7rem
        .72rem;

    resize: vertical;
}

.somago-member-appointment-form input:focus,
.somago-member-appointment-form select:focus,
.somago-member-appointment-form textarea:focus {
    outline: none;

    border-color: rgba(14, 157, 162, .62);

    box-shadow:
        0 0 0 3px
        rgba(14, 157, 162, .09);

    background: #fff;
}

.somago-member-appointment-form
.somago-member-appointment-button {
    width: 100%;

    border: 0;

    cursor: pointer;
}

.somago-member-appointment-honeypot {
    position: absolute !important;

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

    overflow: hidden !important;

    clip:
        rect(
            0,
            0,
            0,
            0
        ) !important;

    white-space: nowrap !important;
}

@media (max-width: 42rem) {

    .somago-member-appointment-name {
        grid-template-columns: 1fr;
    }

}


/* ==========================================================
   SOMAGO_APPOINTMENT_COMPACT_E1A_R3R2_20260816
   Formulaire rendez-vous compact et dépliable.
   ========================================================== */

.somago-member-appointment-details {
    margin-top: 1.35rem;
}

.somago-member-appointment-details > summary {
    list-style: none;
}

.somago-member-appointment-details > summary::-webkit-details-marker {
    display: none;
}

.somago-member-appointment-trigger {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 54px;
    gap: 1rem;
    padding: .8rem .9rem .8rem 1rem;
    border: 0;
    border-radius: 10px;
    background: #123f5f;
    color: #fff;
    font: inherit;
    font-size: .82rem;
    font-weight: 800;
    cursor: pointer;
    transition:
        transform .2s ease,
        background-color .2s ease,
        box-shadow .2s ease;
}

.somago-member-appointment-trigger:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(18, 63, 95, .15);
}

.somago-member-appointment-trigger:focus-visible {
    outline: 3px solid rgba(17, 124, 132, .28);
    outline-offset: 3px;
}

.somago-member-appointment-trigger strong {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .14);
    font-size: 1rem;
    transition: transform .22s ease;
}

.somago-member-appointment-details[open]
.somago-member-appointment-trigger strong {
    transform: rotate(90deg);
}

.somago-member-appointment-form-panel {
    padding-top: 1.25rem;
}

.somago-member-appointment-details:not([open])
.somago-member-appointment-form-panel {
    display: none;
}

.somago-member-appointment-details[open]
.somago-member-appointment-form-panel {
    animation: somagoAppointmentR3R2Reveal .22s ease both;
}

@keyframes somagoAppointmentR3R2Reveal {
    from {
        opacity: 0;
        transform: translateY(-7px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@media (max-width: 767px) {
    .somago-member-appointment-details {
        margin-top: 1rem;
    }

    .somago-member-appointment-trigger {
        min-height: 52px;
    }

    .somago-member-appointment-form-panel {
        padding-top: 1rem;
    }
}



/* ==========================================================
   SOMAGO_PRESIDENT_FULL_MESSAGE_P1D_20260816
   Mot complet du Président
   ========================================================== */

.somago-president-message-full {
    position: relative;
    margin: 0;
    padding: clamp(4rem, 8vw, 7rem) 0;
    scroll-margin-top: 120px;
}

.somago-president-message-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem;
}

.somago-president-message-heading h2 {
    max-width: 820px;
    margin: .35rem 0 0;
    font-size: clamp(2rem, 4.5vw, 4.25rem);
    line-height: .98;
    letter-spacing: -.045em;
}

.somago-president-message-heading > span {
    font-size: clamp(3.5rem, 8vw, 7.5rem);
    font-weight: 800;
    line-height: .75;
    letter-spacing: -.08em;
    opacity: .08;
}

.somago-president-message-card {
    display: grid;
    grid-template-columns: minmax(260px, .72fr) minmax(0, 1.55fr);
    overflow: hidden;
    border: 1px solid rgba(18, 50, 77, .12);
    border-radius: 28px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(18, 50, 77, .09);
}

.somago-president-message-identity {
    position: relative;
    min-width: 0;
    padding: 1.25rem;
    background:
        linear-gradient(
            155deg,
            #12324d 0%,
            #174c61 100%
        );
    color: #fff;
}

.somago-president-message-photo {
    overflow: hidden;
    aspect-ratio: 4 / 5;
    border-radius: 20px;
    background: rgba(255, 255, 255, .08);
}

.somago-president-message-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.somago-president-message-photo-placeholder {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    color: rgba(255, 255, 255, .58);
    font-weight: 800;
    letter-spacing: .18em;
}

.somago-president-message-signature {
    padding: 1.6rem .45rem .55rem;
}

.somago-president-message-signature > span {
    display: block;
    margin-bottom: .55rem;
    color: rgba(255, 255, 255, .62);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.somago-president-message-signature strong {
    display: block;
    margin-bottom: .5rem;
    color: #fff;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
    line-height: 1.15;
}

.somago-president-message-signature small {
    display: block;
    max-width: 260px;
    color: rgba(255, 255, 255, .72);
    font-size: .82rem;
    line-height: 1.55;
}

.somago-president-message-copy {
    position: relative;
    min-width: 0;
    padding: clamp(2rem, 5vw, 4.75rem);
}

.somago-president-message-quote {
    position: absolute;
    top: 1rem;
    right: 2rem;
    color: #12856f;
    font-family: Georgia, serif;
    font-size: clamp(5rem, 10vw, 9rem);
    line-height: 1;
    opacity: .1;
    pointer-events: none;
}

.somago-president-message-text {
    position: relative;
    z-index: 1;
    max-width: 760px;
    color: #344757;
    font-size: 1.02rem;
    line-height: 1.85;
}

.somago-president-message-text p {
    margin: 0 0 1.35rem;
}

.somago-president-message-text p:first-child {
    color: #16324a;
    font-size: 1.06rem;
}

.somago-president-message-text p:last-child {
    margin-top: 2.25rem;
    margin-bottom: 0;
    padding-top: 1.5rem;
    border-top: 1px solid #e6ebee;
    color: #16324a;
}

.somago-president-message-text strong {
    color: #16324a;
}

@media (max-width: 820px) {

    .somago-president-message-heading {
        align-items: flex-start;
    }

    .somago-president-message-heading > span {
        display: none;
    }

    .somago-president-message-card {
        grid-template-columns: 1fr;
    }

    .somago-president-message-identity {
        display: grid;
        grid-template-columns: minmax(120px, 180px) 1fr;
        align-items: center;
        gap: 1.25rem;
    }

    .somago-president-message-photo {
        aspect-ratio: 4 / 5;
    }

    .somago-president-message-signature {
        padding: .5rem;
    }
}

@media (max-width: 520px) {

    .somago-president-message-full {
        padding: 3.5rem 0;
    }

    .somago-president-message-card {
        border-radius: 20px;
    }

    .somago-president-message-identity {
        grid-template-columns: 110px 1fr;
        padding: .9rem;
    }

    .somago-president-message-photo {
        border-radius: 14px;
    }

    .somago-president-message-copy {
        padding: 1.6rem 1.25rem 2rem;
    }

    .somago-president-message-text {
        font-size: .96rem;
        line-height: 1.75;
    }

    .somago-president-message-quote {
        right: .75rem;
    }
}

/*
 * SOMAGO_PRESIDENT_PAGE_SPACING_P2R3_20260816
 * ==========================================================
 *
 * Page Mot du Président uniquement.
 *
 * Le hero générique ayant été supprimé, on réduit l’espace
 * supérieur restant afin de rapprocher naturellement le
 * contenu du header.
 *
 * Aucun autre écran du site n'est affecté.
 */

.somago-president-page
.somago-component-output {
    padding-top: 2.25rem;
}

.somago-president-page
.somago-president-message-full {
    margin-top: 0;
}

@media (max-width: 768px) {

    .somago-president-page
    .somago-component-output {
        padding-top: 1.5rem;
    }
}



/*
 * ==========================================================
 * SOMAGO_PRESIDENT_TITLE_WIDTH_P2R4_20260816
 *
 * Page / Mot du Président :
 * redonne au titre éditorial toute la largeur disponible
 * afin d'éviter un retour artificiel sur 4 lignes.
 * ==========================================================
 */

.somago-president-message-heading {
    grid-template-columns:
        minmax(0, 1fr)
        auto;
}

.somago-president-message-heading > div {
    min-width: 0;
    width: 100%;
}

.somago-president-message-heading h2,
#somago-president-message-title {
    width: 100%;
    max-width: 920px;
    margin-right: 0;
    text-wrap: balance;
}


/*
 * Grand écran :
 * le titre doit respirer horizontalement.
 */
@media (min-width: 64rem) {

    .somago-president-message-heading h2,
    #somago-president-message-title {
        font-size:
            clamp(
                2.8rem,
                4.15vw,
                4.8rem
            );

        line-height: .98;
        letter-spacing: -.045em;
    }
}


/*
 * Mobile / tablette :
 * retour naturel sans débordement.
 */
@media (max-width: 63.999rem) {

    .somago-president-message-heading h2,
    #somago-president-message-title {
        max-width: 100%;
        font-size:
            clamp(
                2.1rem,
                8vw,
                3.5rem
            );

        line-height: 1;
    }
}


/*
 * SOMAGO_REASON_LAYOUT_NO_INDEX_FIX_20260816
 * ==========================================================
 * Le grand numéro décoratif "01" a été retiré.
 *
 * On remet donc le contenu Raison d'être sur une vraie
 * largeur éditoriale sans modifier les autres sections.
 */
.somago-institution-purpose {
    grid-template-columns: minmax(0, 1fr);
}

.somago-institution-purpose
.somago-institution-section-copy {
    width: 100%;
    max-width: 68rem;
    margin-inline: auto;
}

.somago-institution-purpose
.somago-institution-section-copy h2 {
    max-width: 58rem;
}

.somago-institution-purpose
.somago-institution-large-copy {
    max-width: 58rem;
}



/* ==========================================================
   SOMAGO_EXPERTISE_IMAGE_GRID_E1D1_20260816

   Correction ciblée du bloc Expertise de l'accueil.

   Objectifs :
   - 3 colonnes strictement égales sur desktop ;
   - empêcher une vraie image d'élargir sa colonne ;
   - enfermer l'image dans la zone visuelle existante ;
   - conserver le format des cartes ;
   - conserver les placeholders existants ;
   - aucun impact hors bloc Expertise.
   ========================================================== */


/* ----------------------------------------------------------
   GRILLE
   ---------------------------------------------------------- */

.somago-expertise
.somago-practitioner-preview {

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


/*
 * Un contenu intrinsèquement large — notamment une image —
 * ne doit jamais imposer sa propre largeur à la colonne Grid.
 */

.somago-expertise
.somago-practitioner-card {

    min-width:
        0;

    overflow:
        hidden;
}


.somago-expertise
.somago-practitioner-photo {

    min-width:
        0;

    overflow:
        hidden;
}


/* ----------------------------------------------------------
   PHOTO REELLE JOOMLA
   ---------------------------------------------------------- */

.somago-expertise
.somago-practitioner-photo-live {

    position:
        relative;

    display:
        block;

    width:
        100%;

    height:
        17rem;

    min-height:
        17rem;

    padding:
        0;

    overflow:
        hidden;
}


/*
 * Le cercle appartient uniquement au placeholder.
 * Une photographie réelle ne doit pas l'afficher.
 */

.somago-expertise
.somago-practitioner-photo-live::before {

    display:
        none;
}


/*
 * La photographie occupe exactement la fenêtre visuelle
 * de la carte sans modifier les dimensions de la grille.
 */

.somago-expertise
.somago-practitioner-photo-live
img {

    display:
        block;

    width:
        100%;

    height:
        100%;

    min-width:
        0;

    max-width:
        100%;

    object-fit:
        cover;

    object-position:
        center top;
}


/* ----------------------------------------------------------
   TABLETTE
   Le comportement existant reste : 2 colonnes.
   ---------------------------------------------------------- */

@media (max-width: 58rem) {

    .somago-expertise
    .somago-practitioner-preview {

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


/* ----------------------------------------------------------
   MOBILE
   Le comportement historique reste :
   - 1 colonne ;
   - troisième aperçu masqué ;
   - visuel plus compact.
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-expertise
    .somago-practitioner-preview {

        grid-template-columns:
            minmax(0, 1fr);
    }


    .somago-expertise
    .somago-practitioner-photo-live {

        height:
            13rem;

        min-height:
            13rem;
    }
}



/* ==========================================================
   SOMAGO_ACTUALITES_MAGAZINE_A2F1R2_20260817

   Page /actualites
   Layout éditorial premium autonome.
   Aucun impact sur les pages article.
   ========================================================== */


/* ----------------------------------------------------------
   CONTENEUR
   ---------------------------------------------------------- */

.somago-inner
.somago-component-output:has(.somago-news-page) {

    width:
        100%;

    max-width:
        none;

    padding:
        0;
}


.somago-news-page {

    background:
        #f4f1ea;

    color:
        var(--somago-navy);
}


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

.somago-news-page-hero {

    position:
        relative;

    overflow:
        hidden;

    padding:
        clamp(5rem, 9vw, 8.5rem)
        0
        clamp(4rem, 7vw, 6rem);

    color:
        #fff;

    background:
        linear-gradient(
            125deg,
            #071c2c 0%,
            #0d344b 58%,
            #175b70 100%
        );
}


.somago-news-page-hero::before {

    position:
        absolute;

    inset:
        0;

    content:
        "";

    pointer-events:
        none;

    background:
        linear-gradient(
            90deg,
            transparent 0 64%,
            rgb(255 255 255 / 4%) 64% 64.1%,
            transparent 64.1%
        ),
        repeating-linear-gradient(
            90deg,
            transparent 0 calc(8.333% - 1px),
            rgb(255 255 255 / 3%)
                calc(8.333% - 1px)
                8.333%
        );
}


.somago-news-page-hero-grid {

    position:
        relative;

    z-index:
        1;

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(18rem, .8fr);

    gap:
        clamp(3rem, 8vw, 8rem);

    align-items:
        end;
}


.somago-news-page-heading
.somago-editorial-label {

    margin-bottom:
        2rem;
}


.somago-news-page-kicker {

    margin:
        0 0 1rem;

    color:
        #8ed5d2;

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;
}


.somago-news-page-heading h1 {

    max-width:
        11ch;

    margin:
        0;

    font-size:
        clamp(3.5rem, 7vw, 7rem);

    font-weight:
        630;

    letter-spacing:
        -.055em;

    line-height:
        .88;
}


.somago-news-page-heading h1 em {

    display:
        block;

    color:
        #d2a17d;

    font-family:
        var(--somago-serif);

    font-weight:
        500;
}


.somago-news-page-intro {

    max-width:
        31rem;

    padding-top:
        2rem;

    border-top:
        1px solid
        rgb(255 255 255 / 24%);
}


.somago-news-page-intro > p {

    margin:
        0;

    color:
        rgb(255 255 255 / 82%);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1.05rem, 1.5vw, 1.28rem);

    line-height:
        1.7;
}


.somago-news-page-count {

    display:
        flex;

    gap:
        1rem;

    align-items:
        baseline;

    margin-top:
        2.2rem;
}


.somago-news-page-count strong {

    color:
        #8ed5d2;

    font-size:
        2.4rem;

    font-weight:
        500;
}


.somago-news-page-count span {

    color:
        rgb(255 255 255 / 60%);

    font-size:
        .68rem;

    font-weight:
        800;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   CONTENU
   ---------------------------------------------------------- */

.somago-news-page-content {

    padding:
        clamp(4rem, 8vw, 8rem)
        0
        clamp(6rem, 10vw, 10rem);
}


/* ----------------------------------------------------------
   UNE
   ---------------------------------------------------------- */

.somago-news-featured {

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(20rem, .8fr);

    min-height:
        34rem;

    background:
        #fff;

    box-shadow:
        0 2.2rem 5rem
        rgb(7 28 44 / 8%);
}


.somago-news-featured-media {

    position:
        relative;

    display:
        block;

    min-width:
        0;

    min-height:
        34rem;

    overflow:
        hidden;

    background:
        #123f55;
}


.somago-news-featured-media img {

    position:
        absolute;

    inset:
        0;

    display:
        block;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center;

    transition:
        transform
        .8s
        cubic-bezier(.2,.7,.25,1);
}


.somago-news-featured:hover
.somago-news-featured-media img {

    transform:
        scale(1.025);
}


.somago-news-featured-media::after {

    position:
        absolute;

    inset:
        0;

    content:
        "";

    pointer-events:
        none;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgb(7 28 44 / 20%) 100%
        );
}


.somago-news-featured-badge {

    position:
        absolute;

    z-index:
        2;

    top:
        1.5rem;

    left:
        1.5rem;

    padding:
        .6rem .8rem;

    color:
        #fff;

    font-size:
        .62rem;

    font-weight:
        900;

    letter-spacing:
        .13em;

    text-transform:
        uppercase;

    background:
        #b6643d;
}


.somago-news-featured-copy {

    display:
        flex;

    min-width:
        0;

    flex-direction:
        column;

    justify-content:
        center;

    padding:
        clamp(2.5rem, 5vw, 5rem);
}


.somago-news-featured-meta,
.somago-news-card-meta {

    display:
        flex;

    gap:
        1rem;

    align-items:
        center;

    color:
        #8a4726;

    font-size:
        .64rem;

    font-weight:
        850;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;
}


.somago-news-featured-meta time,
.somago-news-card-meta time {

    color:
        #80909b;
}


.somago-news-featured-copy h2 {

    margin:
        1.3rem 0 0;

    font-size:
        clamp(2.15rem, 3.5vw, 3.9rem);

    font-weight:
        620;

    letter-spacing:
        -.048em;

    line-height:
        1.02;
}


.somago-news-featured-copy h2 a,
.somago-news-card h3 a {

    color:
        inherit;
}


.somago-news-featured-copy > p {

    margin:
        1.5rem 0 0;

    color:
        #5f707b;

    font-size:
        .92rem;

    line-height:
        1.8;
}


.somago-news-read-link,
.somago-news-card-link {

    display:
        inline-flex;

    gap:
        .8rem;

    align-items:
        center;

    width:
        fit-content;

    margin-top:
        2rem;

    padding-bottom:
        .3rem;

    border-bottom:
        1px solid
        rgb(16 42 67 / 28%);

    color:
        var(--somago-navy);

    font-size:
        .72rem;

    font-weight:
        850;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   PLACEHOLDER IMAGE
   ---------------------------------------------------------- */

.somago-news-image-placeholder {

    position:
        absolute;

    inset:
        0;

    display:
        flex;

    gap:
        .7rem;

    align-items:
        center;

    justify-content:
        center;

    flex-direction:
        column;

    color:
        rgb(255 255 255 / 84%);

    font-size:
        1rem;

    font-weight:
        850;

    letter-spacing:
        .2em;

    background:
        linear-gradient(
            145deg,
            #176b87,
            #102a43
        );
}


.somago-news-image-placeholder small {

    font-size:
        .55rem;

    font-weight:
        700;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   TITRE LISTE
   ---------------------------------------------------------- */

.somago-news-section-heading {

    display:
        flex;

    justify-content:
        space-between;

    margin:
        clamp(5rem, 9vw, 8rem)
        0
        2rem;

    padding-bottom:
        1.5rem;

    border-bottom:
        1px solid
        rgb(16 42 67 / 17%);
}


.somago-news-section-heading span {

    color:
        #8a4726;

    font-size:
        .62rem;

    font-weight:
        850;

    letter-spacing:
        .14em;

    text-transform:
        uppercase;
}


.somago-news-section-heading h2 {

    margin:
        .65rem 0 0;

    font-size:
        clamp(2rem, 3.4vw, 3.7rem);

    font-weight:
        630;

    letter-spacing:
        -.045em;
}


/* ----------------------------------------------------------
   GRILLE
   ---------------------------------------------------------- */

.somago-news-card-grid {

    display:
        grid;

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

    gap:
        1px;

    background:
        rgb(16 42 67 / 15%);
}


.somago-news-card {

    min-width:
        0;

    background:
        #fff;
}


.somago-news-card-media {

    position:
        relative;

    display:
        block;

    min-height:
        15rem;

    overflow:
        hidden;

    background:
        #123f55;
}


.somago-news-card-media img {

    position:
        absolute;

    inset:
        0;

    display:
        block;

    width:
        100%;

    height:
        100%;

    object-fit:
        cover;

    object-position:
        center;

    transition:
        transform
        .65s
        ease;
}


.somago-news-card:hover
.somago-news-card-media img {

    transform:
        scale(1.025);
}


.somago-news-card-copy {

    padding:
        1.7rem;
}


.somago-news-card h3 {

    margin:
        1rem 0 0;

    font-size:
        1.45rem;

    font-weight:
        650;

    letter-spacing:
        -.035em;

    line-height:
        1.12;
}


.somago-news-card-copy > p {

    margin:
        1rem 0 0;

    color:
        #667783;

    font-size:
        .82rem;

    line-height:
        1.7;
}


.somago-news-card-link {

    margin-top:
        1.5rem;

    font-size:
        .66rem;
}


/* ----------------------------------------------------------
   VIDE
   ---------------------------------------------------------- */

.somago-news-empty {

    max-width:
        46rem;

    padding:
        clamp(3rem, 7vw, 6rem);

    background:
        #fff;
}


.somago-news-empty > span {

    color:
        #8a4726;

    font-size:
        .65rem;

    font-weight:
        850;

    letter-spacing:
        .15em;
}


.somago-news-empty h2 {

    margin:
        1rem 0;

    font-size:
        clamp(2rem, 4vw, 4rem);

    letter-spacing:
        -.045em;
}


/* ----------------------------------------------------------
   PAGINATION
   ---------------------------------------------------------- */

.somago-news-pagination {

    margin-top:
        4rem;

    padding-top:
        2rem;

    border-top:
        1px solid
        rgb(16 42 67 / 16%);
}


.somago-news-pagination
.pagination {

    display:
        flex;

    gap:
        .4rem;

    flex-wrap:
        wrap;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-news-page-hero-grid,
    .somago-news-featured {

        grid-template-columns:
            1fr;
    }


    .somago-news-featured-media {

        min-height:
            27rem;
    }


    .somago-news-card-grid {

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


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-news-page-hero {

        padding:
            4rem 0
            3.5rem;
    }


    .somago-news-page-heading h1 {

        font-size:
            clamp(
                3rem,
                16vw,
                4.5rem
            );
    }


    .somago-news-page-hero-grid {

        gap:
            2.5rem;
    }


    .somago-news-featured-media {

        min-height:
            19rem;
    }


    .somago-news-featured-copy {

        padding:
            1.6rem;
    }


    .somago-news-featured-copy h2 {

        font-size:
            2rem;
    }


    .somago-news-card-grid {

        grid-template-columns:
            1fr;
    }


    .somago-news-card-media {

        min-height:
            13rem;
    }
}



/* ==========================================================
   SOMAGO_MEDIATHEQUE_PREMIUM_M3F1_20260818

   Page /mediatheque
   Architecture éditoriale autonome et administrable.
   ========================================================== */


/* ----------------------------------------------------------
   CONTENEUR
   ---------------------------------------------------------- */

.somago-inner
.somago-component-output:has(.somago-media-page) {

    width: 100%;
    max-width: none;
    padding: 0;
}


.somago-media-page {

    overflow: hidden;
    background: #f4f1ea;
    color: var(--somago-navy);
}


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

.somago-media-page-hero {

    position: relative;
    overflow: hidden;

    padding:
        clamp(5rem, 9vw, 8rem)
        0
        clamp(4.5rem, 8vw, 7rem);

    color: #fff;

    background:
        radial-gradient(
            circle at 82% 20%,
            rgb(24 166 166 / 22%),
            transparent 28%
        ),
        linear-gradient(
            125deg,
            #071c2c 0%,
            #0b2f46 55%,
            #124d62 100%
        );
}


.somago-media-page-hero::before {

    position: absolute;
    inset: 0;

    content: "";
    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent 0 66%,
            rgb(255 255 255 / 5%) 66% 66.1%,
            transparent 66.1%
        ),
        repeating-linear-gradient(
            90deg,
            transparent
            0
            calc(8.333% - 1px),
            rgb(255 255 255 / 2.8%)
            calc(8.333% - 1px)
            8.333%
        );
}


.somago-media-page-hero-grid {

    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(19rem, .85fr);

    gap:
        clamp(3rem, 8vw, 8rem);

    align-items: end;
}


.somago-media-page-heading
.somago-editorial-label {

    margin-bottom: 2rem;
}


.somago-media-page-kicker {

    margin: 0 0 1rem;

    color: #91dbd7;

    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}


.somago-media-page-heading h1 {

    max-width: 10ch;
    margin: 0;

    font-size:
        clamp(3.8rem, 7.8vw, 7.5rem);

    font-weight: 620;
    letter-spacing: -.06em;
    line-height: .85;
}


.somago-media-page-heading h1 em {

    display: block;

    margin-top: .08em;

    color: #d1a17d;

    font-family: var(--somago-serif);
    font-weight: 500;
}


.somago-media-page-intro {

    max-width: 32rem;

    padding-top: 2rem;

    border-top:
        1px solid
        rgb(255 255 255 / 24%);
}


.somago-media-page-intro > p {

    max-width: 28rem;
    margin: 0;

    color:
        rgb(255 255 255 / 82%);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1.05rem, 1.5vw, 1.3rem);

    line-height: 1.65;
}


.somago-media-page-stats {

    display: grid;

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

    gap: 1rem;

    margin-top: 2.5rem;
}


.somago-media-page-stats div {

    display: grid;
    gap: .25rem;

    padding-top: 1rem;

    border-top:
        1px solid
        rgb(255 255 255 / 14%);
}


.somago-media-page-stats strong {

    color: #91dbd7;

    font-size: 2rem;
    font-weight: 520;
    line-height: 1;
}


.somago-media-page-stats span {

    color:
        rgb(255 255 255 / 58%);

    font-size: .64rem;
    font-weight: 750;

    letter-spacing: .08em;

    text-transform: uppercase;
}


/* ----------------------------------------------------------
   CONTENU
   ---------------------------------------------------------- */

.somago-media-page-content {

    padding:
        clamp(4rem, 8vw, 8rem)
        0
        clamp(6rem, 10vw, 10rem);
}


/* ----------------------------------------------------------
   TOOLBAR
   ---------------------------------------------------------- */

.somago-media-toolbar {

    display: flex;

    gap: 2rem;

    align-items: end;
    justify-content: space-between;

    margin-bottom:
        clamp(2.5rem, 5vw, 4rem);

    padding-bottom: 2rem;

    border-bottom:
        1px solid
        rgb(16 42 67 / 16%);
}


.somago-media-toolbar h2 {

    max-width: 14ch;
    margin: .65rem 0 0;

    font-size:
        clamp(2.2rem, 4vw, 4.2rem);

    font-weight: 640;

    letter-spacing: -.045em;
    line-height: .98;
}


.somago-media-filters {

    display: flex;
    gap: .35rem;
    flex-wrap: wrap;
}


.somago-media-filters button {

    appearance: none;

    padding:
        .75rem
        1rem;

    border:
        1px solid
        rgb(16 42 67 / 18%);

    color:
        var(--somago-navy);

    background:
        transparent;

    font: inherit;

    font-size: .67rem;
    font-weight: 850;

    letter-spacing: .1em;

    text-transform: uppercase;

    cursor: pointer;

    transition:
        background 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}


.somago-media-filters button:hover,
.somago-media-filters button.is-active {

    border-color:
        var(--somago-navy);

    color: #fff;

    background:
        var(--somago-navy);
}


/* ----------------------------------------------------------
   GALERIE
   ---------------------------------------------------------- */

.somago-media-gallery {

    display: grid;

    grid-template-columns:
        repeat(
            12,
            minmax(0, 1fr)
        );

    gap: 1rem;
}


.somago-media-card {

    grid-column:
        span 4;

    min-width: 0;

    overflow: hidden;

    background: #fff;

    transition:
        transform 240ms ease,
        box-shadow 240ms ease;
}


.somago-media-card:hover {

    transform:
        translateY(-3px);

    box-shadow:
        0 1.4rem 3rem
        rgb(16 42 67 / 10%);
}


.somago-media-card[hidden] {

    display: none !important;
}


/* carte principale */

.somago-media-card-featured {

    grid-column:
        span 8;

    grid-row:
        span 2;
}


.somago-media-card-featured
.somago-media-card-visual {

    min-height:
        clamp(25rem, 42vw, 39rem);
}


/* autres cartes */

.somago-media-card:not(
    .somago-media-card-featured
)
.somago-media-card-visual {

    min-height:
        17rem;
}


/* ----------------------------------------------------------
   VISUELS
   ---------------------------------------------------------- */

.somago-media-card-visual {

    position: relative;

    overflow: hidden;

    background:
        #113b55;
}


.somago-media-card-visual img {

    position: absolute;
    inset: 0;

    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition:
        transform 700ms
        cubic-bezier(.22, .61, .36, 1);
}


.somago-media-card:hover
.somago-media-card-visual img {

    transform:
        scale(1.025);
}


.somago-media-card-visual::after {

    position: absolute;
    inset: 0;

    content: "";
    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgb(7 28 44 / 24%) 100%
        );
}


/* fallback sans image */

.somago-media-card-placeholder-art {

    position: absolute;
    inset: 0;

    display: grid;

    place-items: center;

    overflow: hidden;

    background:
        radial-gradient(
            circle at 68% 25%,
            rgb(24 166 166 / 26%),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #15556b,
            #09283d
        );
}


.somago-media-card-placeholder-art::before {

    position: absolute;

    width: 14rem;
    aspect-ratio: 1;

    content: "";

    border:
        1px solid
        rgb(255 255 255 / 11%);

    border-radius: 50%;

    box-shadow:
        0 0 0 4rem
            rgb(255 255 255 / 2.8%),
        0 0 0 8rem
            rgb(255 255 255 / 1.8%);
}


.somago-media-card-placeholder-art span {

    position: relative;
    z-index: 1;

    color:
        rgb(255 255 255 / 16%);

    font-size:
        clamp(2.5rem, 6vw, 5rem);

    font-weight: 850;

    letter-spacing: -.04em;
}


/* vidéo */

.somago-media-card-video
.somago-media-card-placeholder-art {

    background:
        radial-gradient(
            circle at 50% 45%,
            rgb(201 120 74 / 26%),
            transparent 30%
        ),
        linear-gradient(
            145deg,
            #122d43,
            #071c2c
        );
}


.somago-media-card-type {

    position: absolute;

    z-index: 3;

    top: 1rem;
    left: 1rem;

    display: inline-flex;

    gap: .5rem;

    align-items: center;

    padding:
        .5rem
        .7rem;

    color: #fff;

    background:
        rgb(7 28 44 / 76%);

    backdrop-filter:
        blur(8px);

    font-size: .61rem;
    font-weight: 850;

    letter-spacing: .1em;

    text-transform: uppercase;
}


.somago-media-play {

    display: grid;

    width: 1.45rem;
    height: 1.45rem;

    place-items: center;

    border-radius: 50%;

    color:
        var(--somago-navy);

    background:
        #fff;

    font-size: .55rem;
}


/* ----------------------------------------------------------
   TEXTE CARTES
   ---------------------------------------------------------- */

.somago-media-card-copy {

    display: grid;

    min-height: 14rem;

    padding:
        clamp(1.35rem, 2.5vw, 2rem);
}


.somago-media-card-featured
.somago-media-card-copy {

    min-height: 0;
}


.somago-media-card-meta {

    display: flex;

    gap: .8rem;

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

    margin-bottom: .75rem;

    color:
        var(--somago-copper);

    font-size: .61rem;
    font-weight: 820;

    letter-spacing: .08em;

    text-transform: uppercase;
}


.somago-media-card-meta time {

    color:
        #73828e;

    white-space: nowrap;
}


.somago-media-card h3 {

    max-width: 26ch;

    margin: 0;

    font-size:
        clamp(1.3rem, 2vw, 2rem);

    font-weight: 650;

    letter-spacing: -.035em;

    line-height: 1.08;
}


.somago-media-card-featured h3 {

    max-width: 24ch;

    font-size:
        clamp(1.8rem, 3vw, 3.1rem);
}


.somago-media-card-copy > p {

    max-width: 43rem;

    margin:
        1rem
        0
        0;

    color: #657681;

    font-size: .82rem;

    line-height: 1.7;
}


.somago-media-card-copy footer {

    display: flex;

    gap: 1rem;

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

    margin-top: auto;

    padding-top: 1.5rem;
}


.somago-media-card-copy footer > span {

    color:
        #6f808b;

    font-size: .65rem;
    font-weight: 780;

    letter-spacing: .07em;

    text-transform: uppercase;
}


.somago-media-card-copy footer a {

    color:
        var(--somago-navy);

    font-size: .72rem;
    font-weight: 800;
}


/* ----------------------------------------------------------
   EMPTY
   ---------------------------------------------------------- */

.somago-media-empty {

    min-height: 24rem;

    display: grid;

    align-content: center;

    padding: 3rem;

    border:
        1px solid
        rgb(16 42 67 / 16%);

    background: #fff;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-media-page-hero-grid {

        grid-template-columns:
            1fr;

        gap: 3.5rem;
    }


    .somago-media-page-intro {

        max-width:
            40rem;
    }


    .somago-media-card,
    .somago-media-card-featured {

        grid-column:
            span 6;
    }


    .somago-media-card-featured {

        grid-row:
            auto;
    }


    .somago-media-card-featured
    .somago-media-card-visual {

        min-height:
            27rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-media-page-hero {

        padding:
            4rem 0
            3.7rem;
    }


    .somago-media-page-heading h1 {

        font-size:
            clamp(
                3rem,
                16vw,
                4.7rem
            );
    }


    .somago-media-page-stats {

        gap: .55rem;
    }


    .somago-media-page-stats strong {

        font-size:
            1.55rem;
    }


    .somago-media-toolbar {

        align-items:
            start;

        flex-direction:
            column;
    }


    .somago-media-filters {

        width: 100%;
    }


    .somago-media-filters button {

        flex:
            1 1 auto;
    }


    .somago-media-gallery {

        grid-template-columns:
            minmax(0, 1fr);
    }


    .somago-media-card,
    .somago-media-card-featured {

        grid-column:
            auto;
    }


    .somago-media-card-featured
    .somago-media-card-visual,
    .somago-media-card:not(
        .somago-media-card-featured
    )
    .somago-media-card-visual {

        min-height:
            20rem;
    }


    .somago-media-card-copy {

        min-height:
            auto;
    }


    .somago-media-card-copy footer {

        margin-top:
            1.5rem;
    }
}


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

    .somago-media-card,
    .somago-media-card-visual img {

        transition: none;
    }
}


/* ==========================================================
   SOMAGO_MEDIATHEQUE_MOSAIC_M3F2_20260818

   Finition éditoriale de la mosaïque Médiathèque.

   Diagnostic M3-F2-D0 :
   - grille principale = 12 colonnes ;
   - carte vedette = 8 colonnes / 2 lignes ;
   - cartes secondaires = 4 colonnes ;
   - quatrième carte vidéo restait seule sur 4 colonnes.

   Correction :
   - la vidéo devient une bande éditoriale pleine largeur ;
   - visuel à gauche / contenu à droite sur desktop ;
   - comportement tablette et mobile conservé ;
   - aucun impact BDD, Joomla ou contenu.
   ========================================================== */


/* ----------------------------------------------------------
   VIDEO — BANDE EDITORIALE PLEINE LARGEUR
   ---------------------------------------------------------- */

.somago-media-gallery
.somago-media-card-video:not(
    .somago-media-card-featured
) {

    grid-column:
        1 / -1;

    display:
        grid;

    grid-template-columns:
        minmax(18rem, .72fr)
        minmax(0, 1.28fr);

    min-height:
        22rem;
}


/*
 * Le visuel de la vidéo possède sa propre hauteur :
 * il n'hérite plus du format vertical des petites cartes.
 */

.somago-media-gallery
.somago-media-card-video:not(
    .somago-media-card-featured
)
.somago-media-card-visual {

    min-height:
        22rem;
}


/*
 * Le contenu éditorial s'aligne verticalement
 * au centre de la bande.
 */

.somago-media-gallery
.somago-media-card-video:not(
    .somago-media-card-featured
)
.somago-media-card-copy {

    align-content:
        center;

    min-height:
        22rem;

    padding:
        clamp(2rem, 4vw, 4rem);
}


/*
 * Le titre peut respirer davantage dans
 * la composition horizontale.
 */

.somago-media-gallery
.somago-media-card-video:not(
    .somago-media-card-featured
)
h3 {

    max-width:
        20ch;

    font-size:
        clamp(1.8rem, 3vw, 3rem);
}


/*
 * Le résumé reste lisible sans occuper
 * toute la largeur disponible.
 */

.somago-media-gallery
.somago-media-card-video:not(
    .somago-media-card-featured
)
.somago-media-card-copy > p {

    max-width:
        38rem;

    font-size:
        .9rem;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-media-gallery
    .somago-media-card-video:not(
        .somago-media-card-featured
    ) {

        grid-column:
            1 / -1;

        grid-template-columns:
            minmax(15rem, .85fr)
            minmax(0, 1.15fr);
    }


    .somago-media-gallery
    .somago-media-card-video:not(
        .somago-media-card-featured
    )
    .somago-media-card-visual,

    .somago-media-gallery
    .somago-media-card-video:not(
        .somago-media-card-featured
    )
    .somago-media-card-copy {

        min-height:
            20rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   La bande redevient une carte verticale normale.
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-media-gallery
    .somago-media-card-video:not(
        .somago-media-card-featured
    ) {

        display:
            block;

        grid-column:
            auto;

        min-height:
            0;
    }


    .somago-media-gallery
    .somago-media-card-video:not(
        .somago-media-card-featured
    )
    .somago-media-card-visual {

        min-height:
            20rem;
    }


    .somago-media-gallery
    .somago-media-card-video:not(
        .somago-media-card-featured
    )
    .somago-media-card-copy {

        min-height:
            auto;

        padding:
            1.5rem;
    }


    .somago-media-gallery
    .somago-media-card-video:not(
        .somago-media-card-featured
    )
    h3 {

        font-size:
            clamp(1.55rem, 8vw, 2.1rem);
    }
}


/* ==========================================================
   SOMAGO_MEDIATHEQUE_SPACING_M3F3_20260818

   Finition des respirations verticales de /mediatheque.

   Diagnostic M3-F3-D0 :
   - espace Hero → Collection trop important ;
   - espace Toolbar → Galerie trop important ;
   - espace Galerie/Vidéo → Footer trop important.

   Aucun changement :
   - structure mosaïque ;
   - données Joomla ;
   - PHP ;
   - filtres ;
   - cartes ;
   - responsive structurel.
   ========================================================== */


/* ----------------------------------------------------------
   HERO → COLLECTION
   ---------------------------------------------------------- */

.somago-media-page-content {

    padding-top:
        clamp(2.5rem, 4vw, 4rem);

    padding-bottom:
        clamp(3rem, 5vw, 5rem);
}


/* ----------------------------------------------------------
   TITRE / FILTRES → MOSAÏQUE
   ---------------------------------------------------------- */

.somago-media-toolbar {

    margin-bottom:
        clamp(1.75rem, 3vw, 2.5rem);

    padding-bottom:
        1.5rem;
}


/* ----------------------------------------------------------
   MOBILE
   Respiration compacte mais toujours éditoriale.
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-media-page-content {

        padding-top:
            2.5rem;

        padding-bottom:
            3rem;
    }


    .somago-media-toolbar {

        margin-bottom:
            1.75rem;

        padding-bottom:
            1.25rem;
    }
}


/* ==========================================================
   SOMAGO_EVENTS_AGENDA_E3F1_20260818
   Agenda scientifique premium autonome.
   ========================================================== */


/* ----------------------------------------------------------
   CONTENEUR
   ---------------------------------------------------------- */

.somago-inner
.somago-component-output:has(.somago-events-page) {

    width: 100%;
    max-width: none;
    padding: 0;
}


.somago-events-page {

    overflow: hidden;

    color:
        var(--somago-navy);

    background:
        #f4f1ea;
}


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

.somago-events-hero {

    position: relative;
    overflow: hidden;

    padding:
        clamp(5rem, 9vw, 8rem)
        0
        clamp(4.5rem, 8vw, 7rem);

    color: #fff;

    background:
        radial-gradient(
            circle at 82% 18%,
            rgb(201 120 74 / 18%),
            transparent 28%
        ),
        linear-gradient(
            125deg,
            #071c2c 0%,
            #0c3047 55%,
            #15566a 100%
        );
}


.somago-events-hero::before {

    position: absolute;
    inset: 0;

    content: "";
    pointer-events: none;

    background:
        repeating-linear-gradient(
            90deg,
            transparent
            0
            calc(8.333% - 1px),
            rgb(255 255 255 / 2.8%)
            calc(8.333% - 1px)
            8.333%
        );
}


.somago-events-hero-grid {

    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(19rem, .85fr);

    gap:
        clamp(3rem, 8vw, 8rem);

    align-items: end;
}


.somago-events-heading
.somago-editorial-label {

    margin-bottom:
        2rem;
}


.somago-events-kicker {

    margin:
        0 0 1rem;

    color:
        #8ed5d2;

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;
}


.somago-events-heading h1 {

    max-width:
        10ch;

    margin: 0;

    font-size:
        clamp(
            3.5rem,
            7vw,
            7rem
        );

    font-weight:
        630;

    letter-spacing:
        -.055em;

    line-height:
        .88;
}


.somago-events-heading h1 em {

    display: block;

    color:
        #d2a17d;

    font-family:
        var(--somago-serif);

    font-weight:
        500;
}


.somago-events-intro {

    max-width:
        31rem;

    padding-top:
        2rem;

    border-top:
        1px solid
        rgb(255 255 255 / 24%);
}


.somago-events-intro > p {

    margin: 0;

    color:
        rgb(255 255 255 / 82%);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(
            1.05rem,
            1.5vw,
            1.28rem
        );

    line-height:
        1.7;
}


.somago-events-stats {

    display: flex;

    gap:
        clamp(1.5rem, 4vw, 3rem);

    margin-top:
        2.4rem;
}


.somago-events-stats span {

    display: grid;

    color:
        rgb(255 255 255 / 60%);

    font-size:
        .66rem;

    font-weight:
        760;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


.somago-events-stats strong {

    color:
        #8ed5d2;

    font-size:
        2rem;

    font-weight:
        550;

    letter-spacing:
        -.04em;
}


/* ----------------------------------------------------------
   CONTENU
   ---------------------------------------------------------- */

.somago-events-content {

    padding:
        clamp(4rem, 8vw, 7rem)
        0
        clamp(5rem, 9vw, 8rem);
}


/* ----------------------------------------------------------
   PROCHAIN EVENEMENT
   ---------------------------------------------------------- */

.somago-event-featured {

    display: grid;

    grid-template-columns:
        minmax(20rem, .82fr)
        minmax(0, 1.18fr);

    margin-bottom:
        clamp(5rem, 9vw, 9rem);

    overflow: hidden;

    background:
        #fff;

    box-shadow:
        0 1.5rem 4rem
        rgb(16 42 67 / 8%);
}


.somago-event-featured-media {

    position: relative;

    min-height:
        clamp(32rem, 48vw, 43rem);

    overflow: hidden;

    background:
        #123d58;
}


.somago-event-featured-media img {

    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;

    transition:
        transform 700ms
        cubic-bezier(.22, .61, .36, 1);
}


.somago-event-featured:hover
.somago-event-featured-media img {

    transform:
        scale(1.025);
}


.somago-event-featured-media::after {

    position: absolute;
    inset: 0;

    content: "";

    pointer-events: none;

    background:
        linear-gradient(
            180deg,
            transparent 45%,
            rgb(7 28 44 / 30%)
            100%
        );
}


.somago-event-poster-placeholder {

    position: absolute;
    inset: 0;

    display: grid;

    place-items: center;

    background:
        radial-gradient(
            circle at 70% 25%,
            rgb(24 166 166 / 28%),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #15556b,
            #09283d
        );
}


.somago-event-poster-placeholder span {

    color:
        rgb(255 255 255 / 14%);

    font-size:
        clamp(3rem, 8vw, 7rem);

    font-weight:
        850;

    letter-spacing:
        -.05em;
}


.somago-event-date-block {

    position: absolute;
    z-index: 3;

    left:
        clamp(1.5rem, 4vw, 3rem);

    bottom:
        clamp(1.5rem, 4vw, 3rem);

    display: grid;

    width:
        7.2rem;

    padding:
        1.2rem;

    color:
        var(--somago-navy);

    background:
        #fff;
}


.somago-event-date-block strong {

    font-size:
        3.3rem;

    font-weight:
        600;

    letter-spacing:
        -.07em;

    line-height:
        .9;
}


.somago-event-date-block span {

    margin-top:
        .4rem;

    color:
        var(--somago-copper);

    font-size:
        .76rem;

    font-weight:
        850;

    letter-spacing:
        .14em;
}


.somago-event-date-block small {

    color:
        #71808a;

    font-size:
        .63rem;
}


.somago-event-featured-copy {

    display: grid;

    align-content:
        center;

    padding:
        clamp(2.5rem, 6vw, 6rem);
}


.somago-events-eyebrow {

    margin:
        0 0 1rem;

    color:
        var(--somago-copper);

    font-size:
        .67rem;

    font-weight:
        850;

    letter-spacing:
        .15em;

    text-transform:
        uppercase;
}


.somago-event-featured-meta,
.somago-event-row-meta {

    display: flex;

    gap:
        .8rem;

    flex-wrap:
        wrap;

    color:
        #6c7d88;

    font-size:
        .65rem;

    font-weight:
        800;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


.somago-event-featured-meta span + span::before,
.somago-event-row-meta span + span::before {

    margin-right:
        .8rem;

    color:
        var(--somago-copper);

    content:
        "•";
}


.somago-event-featured h2 {

    max-width:
        17ch;

    margin:
        1rem
        0
        0;

    font-size:
        clamp(
            2.1rem,
            4vw,
            4.2rem
        );

    font-weight:
        640;

    letter-spacing:
        -.05em;

    line-height:
        .98;
}


.somago-event-featured-lead {

    max-width:
        43rem;

    margin:
        1.5rem
        0
        0;

    color:
        #61737f;

    font-size:
        .92rem;

    line-height:
        1.8;
}


.somago-event-details {

    display: grid;

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

    margin:
        2.2rem
        0
        0;

    border-top:
        1px solid
        rgb(16 42 67 / 15%);
}


.somago-event-details div {

    padding:
        1.1rem
        1rem
        1.1rem
        0;

    border-bottom:
        1px solid
        rgb(16 42 67 / 12%);
}


.somago-event-details dt {

    margin-bottom:
        .35rem;

    color:
        var(--somago-copper);

    font-size:
        .58rem;

    font-weight:
        850;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;
}


.somago-event-details dd {

    margin: 0;

    color:
        var(--somago-navy);

    font-size:
        .78rem;

    font-weight:
        680;

    line-height:
        1.5;
}


.somago-event-actions {

    display: flex;

    gap:
        .7rem;

    flex-wrap:
        wrap;

    margin-top:
        2rem;
}


/* ----------------------------------------------------------
   HEAD SECTIONS
   ---------------------------------------------------------- */

.somago-events-section-head {

    display: flex;

    gap:
        2rem;

    align-items: end;
    justify-content: space-between;

    margin-bottom:
        2rem;

    padding-bottom:
        1.5rem;

    border-bottom:
        1px solid
        rgb(16 42 67 / 16%);
}


.somago-events-section-head h2 {

    margin:
        .5rem
        0
        0;

    font-size:
        clamp(
            2.2rem,
            4vw,
            4rem
        );

    font-weight:
        640;

    letter-spacing:
        -.045em;

    line-height:
        .95;
}


.somago-events-section-head > span {

    color:
        #75848e;

    font-size:
        .67rem;

    font-weight:
        800;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   LISTE A VENIR
   ---------------------------------------------------------- */

.somago-events-upcoming {

    margin-bottom:
        clamp(5rem, 9vw, 8rem);
}


.somago-events-list {

    border-top:
        1px solid
        rgb(16 42 67 / 14%);
}


.somago-event-row {

    display: grid;

    grid-template-columns:
        8rem
        minmax(0, 1.4fr)
        minmax(15rem, .6fr);

    gap:
        clamp(1.5rem, 4vw, 4rem);

    align-items:
        center;

    padding:
        clamp(2rem, 4vw, 3.5rem)
        0;

    border-bottom:
        1px solid
        rgb(16 42 67 / 14%);
}


.somago-event-row-date {

    display: grid;

    align-self:
        stretch;

    align-content:
        center;

    border-right:
        1px solid
        rgb(16 42 67 / 14%);
}


.somago-event-row-date strong {

    font-size:
        3.4rem;

    font-weight:
        570;

    letter-spacing:
        -.07em;

    line-height:
        .9;
}


.somago-event-row-date span {

    margin-top:
        .4rem;

    color:
        var(--somago-copper);

    font-size:
        .72rem;

    font-weight:
        850;

    letter-spacing:
        .12em;
}


.somago-event-row-date small {

    color:
        #75848e;
}


.somago-event-row h3 {

    max-width:
        27ch;

    margin:
        .75rem
        0
        0;

    font-size:
        clamp(
            1.45rem,
            2.3vw,
            2.3rem
        );

    font-weight:
        640;

    letter-spacing:
        -.035em;

    line-height:
        1.05;
}


.somago-event-row-copy > p {

    max-width:
        43rem;

    margin:
        1rem
        0
        0;

    color:
        #657681;

    font-size:
        .82rem;

    line-height:
        1.7;
}


.somago-event-row-location {

    display: grid;

    align-content:
        center;

    min-height:
        7rem;

    padding-left:
        1.5rem;

    border-left:
        1px solid
        rgb(16 42 67 / 14%);
}


.somago-event-row-location span {

    color:
        var(--somago-copper);

    font-size:
        .58rem;

    font-weight:
        850;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;
}


.somago-event-row-location strong {

    max-width:
        24ch;

    margin-top:
        .5rem;

    font-size:
        .8rem;

    line-height:
        1.5;
}


/* ----------------------------------------------------------
   ARCHIVES
   ---------------------------------------------------------- */

.somago-events-archives {

    padding-top:
        1rem;
}


.somago-events-archive-grid {

    display: grid;

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

    gap:
        1rem;
}


.somago-event-archive-card {

    display: grid;

    grid-template-columns:
        5.2rem
        minmax(0, 1fr);

    gap:
        1.4rem;

    min-height:
        14rem;

    padding:
        1.8rem;

    border:
        1px solid
        rgb(16 42 67 / 14%);

    background:
        rgb(255 255 255 / 55%);
}


.somago-event-archive-date {

    display: grid;

    align-content:
        start;

    padding-right:
        1rem;

    border-right:
        1px solid
        rgb(16 42 67 / 14%);
}


.somago-event-archive-date strong {

    font-size:
        2.6rem;

    font-weight:
        560;

    letter-spacing:
        -.06em;

    line-height:
        .9;
}


.somago-event-archive-date span {

    margin-top:
        .35rem;

    color:
        var(--somago-copper);

    font-size:
        .66rem;

    font-weight:
        850;

    letter-spacing:
        .1em;
}


.somago-event-archive-date small {

    color:
        #75848e;
}


.somago-event-archive-card p {

    margin: 0;

    color:
        var(--somago-copper);

    font-size:
        .58rem;

    font-weight:
        850;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;
}


.somago-event-archive-card h3 {

    margin:
        .8rem
        0
        0;

    font-size:
        1.3rem;

    font-weight:
        650;

    letter-spacing:
        -.025em;

    line-height:
        1.1;
}


.somago-event-archive-card > div:last-child > span {

    display: block;

    margin-top:
        1rem;

    color:
        #71808a;

    font-size:
        .72rem;
}


/* ----------------------------------------------------------
   VIDE
   ---------------------------------------------------------- */

.somago-events-empty {

    padding:
        2rem;

    border:
        1px solid
        rgb(16 42 67 / 14%);

    color:
        #71808a;

    background:
        rgb(255 255 255 / 48%);
}


.somago-events-empty-main {

    min-height:
        25rem;

    display:
        grid;

    align-content:
        center;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-events-hero-grid,
    .somago-event-featured {

        grid-template-columns:
            1fr;
    }


    .somago-events-intro {

        max-width:
            42rem;
    }


    .somago-event-featured-media {

        min-height:
            29rem;
    }


    .somago-event-row {

        grid-template-columns:
            6rem
            minmax(0, 1fr);
    }


    .somago-event-row-location {

        grid-column:
            2;

        min-height:
            0;

        padding:
            0;

        border-left:
            0;
    }


    .somago-events-archive-grid {

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


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-events-hero {

        padding:
            4rem
            0
            3.7rem;
    }


    .somago-events-heading h1 {

        font-size:
            clamp(
                3rem,
                16vw,
                4.7rem
            );
    }


    .somago-events-hero-grid {

        gap:
            2.5rem;
    }


    .somago-events-stats {

        gap:
            1.3rem;
    }


    .somago-event-featured-media {

        min-height:
            24rem;
    }


    .somago-event-featured-copy {

        padding:
            1.6rem;
    }


    .somago-event-featured h2 {

        font-size:
            clamp(
                2rem,
                10vw,
                3rem
            );
    }


    .somago-event-details {

        grid-template-columns:
            1fr;
    }


    .somago-events-section-head {

        align-items:
            start;

        flex-direction:
            column;

        gap:
            1rem;
    }


    .somago-event-row {

        grid-template-columns:
            4.8rem
            minmax(0, 1fr);

        gap:
            1.2rem;
    }


    .somago-event-row-date strong {

        font-size:
            2.6rem;
    }


    .somago-events-archive-grid {

        grid-template-columns:
            1fr;
    }


    .somago-event-archive-card {

        min-height:
            0;
    }
}


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

    .somago-event-featured-media img {

        transition:
            none;
    }
}


/* ==========================================================
   SOMAGO_CONTACT_PREMIUM_C3F1_20260818
   Page Contact SOMAGO
   ========================================================== */


.somago-inner
.somago-component-output:has(.somago-contact-page) {

    width: 100%;
    max-width: none;
    padding: 0;
}


.somago-contact-page {

    overflow: hidden;

    color:
        var(--somago-navy);

    background:
        #f4f1ea;
}


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

.somago-contact-hero {

    position: relative;
    overflow: hidden;

    padding:
        clamp(5rem, 9vw, 8rem)
        0
        clamp(5rem, 8vw, 7rem);

    color: #fff;

    background:
        radial-gradient(
            circle at 82% 18%,
            rgb(24 166 166 / 22%),
            transparent 30%
        ),
        linear-gradient(
            125deg,
            #071c2c 0%,
            #0b2f46 55%,
            #124d62 100%
        );
}


.somago-contact-hero::before {

    position: absolute;
    inset: 0;

    content: "";
    pointer-events: none;

    background:
        repeating-linear-gradient(
            90deg,
            transparent
            0
            calc(8.333% - 1px),
            rgb(255 255 255 / 3%)
            calc(8.333% - 1px)
            8.333%
        );
}


.somago-contact-hero-grid {

    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, 1.12fr)
        minmax(20rem, .88fr);

    gap:
        clamp(4rem, 9vw, 9rem);

    align-items:
        end;
}


.somago-contact-kicker {

    margin:
        2rem 0
        .7rem;

    color:
        rgb(255 255 255 / 45%);

    font-size:
        .78rem;

    font-weight:
        800;

    letter-spacing:
        .14em;

    text-transform:
        uppercase;
}


.somago-contact-heading h1 {

    max-width:
        12ch;

    margin: 0;

    font-size:
        clamp(
            4rem,
            8vw,
            8.6rem
        );

    font-weight:
        720;

    letter-spacing:
        -.07em;

    line-height:
        .82;
}


.somago-contact-heading h1 em {

    display: block;

    color:
        #e0a681;

    font-family:
        var(--somago-serif);

    font-weight:
        400;

    letter-spacing:
        -.035em;

    line-height:
        .88;
}


.somago-contact-hero-copy {

    max-width:
        31rem;

    padding-top:
        2rem;

    border-top:
        1px solid
        rgb(255 255 255 / 19%);

    color:
        rgb(255 255 255 / 66%);
}


.somago-contact-hero-copy > p {

    margin:
        0 0
        2rem;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(
            1rem,
            1.5vw,
            1.25rem
        );

    line-height:
        1.65;
}


.somago-contact-hero-signature {

    display:
        flex;

    gap:
        .55rem;

    flex-wrap:
        wrap;

    color:
        #9fe0df;

    font-size:
        .68rem;

    font-weight:
        800;

    letter-spacing:
        .08em;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   CONTENU
   ---------------------------------------------------------- */

.somago-contact-content {

    padding:
        clamp(5rem, 9vw, 9rem)
        0
        clamp(6rem, 10vw, 10rem);
}


/* ----------------------------------------------------------
   COORDONNEES
   ---------------------------------------------------------- */

.somago-contact-section-head {

    display:
        grid;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(20rem, .75fr);

    gap:
        clamp(3rem, 8vw, 8rem);

    align-items:
        end;

    margin-bottom:
        clamp(2.5rem, 5vw, 4rem);

    padding-bottom:
        2rem;

    border-bottom:
        1px solid
        rgb(16 42 67 / 15%);
}


.somago-contact-section-head h2 {

    max-width:
        13ch;

    margin:
        .7rem 0 0;

    font-size:
        clamp(
            2.5rem,
            5vw,
            5rem
        );

    font-weight:
        690;

    letter-spacing:
        -.055em;

    line-height:
        .95;
}


.somago-contact-section-head > p {

    max-width:
        32rem;

    margin: 0;

    color:
        #425d6f;

    line-height:
        1.75;
}


.somago-contact-cards {

    display: grid;

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

    gap:
        1px;

    background:
        rgb(16 42 67 / 14%);
}


.somago-contact-card {

    position: relative;

    min-height:
        20rem;

    padding:
        clamp(
            2rem,
            4vw,
            3.2rem
        );

    background:
        #fff;
}


.somago-contact-card-index {

    display: block;

    margin-bottom:
        clamp(3rem, 8vw, 7rem);

    color:
        var(--somago-copper);

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;

    font-size:
        .7rem;
}


.somago-contact-card-label {

    margin:
        0 0
        .8rem;

    color:
        #657786;

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .1em;

    text-transform:
        uppercase;
}


.somago-contact-card strong,
.somago-contact-card a {

    display: block;

    width:
        fit-content;

    max-width:
        100%;

    margin:
        .2rem 0;

    color:
        var(--somago-navy);

    font-size:
        clamp(
            1.25rem,
            2vw,
            1.85rem
        );

    font-weight:
        680;

    letter-spacing:
        -.035em;

    line-height:
        1.2;

    overflow-wrap:
        anywhere;
}


.somago-contact-card a:hover {

    color:
        var(--somago-blue);
}


.somago-contact-card > p:last-child {

    margin:
        .8rem 0 0;

    color:
        #536d7e;
}


/* ----------------------------------------------------------
   MESSAGE
   ---------------------------------------------------------- */

.somago-contact-message {

    display: grid;

    grid-template-columns:
        minmax(15rem, .75fr)
        minmax(0, 1.25fr);

    gap:
        clamp(4rem, 10vw, 10rem);

    margin-top:
        clamp(6rem, 11vw, 11rem);
}


.somago-contact-message-intro {

    max-width:
        27rem;
}


.somago-contact-message-intro h2 {

    margin:
        .7rem 0
        1.4rem;

    font-size:
        clamp(
            2.8rem,
            5vw,
            5.4rem
        );

    font-weight:
        690;

    letter-spacing:
        -.06em;

    line-height:
        .93;
}


.somago-contact-message-intro > p:not(.somago-eyebrow) {

    color:
        #425d6f;

    line-height:
        1.75;
}


.somago-contact-form-note {

    margin-top:
        2rem;

    padding-top:
        1.5rem;

    border-top:
        1px solid
        rgb(16 42 67 / 15%);

    font-size:
        .78rem;
}


.somago-contact-form {

    padding:
        clamp(
            2rem,
            5vw,
            4rem
        );

    background:
        #fff;
}


.somago-contact-form-grid {

    display: grid;

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

    gap:
        1.5rem;
}


.somago-contact-form label {

    display: grid;

    gap:
        .6rem;
}


.somago-contact-form label > span {

    color:
        #536d7e;

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .09em;

    text-transform:
        uppercase;
}


.somago-contact-form input,
.somago-contact-form select,
.somago-contact-form textarea {

    width: 100%;

    border:
        0;

    border-bottom:
        1px solid
        rgb(16 42 67 / 22%);

    border-radius:
        0;

    padding:
        .85rem
        0;

    color:
        var(--somago-navy);

    background:
        transparent;

    font:
        inherit;

    outline:
        none;
}


.somago-contact-form textarea {

    resize:
        vertical;
}


.somago-contact-form input:focus,
.somago-contact-form select:focus,
.somago-contact-form textarea:focus {

    border-color:
        var(--somago-blue);
}


.somago-contact-form-message {

    grid-column:
        1 / -1;
}


.somago-contact-submit {

    margin-top:
        2rem;

    opacity:
        .58;

    cursor:
        not-allowed;
}


.somago-contact-submit-note {

    margin:
        .85rem 0 0;

    color:
        #718492;

    font-size:
        .72rem;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-contact-hero-grid,
    .somago-contact-section-head,
    .somago-contact-message {

        grid-template-columns:
            1fr;
    }


    .somago-contact-hero-copy {

        max-width:
            40rem;
    }


    .somago-contact-cards {

        grid-template-columns:
            1fr
            1fr;
    }


    .somago-contact-card:last-child {

        grid-column:
            1 / -1;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-contact-hero {

        padding:
            4rem
            0
            3.8rem;
    }


    .somago-contact-heading h1 {

        font-size:
            clamp(
                3.2rem,
                16vw,
                5rem
            );
    }


    .somago-contact-cards {

        grid-template-columns:
            1fr;
    }


    .somago-contact-card:last-child {

        grid-column:
            auto;
    }


    .somago-contact-card {

        min-height:
            15rem;
    }


    .somago-contact-card-index {

        margin-bottom:
            3rem;
    }


    .somago-contact-form {

        padding:
            1.5rem;
    }


    .somago-contact-form-grid {

        grid-template-columns:
            1fr;
    }


    .somago-contact-form-message {

        grid-column:
            auto;
    }
}

/* ==========================================================
   SOMAGO_HERO_UNIFORM_H1F1_20260818

   Uniformisation des grands bandeaux éditoriaux :
   - Actualités
   - Médiathèque
   - Événements
   - Contact

   Objectif :
   - réduire la hauteur verticale ;
   - conserver les compositions propres à chaque page ;
   - harmoniser desktop / tablette / mobile ;
   - aucun changement de contenu ou de couleur.
   ========================================================== */


/* DESKTOP / TABLETTE LARGE */

.somago-news-page-hero,
.somago-media-page-hero,
.somago-events-hero,
.somago-contact-hero {

    padding:
        clamp(3.4rem, 5.5vw, 5rem)
        0
        clamp(3rem, 4.8vw, 4.4rem);
}


/*
 * Contact possède un titre plus haut que les autres.
 * On réduit légèrement son échelle maximale pour éviter
 * qu'il recrée artificiellement un hero trop grand.
 */

.somago-contact-heading h1 {

    font-size:
        clamp(
            3.8rem,
            7vw,
            7.4rem
        );
}


/* TABLETTE */

@media (max-width: 64rem) {

    .somago-news-page-hero,
    .somago-media-page-hero,
    .somago-events-hero,
    .somago-contact-hero {

        padding:
            3.75rem
            0
            3.4rem;
    }
}


/* MOBILE */

@media (max-width: 42rem) {

    .somago-news-page-hero,
    .somago-media-page-hero,
    .somago-events-hero,
    .somago-contact-hero {

        padding:
            3rem
            0
            2.75rem;
    }

    .somago-news-page-hero-grid,
    .somago-media-page-hero-grid,
    .somago-events-hero-grid,
    .somago-contact-hero-grid {

        gap:
            2rem;
    }

    .somago-contact-heading h1 {

        font-size:
            clamp(
                3rem,
                14vw,
                4.5rem
            );
    }
}


/* ==========================================================
   SOMAGO_HERO_COMPACT_H1F2_20260818

   Compactage visuel réel des bandeaux spéciaux.

   H1-F1 a confirmé :
   - bon CSS chargé ;
   - absence de cache obsolète ;
   - règles finales correctement appliquées.

   H1-F2 agit donc également sur :
   - hauteur typographique ;
   - espacements du grid ;
   - label éditorial ;
   - kicker ;
   - zone d'introduction.

   Pages concernées uniquement :
   - Actualités
   - Médiathèque
   - Événements
   - Contact

   /la-somago et hero générique exclus.
   ========================================================== */


/* ----------------------------------------------------------
   1. HAUTEUR GENERALE DES QUATRE HEROS
   ---------------------------------------------------------- */

.somago-news-page-hero,
.somago-media-page-hero,
.somago-events-hero,
.somago-contact-hero {

    padding:
        clamp(2.25rem, 3.4vw, 3.5rem)
        0
        clamp(2.25rem, 3.2vw, 3.25rem);
}


/* ----------------------------------------------------------
   2. GRILLES — RAPPROCHER TITRE ET INTRODUCTION
   ---------------------------------------------------------- */

.somago-news-page-hero-grid,
.somago-media-page-hero-grid,
.somago-events-hero-grid,
.somago-contact-hero-grid {

    gap:
        clamp(2rem, 4.5vw, 4.5rem);
}


/* ----------------------------------------------------------
   3. LABELS EDITORIAUX
   ---------------------------------------------------------- */

.somago-news-page-heading
.somago-editorial-label,

.somago-media-page-heading
.somago-editorial-label,

.somago-events-heading
.somago-editorial-label {

    margin-bottom:
        1.15rem;
}


/* ----------------------------------------------------------
   4. KICKERS
   ---------------------------------------------------------- */

.somago-news-page-kicker,
.somago-media-page-kicker,
.somago-events-kicker {

    margin-bottom:
        .6rem;
}


/* ----------------------------------------------------------
   5. TITRES PRINCIPAUX
   ---------------------------------------------------------- */

.somago-news-page-heading h1 {

    font-size:
        clamp(
            3.25rem,
            5.6vw,
            5.8rem
        );

    line-height:
        .9;
}


.somago-media-page-heading h1 {

    font-size:
        clamp(
            3.35rem,
            5.9vw,
            6rem
        );

    line-height:
        .88;
}


.somago-events-heading h1 {

    font-size:
        clamp(
            3.25rem,
            5.6vw,
            5.8rem
        );

    line-height:
        .9;
}


/*
 * Contact avait le titre le plus imposant.
 * On conserve son caractère éditorial,
 * mais sans qu'il domine la hauteur du bandeau.
 */

.somago-contact-heading h1 {

    font-size:
        clamp(
            3.4rem,
            6vw,
            6.2rem
        );

    line-height:
        .86;
}


/* ----------------------------------------------------------
   6. INTRODUCTIONS A DROITE
   ---------------------------------------------------------- */

.somago-media-page-intro,
.somago-events-intro,
.somago-contact-hero-copy {

    padding-top:
        1rem;
}


/*
 * Contact possède déjà une bordure supérieure.
 * On garde la composition mais on réduit son
 * volume vertical.
 */

.somago-contact-hero-copy > p {

    margin-bottom:
        1.25rem;

    font-size:
        clamp(
            .95rem,
            1.25vw,
            1.12rem
        );

    line-height:
        1.55;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-news-page-hero,
    .somago-media-page-hero,
    .somago-events-hero,
    .somago-contact-hero {

        padding:
            2.75rem
            0
            2.5rem;
    }


    .somago-news-page-hero-grid,
    .somago-media-page-hero-grid,
    .somago-events-hero-grid,
    .somago-contact-hero-grid {

        gap:
            1.75rem;
    }


    .somago-media-page-intro,
    .somago-events-intro,
    .somago-contact-hero-copy {

        padding-top:
            .75rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-news-page-hero,
    .somago-media-page-hero,
    .somago-events-hero,
    .somago-contact-hero {

        padding:
            2.4rem
            0
            2.2rem;
    }


    .somago-news-page-hero-grid,
    .somago-media-page-hero-grid,
    .somago-events-hero-grid,
    .somago-contact-hero-grid {

        gap:
            1.5rem;
    }


    .somago-news-page-heading h1,
    .somago-media-page-heading h1,
    .somago-events-heading h1 {

        font-size:
            clamp(
                2.75rem,
                13vw,
                4rem
            );
    }


    .somago-contact-heading h1 {

        font-size:
            clamp(
                2.85rem,
                13.5vw,
                4.2rem
            );
    }


    .somago-media-page-intro,
    .somago-events-intro,
    .somago-contact-hero-copy {

        padding-top:
            .5rem;
    }
}



/* ==========================================================
   SOMAGO_COMMUNIQUES_K3F1_20260818
   Registre officiel premium
   ========================================================== */

.somago-component-output:has(.somago-communiques-page),
.somago-component-output:has(.somago-communique-detail) {
    width: 100%;
    max-width: none;
    padding: 0;
}

.somago-communiques-page,
.somago-communique-detail {
    width: 100%;
    color: var(--somago-navy);
    background: #f4f1ea;
}


/* HERO */

.somago-communiques-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3.2rem, 5vw, 4.8rem) 0;
    color: #fff;
    background:
        linear-gradient(
            125deg,
            #071c2c 0%,
            #0b3047 58%,
            #15596d 100%
        );
}

.somago-communiques-hero::before {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    background:
        repeating-linear-gradient(
            90deg,
            transparent
            0
            calc(8.333% - 1px),
            rgb(255 255 255 / 2.5%)
            calc(8.333% - 1px)
            8.333%
        );
}

.somago-communiques-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(18rem, .85fr);
    gap: clamp(3rem, 8vw, 8rem);
    align-items: end;
}

.somago-communiques-heading
.somago-editorial-label {
    margin-bottom: 1.7rem;
}

.somago-communiques-kicker {
    margin: 0 0 .75rem;
    color: #91dbd7;
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.somago-communiques-heading h1 {
    max-width: 11ch;
    margin: 0;
    color: #fff;
    font-size: clamp(3.2rem, 6vw, 6.4rem);
    font-weight: 630;
    letter-spacing: -.055em;
    line-height: .9;
}

.somago-communiques-heading h1 em {
    display: block;
    color: #d2a17e;
    font-family: var(--somago-serif);
    font-weight: 500;
}

.somago-communiques-intro {
    max-width: 31rem;
    padding-top: 1.7rem;
    border-top: 1px solid rgb(255 255 255 / 18%);
}

.somago-communiques-intro > p {
    margin: 0;
    color: rgb(255 255 255 / 68%);
    font-family: var(--somago-serif);
    font-size: 1.05rem;
    line-height: 1.65;
}

.somago-communiques-count {
    display: flex;
    gap: .75rem;
    align-items: baseline;
    margin-top: 1.5rem;
    color: #9fe0df;
}

.somago-communiques-count strong {
    color: #fff;
    font-size: 2rem;
}

.somago-communiques-count span {
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}


/* CONTENU */

.somago-communiques-content {
    padding:
        clamp(4rem, 7vw, 7rem)
        0
        clamp(6rem, 9vw, 9rem);
}


/* VEDETTE */

.somago-communique-featured {
    display: grid;
    grid-template-columns:
        minmax(11rem, .3fr)
        minmax(0, 1.7fr);
    background: #fff;
    border: 1px solid rgb(16 42 67 / 12%);
}

.somago-communique-featured-index {
    display: flex;
    min-height: 31rem;
    flex-direction: column;
    justify-content: space-between;
    padding: clamp(1.5rem, 3vw, 2.5rem);
    border-right: 1px solid rgb(16 42 67 / 12%);
    background: #0d304b;
    color: #fff;
}

.somago-communique-featured-index > span {
    color: #9fe0df;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.somago-communique-featured-index strong {
    margin-top: auto;
    font-size: clamp(4rem, 7vw, 7rem);
    font-weight: 650;
    line-height: .8;
}

.somago-communique-featured-index small {
    margin-top: .75rem;
    color: #d2a17e;
    font-size: .78rem;
    font-weight: 850;
    letter-spacing: .12em;
}

.somago-communique-featured-copy {
    align-self: center;
    padding: clamp(2rem, 5vw, 5rem);
}

.somago-communique-featured-meta,
.somago-communique-row-meta {
    display: flex;
    gap: .8rem;
    flex-wrap: wrap;
    align-items: center;
}

.somago-communique-featured-meta span,
.somago-communique-row-meta span {
    color: var(--somago-copper);
    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.somago-communique-featured-meta code,
.somago-communique-row-meta code {
    color: #637988;
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;
    font-size: .7rem;
}

.somago-communique-featured h2 {
    max-width: 20ch;
    margin: 1.4rem 0;
    font-family: var(--somago-serif);
    font-size: clamp(2rem, 4vw, 4.4rem);
    font-weight: 500;
    letter-spacing: -.045em;
    line-height: 1;
}

.somago-communique-featured-copy > p {
    max-width: 48rem;
    margin: 0;
    color: #526978;
    font-size: 1rem;
    line-height: 1.75;
}

.somago-communique-featured-actions {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 2rem;
}

.somago-communique-pdf-link {
    color: var(--somago-blue);
    font-size: .74rem;
    font-weight: 800;
}


/* REGISTRE */

.somago-communiques-register {
    margin-top: clamp(5rem, 8vw, 8rem);
}

.somago-communiques-register-head {
    display: flex;
    gap: 2rem;
    align-items: end;
    justify-content: space-between;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid rgb(16 42 67 / 18%);
}

.somago-communiques-register-head h2 {
    margin: .5rem 0 0;
    font-family: var(--somago-serif);
    font-size: clamp(2rem, 3.5vw, 3.5rem);
    font-weight: 500;
    letter-spacing: -.04em;
}

.somago-communiques-register-head > span {
    color: #71828e;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.somago-communiques-list {
    border-bottom: 1px solid rgb(16 42 67 / 18%);
}

.somago-communique-row {
    display: grid;
    grid-template-columns:
        3rem
        7rem
        minmax(0, 1fr)
        auto;
    gap: clamp(1rem, 3vw, 2.5rem);
    align-items: center;
    padding: 1.6rem 0;
    border-top: 1px solid rgb(16 42 67 / 13%);
}

.somago-communique-row:first-child {
    border-top: 0;
}

.somago-communique-row-number {
    color: #a9b3b9;
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;
    font-size: .66rem;
}

.somago-communique-row time {
    display: flex;
    flex-direction: column;
}

.somago-communique-row time strong {
    font-size: 1.25rem;
}

.somago-communique-row time span {
    color: #7a8d98;
    font-size: .7rem;
}

.somago-communique-row h3 {
    margin: .55rem 0 0;
    font-size: clamp(1.05rem, 1.6vw, 1.35rem);
    font-weight: 650;
    line-height: 1.25;
}

.somago-communique-row h3 a {
    color: var(--somago-navy);
}

.somago-communique-row-actions {
    display: flex;
    gap: 1rem;
}

.somago-communique-row-actions a {
    color: var(--somago-blue);
    font-size: .7rem;
    font-weight: 850;
    text-transform: uppercase;
}


/* DETAIL */

.somago-communique-detail-header {
    padding:
        clamp(3.5rem, 6vw, 6rem)
        0
        clamp(3rem, 5vw, 5rem);
    color: #fff;
    background:
        linear-gradient(
            125deg,
            #071c2c,
            #0d344b 60%,
            #15596d
        );
}

.somago-communique-detail-header .somago-shell {
    max-width: 72rem;
}

.somago-communique-detail-back {
    display: inline-flex;
    gap: .6rem;
    margin-bottom: 2.5rem;
    color: #9fe0df;
    font-size: .7rem;
    font-weight: 800;
}

.somago-communique-detail-meta {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 1rem;
}

.somago-communique-detail-meta span {
    color: #d2a17e;
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.somago-communique-detail-meta code {
    color: #a9cad6;
    font-size: .72rem;
}

.somago-communique-detail-header h1 {
    max-width: 20ch;
    margin: 0;
    font-family: var(--somago-serif);
    font-size: clamp(2.6rem, 5vw, 5.6rem);
    font-weight: 500;
    letter-spacing: -.05em;
    line-height: .98;
}

.somago-communique-detail-date {
    margin: 1.6rem 0 0;
    color: rgb(255 255 255 / 62%);
    font-size: .8rem;
}

.somago-communique-detail-body {
    padding:
        clamp(4rem, 7vw, 7rem)
        0
        clamp(6rem, 9vw, 9rem);
}

.somago-communique-detail-layout {
    display: grid;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(15rem, 19rem);
    gap: clamp(3rem, 7vw, 7rem);
    align-items: start;
}

.somago-communique-document {
    position: relative;
    overflow: hidden;
    min-height: 32rem;
    padding: clamp(2rem, 5vw, 5rem);
    border: 1px solid rgb(16 42 67 / 12%);
    background: #fff;
}

.somago-communique-document-mark {
    position: absolute;
    top: 2rem;
    right: 2rem;
    color: rgb(16 42 67 / 5%);
    font-size: clamp(4rem, 10vw, 9rem);
    font-weight: 900;
    letter-spacing: -.08em;
}

.somago-communique-document-content {
    position: relative;
    z-index: 1;
    max-width: 46rem;
    color: #344f63;
    font-size: 1.05rem;
    line-height: 1.85;
}

.somago-communique-detail-side {
    display: grid;
    gap: 0;
    border-top: 1px solid rgb(16 42 67 / 17%);
}

.somago-communique-detail-side > div {
    display: grid;
    gap: .45rem;
    padding: 1.35rem 0;
    border-bottom: 1px solid rgb(16 42 67 / 17%);
}

.somago-communique-detail-side span {
    color: #748791;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.somago-communique-detail-side strong,
.somago-communique-detail-side code {
    color: var(--somago-navy);
}


/* RESPONSIVE */

@media (max-width: 64rem) {

    .somago-communiques-hero-grid,
    .somago-communique-detail-layout {
        grid-template-columns: 1fr;
    }

    .somago-communique-featured {
        grid-template-columns: 9rem 1fr;
    }

    .somago-communique-featured-index {
        min-height: 27rem;
    }

    .somago-communique-row {
        grid-template-columns:
            2.5rem
            6rem
            minmax(0, 1fr);
    }

    .somago-communique-row-actions {
        grid-column: 3;
    }

    .somago-communique-detail-side {
        max-width: 30rem;
    }
}

@media (max-width: 42rem) {

    .somago-communiques-hero {
        padding: 3rem 0 2.75rem;
    }

    .somago-communiques-heading h1 {
        font-size: clamp(3rem, 15vw, 4.6rem);
    }

    .somago-communique-featured {
        grid-template-columns: 1fr;
    }

    .somago-communique-featured-index {
        min-height: 0;
        flex-direction: row;
        align-items: end;
        padding: 1.5rem;
        border-right: 0;
    }

    .somago-communique-featured-index strong {
        margin-left: auto;
        font-size: 3.5rem;
    }

    .somago-communique-featured-index small {
        margin-left: .5rem;
    }

    .somago-communique-featured-copy {
        padding: 1.6rem;
    }

    .somago-communiques-register-head {
        align-items: start;
        flex-direction: column;
    }

    .somago-communique-row {
        grid-template-columns:
            3.8rem
            minmax(0, 1fr);
        gap: 1rem;
    }

    .somago-communique-row-number {
        display: none;
    }

    .somago-communique-row time {
        grid-column: 1;
    }

    .somago-communique-row-main {
        grid-column: 2;
    }

    .somago-communique-row-actions {
        grid-column: 2;
    }

    .somago-communique-detail-header h1 {
        font-size: clamp(2.5rem, 12vw, 4rem);
    }

    .somago-communique-document {
        min-height: 0;
        padding: 1.6rem;
    }
}


/* ==========================================================
   SOMAGO_COMMUNIQUES_CONTRAST_K3F2F1_20260819

   Finition visuelle ciblée du hero Communiqués.

   Objectif :
   - améliorer uniquement la lisibilité du texte introductif ;
   - conserver le gradient, la composition et la typographie ;
   - ne modifier ni la carte principale ni le registre ;
   - conserver le responsive existant.
   ========================================================== */

.somago-communiques-intro > p {
    color: rgb(255 255 255 / 88%);
}


/* ==========================================================
   SOMAGO_HOME_NEWS_CAROUSEL_H5F1_20260819
   Carrousel éditorial des trois dernières actualités.
   Scope strict : accueil / bloc Actualités.
   ========================================================== */

.somago-home-news-carousel {
    position: relative;
    overflow: hidden;
}

.somago-news-carousel {
    position: relative;
}

.somago-news-carousel-stage {
    position: relative;
    min-height: 30rem;
    background: #fff;
    border: 1px solid rgb(16 42 67 / 12%);
}

.somago-news-slide {
    display: grid;
    grid-template-columns:
        minmax(18rem, 0.92fr)
        minmax(0, 1.08fr);
    min-height: 30rem;
    background: #fff;
}

.somago-news-slide[hidden] {
    display: none !important;
}

.somago-news-slide-media {
    position: relative;
    min-width: 0;
    min-height: 30rem;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            rgb(201 120 74 / 18%),
            transparent 45%
        ),
        linear-gradient(
            145deg,
            #176b87,
            #102a43
        );
}

.somago-news-slide-media > a {
    position: absolute;
    inset: 0;
    display: block;
}

.somago-news-slide-media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition:
        transform 700ms cubic-bezier(.22, .61, .36, 1);
}

.somago-news-slide:hover
.somago-news-slide-media img {
    transform: scale(1.025);
}

.somago-news-slide-media::after {
    position: absolute;
    inset: 0;
    z-index: 1;
    content: "";
    pointer-events: none;
    background:
        linear-gradient(
            180deg,
            transparent 50%,
            rgb(7 28 44 / 28%) 100%
        );
}

.somago-news-slide-placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    background:
        radial-gradient(
            circle at 70% 30%,
            rgb(255 255 255 / 12%),
            transparent 27%
        ),
        linear-gradient(
            145deg,
            #176b87,
            #102a43
        );
}

.somago-news-slide-placeholder span {
    color: rgb(255 255 255 / 90%);
    font-size: clamp(2rem, 5vw, 4.5rem);
    font-weight: 850;
    letter-spacing: 0.08em;
}

.somago-news-slide-placeholder small {
    display: block;
    margin-top: 0.3rem;
    color: rgb(255 255 255 / 62%);
    font-size: 0.62rem;
    letter-spacing: 0.22em;
    text-align: center;
}

.somago-news-slide-number {
    position: absolute;
    z-index: 2;
    left: 1.5rem;
    bottom: 1.5rem;
    color: #fff;
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;
    font-size: 0.7rem;
    letter-spacing: 0.1em;
}

.somago-news-slide-copy {
    align-self: center;
    padding:
        clamp(2rem, 5vw, 4.6rem)
        clamp(2rem, 5vw, 5rem);
}

.somago-news-slide-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.8rem;
    margin-bottom: 1rem;
    color: #60717f;
    font-size: 0.66rem;
    font-weight: 750;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.somago-news-slide-meta span {
    color: var(--somago-copper);
}

.somago-news-slide-meta time::before {
    margin-right: 0.8rem;
    content: "•";
    color: rgb(16 42 67 / 35%);
}

.somago-news-slide h3 {
    max-width: 22ch;
    margin: 0;
    color: var(--somago-navy);
    font-size:
        clamp(1.8rem, 3.2vw, 3.3rem);
    font-weight: 700;
    letter-spacing: -0.045em;
    line-height: 1.03;
}

.somago-news-slide h3 a {
    color: inherit;
    text-decoration: none;
}

.somago-news-slide
.somago-news-excerpt {
    max-width: 46rem;
    margin:
        1.25rem
        0
        0;
    color: #60717f;
    font-size: 0.85rem;
    line-height: 1.75;
}

.somago-news-slide
.somago-text-link {
    margin-top: 1.6rem;
}

.somago-news-carousel-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding-top: 1.25rem;
}

.somago-news-carousel-pagination {
    display: flex;
    gap: 0.35rem;
}

.somago-news-carousel-dot {
    appearance: none;
    min-width: 3.4rem;
    padding:
        0.8rem
        0.9rem;
    border: 0;
    border-bottom:
        1px solid
        rgb(16 42 67 / 18%);
    background: transparent;
    color: rgb(16 42 67 / 48%);
    cursor: pointer;
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;
    font-size: 0.65rem;
    transition:
        color 220ms ease,
        border-color 220ms ease;
}

.somago-news-carousel-dot:hover,
.somago-news-carousel-dot:focus-visible,
.somago-news-carousel-dot.is-active {
    color: var(--somago-navy);
    border-color: var(--somago-copper);
}

.somago-news-carousel-actions {
    display: flex;
    gap: 0.5rem;
}

.somago-news-carousel-actions button {
    display: grid;
    width: 3rem;
    height: 3rem;
    place-items: center;
    border:
        1px solid
        rgb(16 42 67 / 18%);
    background: transparent;
    color: var(--somago-navy);
    cursor: pointer;
    font-size: 1.05rem;
    transition:
        background 200ms ease,
        color 200ms ease,
        border-color 200ms ease;
}

.somago-news-carousel-actions button:hover,
.somago-news-carousel-actions button:focus-visible {
    border-color: var(--somago-navy);
    background: var(--somago-navy);
    color: #fff;
}

.somago-news-carousel-all {
    display: flex;
    justify-content: flex-end;
    padding-top: 1.25rem;
}

.somago-news-carousel-empty {
    padding: clamp(2rem, 5vw, 4rem);
    border:
        1px solid
        rgb(16 42 67 / 14%);
    background: #fff;
}


/* TABLETTE */

@media (max-width: 58rem) {

    .somago-news-carousel-stage {
        min-height: auto;
    }

    .somago-news-slide {
        grid-template-columns:
            minmax(0, 1fr);
        min-height: auto;
    }

    .somago-news-slide-media {
        min-height: 20rem;
    }

    .somago-news-slide-copy {
        padding:
            clamp(2rem, 6vw, 3rem);
    }
}


/* MOBILE */

@media (max-width: 42rem) {

    .somago-news-slide-media {
        min-height: 15rem;
    }

    .somago-news-slide h3 {
        font-size:
            clamp(1.55rem, 8vw, 2.3rem);
    }

    .somago-news-carousel-footer {
        align-items: flex-end;
    }

    .somago-news-carousel-dot {
        min-width: 2.6rem;
        padding-inline: 0.55rem;
    }

    .somago-news-carousel-actions button {
        width: 2.75rem;
        height: 2.75rem;
    }
}


/* ACCESSIBILITE : REDUCTION DES MOUVEMENTS */

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

    .somago-news-slide-media img {
        transition: none;
    }
}


/* ==========================================================
   SOMAGO_HOME_NEWS_CAROUSEL_H5F2_20260819
   Réduction ciblée de l'espace vertical du bloc Actualités.
   ========================================================== */

.somago-home-news-carousel {
    padding-block:
        clamp(3.5rem, 6vw, 5.5rem);
}

.somago-home-news-carousel
.somago-section-intro {
    margin-bottom:
        clamp(2rem, 3vw, 3rem);
}

.somago-news-carousel-footer {
    padding-top:
        0.9rem;
}

.somago-news-carousel-all {
    padding-top:
        0.65rem;
}

.somago-home-news-carousel
.somago-news-carousel {
    margin-bottom:
        0;
}

@media (max-width: 58rem) {

    .somago-home-news-carousel {
        padding-block:
            3.5rem;
    }
}

@media (max-width: 42rem) {

    .somago-home-news-carousel {
        padding-block:
            2.75rem;
    }

    .somago-home-news-carousel
    .somago-section-intro {
        margin-bottom:
            1.75rem;
    }
}


/* ==========================================================
   SOMAGO_HOME_NEWS_CAROUSEL_H5F3_20260819

   Compactage précis de la jonction :
   05 Actualités → 06 Expertise.

   Aucun changement :
   - hauteur des slides ;
   - structure du carrousel ;
   - autres instances du bloc Expertise.
   ========================================================== */


/* Fin du bloc Actualités plus courte */

.somago-home-news-carousel {
    padding-bottom:
        clamp(1.5rem, 2.5vw, 2.5rem);
}


/*
 * Expertise uniquement lorsqu'elle vient directement
 * après le carrousel Actualités de l'accueil.
 */

.somago-home-news-carousel
+ .somago-expertise {
    padding-top:
        clamp(2.75rem, 4vw, 4rem);
}


/* TABLETTE */

@media (max-width: 58rem) {

    .somago-home-news-carousel {
        padding-bottom:
            1.75rem;
    }

    .somago-home-news-carousel
    + .somago-expertise {
        padding-top:
            3rem;
    }
}


/* MOBILE */

@media (max-width: 42rem) {

    .somago-home-news-carousel {
        padding-bottom:
            1.25rem;
    }

    .somago-home-news-carousel
    + .somago-expertise {
        padding-top:
            2.25rem;
    }
}



/* ==========================================================
   SOMAGO_MISSIONS_MOTION_M4F1_20260819

   Animation institutionnelle du bloc Missions :
   - entrée au scroll ;
   - cascade 01 → 04 ;
   - micro-interactions au survol ;
   - respect prefers-reduced-motion.
   ========================================================== */


/* ----------------------------------------------------------
   ETAT INITIAL
   ---------------------------------------------------------- */

.somago-missions[data-somago-reveal="section"]
.somago-section-intro {
    opacity: 0;

    transform:
        translateY(2rem);

    transition:
        opacity 700ms cubic-bezier(.22, .61, .36, 1),
        transform 700ms cubic-bezier(.22, .61, .36, 1);
}


.somago-missions[data-somago-reveal="section"]
.somago-mission-list li {
    position:
        relative;

    opacity:
        0;

    transform:
        translateY(1.6rem);

    transition:
        opacity 650ms cubic-bezier(.22, .61, .36, 1),
        transform 650ms cubic-bezier(.22, .61, .36, 1),
        background-color 260ms ease;
}


/* ----------------------------------------------------------
   REVEAL
   ---------------------------------------------------------- */

.somago-missions.is-somago-revealed
.somago-section-intro {
    opacity:
        1;

    transform:
        translateY(0);
}


.somago-missions.is-somago-revealed
.somago-mission-list li {
    opacity:
        1;

    transform:
        translateY(0);
}


/* Cascade éditoriale */

.somago-missions.is-somago-revealed
.somago-mission-list li:nth-child(1) {
    transition-delay:
        120ms;
}

.somago-missions.is-somago-revealed
.somago-mission-list li:nth-child(2) {
    transition-delay:
        220ms;
}

.somago-missions.is-somago-revealed
.somago-mission-list li:nth-child(3) {
    transition-delay:
        320ms;
}

.somago-missions.is-somago-revealed
.somago-mission-list li:nth-child(4) {
    transition-delay:
        420ms;
}


/* ----------------------------------------------------------
   LIGNE TURQUOISE ANIMEE
   ---------------------------------------------------------- */

.somago-missions
.somago-mission-list li::before {
    position:
        absolute;

    left:
        0;

    bottom:
        -1px;

    width:
        0;

    height:
        1px;

    content:
        "";

    pointer-events:
        none;

    background:
        #75cfce;

    transition:
        width 420ms cubic-bezier(.22, .61, .36, 1);
}


.somago-missions
.somago-mission-list li:hover::before {
    width:
        100%;
}


/* ----------------------------------------------------------
   MICRO-INTERACTIONS
   ---------------------------------------------------------- */

.somago-missions
.somago-mission-number {
    display:
        inline-block;

    transition:
        color 260ms ease,
        transform 320ms cubic-bezier(.22, .61, .36, 1);
}


.somago-missions
.somago-mission-list h3 {
    transition:
        color 260ms ease,
        transform 320ms cubic-bezier(.22, .61, .36, 1);
}


.somago-missions
.somago-mission-list p {
    transition:
        color 260ms ease;
}


.somago-missions
.somago-mission-list li:hover {
    background:
        rgb(255 255 255 / 2.5%);
}


.somago-missions
.somago-mission-list li:hover
.somago-mission-number {
    color:
        #f0b694;

    transform:
        translateX(0.35rem);
}


.somago-missions
.somago-mission-list li:hover
h3 {
    color:
        #9fe0df;

    transform:
        translateX(0.35rem);
}


.somago-missions
.somago-mission-list li:hover
p {
    color:
        #d2e0e7;
}


/* ----------------------------------------------------------
   ACCESSIBILITE
   ---------------------------------------------------------- */

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

    .somago-missions[data-somago-reveal="section"]
    .somago-section-intro,

    .somago-missions[data-somago-reveal="section"]
    .somago-mission-list li {
        opacity:
            1;

        transform:
            none;

        transition:
            none;
    }


    .somago-missions
    .somago-mission-list li::before,

    .somago-missions
    .somago-mission-number,

    .somago-missions
    .somago-mission-list h3,

    .somago-missions
    .somago-mission-list p {
        transition:
            none;
    }
}



/* ==========================================================
   SOMAGO_EXPERTISE_PREMIUM_E2F1_20260819

   Bloc Expertise accueil.

   Objectifs :
   - conserver la vraie photo Joomla de la carte 1 ;
   - ne créer aucun faux professionnel ;
   - enrichir graphiquement les placeholders cartes 2 et 3 ;
   - ajouter des micro-interactions discrètes ;
   - conserver entièrement les contenus Joomla existants.
   ========================================================== */


/* ----------------------------------------------------------
   CARTES — MICRO-INTERACTION COMMUNE
   ---------------------------------------------------------- */

.somago-expertise
.somago-practitioner-card {
    position: relative;

    transition:
        transform 420ms cubic-bezier(.22, .61, .36, 1),
        box-shadow 420ms ease,
        background-color 320ms ease;
}


@media (hover: hover) and (pointer: fine) {

    .somago-expertise
    .somago-practitioner-card:hover {
        z-index: 2;

        transform:
            translateY(-8px);

        box-shadow:
            0 24px 48px
            rgb(16 42 67 / 12%);
    }
}


/* ----------------------------------------------------------
   ZONE VISUELLE
   ---------------------------------------------------------- */

.somago-expertise
.somago-practitioner-photo {
    position: relative;

    isolation: isolate;

    overflow: hidden;
}


/*
 * Le pseudo-cercle historique devient un élément graphique
 * plus éditorial uniquement pour les placeholders.
 */

.somago-expertise
.somago-practitioner-photo:not(.somago-practitioner-photo-live)::before {
    position: absolute;

    z-index: 2;

    top: 50%;
    left: 50%;

    width:
        clamp(
            5.5rem,
            9vw,
            8rem
        );

    aspect-ratio:
        1;

    margin:
        0;

    content:
        "";

    border:
        1px solid
        rgb(255 255 255 / 28%);

    border-radius:
        50%;

    background:
        rgb(255 255 255 / 7%);

    box-shadow:
        0 0 0 1.3rem
        rgb(255 255 255 / 3%);

    transform:
        translate(-50%, -50%);

    transition:
        transform 600ms cubic-bezier(.22, .61, .36, 1),
        border-color 400ms ease,
        background-color 400ms ease;
}


/* Halo diffus */

.somago-expertise
.somago-practitioner-photo:not(.somago-practitioner-photo-live)::after {
    position: absolute;

    z-index: 1;

    width:
        13rem;

    height:
        13rem;

    content:
        "";

    border-radius:
        50%;

    filter:
        blur(2px);

    opacity:
        .62;

    pointer-events:
        none;

    transition:
        transform 700ms cubic-bezier(.22, .61, .36, 1),
        opacity 400ms ease;
}


/* ----------------------------------------------------------
   CARTE 2 — OBSTETRIQUE
   ---------------------------------------------------------- */

.somago-expertise
.somago-practitioner-card:nth-child(2)
.somago-practitioner-photo:not(.somago-practitioner-photo-live) {

    background:
        radial-gradient(
            circle at 32% 35%,
            rgb(255 255 255 / 12%),
            transparent 25%
        ),
        radial-gradient(
            circle at 75% 70%,
            rgb(117 207 206 / 18%),
            transparent 32%
        ),
        linear-gradient(
            145deg,
            #1f8295,
            #123852 70%
        );
}


.somago-expertise
.somago-practitioner-card:nth-child(2)
.somago-practitioner-photo:not(.somago-practitioner-photo-live)::after {

    top:
        12%;

    right:
        -3rem;

    background:
        radial-gradient(
            circle,
            rgb(117 207 206 / 25%),
            transparent 67%
        );
}


/*
 * Deux formes secondaires suggèrent une relation
 * mère / nouveau-né sans représenter une personne.
 */

.somago-expertise
.somago-practitioner-card:nth-child(2)
.somago-practitioner-photo
span {
    position: absolute;

    z-index: 3;

    top: 50%;
    left: 50%;

    width:
        2.4rem;

    height:
        2.4rem;

    border:
        1px solid
        rgb(255 255 255 / 46%);

    border-radius:
        50%;

    background:
        rgb(255 255 255 / 11%);

    transform:
        translate(2.6rem, 1.7rem);

    box-shadow:
        -5.2rem
        -3.2rem
        0
        -0.35rem
        rgb(255 255 255 / 10%);
}


/* ----------------------------------------------------------
   CARTE 3 — SANTE REPRODUCTIVE
   ---------------------------------------------------------- */

.somago-expertise
.somago-practitioner-card:nth-child(3)
.somago-practitioner-photo:not(.somago-practitioner-photo-live) {

    background:
        radial-gradient(
            circle at 70% 25%,
            rgb(201 120 74 / 18%),
            transparent 25%
        ),
        radial-gradient(
            circle at 25% 80%,
            rgb(255 255 255 / 9%),
            transparent 31%
        ),
        linear-gradient(
            150deg,
            #1b7389,
            #102a43 76%
        );
}


.somago-expertise
.somago-practitioner-card:nth-child(3)
.somago-practitioner-photo:not(.somago-practitioner-photo-live)::after {

    bottom:
        -4rem;

    left:
        -2rem;

    background:
        radial-gradient(
            circle,
            rgb(201 120 74 / 22%),
            transparent 67%
        );
}


/*
 * Ligne orbitale abstraite :
 * continuité, parcours, accompagnement.
 */

.somago-expertise
.somago-practitioner-card:nth-child(3)
.somago-practitioner-photo
span {
    position: absolute;

    z-index: 3;

    top:
        50%;

    left:
        50%;

    width:
        7rem;

    height:
        2.8rem;

    border:
        1px solid
        rgb(255 255 255 / 35%);

    border-radius:
        50%;

    transform:
        translate(-50%, -50%)
        rotate(-28deg);

    box-shadow:
        0 0 0 1.3rem
        rgb(255 255 255 / 3%);
}


/* ----------------------------------------------------------
   INTERACTION PLACEHOLDERS
   ---------------------------------------------------------- */

@media (hover: hover) and (pointer: fine) {

    .somago-expertise
    .somago-practitioner-card:hover
    .somago-practitioner-photo:not(.somago-practitioner-photo-live)::before {

        border-color:
            rgb(255 255 255 / 45%);

        background:
            rgb(255 255 255 / 11%);

        transform:
            translate(-50%, -50%)
            scale(1.08);
    }


    .somago-expertise
    .somago-practitioner-card:hover
    .somago-practitioner-photo:not(.somago-practitioner-photo-live)::after {

        opacity:
            .9;

        transform:
            scale(1.12);
    }


    /*
     * Photo réelle :
     * zoom très discret uniquement.
     */

    .somago-expertise
    .somago-practitioner-photo-live
    img {

        transition:
            transform 700ms
            cubic-bezier(.22, .61, .36, 1);
    }


    .somago-expertise
    .somago-practitioner-card:hover
    .somago-practitioner-photo-live
    img {

        transform:
            scale(1.025);
    }
}


/* ----------------------------------------------------------
   CONTENU TEXTE
   ---------------------------------------------------------- */

.somago-expertise
.somago-practitioner-card
> div:last-child {

    position:
        relative;

    transition:
        background-color 320ms ease;
}


@media (hover: hover) and (pointer: fine) {

    .somago-expertise
    .somago-practitioner-card:hover
    > div:last-child {

        background:
            #fff;
    }


    .somago-expertise
    .somago-practitioner-card
    h3 {

        transition:
            color 260ms ease;
    }


    .somago-expertise
    .somago-practitioner-card:hover
    h3 {

        color:
            var(--somago-blue);
    }
}


/* ----------------------------------------------------------
   ACCESSIBILITE
   ---------------------------------------------------------- */

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

    .somago-expertise
    .somago-practitioner-card,

    .somago-expertise
    .somago-practitioner-photo::before,

    .somago-expertise
    .somago-practitioner-photo::after,

    .somago-expertise
    .somago-practitioner-photo-live
    img {

        transition:
            none !important;
    }


    .somago-expertise
    .somago-practitioner-card:hover {

        transform:
            none;
    }
}



/* ==========================================================
   SOMAGO_FORMATION_PAGE_F7F1_20260819
   Page autonome Formation continue — article Joomla #4
   ========================================================== */


/* ----------------------------------------------------------
   CONTENEUR
   ---------------------------------------------------------- */

.somago-component-output:has(.somago-formation-page) {
    width: 100%;
    max-width: none;
    padding: 0;
}

.somago-formation-page {
    overflow: hidden;
    color: var(--somago-navy);
    background: var(--somago-ivory);
}


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

.somago-formation-hero {
    position: relative;
    overflow: hidden;
    padding:
        clamp(5rem, 9vw, 8.5rem)
        0
        clamp(5rem, 8vw, 7rem);
    color: #fff;
    background:
        radial-gradient(
            circle at 82% 28%,
            rgb(24 166 166 / 24%),
            transparent 28%
        ),
        linear-gradient(
            120deg,
            #0b2439 0%,
            #103b56 58%,
            #176b87 100%
        );
}

.somago-formation-hero::before {
    position: absolute;
    inset: 0;
    content: "";
    pointer-events: none;
    opacity: .28;
    background:
        linear-gradient(
            90deg,
            transparent 49.8%,
            rgb(255 255 255 / 10%) 50%,
            transparent 50.2%
        );
}

.somago-formation-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns:
        minmax(8rem, .34fr)
        minmax(0, 1fr)
        minmax(10rem, .34fr);
    gap:
        clamp(2rem, 5vw, 5rem);
    align-items: end;
}

.somago-formation-hero-index {
    display: grid;
    gap: .65rem;
    align-self: start;
    padding-top: .8rem;
}

.somago-formation-hero-index span {
    color: #8be2df;
    font-size: .65rem;
    font-weight: 850;
    letter-spacing: .16em;
}

.somago-formation-hero-index small {
    color: rgb(255 255 255 / 58%);
    font-size: .62rem;
    letter-spacing: .18em;
}

.somago-formation-hero-copy {
    max-width: 58rem;
}

.somago-formation-hero-copy .somago-eyebrow {
    color: #8be2df;
}

.somago-formation-hero h1 {
    max-width: 12ch;
    margin:
        .9rem
        0
        1.5rem;
    color: #fff;
    font-size:
        clamp(3.7rem, 8vw, 7.4rem);
    font-weight: 720;
    letter-spacing: -.065em;
    line-height: .88;
    text-wrap: balance;
}

.somago-formation-hero-lead {
    max-width: 44rem;
    margin: 0;
    color: rgb(255 255 255 / 72%);
    font-size:
        clamp(1rem, 1.45vw, 1.3rem);
    line-height: 1.7;
}

.somago-formation-hero-mark {
    position: relative;
    display: grid;
    min-height: 15rem;
    place-items: center;
}

.somago-formation-hero-mark span {
    color: rgb(255 255 255 / 7%);
    font-size:
        clamp(9rem, 18vw, 17rem);
    font-weight: 900;
    line-height: .7;
}

.somago-formation-hero-mark i {
    position: absolute;
    width: 4.5rem;
    aspect-ratio: 1;
    border:
        1px solid
        rgb(139 226 223 / 50%);
    border-radius: 50%;
}


/* ----------------------------------------------------------
   INDEX DE SECTION
   ---------------------------------------------------------- */

.somago-formation-section-index {
    display: flex;
    gap: .8rem;
    align-items: center;
    color: var(--somago-blue);
}

.somago-formation-section-index span {
    color: var(--somago-copper);
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;
    font-size: .65rem;
}

.somago-formation-section-index strong {
    font-size: .64rem;
    font-weight: 850;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.somago-formation-section-index::after {
    width: 3.6rem;
    height: 1px;
    content: "";
    background: var(--somago-blue);
}


/* ----------------------------------------------------------
   INTRODUCTION
   ---------------------------------------------------------- */

.somago-formation-introduction {
    padding:
        clamp(5rem, 8vw, 8rem)
        0;
    background: var(--somago-ivory);
}

.somago-formation-intro-grid {
    display: grid;
    grid-template-columns:
        minmax(12rem, .52fr)
        minmax(0, 1fr);
    gap:
        clamp(2rem, 7vw, 7rem);
}

.somago-formation-intro-copy {
    max-width: 58rem;
}

.somago-formation-intro-copy h2,
.somago-formation-framework-heading h2,
.somago-formation-calendar-heading h2,
.somago-formation-footer h2 {
    margin:
        .7rem
        0
        1.6rem;
    color: var(--somago-navy);
    font-size:
        clamp(2.4rem, 5vw, 4.8rem);
    font-weight: 720;
    letter-spacing: -.055em;
    line-height: .98;
    text-wrap: balance;
}

.somago-formation-source-content {
    max-width: 46rem;
    color: var(--somago-text);
    font-size:
        clamp(.95rem, 1.2vw, 1.08rem);
    line-height: 1.85;
}

.somago-formation-source-content
.somago-placeholder-tag {
    display: none;
}


/* ----------------------------------------------------------
   ORGANISATION
   ---------------------------------------------------------- */

.somago-formation-framework {
    padding:
        clamp(5rem, 8vw, 8rem)
        0;
    background: #fff;
}

.somago-formation-framework-heading {
    display: grid;
    grid-template-columns:
        minmax(12rem, .52fr)
        minmax(0, 1fr);
    gap:
        clamp(2rem, 7vw, 7rem);
    margin-bottom:
        clamp(3rem, 5vw, 5rem);
}

.somago-formation-framework-heading > div:last-child {
    max-width: 58rem;
}

.somago-formation-framework-grid {
    border-top:
        1px solid
        rgb(16 42 67 / 17%);
}

.somago-formation-framework-grid article {
    display: grid;
    grid-template-columns:
        5rem
        minmax(0, 1fr);
    gap:
        clamp(1.5rem, 4vw, 4rem);
    padding:
        clamp(2rem, 4vw, 3.2rem)
        0;
    border-bottom:
        1px solid
        rgb(16 42 67 / 17%);
}

.somago-formation-framework-grid
article > span {
    color: var(--somago-copper);
    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;
    font-size: .68rem;
}

.somago-formation-framework-grid small {
    color: var(--somago-blue);
    font-size: .63rem;
    font-weight: 850;
    letter-spacing: .13em;
}

.somago-formation-framework-grid h3 {
    margin:
        .55rem
        0
        .8rem;
    color: var(--somago-navy);
    font-size:
        clamp(1.55rem, 2.8vw, 2.7rem);
    font-weight: 680;
    letter-spacing: -.035em;
}

.somago-formation-framework-grid p {
    max-width: 46rem;
    margin: 0;
    color: var(--somago-text);
    line-height: 1.75;
}


/* ----------------------------------------------------------
   CALENDRIER
   ---------------------------------------------------------- */

.somago-formation-calendar {
    padding:
        clamp(5rem, 8vw, 8rem)
        0;
    color: #fff;
    background:
        var(--somago-navy);
}

.somago-formation-calendar-grid {
    display: grid;
    grid-template-columns:
        minmax(0, .9fr)
        minmax(22rem, 1.1fr);
    gap:
        clamp(3rem, 8vw, 8rem);
    align-items: end;
}

.somago-formation-calendar-heading
.somago-eyebrow {
    color: #8be2df;
}

.somago-formation-calendar-heading h2 {
    color: #fff;
}

.somago-formation-calendar-status {
    display: grid;
    grid-template-columns:
        6rem
        minmax(0, 1fr);
    gap: 2rem;
    padding:
        clamp(2rem, 4vw, 3.5rem);
    border-top:
        1px solid
        rgb(255 255 255 / 28%);
    border-bottom:
        1px solid
        rgb(255 255 255 / 28%);
}

.somago-formation-calendar-status > span {
    color:
        rgb(139 226 223 / 45%);
    font-size:
        clamp(3rem, 6vw, 5rem);
    font-weight: 800;
    line-height: 1;
}

.somago-formation-calendar-status small {
    color: #8be2df;
    font-size: .62rem;
    font-weight: 850;
    letter-spacing: .14em;
}

.somago-formation-calendar-status strong {
    display: block;
    max-width: 22rem;
    margin:
        .7rem
        0
        1rem;
    color: #fff;
    font-size:
        clamp(1.3rem, 2vw, 1.8rem);
    line-height: 1.2;
}

.somago-formation-calendar-status p {
    max-width: 34rem;
    margin: 0;
    color:
        rgb(255 255 255 / 66%);
    line-height: 1.7;
}


/* ----------------------------------------------------------
   FOOTER DE PAGE
   ---------------------------------------------------------- */

.somago-formation-footer {
    padding:
        clamp(4rem, 7vw, 6rem)
        0;
    background: #edf4f5;
}

.somago-formation-footer-inner {
    display: flex;
    gap: 3rem;
    align-items: end;
    justify-content: space-between;
}

.somago-formation-footer h2 {
    max-width: 13ch;
    margin-bottom: 0;
    font-size:
        clamp(2rem, 4vw, 3.6rem);
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 58rem) {

    .somago-formation-hero-grid {
        grid-template-columns:
            8rem
            minmax(0, 1fr);
    }

    .somago-formation-hero-mark {
        display: none;
    }

    .somago-formation-intro-grid,
    .somago-formation-framework-heading,
    .somago-formation-calendar-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .somago-formation-intro-grid,
    .somago-formation-framework-heading {
        gap: 2rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-formation-hero {
        padding:
            4rem
            0;
    }

    .somago-formation-hero-grid {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .somago-formation-hero-index {
        display: flex;
        gap: 1rem;
        align-items: center;
        padding-top: 0;
    }

    .somago-formation-hero h1 {
        font-size:
            clamp(3rem, 16vw, 4.8rem);
    }

    .somago-formation-introduction,
    .somago-formation-framework,
    .somago-formation-calendar {
        padding:
            4rem
            0;
    }

    .somago-formation-framework-grid article {
        grid-template-columns:
            2.5rem
            minmax(0, 1fr);
        gap: 1rem;
    }

    .somago-formation-calendar-status {
        grid-template-columns:
            minmax(0, 1fr);
        gap: 1rem;
        padding:
            2rem
            0;
    }

    .somago-formation-footer-inner {
        display: grid;
        align-items: start;
    }
}



/* ==========================================================
   SOMAGO_FORMATION_HERO_UNIFORM_F7F2_FIX1_20260819

   Hero Formation aligné sur la famille éditoriale :
   - Actualités
   - Médiathèque
   - Événements
   - Contact

   Scope strict : /formation
   ========================================================== */


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

.somago-formation-hero {

    position:
        relative;

    overflow:
        hidden;

    padding:
        clamp(2.25rem, 3.4vw, 3.5rem)
        0
        clamp(2.25rem, 3.2vw, 3.25rem);

    color:
        #fff;

    background:
        radial-gradient(
            circle at 82% 20%,
            rgb(24 166 166 / 22%),
            transparent 28%
        ),
        linear-gradient(
            125deg,
            #102a43 0%,
            #103b56 58%,
            #176b87 100%
        );
}


/* grille graphique discrète */

.somago-formation-hero::before {

    position:
        absolute;

    inset:
        0;

    content:
        "";

    pointer-events:
        none;

    background:
        linear-gradient(
            90deg,
            transparent 0 64%,
            rgb(255 255 255 / 4%) 64% 64.1%,
            transparent 64.1%
        ),
        repeating-linear-gradient(
            90deg,
            transparent 0 7.9rem,
            rgb(255 255 255 / 3%) 7.9rem 8rem
        );
}


/* ----------------------------------------------------------
   GRILLE
   ---------------------------------------------------------- */

.somago-formation-hero-grid {

    position:
        relative;

    z-index:
        1;

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(18rem, .8fr);

    gap:
        clamp(2rem, 4.5vw, 4.5rem);

    align-items:
        end;
}


/* ----------------------------------------------------------
   COLONNE TITRE
   ---------------------------------------------------------- */

.somago-formation-page-heading
.somago-editorial-label {

    margin-bottom:
        1.15rem;
}


.somago-formation-page-kicker {

    margin:
        0
        0
        1rem;

    color:
        #8ed5d2;

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;
}


.somago-formation-page-heading h1 {

    max-width:
        11ch;

    margin:
        0;

    color:
        #fff;

    font-size:
        clamp(3.5rem, 7vw, 7rem);

    font-weight:
        630;

    letter-spacing:
        -.055em;

    line-height:
        .88;

    text-wrap:
        balance;
}


.somago-formation-page-heading h1 em {

    display:
        block;

    margin-top:
        .05em;

    color:
        #d2a17d;

    font-family:
        var(--somago-serif);

    font-weight:
        500;

    line-height:
        .9;
}


/* ----------------------------------------------------------
   COLONNE INTRODUCTION
   ---------------------------------------------------------- */

.somago-formation-page-intro {

    max-width:
        32rem;

    padding-top:
        1.5rem;

    border-top:
        1px solid
        rgb(255 255 255 / 20%);
}


.somago-formation-page-intro p {

    margin:
        0;

    color:
        rgb(255 255 255 / 72%);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1rem, 1.35vw, 1.2rem);

    line-height:
        1.7;
}


/*
 * Les anciens éléments du hero F7F1 ne sont plus utilisés.
 * On les neutralise par sécurité s'ils réapparaissent.
 */

.somago-formation-hero-index,
.somago-formation-hero-copy,
.somago-formation-hero-mark {

    display:
        none;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-formation-hero {

        padding:
            3.75rem
            0
            3.4rem;
    }


    .somago-formation-hero-grid {

        grid-template-columns:
            minmax(0, 1fr);

        gap:
            2.5rem;
    }


    .somago-formation-page-intro {

        max-width:
            40rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-formation-hero {

        padding:
            3rem
            0
            2.75rem;
    }


    .somago-formation-hero-grid {

        gap:
            2rem;
    }


    .somago-formation-page-heading h1 {

        font-size:
            clamp(
                3rem,
                16vw,
                4.5rem
            );
    }


    .somago-formation-page-intro {

        padding-top:
            1.25rem;
    }
}



/* ==========================================================
   SOMAGO_FORMATION_F7F2_POLISH_20260819
   Ajustements visuels finaux Formation
   ========================================================== */


/* Introduction du hero : contraste aligné Actualités / Média */

.somago-formation-page-intro p {
    color:
        rgb(255 255 255 / 78%);
}


/* Titre Organisation : échelle légèrement maîtrisée */

.somago-formation-framework-heading h2 {
    max-width:
        18ch;

    font-size:
        clamp(2.35rem, 4.4vw, 4.25rem);

    line-height:
        .98;
}


/* Desktop large : éviter un titre excessivement monumental */

@media (min-width: 75rem) {

    .somago-formation-framework-heading h2 {
        font-size:
            clamp(2.5rem, 3.8vw, 4rem);
    }
}



/* ==========================================================
   SOMAGO_DIRECTORY_HERO_A8F1_20260819

   Uniformisation du hero Annuaire avec les pages
   Actualités / Médiathèque / Formation.

   Le titre principal est désormais porté par le bandeau.
   Le hero interne historique du composant est donc masqué.
   ========================================================== */


/* ----------------------------------------------------------
   CONTENEUR DU COMPOSANT
   ---------------------------------------------------------- */

.somago-component-output:has(.somago-directory-page) {
    width: 100%;
    max-width: none;
    padding-top: 0;
}


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

.somago-directory-page-hero {
    position: relative;
    overflow: hidden;

    padding:
        clamp(2.25rem, 3.4vw, 3.5rem)
        0
        clamp(2.25rem, 3.2vw, 3.25rem);

    color: #fff;

    background:
        radial-gradient(
            circle at 82% 24%,
            rgb(24 166 166 / 22%),
            transparent 30%
        ),
        linear-gradient(
            125deg,
            #082a43 0%,
            #103b56 56%,
            #176b87 100%
        );
}


.somago-directory-page-hero::before {
    position: absolute;
    inset: 0;

    content: "";
    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent 0 66%,
            rgb(255 255 255 / 5%) 66% 66.1%,
            transparent 66.1%
        ),
        repeating-linear-gradient(
            90deg,
            transparent 0 7.9rem,
            rgb(255 255 255 / 3%) 7.9rem 8rem
        );
}


.somago-directory-page-hero-grid {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(19rem, .85fr);

    gap:
        clamp(2rem, 4.5vw, 4.5rem);

    align-items: end;
}


.somago-directory-page-heading
.somago-editorial-label {
    margin-bottom:
        1.15rem;
}


.somago-directory-page-kicker {
    margin:
        0
        0
        1rem;

    color:
        #91dbd7;

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;
}


.somago-directory-page-heading h1 {
    max-width:
        11ch;

    margin:
        0;

    color:
        #fff;

    font-size:
        clamp(3.5rem, 7vw, 7rem);

    font-weight:
        630;

    letter-spacing:
        -.055em;

    line-height:
        .88;
}


.somago-directory-page-heading h1 em {
    display:
        block;

    color:
        #d2a17d;

    font-family:
        var(--somago-serif);

    font-weight:
        500;
}


.somago-directory-page-intro {
    max-width:
        34rem;

    padding-top:
        1.5rem;

    border-top:
        1px solid
        rgb(255 255 255 / 22%);
}


.somago-directory-page-intro p {
    margin:
        0;

    color:
        rgb(255 255 255 / 68%) !important;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(.95rem, 1.2vw, 1.1rem) !important;

    line-height:
        1.7 !important;
}


/* ----------------------------------------------------------
   SUPPRESSION DU HERO INTERNE DUPLIQUE
   ---------------------------------------------------------- */

.somago-directory-page
.somago-directory-hero {
    display:
        none;
}


/* ----------------------------------------------------------
   REMONTEE DU CONTENU UTILE
   ---------------------------------------------------------- */

.somago-directory-page
.somago-directory-search {
    margin-top:
        0;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-directory-page-hero-grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap:
            2.5rem;
    }

    .somago-directory-page-intro {
        max-width:
            40rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-directory-page-hero {
        padding:
            3rem
            0
            2.75rem;
    }

    .somago-directory-page-hero-grid {
        gap:
            2rem;
    }

    .somago-directory-page-heading h1 {
        font-size:
            clamp(
                3rem,
                16vw,
                4.5rem
            );
    }

    .somago-directory-page-intro {
        padding-top:
            1.25rem;
    }
}



/* ==========================================================
   SOMAGO_DIRECTORY_HERO_HEIGHT_A8F2_20260819

   Harmonisation du hero Annuaire avec Actualités / Médiathèque.

   Objectifs :
   - réduire la hauteur globale du bandeau ;
   - conserver la composition actuelle ;
   - rapprocher le rythme visuel des autres pages premium ;
   - aucun impact sur le moteur de recherche de l'annuaire.
   ========================================================== */


/* ----------------------------------------------------------
   HERO — HAUTEUR / ESPACEMENT
   ---------------------------------------------------------- */

.somago-directory-hero {
    padding:
        clamp(2.25rem, 3.4vw, 3.5rem)
        0
        clamp(2.25rem, 3.2vw, 3.25rem);
}


/* ----------------------------------------------------------
   TITRE — ECHELLE PLUS COHERENTE
   ---------------------------------------------------------- */

.somago-directory-hero h1 {
    max-width:
        11ch;

    font-size:
        clamp(3.25rem, 6.2vw, 6rem);

    line-height:
        .87;

    letter-spacing:
        -.055em;
}


/*
 * Permet à "membres SOMAGO." de rester ensemble
 * plus facilement sur les grands écrans.
 */

.somago-directory-hero h1 em {
    display:
        inline;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-directory-hero {
        padding:
            3.25rem
            0
            3rem;
    }

    .somago-directory-hero h1 {
        max-width:
            12ch;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-directory-hero {
        padding:
            3rem
            0
            2.75rem;
    }

    .somago-directory-hero h1 {
        max-width:
            none;

        font-size:
            clamp(
                3rem,
                15vw,
                4.5rem
            );
    }
}



/* ==========================================================
   SOMAGO_PRESIDENT_HERO_P3F1_20260819

   Hero autonome Mot du Président.

   Même famille visuelle et même hauteur de référence que :
   - Actualités
   - Médiathèque
   - Annuaire

   Le contenu éditorial du Président reste inchangé.
   ========================================================== */


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

.somago-president-page-hero {
    position: relative;
    overflow: hidden;

    padding:
        clamp(2.25rem, 3.4vw, 3.5rem)
        0
        clamp(2.25rem, 3.2vw, 3.25rem);

    color: #fff;

    background:
        linear-gradient(
            125deg,
            #071c2c 0%,
            #0d344b 58%,
            #175b70 100%
        );
}


.somago-president-page-hero::before {
    position: absolute;
    inset: 0;

    content: "";
    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent 0 64%,
            rgb(255 255 255 / 4%) 64% 64.1%,
            transparent 64.1%
        ),
        repeating-linear-gradient(
            90deg,
            transparent 0 calc(8.333% - 1px),
            rgb(255 255 255 / 3%)
                calc(8.333% - 1px)
                8.333%
        );
}


/* ----------------------------------------------------------
   GRILLE
   ---------------------------------------------------------- */

.somago-president-page-hero-grid {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(18rem, .8fr);

    gap:
        clamp(2rem, 4.5vw, 4.5rem);

    align-items: end;
}


/* ----------------------------------------------------------
   PARTIE GAUCHE
   ---------------------------------------------------------- */

.somago-president-page-heading
.somago-editorial-label {
    margin-bottom: 1.15rem;
}


.somago-president-page-kicker {
    margin:
        0
        0
        .85rem;

    color: #8ed5d2;

    font-size: .68rem;
    font-weight: 850;
    letter-spacing: .16em;
    text-transform: uppercase;
}


.somago-president-page-heading h1 {
    max-width: 11ch;
    margin: 0;

    color: #fff;

    font-size:
        clamp(3.25rem, 6.2vw, 6rem);

    font-weight: 630;
    letter-spacing: -.055em;
    line-height: .87;
}


.somago-president-page-heading h1 em {
    display: block;

    color: #d2a17d;

    font-family:
        var(--somago-serif);

    font-weight: 500;
}


/* ----------------------------------------------------------
   PARTIE DROITE
   ---------------------------------------------------------- */

.somago-president-page-intro {
    max-width: 34rem;

    padding-top:
        1.5rem;

    border-top:
        1px solid
        rgb(255 255 255 / 22%);
}


.somago-president-page-intro > p {
    margin: 0;

    color:
        rgb(255 255 255 / 76%);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(
            1rem,
            1.35vw,
            1.18rem
        );

    line-height: 1.7;
}


.somago-president-page-signature {
    display: flex;

    gap:
        .7rem;

    align-items: baseline;

    margin-top:
        1.75rem;

    color:
        rgb(255 255 255 / 58%);

    font-size:
        .64rem;

    font-weight: 800;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;
}


.somago-president-page-signature strong {
    color:
        #8ed5d2;

    font-size:
        .72rem;
}


/* ----------------------------------------------------------
   SUPPRESSION DU TITRE DUPLIQUE DANS LE CONTENU
   ---------------------------------------------------------- */

.somago-president-page
.somago-president-message-heading {
    display: none;
}


/*
 * Le composant avait reçu un padding spécifique lorsque
 * l'ancien hero avait été supprimé.
 *
 * Avec le nouveau hero autonome, on conserve seulement
 * une respiration courte avant la carte du message.
 */

.somago-president-page
.somago-component-output {
    padding-top:
        clamp(
            2.25rem,
            4vw,
            3.5rem
        );
}


.somago-president-page
.somago-president-message-full {
    padding-top: 0;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-president-page-hero-grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap:
            2.5rem;
    }

    .somago-president-page-intro {
        max-width:
            40rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-president-page-hero {
        padding:
            3rem
            0
            2.75rem;
    }

    .somago-president-page-hero-grid {
        gap:
            2rem;
    }

    .somago-president-page-heading h1 {
        max-width:
            none;

        font-size:
            clamp(
                3rem,
                15vw,
                4.5rem
            );
    }

    .somago-president-page-intro {
        padding-top:
            1.25rem;
    }

    .somago-president-page
    .somago-component-output {
        padding-top:
            2rem;
    }
}



/* ==========================================================
   SOMAGO_BUREAU_HERO_B9F1_20260819

   Hero premium autonome — Bureau exécutif.

   Référence visuelle :
   - Actualités
   - Médiathèque
   - Annuaire
   - Mot du Président

   L'ancien hero interne du layout bureau est masqué.
   Les profils restent entièrement inchangés.
   ========================================================== */


/* ----------------------------------------------------------
   CONTENEUR COMPOSANT
   ---------------------------------------------------------- */

.somago-component-output:has(.somago-bureau-page) {
    width: 100%;
    max-width: none;
    padding-top: 0;
}


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

.somago-bureau-page-hero {
    position: relative;
    overflow: hidden;

    padding:
        clamp(2.25rem, 3.4vw, 3.5rem)
        0
        clamp(2.25rem, 3.2vw, 3.25rem);

    color: #fff;

    background:
        linear-gradient(
            125deg,
            #071c2c 0%,
            #0d344b 58%,
            #175b70 100%
        );
}


.somago-bureau-page-hero::before {
    position: absolute;
    inset: 0;

    content: "";
    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent 0 64%,
            rgb(255 255 255 / 4%) 64% 64.1%,
            transparent 64.1%
        ),
        repeating-linear-gradient(
            90deg,
            transparent 0 calc(8.333% - 1px),
            rgb(255 255 255 / 3%)
                calc(8.333% - 1px)
                8.333%
        );
}


.somago-bureau-page-hero-grid {
    position: relative;
    z-index: 1;

    display: grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(18rem, .8fr);

    gap:
        clamp(2rem, 4.5vw, 4.5rem);

    align-items: end;
}


.somago-bureau-page-heading
.somago-editorial-label {
    margin-bottom:
        1.15rem;
}


.somago-bureau-page-kicker {
    margin:
        0
        0
        1rem;

    color:
        #8ed5d2;

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;
}


.somago-bureau-page-heading h1 {
    max-width:
        11ch;

    margin:
        0;

    color:
        #fff;

    font-size:
        clamp(3.25rem, 6.2vw, 6rem);

    font-weight:
        630;

    letter-spacing:
        -.055em;

    line-height:
        .87;

    text-wrap:
        balance;
}


.somago-bureau-page-heading h1 em {
    display:
        block;

    color:
        #d2a17d;

    font-family:
        var(--somago-serif);

    font-weight:
        500;

    font-style:
        normal;
}


.somago-bureau-page-intro {
    max-width:
        34rem;

    padding-top:
        1.5rem;

    border-top:
        1px solid
        rgb(255 255 255 / 22%);
}


.somago-bureau-page-intro p {
    margin:
        0;

    color:
        rgb(255 255 255 / 78%);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(.95rem, 1.2vw, 1.1rem);

    line-height:
        1.7;
}


.somago-bureau-page-intro > span {
    display:
        inline-block;

    margin-top:
        1.6rem;

    color:
        #8ed5d2;

    font-size:
        .66rem;

    font-weight:
        850;

    letter-spacing:
        .12em;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   MASQUAGE ANCIEN HERO INTERNE
   ---------------------------------------------------------- */

.somago-bureau-page
.somago-bureau-hero {
    display:
        none;
}


/* ----------------------------------------------------------
   REMONTEE DU CONTENU
   ---------------------------------------------------------- */

.somago-bureau-page {
    padding-top:
        clamp(3rem, 5vw, 5rem);
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-bureau-page-hero-grid {
        grid-template-columns:
            minmax(0, 1fr);

        gap:
            2.5rem;
    }

    .somago-bureau-page-intro {
        max-width:
            40rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-bureau-page-hero {
        padding:
            3rem
            0
            2.75rem;
    }

    .somago-bureau-page-hero-grid {
        gap:
            2rem;
    }

    .somago-bureau-page-heading h1 {
        max-width:
            none;

        font-size:
            clamp(
                3rem,
                15vw,
                4.5rem
            );
    }

    .somago-bureau-page-intro {
        padding-top:
            1.25rem;
    }

    .somago-bureau-page {
        padding-top:
            3rem;
    }
}



/* ==========================================================
   SOMAGO_GLOBAL_PREMIUM_HERO_U1F1_20260819

   Bandeau premium commun :
   - Recherche
   - Rendez-vous
   - Patient Mali
   - International
   - La SOMAGO

   Même famille visuelle et même hauteur que
   Actualités / Médiathèque / Bureau / Annuaire.
   ========================================================== */


.somago-global-page-hero {

    position:
        relative;

    overflow:
        hidden;

    padding:
        clamp(2.25rem, 3.4vw, 3.5rem)
        0
        clamp(2.25rem, 3.2vw, 3.25rem);

    color:
        #fff;

    background:
        linear-gradient(
            125deg,
            #071c2c 0%,
            #0d344b 58%,
            #175b70 100%
        );
}


.somago-global-page-hero::before {

    position:
        absolute;

    inset:
        0;

    content:
        "";

    pointer-events:
        none;

    background:

        linear-gradient(
            90deg,
            transparent 0 64%,
            rgb(255 255 255 / 4%) 64% 64.1%,
            transparent 64.1%
        ),

        repeating-linear-gradient(
            90deg,
            transparent 0 calc(8.333% - 1px),
            rgb(255 255 255 / 3%)
                calc(8.333% - 1px)
                8.333%
        );
}


.somago-global-page-hero-grid {

    position:
        relative;

    z-index:
        1;

    display:
        grid;

    grid-template-columns:
        minmax(0, 1.2fr)
        minmax(18rem, .8fr);

    gap:
        clamp(2rem, 4.5vw, 4.5rem);

    align-items:
        end;
}


.somago-global-page-heading
.somago-editorial-label {

    margin-bottom:
        1.15rem;
}


.somago-global-page-kicker {

    margin:
        0 0
        .8rem;

    color:
        #8ed5d2;

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .16em;

    text-transform:
        uppercase;
}


.somago-global-page-heading h1 {

    max-width:
        11ch;

    margin:
        0;

    color:
        #fff;

    font-size:
        clamp(3.25rem, 6.2vw, 6rem);

    font-weight:
        630;

    letter-spacing:
        -.055em;

    line-height:
        .88;
}


.somago-global-page-heading h1 em {

    display:
        block;

    color:
        #d2a17d;

    font-family:
        var(--somago-serif);

    font-style:
        normal;

    font-weight:
        500;
}


.somago-global-page-intro {

    max-width:
        34rem;

    padding-top:
        1.5rem;

    border-top:
        1px solid
        rgb(255 255 255 / 22%);
}


.somago-global-page-intro p {

    margin:
        0;

    color:
        rgb(255 255 255 / 76%);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(.98rem, 1.3vw, 1.15rem);

    line-height:
        1.7;
}


/* TABLETTE */

@media (max-width: 64rem) {

    .somago-global-page-hero {

        padding:
            3.25rem
            0
            3rem;
    }

    .somago-global-page-hero-grid {

        grid-template-columns:
            minmax(0, 1fr);

        gap:
            2.5rem;
    }

    .somago-global-page-intro {

        max-width:
            40rem;
    }
}


/* MOBILE */

@media (max-width: 42rem) {

    .somago-global-page-hero {

        padding:
            3rem
            0
            2.75rem;
    }

    .somago-global-page-hero-grid {

        gap:
            2rem;
    }

    .somago-global-page-heading h1 {

        max-width:
            none;

        font-size:
            clamp(
                3rem,
                16vw,
                4.5rem
            );
    }

    .somago-global-page-intro {

        padding-top:
            1.25rem;
    }
}



/* ==========================================================
   SOMAGO_DIRECTORY_PAGE_HERO_UNIFORM_U2F1_20260819

   IMPORTANT :
   Le bandeau visible de l'annuaire est
   .somago-directory-page-hero

   L'ancien .somago-directory-hero est interne au composant
   et déjà masqué.

   Objectif :
   - même hauteur visuelle que les autres pages premium ;
   - même rythme vertical ;
   - conserver le contenu et le moteur de recherche inchangés.
   ========================================================== */


/* ----------------------------------------------------------
   DESKTOP — hauteur commune des bandeaux premium
   ---------------------------------------------------------- */

.somago-directory-page-hero {
    padding:
        clamp(2.25rem, 3.4vw, 3.5rem)
        0
        clamp(2.25rem, 3.2vw, 3.25rem);
}


/* ----------------------------------------------------------
   GRILLE — éviter que le titre force artificiellement
   la hauteur du bandeau
   ---------------------------------------------------------- */

.somago-directory-page-hero-grid {
    gap:
        clamp(2rem, 4.5vw, 4.5rem);

    align-items:
        end;
}


/* ----------------------------------------------------------
   TITRE — même famille de proportions que les autres héros
   ---------------------------------------------------------- */

.somago-directory-page-heading h1 {
    max-width:
        11ch;

    margin:
        0;

    font-size:
        clamp(3.4rem, 6.4vw, 6rem);

    line-height:
        .87;

    letter-spacing:
        -.055em;
}


/*
 * Réduit le nombre de lignes.
 * "membres SOMAGO." reste dans une composition compacte.
 */

.somago-directory-page-heading h1 em {
    display:
        inline;
}


/* ----------------------------------------------------------
   LABEL / KICKER — rythme vertical compact
   ---------------------------------------------------------- */

.somago-directory-page-heading
.somago-editorial-label {
    margin-bottom:
        1.15rem;
}

.somago-directory-page-kicker {
    margin:
        0
        0
        .85rem;
}


/* ----------------------------------------------------------
   INTRO DROITE
   ---------------------------------------------------------- */

.somago-directory-page-intro {
    padding-top:
        1.35rem;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-directory-page-hero {
        padding:
            3rem
            0
            2.75rem;
    }

    .somago-directory-page-hero-grid {
        gap:
            2rem;
    }

    .somago-directory-page-heading h1 {
        max-width:
            12ch;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-directory-page-hero {
        padding:
            3rem
            0
            2.75rem;
    }

    .somago-directory-page-heading h1 {
        max-width:
            none;

        font-size:
            clamp(
                3rem,
                15vw,
                4.5rem
            );

        line-height:
            .9;
    }

    .somago-directory-page-heading h1 em {
        display:
            block;
    }

    .somago-directory-page-intro {
        padding-top:
            1.1rem;
    }
}



/* ==========================================================
   SOMAGO_HERO_TYPOGRAPHY_STANDARD_U2F1_20260819

   Norme typographique commune des bandeaux premium SOMAGO.

   Objectifs :
   - même échelle de titre ;
   - même graisse ;
   - même rythme vertical ;
   - même traitement cuivre / serif ;
   - suppression des italiques involontaires ;
   - même lisibilité des introductions à droite ;
   - conservation de chaque contenu et de chaque structure.
   ========================================================== */


/* ----------------------------------------------------------
   1. TITRES PRINCIPAUX — NORME COMMUNE
   ---------------------------------------------------------- */

.somago-news-page-heading h1,
.somago-media-page-heading h1,
.somago-events-heading h1,
.somago-contact-heading h1,
.somago-communiques-heading h1,
.somago-formation-page-heading h1,
.somago-formation-hero-copy h1,
.somago-directory-page-heading h1,
.somago-president-page-heading h1,
.somago-bureau-page-heading h1,
.somago-global-page-heading h1 {

    max-width:
        12ch;

    margin:
        0;

    color:
        #fff;

    font-family:
        var(--somago-sans);

    font-size:
        clamp(3.4rem, 6.2vw, 6rem);

    font-weight:
        630;

    letter-spacing:
        -.055em;

    line-height:
        .88;

    text-wrap:
        balance;
}


/* ----------------------------------------------------------
   2. PARTIE ACCENTUEE — SERIF CUIVRE COMMUN
   ---------------------------------------------------------- */

.somago-news-page-heading h1 em,
.somago-media-page-heading h1 em,
.somago-events-heading h1 em,
.somago-contact-heading h1 em,
.somago-communiques-heading h1 em,
.somago-formation-page-heading h1 em,
.somago-formation-hero-copy h1 em,
.somago-directory-page-heading h1 em,
.somago-president-page-heading h1 em,
.somago-bureau-page-heading h1 em,
.somago-global-page-heading h1 em {

    color:
        #d2a17d;

    font-family:
        var(--somago-serif);

    font-style:
        normal;

    font-weight:
        500;

    letter-spacing:
        -.035em;

    line-height:
        .9;
}


/*
 * Le retour de ligne reste contrôlé par le contenu de chaque
 * page. L'Annuaire conserve volontairement sa forme compacte.
 */

.somago-directory-page-heading h1 em {
    display:
        inline;
}


/* ----------------------------------------------------------
   3. LABEL EDITORIAL — MEME RYTHME
   ---------------------------------------------------------- */

.somago-news-page-heading .somago-editorial-label,
.somago-media-page-heading .somago-editorial-label,
.somago-events-heading .somago-editorial-label,
.somago-contact-heading .somago-editorial-label,
.somago-communiques-heading .somago-editorial-label,
.somago-formation-page-heading .somago-editorial-label,
.somago-directory-page-heading .somago-editorial-label,
.somago-president-page-heading .somago-editorial-label,
.somago-bureau-page-heading .somago-editorial-label,
.somago-global-page-heading .somago-editorial-label {

    margin-bottom:
        1.15rem;
}


/* ----------------------------------------------------------
   4. KICKERS — MEME TYPOGRAPHIE
   ---------------------------------------------------------- */

.somago-news-page-kicker,
.somago-media-page-kicker,
.somago-events-kicker,
.somago-contact-kicker,
.somago-communiques-kicker,
.somago-formation-page-kicker,
.somago-directory-page-kicker,
.somago-president-page-kicker,
.somago-bureau-page-kicker,
.somago-global-page-kicker {

    margin:
        0 0 .75rem;

    color:
        #91dbd7;

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .16em;

    line-height:
        1.35;

    text-transform:
        uppercase;
}


/* ----------------------------------------------------------
   5. INTRODUCTIONS DROITE — CONTRASTE COMMUN
   ---------------------------------------------------------- */

.somago-news-page-intro,
.somago-media-page-intro,
.somago-events-intro,
.somago-contact-hero-copy,
.somago-communiques-intro,
.somago-formation-hero-lead,
.somago-directory-page-intro,
.somago-president-page-intro,
.somago-bureau-page-intro,
.somago-global-page-intro {

    max-width:
        32rem;
}


/*
 * Les conteneurs disposant d'une vraie colonne droite
 * reçoivent le même repère horizontal.
 */

.somago-news-page-intro,
.somago-media-page-intro,
.somago-events-intro,
.somago-contact-hero-copy,
.somago-communiques-intro,
.somago-directory-page-intro,
.somago-president-page-intro,
.somago-bureau-page-intro,
.somago-global-page-intro {

    padding-top:
        1.35rem;

    border-top:
        1px solid rgb(255 255 255 / 24%);
}


/* Texte descriptif commun */

.somago-news-page-intro > p,
.somago-media-page-intro > p,
.somago-events-intro > p,
.somago-contact-hero-copy > p,
.somago-communiques-intro > p,
.somago-directory-page-intro > p,
.somago-directory-page-intro p,
.somago-president-page-intro > p,
.somago-president-page-intro p,
.somago-bureau-page-intro > p,
.somago-bureau-page-intro p,
.somago-global-page-intro > p,
.somago-global-page-intro p,
.somago-formation-hero-lead {

    color:
        rgb(255 255 255 / 84%) !important;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1rem, 1.3vw, 1.16rem) !important;

    font-weight:
        400;

    line-height:
        1.65 !important;
}


/* Contact avait encore une marge spécifique importante */

.somago-contact-hero-copy > p {

    margin:
        0 0 1.1rem;
}


/* ----------------------------------------------------------
   6. HAUTEUR DES BANDEAUX — SOCLE COMMUN
   ---------------------------------------------------------- */

.somago-news-page-hero,
.somago-media-page-hero,
.somago-events-hero,
.somago-contact-hero,
.somago-communiques-hero,
.somago-formation-hero,
.somago-directory-page-hero,
.somago-president-page-hero,
.somago-bureau-page-hero,
.somago-global-page-hero {

    padding-top:
        clamp(2.25rem, 3.4vw, 3.5rem);

    padding-bottom:
        clamp(2.25rem, 3.2vw, 3.25rem);
}


/* ----------------------------------------------------------
   7. TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-news-page-hero,
    .somago-media-page-hero,
    .somago-events-hero,
    .somago-contact-hero,
    .somago-communiques-hero,
    .somago-formation-hero,
    .somago-directory-page-hero,
    .somago-president-page-hero,
    .somago-bureau-page-hero,
    .somago-global-page-hero {

        padding:
            3rem 0 2.75rem;
    }

    .somago-news-page-heading h1,
    .somago-media-page-heading h1,
    .somago-events-heading h1,
    .somago-contact-heading h1,
    .somago-communiques-heading h1,
    .somago-formation-page-heading h1,
    .somago-formation-hero-copy h1,
    .somago-directory-page-heading h1,
    .somago-president-page-heading h1,
    .somago-bureau-page-heading h1,
    .somago-global-page-heading h1 {

        max-width:
            12ch;

        font-size:
            clamp(3rem, 9vw, 4.7rem);
    }
}


/* ----------------------------------------------------------
   8. MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-news-page-heading h1,
    .somago-media-page-heading h1,
    .somago-events-heading h1,
    .somago-contact-heading h1,
    .somago-communiques-heading h1,
    .somago-formation-page-heading h1,
    .somago-formation-hero-copy h1,
    .somago-directory-page-heading h1,
    .somago-president-page-heading h1,
    .somago-bureau-page-heading h1,
    .somago-global-page-heading h1 {

        max-width:
            none;

        font-size:
            clamp(2.85rem, 14vw, 4.25rem);

        line-height:
            .9;
    }

    .somago-news-page-heading h1 em,
    .somago-media-page-heading h1 em,
    .somago-events-heading h1 em,
    .somago-contact-heading h1 em,
    .somago-communiques-heading h1 em,
    .somago-formation-page-heading h1 em,
    .somago-formation-hero-copy h1 em,
    .somago-directory-page-heading h1 em,
    .somago-president-page-heading h1 em,
    .somago-bureau-page-heading h1 em,
    .somago-global-page-heading h1 em {

        line-height:
            .94;
    }
}



/* ==========================================================
   SOMAGO_HERO_POLISH_U2F2_20260819
   Annuaire / Formation / Contact
   ========================================================== */


/* ----------------------------------------------------------
   ANNUAIRE — TITRE STRICTEMENT SUR 2 LIGNES
   ---------------------------------------------------------- */

/*
 * Ligne 1 : Annuaire des
 * Ligne 2 : membres SOMAGO.
 *
 * On donne davantage de largeur au titre afin d'éviter
 * le retour automatique après "Annuaire".
 */

.somago-directory-page-heading h1 {
    max-width:
        15ch;
}


/*
 * Le segment accentué doit rester sur la même ligne.
 */

.somago-directory-page-heading h1 em {
    display:
        inline;

    white-space:
        nowrap;
}


/* ----------------------------------------------------------
   FORMATION — LISIBILITE DE LA DESCRIPTION
   ---------------------------------------------------------- */

/*
 * Le texte de Formation était encore hérité d'une ancienne
 * règle à faible opacité.
 *
 * On impose ici le même contraste réel que les autres
 * introductions des bandeaux premium.
 */

.somago-formation-hero-lead {
    color:
        rgb(255 255 255 / 86%) !important;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1rem, 1.3vw, 1.16rem) !important;

    font-weight:
        400;

    line-height:
        1.65 !important;

    opacity:
        1;
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-directory-page-heading h1 {
        max-width:
            none;
    }

    .somago-directory-page-heading h1 em {
        white-space:
            normal;
    }
}



/* ==========================================================
   SOMAGO_FORMATION_HERO_CONTRAST_U2F2_20260819

   Correction ciblée du contraste du texte descriptif
   dans le bandeau Formation.

   Le texte était visuellement plus sombre que celui
   des autres bandeaux premium malgré la norme globale.
   ========================================================== */

.somago-formation-hero .somago-formation-hero-lead {
    color:
        rgb(255 255 255 / 88%) !important;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1rem, 1.3vw, 1.16rem) !important;

    font-weight:
        400;

    line-height:
        1.65 !important;

    opacity:
        1;
}


/* Harmonisation du repère horizontal */

.somago-formation-hero-copy {
    max-width:
        32rem;
}



/* ==========================================================
   SOMAGO_FORMATION_REAL_INTRO_CONTRAST_U2F3_20260819

   Correction de la vraie description affichée dans le hero
   Formation.

   HTML réel :
   .somago-formation-page-intro > p

   Les anciennes corrections visaient
   .somago-formation-hero-lead, élément non utilisé dans
   la structure actuelle du bandeau.
   ========================================================== */

.somago-formation-hero
.somago-formation-page-intro {

    max-width:
        32rem;

    padding-top:
        1.35rem;

    border-top:
        1px solid rgb(255 255 255 / 24%);
}


.somago-formation-hero
.somago-formation-page-intro > p {

    margin:
        0;

    color:
        rgb(255 255 255 / 84%) !important;

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1rem, 1.3vw, 1.16rem) !important;

    font-weight:
        400;

    line-height:
        1.65 !important;

    opacity:
        1 !important;
}


@media (max-width: 64rem) {

    .somago-formation-hero
    .somago-formation-page-intro {

        max-width:
            40rem;
    }
}


@media (max-width: 42rem) {

    .somago-formation-hero
    .somago-formation-page-intro {

        padding-top:
            1.1rem;
    }
}



/* ==========================================================
   SOMAGO_APPOINTMENT_LANDING_R1F1_20260820

   Page générale /demander-un-rendez-vous

   Principe :
   - orientation institutionnelle ;
   - 3 parcours clairs ;
   - aucune apparence de plateforme hospitalière ;
   - formulaire réel conservé sur les profils spécialistes.
   ========================================================== */


/* ----------------------------------------------------------
   PAGE
   ---------------------------------------------------------- */

.somago-appointment-landing {
    --appointment-ink:
        #102f49;

    --appointment-text:
        #526878;

    --appointment-teal:
        #12856f;

    --appointment-line:
        rgb(16 47 73 / 12%);

    --appointment-soft:
        #f4f6f3;

    padding:
        clamp(4.5rem, 7vw, 7rem)
        0
        clamp(5rem, 8vw, 8rem);

    color:
        var(--appointment-ink);
}


/* ----------------------------------------------------------
   INTRODUCTION
   ---------------------------------------------------------- */

.somago-appointment-landing-intro {
    display:
        grid;

    grid-template-columns:
        minmax(8rem, .32fr)
        minmax(0, 1fr);

    gap:
        clamp(2rem, 6vw, 6rem);

    align-items:
        start;

    margin-bottom:
        clamp(4rem, 7vw, 7rem);
}


.somago-appointment-landing-index {
    display:
        flex;

    gap:
        .9rem;

    align-items:
        center;

    padding-top:
        .55rem;

    color:
        var(--appointment-ink);

    font-size:
        .66rem;

    font-weight:
        850;

    letter-spacing:
        .13em;

    text-transform:
        uppercase;
}


.somago-appointment-landing-index span {
    color:
        #c9784a;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;
}


.somago-appointment-landing-index::after {
    width:
        3.5rem;

    height:
        1px;

    content:
        "";

    background:
        var(--appointment-line);
}


.somago-appointment-landing-copy {
    max-width:
        58rem;
}


.somago-appointment-landing-copy
.somago-eyebrow {
    margin-bottom:
        1rem;
}


.somago-appointment-landing-copy h2 {
    max-width:
        18ch;

    margin:
        0;

    color:
        var(--appointment-ink);

    font-size:
        clamp(2.6rem, 5vw, 5rem);

    font-weight:
        630;

    letter-spacing:
        -.055em;

    line-height:
        .96;

    text-wrap:
        balance;
}


.somago-appointment-landing-copy h2 em {
    color:
        #12856f;

    font-family:
        var(--somago-serif);

    font-style:
        normal;

    font-weight:
        500;
}


.somago-appointment-landing-copy > p:last-child {
    max-width:
        44rem;

    margin:
        2rem 0 0;

    color:
        var(--appointment-text);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1.05rem, 1.4vw, 1.22rem);

    line-height:
        1.75;
}


/* ----------------------------------------------------------
   PARCOURS
   ---------------------------------------------------------- */

.somago-appointment-paths {
    border-top:
        1px solid
        var(--appointment-line);
}


.somago-appointment-path {
    display:
        grid;

    grid-template-columns:
        minmax(7rem, .3fr)
        minmax(0, 1fr);

    gap:
        clamp(2rem, 6vw, 6rem);

    padding:
        clamp(2.5rem, 4.5vw, 4.5rem)
        0;

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


.somago-appointment-path-number {
    color:
        #c9784a;

    font-family:
        ui-monospace,
        SFMono-Regular,
        Menlo,
        monospace;

    font-size:
        clamp(1.4rem, 2.2vw, 2rem);

    font-weight:
        500;

    letter-spacing:
        -.03em;
}


.somago-appointment-path-content {
    display:
        grid;

    grid-template-columns:
        minmax(16rem, .8fr)
        minmax(18rem, 1fr);

    column-gap:
        clamp(2.5rem, 6vw, 6rem);

    align-items:
        start;
}


.somago-appointment-path-kicker {
    grid-column:
        1;

    margin:
        0 0 .8rem;

    color:
        var(--appointment-teal);

    font-size:
        .68rem;

    font-weight:
        850;

    letter-spacing:
        .14em;

    text-transform:
        uppercase;
}


.somago-appointment-path h3 {
    grid-column:
        1;

    margin:
        0;

    color:
        var(--appointment-ink);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(2rem, 3.6vw, 3.6rem);

    font-weight:
        500;

    letter-spacing:
        -.04em;

    line-height:
        1;
}


.somago-appointment-path-content > p:not(
    .somago-appointment-path-kicker
) {
    grid-column:
        2;

    grid-row:
        1 / span 2;

    max-width:
        35rem;

    margin:
        0;

    color:
        var(--appointment-text);

    font-size:
        .98rem;

    line-height:
        1.75;
}


.somago-appointment-path-link {
    grid-column:
        2;

    display:
        flex;

    gap:
        1rem;

    align-items:
        center;

    justify-content:
        space-between;

    width:
        fit-content;

    min-width:
        min(100%, 19rem);

    margin-top:
        1.8rem;

    padding:
        .85rem 0;

    border-bottom:
        1px solid
        var(--appointment-ink);

    color:
        var(--appointment-ink);

    font-size:
        .76rem;

    font-weight:
        850;

    text-decoration:
        none;
}


.somago-appointment-path-link i {
    color:
        var(--appointment-teal);

    font-style:
        normal;

    transition:
        transform .2s ease;
}


.somago-appointment-path-link:hover i,
.somago-appointment-path-link:focus-visible i {
    transform:
        translateX(.25rem);
}


/* ----------------------------------------------------------
   NOTE INSTITUTIONNELLE
   ---------------------------------------------------------- */

.somago-appointment-institutional-note {
    display:
        grid;

    grid-template-columns:
        minmax(7rem, .3fr)
        minmax(0, 1fr);

    gap:
        clamp(2rem, 6vw, 6rem);

    margin-top:
        clamp(4rem, 7vw, 7rem);

    padding:
        clamp(2rem, 4vw, 3.5rem);

    background:
        var(--appointment-soft);
}


.somago-appointment-institutional-mark {
    color:
        rgb(16 47 73 / 20%);

    font-size:
        clamp(1.2rem, 2vw, 1.8rem);

    font-weight:
        850;

    letter-spacing:
        .15em;
}


.somago-appointment-institutional-note
> div:last-child {
    max-width:
        47rem;
}


.somago-appointment-institutional-note
> div:last-child
> p:last-child {
    margin:
        .8rem 0 0;

    color:
        var(--appointment-text);

    font-size:
        .92rem;

    line-height:
        1.75;
}


/* ----------------------------------------------------------
   TABLETTE
   ---------------------------------------------------------- */

@media (max-width: 64rem) {

    .somago-appointment-path-content {
        grid-template-columns:
            minmax(0, 1fr);
    }


    .somago-appointment-path-content
    > p:not(
        .somago-appointment-path-kicker
    ),
    .somago-appointment-path-link {
        grid-column:
            1;

        grid-row:
            auto;
    }


    .somago-appointment-path-content
    > p:not(
        .somago-appointment-path-kicker
    ) {
        margin-top:
            1.5rem;
    }
}


/* ----------------------------------------------------------
   MOBILE
   ---------------------------------------------------------- */

@media (max-width: 42rem) {

    .somago-appointment-landing {
        padding:
            3.5rem 0 5rem;
    }


    .somago-appointment-landing-intro,
    .somago-appointment-path,
    .somago-appointment-institutional-note {
        grid-template-columns:
            minmax(0, 1fr);

        gap:
            1.5rem;
    }


    .somago-appointment-landing-index::after {
        width:
            2rem;
    }


    .somago-appointment-landing-copy h2 {
        font-size:
            clamp(2.35rem, 11vw, 3.6rem);
    }


    .somago-appointment-path {
        padding:
            2.5rem 0;
    }


    .somago-appointment-path-number {
        font-size:
            1rem;
    }


    .somago-appointment-path h3 {
        font-size:
            clamp(2rem, 10vw, 3rem);
    }


    .somago-appointment-path-link {
        width:
            100%;

        min-width:
            0;
    }
}


/* ==========================================================
   SOMAGO_APPOINTMENT_LANDING_R2F1_20260820

   Recentrage société savante :
   - Trouver un spécialiste
   - Demander un rendez-vous
   - Orientation secondaire
   ========================================================== */


/* ----------------------------------------------------------
   NOTE D'ORIENTATION
   ---------------------------------------------------------- */

.somago-appointment-orientation-note h3 {
    max-width:
        24ch;

    margin:
        .45rem 0 1rem;

    color:
        var(--appointment-ink);

    font-family:
        var(--somago-serif);

    font-size:
        clamp(1.65rem, 2.5vw, 2.5rem);

    font-weight:
        500;

    letter-spacing:
        -.025em;

    line-height:
        1.08;
}


.somago-appointment-orientation-actions {
    display:
        flex;

    flex-wrap:
        wrap;

    gap:
        .8rem 1.5rem;

    margin-top:
        1.5rem;
}


.somago-appointment-orientation-actions a {
    display:
        inline-flex;

    gap:
        .65rem;

    align-items:
        center;

    padding-bottom:
        .35rem;

    border-bottom:
        1px solid
        rgb(16 47 73 / 28%);

    color:
        var(--appointment-ink);

    font-size:
        .78rem;

    font-weight:
        850;

    text-decoration:
        none;
}


.somago-appointment-orientation-actions a span {
    color:
        var(--appointment-teal);

    transition:
        transform .2s ease;
}


.somago-appointment-orientation-actions a:hover span,
.somago-appointment-orientation-actions a:focus-visible span {
    transform:
        translateX(.2rem);
}


.somago-appointment-society-note {
    display:
        block;

    max-width:
        52rem;

    margin-top:
        2rem;

    padding-top:
        1.25rem;

    border-top:
        1px solid
        rgb(16 47 73 / 10%);

    color:
        #71818c;

    font-size:
        .75rem;

    line-height:
        1.65;
}


/* ----------------------------------------------------------
   ACCUEIL — 2 SERVICES PRINCIPAUX
   ---------------------------------------------------------- */

.somago-service-links-r2 {
    grid-template-columns:
        repeat(
            2,
            minmax(0, 1fr)
        );
}


@media (max-width: 48rem) {

    .somago-service-links-r2 {
        grid-template-columns:
            minmax(0, 1fr);
    }

    .somago-appointment-orientation-actions {
        flex-direction:
            column;

        align-items:
            flex-start;
    }
}


/* ==========================================================
   SOMAGO_APPOINTMENT_RESPONSIVE_R2F3_20260820

   Finition mobile ciblée de la page Rendez-vous.

   Objectifs :
   - sécuriser la largeur du grand titre ;
   - améliorer la respiration verticale ;
   - conserver la hiérarchie éditoriale ;
   - améliorer la lecture du paragraphe ;
   - aucun changement desktop / tablette.
   ========================================================== */

@media (max-width: 42rem) {

    /*
     * Bloc principal :
     * légère réduction de l'espace vertical global.
     */

    .somago-appointment-landing {
        padding:
            3.15rem 0 4.5rem;
    }


    /*
     * Introduction :
     * le repère ORIENTATION reste proche du contenu
     * sans créer une grande zone vide.
     */

    .somago-appointment-landing-intro {
        gap:
            1.2rem;

        margin-bottom:
            3.25rem;
    }


    /*
     * Grand titre :
     * 11vw était visuellement trop agressif
     * sur les petits écrans.
     */

    .somago-appointment-landing-copy h2 {
        max-width:
            100%;

        font-size:
            clamp(
                2.25rem,
                9.4vw,
                3.25rem
            );

        line-height:
            .98;

        letter-spacing:
            -.05em;

        text-wrap:
            balance;
    }


    /*
     * Segment serif vert :
     * garde une composition naturelle
     * sans déborder de la largeur disponible.
     */

    .somago-appointment-landing-copy h2 em {
        display:
            inline;

        overflow-wrap:
            anywhere;
    }


    /*
     * Texte introductif :
     * un peu plus compact sur petit écran
     * mais toujours confortable à lire.
     */

    .somago-appointment-landing-copy
    > p:last-child {

        max-width:
            34rem;

        margin-top:
            1.55rem;

        font-size:
            1rem;

        line-height:
            1.7;
    }


    /*
     * Numéro + libellé ORIENTATION :
     * rythme légèrement plus serré.
     */

    .somago-appointment-landing-index {
        gap:
            .7rem;

        padding-top:
            0;
    }


    .somago-appointment-landing-index::after {
        width:
            1.75rem;
    }


    /*
     * Parcours :
     * maintien d'une belle densité verticale mobile.
     */

    .somago-appointment-path {
        gap:
            1.25rem;

        padding:
            2.25rem 0;
    }


    .somago-appointment-path h3 {
        font-size:
            clamp(
                2rem,
                9vw,
                2.8rem
            );

        line-height:
            1.02;
    }


    /*
     * Note d'orientation :
     * évite que la composition devienne trop massive.
     */

    .somago-appointment-institutional-note {
        gap:
            1.25rem;

        margin-top:
            3rem;

        padding:
            1.75rem;
    }


    .somago-appointment-orientation-note h3 {
        font-size:
            clamp(
                1.55rem,
                7vw,
                2rem
            );
    }

}


