/* ── PRESENTATION.CSS ── */

.mission{padding:clamp(96px,12vw,160px) clamp(16px,4vw,56px);max-width:900px;margin:0 auto;}
.mission h2{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin-bottom:28px;text-wrap:balance;}
/* :not(.mission-conviction) — cette citation porte sa propre couleur dans
   common.css ; sans l'exclusion, cette règle plus spécifique l'écrasait
   et la ramenait à 4,36:1. */
.mission p:not(.mission-conviction){color:var(--muted);line-height:1.65;font-size:1rem;margin-bottom:14px;}

/* ── TIMELINE ── */
.timeline-section{background:var(--cream);padding:clamp(96px,12vw,160px) clamp(16px,4vw,56px);}
.timeline-inner{max-width:900px;margin:0 auto;}
.timeline-inner h2{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin-bottom:64px;text-wrap:balance;}
.timeline{position:relative;display:flex;flex-direction:column;gap:0;}
.timeline::before{content:'';position:absolute;left:32px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--teal),var(--sea));opacity:.18;transform:scaleY(0);transform-origin:top;transition:transform .8s var(--ease);}
.timeline.revealed::before{transform:scaleY(1);}
@media(prefers-reduced-motion:reduce){.timeline::before{transform:none;transition:none;}}
.tl-item{display:flex;gap:32px;padding-bottom:44px;}
.tl-item:last-child{padding-bottom:0;}
.tl-dot{flex-shrink:0;width:66px;height:66px;border-radius:50%;background:var(--teal);color:white;display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-weight:700;font-size:.76rem;text-align:center;line-height:1.2;position:relative;z-index:1;box-shadow:0 4px 20px color-mix(in srgb,var(--teal) 28%,transparent);}
.tl-content{padding-top:16px;}
.tl-content h3{font-size:1rem;color:var(--teal-ink);margin-bottom:8px;}
.tl-content p{font-size:1rem;color:var(--muted);line-height:1.65;}

/* ── VALUES ── */
.values-section{padding:clamp(96px,12vw,160px) clamp(16px,4vw,56px);}
.values-inner{max-width:1100px;margin:0 auto;}
.values-inner h2{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin-bottom:60px;text-wrap:balance;}
/* 4 valeurs : 2 × 2, puis 1 (en auto-fill, 3 + 1 orpheline ; en 4 colonnes,
   des textes de 6 à 9 lignes sur 200 px). */
.values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.value-card{--ac:var(--teal);background:var(--cream);border-radius:24px;padding:40px 36px;border:1px solid color-mix(in srgb,var(--ink-fixed) 6%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 8px 24px color-mix(in srgb,var(--ink-fixed) 6%,transparent);border-top:3px solid var(--ac);transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
.value-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 22px 46px color-mix(in srgb,var(--ac) 16%,transparent);}
.value-card:nth-child(2){--ac:var(--sea);}
.value-card:nth-child(3){--ac:var(--coral);}
.value-card:nth-child(4){--ac:var(--insertion);}
.value-icon{font-size:2rem;margin-bottom:18px;color:var(--ac);display:inline-flex;line-height:1;transition:transform .45s var(--ease);}
.value-icon svg{width:1.4em;height:1.4em;stroke-width:1.75;}
.value-card:hover .value-icon{transform:scale(1.08);}
.value-card h3{font-size:1.05rem;color:var(--ink);margin-bottom:10px;}
.value-card p{font-size:1rem;color:var(--muted);line-height:1.65;}

/* ── FIGURES ── */
.figures-section{background:var(--cream);padding:clamp(96px,12vw,160px) clamp(16px,4vw,56px);}
.figures-inner{max-width:1100px;margin:0 auto;}
.figures-inner h2{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin-bottom:60px;text-wrap:balance;}
.figures-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.figure-card{--ac:var(--teal);background:var(--sand);border-radius:22px;padding:40px 28px;text-align:center;border:1px solid color-mix(in srgb,var(--ink-fixed) 6%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.3);border-top:3px solid var(--ac);transition:transform .45s var(--ease),box-shadow .45s var(--ease);}
.figure-card:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.4),0 16px 34px color-mix(in srgb,var(--ac) 14%,transparent);}
.figure-card:nth-child(2){--ac:var(--sea);}
.figure-card:nth-child(3){--ac:var(--coral);}
.figure-card:nth-child(4){--ac:var(--insertion);}
.figure-num{font-family:'Fraunces',serif;font-size:3rem;font-weight:900;color:var(--ac);line-height:1;font-variant-numeric:tabular-nums;transition:transform .45s var(--ease);}
.figure-card:hover .figure-num{transform:scale(1.05);}
/* Sea brut sur sable (2,2:1 en clair) et violet brut sur fond sombre (2,3:1) :
   variantes -ink, qui s'inversent avec la carte. */
.figure-card:nth-child(2) .figure-num{color:var(--sea-ink);}
.figure-card:nth-child(4) .figure-num{color:var(--insertion-ink);}
.figure-lbl{font-size:.9rem;color:var(--muted);margin-top:8px;}
@media(max-width:960px){.figures-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:400px){.figures-grid{grid-template-columns:1fr 1fr;}}

/* ── CTA EQUIPE ── */
.cta-equipe{background:var(--ink-fixed);color:white;padding:clamp(96px,12vw,160px) clamp(16px,4vw,56px);text-align:center;position:relative;overflow:hidden;}
.cta-equipe::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 30% 50%,color-mix(in srgb,var(--teal) 15%,transparent),transparent 60%);}
.cta-equipe h2{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.03em;line-height:1.05;margin-bottom:18px;position:relative;z-index:1;text-wrap:balance;}
.cta-equipe p{color:rgba(255,255,255,.6);margin-bottom:28px;position:relative;z-index:1;font-weight:300;}
/* Pas de pastille flèche : le libellé « Découvrir l'équipe → » porte déjà la sienne (double flèche). */
.cta-equipe a{display:inline-flex;align-items:center;gap:12px;background:white;color:var(--ink-fixed);padding:15px 28px;border-radius:999px;font-weight:600;font-size:.95rem;transition:transform .35s var(--ease-spring),box-shadow .35s var(--ease),opacity .15s;font-family:'Outfit',sans-serif;position:relative;z-index:1;box-shadow:0 6px 20px rgba(0,0,0,.22);}
.cta-equipe a:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(0,0,0,.32);}
.cta-equipe a:active{transform:translateY(0) scale(.98);opacity:.92;}

@media(max-width:600px){.values-grid{grid-template-columns:1fr;}}

/* ── PRESIDENTE ── */
.presidente-section{background:var(--cream);padding:clamp(96px,12vw,160px) clamp(16px,4vw,56px);}
.presidente-inner{max-width:820px;margin:0 auto;}
.presidente-inner h2{font-family:'Fraunces',serif;font-style:italic;font-weight:600;font-size:clamp(2rem,4vw,3.25rem);letter-spacing:-.03em;line-height:1.05;color:var(--ink);margin-bottom:40px;text-wrap:balance;}
.presidente-body p{color:var(--muted);line-height:1.65;font-size:1rem;margin-bottom:18px;max-width:68ch;}
.presidente-body p:last-child{margin-bottom:0;}
.presidente-body strong{color:var(--ink);font-weight:600;}
.presidente-sign{margin-top:32px;padding-top:24px;border-top:1px solid rgba(0,0,0,.08);display:flex;flex-direction:column;gap:2px;}
.sign-name{font-family:'Fraunces',serif;font-weight:700;color:var(--ink);font-size:1.05rem;letter-spacing:.01em;}
.sign-role{font-size:.9rem;color:var(--muted);font-style:italic;}
