.media-vision{background-image:linear-gradient(180deg,rgba(15,45,55,.01),rgba(15,45,55,.08)),url("../images/sections/vision-strategie.webp");background-position:center center}.media-methode{background-image:linear-gradient(180deg,rgba(15,45,55,.01),rgba(15,45,55,.08)),url("../images/sections/methode-terrain.webp");background-position:center}.media-experience{background-image:linear-gradient(180deg,rgba(15,45,55,.01),rgba(15,45,55,.08)),url("../images/sections/experience-terrain.webp");background-position:center center}.why-section{min-height:900px;display:grid;grid-template-columns:.82fr 1.18fr;background:var(--white)}.why-media{position:relative;isolation:isolate;overflow:hidden;min-height:760px;background:var(--petrol)}.why-media::before,.why-media::after{content:"";position:absolute;inset:0;background-image:url("../images/sections/pourquoi-nous.webp");background-position:center center;background-repeat:no-repeat}.why-media::before{z-index:-2;background-size:cover;filter:blur(24px);transform:scale(1.08);opacity:.72}.why-media::after{z-index:-1;background-size:100% auto;box-shadow:inset 0 0 0 999px rgba(15,45,55,.04)}.why-overlay-card{position:absolute;inset:auto 34px 34px;padding:clamp(28px,4vw,50px);color:var(--white);background:rgba(15,45,55,.88);border-radius:var(--radius-lg);backdrop-filter:blur(8px)}.why-overlay-card h2{color:var(--white);font-size:clamp(36px,4.3vw,62px)}.why-overlay-card p{max-width:670px;color:rgba(255,255,255,.82)}.why-content{padding:clamp(64px,7vw,106px)}.lead{color:var(--petrol);font-size:18px}.commitment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:36px}.commitment{padding:24px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--offwhite);transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition)}.commitment:hover{transform:translateY(-3px);border-color:rgba(135,149,126,.45);box-shadow:var(--shadow-soft)}.commitment h3,.network-block h3{margin:0;color:var(--petrol);font-family:var(--display);font-size:20px;font-weight:500}.commitment p{margin-bottom:0;font-size:14px}.network-block{margin-top:26px;padding:28px;color:var(--ink);border-radius:var(--radius-md);background:var(--sage-pale)}.network-block h3{color:var(--petrol)}.stats-band{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:26px}.stats-band>div{min-height:126px;display:grid;align-content:center;gap:4px;padding:18px;text-align:center;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--offwhite)}.stats-band strong{color:var(--petrol);font-family:var(--display);font-size:25px;font-weight:500}.stats-band span{font-size:10.5px;letter-spacing:.04em;text-transform:uppercase}.contact-section{min-height:820px;display:grid;grid-template-columns:1fr;position:relative;background:linear-gradient(90deg,rgba(15,45,55,.72),rgba(15,45,55,.38)),url("../images/contact/contact.webp") center/cover no-repeat}.contact-media{display:none}.contact-panel{display:grid;align-items:center;padding:var(--section-space) 24px;background:transparent}.contact-panel>div{width:min(760px,calc(100% - 32px));margin-inline:auto;padding:clamp(36px,6vw,68px);border:1px solid rgba(255,255,255,.42);border-radius:var(--radius-lg);background:rgba(246,244,241,.92);box-shadow:0 24px 70px rgba(15,45,55,.18);backdrop-filter:blur(14px)}.contact-panel h2{max-width:700px}
/* =========================================================
   PAGES LÉGALES
   ========================================================= */

.legal-hero {
    padding: 170px 0 80px;
    background: var(--petrol);
    color: var(--white);
}

.legal-hero .eyebrow {
    color: var(--sage);
}

.legal-hero h1 {
    max-width: 800px;
    margin: 12px 0 20px;
    color: var(--white);
    font-family: var(--display);
    font-size: clamp(42px, 6vw, 72px);
    font-weight: 500;
    line-height: 1.05;
}

.legal-intro {
    max-width: 680px;
    margin: 0;
    color: rgba(255,255,255,.75);
    font-size: 18px;
    line-height: 1.7;
}


.legal-section {
    padding: 90px 0 110px;
    background: var(--cream);
}

.legal-container {
    max-width: 1000px;
}

.legal-content {
    max-width: 820px;
}

.legal-block {
    padding: 0 0 42px;
    margin: 0 0 42px;
    border-bottom: 1px solid var(--line);
}

.legal-block:last-of-type {
    margin-bottom: 20px;
}

.legal-block h2 {
    margin: 0 0 20px;
    color: var(--petrol);
    font-family: var(--display);
    font-size: clamp(25px, 3vw, 32px);
    font-weight: 500;
}

.legal-block p {
    margin: 0 0 16px;
    color: var(--ink);
    font-size: 15px;
    line-height: 1.8;
}

.legal-block p:last-child {
    margin-bottom: 0;
}

.legal-block a {
    color: var(--petrol);
    text-decoration-color: var(--sage);
    text-underline-offset: 3px;
}

.legal-block a:hover {
    color: var(--sage-dark);
}

.legal-update {
    margin-top: 35px;
    color: var(--muted);
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
}


@media (max-width: 768px) {

    .legal-hero {
        padding: 135px 0 60px;
    }

    .legal-section {
        padding: 65px 0 80px;
    }

    .legal-block {
        padding-bottom: 32px;
        margin-bottom: 32px;
    }

}
/* =========================================================
   COOKIES
   ========================================================= */

.cookie-service-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.cookie-service-heading h2 {
    margin-top: 12px;
}

.cookie-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 11px;
    border: 1px solid var(--line);
    border-radius: 999px;

    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cookie-status-required,
.cookie-status-security {
    color: var(--petrol);
    background: var(--sage-pale);
}

.cookie-status-optional {
    color: var(--petrol);
    background: var(--sand-pale);
}


/* Préférences */

.cookie-preferences {
    margin-top: 30px;
}

.cookie-preference-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 25px;

    padding: 22px 0;

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

.cookie-preference-row:first-child {
    border-top: 1px solid var(--line);
}

.cookie-preference-row > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cookie-preference-row strong {
    color: var(--petrol);
    font-size: 15px;
}

.cookie-preference-row span {
    color: var(--muted);
    font-size: 13px;
}

.cookie-always-on {
    font-weight: 600;
    white-space: nowrap;
}


/* Switch */

.cookie-switch {
    position: relative;
    flex: 0 0 auto;
    width: 48px;
    height: 26px;
}

.cookie-switch input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.cookie-switch-slider {
    position: absolute;
    inset: 0;

    border-radius: 999px;
    background: rgba(15,45,55,.18);

    cursor: pointer;
    transition: .25s ease;
}

.cookie-switch-slider::before {
    content: "";

    position: absolute;
    top: 4px;
    left: 4px;

    width: 18px;
    height: 18px;

    border-radius: 50%;
    background: #fff;

    box-shadow: 0 2px 5px rgba(0,0,0,.15);

    transition: .25s ease;
}

.cookie-switch input:checked + .cookie-switch-slider {
    background: var(--sage-dark);
}

.cookie-switch input:checked + .cookie-switch-slider::before {
    transform: translateX(22px);
}

.cookie-switch input:focus-visible + .cookie-switch-slider {
    outline: 2px solid var(--petrol);
    outline-offset: 3px;
}

.cookie-preferences .button {
    margin-top: 28px;
}

.cookie-save-message {
    margin-top: 15px;
    color: var(--sage-dark);
    font-size: 13px;
    font-weight: 600;
}