.domain-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.domain-card{position:relative;overflow:hidden;min-height:430px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-soft);transition:transform var(--transition),box-shadow var(--transition)}.domain-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-card)}.domain-image{min-height:245px;background:linear-gradient(135deg,var(--sage-pale),var(--sand-pale));background-position:center;background-size:cover;transition:transform 700ms cubic-bezier(.22,.61,.36,1)}.domain-card:hover .domain-image{transform:scale(1.035)}.domain-copy{flex:1;padding:26px;color:var(--ink);background:var(--white)}.domain-copy h3,.mission-copy h3{margin:0;color:var(--petrol);font-family:var(--display);font-size:23px;font-weight:500}.domain-copy p{margin-bottom:0}.icon-placeholder{display:block;width:28px;height:28px;margin-bottom:16px;border:1px solid var(--sage-dark);border-radius:8px;transform:rotate(45deg)}.mission-list{display:grid;gap:30px}.mission-card{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--white);box-shadow:var(--shadow-soft)}.mission-card:nth-child(even) .mission-image{order:2}.mission-image{min-height:410px;background:linear-gradient(135deg,var(--sage-pale),var(--sand-pale));background-position:center;background-size:cover}.mission-copy{position:relative;padding:clamp(34px,5vw,68px);color:var(--ink);background:var(--white)}.mission-copy h3{padding-right:60px;font-size:clamp(28px,3vw,40px)}.mission-number{position:absolute;top:26px;right:30px;color:rgba(135,149,126,.6);font-family:var(--display);font-size:34px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:36px;padding-top:28px;border-top:1px solid var(--line)}
.metric{display:flex;flex-direction:column;align-items:center;text-align:center;min-height:150px;padding:8px}
.metric-value{display:flex;align-items:flex-end;justify-content:center;gap:4px;white-space:nowrap;line-height:1;margin-bottom:10px}
.metric-number{font-family:var(--display);font-size:clamp(24px,2.5vw,40px);font-weight:500;color:var(--petrol);letter-spacing:-.03em}
.metric-unit{font-size:.8rem;font-weight:700;color:var(--sage-dark);margin-bottom:.25rem;text-transform:uppercase}
.metric-divider{width:34px;height:1px;background:rgba(15,45,55,.15);margin-bottom:10px}
.metric-label{max-width:120px;min-height:42px;display:flex;align-items:flex-start;justify-content:center;color:var(--muted);font-size:10.5px;line-height:1.35;letter-spacing:.04em;text-transform:uppercase}
.process-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}.process-steps span{position:relative;padding-top:38px;color:var(--muted);font-size:11.5px;line-height:1.35;text-align:center}.process-steps span:before{content:"";position:absolute;top:4px;left:50%;width:22px;height:22px;border:1px solid var(--sage-dark);border-radius:7px;transform:translateX(-50%) rotate(45deg)}.wide-quote{max-width:980px;margin:62px auto 0}
/* Mission 02 : indicateurs longs en grille 2 x 2 */
.mission-card-group .metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 34px 30px;
}

.mission-card-group .metric {
    min-width: 0;
    min-height: 135px;
}

.mission-card-group .metric-number {
    font-size: 34px;
}

.mission-card-group .metric-label {
    max-width: 190px;
}


/* Mobile */
@media (max-width: 520px) {
    .mission-card-group .metrics {
        grid-template-columns: 1fr;
    }
}
.domain-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    margin-top: 22px;

    color: #0f2d37;
    text-decoration: none;

    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.domain-link span {
    transition: transform .2s ease;
}

.domain-link:hover span {
    transform: translateX(4px);
}
.domain-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;

    margin-top: 22px;
}

.domain-links .domain-link {
    margin-top: 0;
}