/* ============================================================
   Patrick Alleaume — feuille de style du site
   Couleurs relevées sur l'ancien site (Hostinger Website Builder) :
   bleu nuit des titres et du pied de page, turquoise de la voile du logo,
   beige des cartes, orange et brun des cartes de l'accueil.
   ============================================================ */

/* ---------- Police Lato (hébergée sur le site, licence OFL) ---------- */
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/lato-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("../fonts/lato-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("../fonts/lato-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("../fonts/lato-700-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("../fonts/lato-400-italique-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 400; font-display: swap;
  src: url("../fonts/lato-400-italique-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 700; font-display: swap;
  src: url("../fonts/lato-700-italique-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Lato"; font-style: italic; font-weight: 700; font-display: swap;
  src: url("../fonts/lato-700-italique-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* ---------- Couleurs et mesures ---------- */
:root {
  --bleu-nuit: #020873;        /* titres, boutons, pied de page */
  --bleu-nuit-fonce: #020547;  /* survol des boutons */
  --turquoise: #4ac9d0;        /* voile du logo, dégradé de l'accueil, chiffres */
  --turquoise-texte: #137a80;  /* turquoise assombri pour les petits textes (lisibilité) */
  --beige: #f2e6d0;            /* cartes de l'accueil */
  --beige-fond: #f3ead1;       /* section « Mes activités » */
  --bleu-clair: #c7d7ec;       /* section « Joyeuse année » */
  --orange: #bf5b04;           /* titres des cartes de l'accueil */
  --brun: #400101;             /* texte des cartes, boutons « Consulter » */
  --texte: #0d141a;
  --gris: #56585e;
  --bordure: #b8c0cc;
  --blanc: #fff;
  --largeur: 1224px;
  --gouttiere: 16px;
  --rayon: 16px;
  --section: clamp(48px, 7vw, 80px);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body {
  margin: 0;
  font-family: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--texte);
  background: var(--blanc);
  overflow-wrap: break-word;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--bleu-nuit); text-underline-offset: 3px; }
a:hover { color: var(--bleu-nuit-fonce); }
h1, h2, h3, h4, h5, h6 { font-weight: 700; line-height: 1.3; margin: 0 0 16px; color: var(--texte); }
p { margin: 0 0 12px; }
ul { margin: 0 0 12px; padding-left: 1.4em; }
li { margin-bottom: 4px; }
li > p { margin: 0; }
strong { font-weight: 700; }
:focus-visible { outline: 3px solid var(--turquoise); outline-offset: 2px; }

.visuellement-cache {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.aller-contenu {
  position: absolute; left: 16px; top: -60px; z-index: 100;
  background: var(--bleu-nuit); color: var(--blanc); padding: 10px 18px; border-radius: 999px; text-decoration: none;
}
.aller-contenu:focus { top: 12px; color: var(--blanc); }

.conteneur { width: min(var(--largeur), 100% - 2 * var(--gouttiere)); margin-inline: auto; }
.conteneur--etroit { width: min(812px, 100% - 2 * var(--gouttiere)); margin-inline: auto; }
.section { padding-block: var(--section); }
.centre { text-align: center; }
.sans-haut { padding-top: 0; }
.espace-bas { height: var(--section); }
.suite-articles { margin-top: 40px; }
.gris, .texte-gris p, .texte-gris li { color: var(--gris); }
.titre-section { font-size: clamp(32px, 4.2vw, 48px); }
.titre-moyen { font-size: clamp(24px, 3vw, 40px); }
.sous-titre { font-size: clamp(20px, 2.2vw, 26px); }
.intertitre { font-size: 18px; }
.image-arrondie { border-radius: var(--rayon); }

/* ---------- Boutons (pilules, comme sur l'ancien site) ---------- */
.bouton {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 44px; padding: 10px 40px; border-radius: 999px; border: 1px solid transparent;
  font: inherit; font-size: 16px; line-height: 1.2; text-align: center; text-decoration: none; cursor: pointer;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.bouton .icone { width: 18px; height: 18px; }
.bouton--nuit { background: var(--bleu-nuit); color: var(--blanc); border-color: var(--blanc); }
.bouton--nuit:hover { background: var(--bleu-nuit-fonce); color: var(--blanc); }
.bouton--brun { background: var(--brun); color: var(--blanc); border-color: var(--brun); }
.bouton--brun:hover { background: var(--blanc); color: var(--brun); }
.bouton--blanc { background: var(--blanc); color: #000; }
.bouton--blanc:hover { background: #f0f0f0; color: #000; }
.bouton--contour { background: transparent; color: var(--blanc); border-color: var(--blanc); }
.bouton--contour:hover { background: rgba(255, 255, 255, .15); color: var(--blanc); }
.bouton--turquoise { background: var(--turquoise); color: var(--bleu-nuit); border-color: var(--turquoise); font-weight: 700; }
.bouton--turquoise:hover { background: #3bb4bb; border-color: #3bb4bb; color: var(--bleu-nuit-fonce); }
.bouton--noir { background: #000; color: var(--blanc); }
.bouton--noir:hover { background: #1d1e20; color: var(--blanc); }

/* ---------- En-tête et menu ---------- */
.entete { background: var(--blanc); position: relative; z-index: 20; }
.entete__interieur {
  width: min(1240px, 100% - 2 * var(--gouttiere)); margin-inline: auto;
  min-height: 163px; display: flex; align-items: center; justify-content: space-between; gap: 32px;
}
.entete__logo { display: block; flex: 0 0 auto; }
.entete__logo img { width: 278px; height: auto; }
.entete__bouton-menu { display: none; }
.menu__liste { display: flex; align-items: center; gap: 32px; list-style: none; margin: 0; padding: 0; }
.menu__liste > li { margin: 0; position: relative; }
.menu__lien, .menu__deroulant {
  font: inherit; font-size: 16px; color: var(--texte); text-decoration: none; background: none; border: 0;
  padding: 6px 0; cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
}
.menu__lien:hover, .menu__deroulant:hover { color: var(--bleu-nuit); text-decoration: underline; }
.menu__lien[aria-current="page"], .menu__lien[data-actif], .menu__groupe.est-actif > .menu__deroulant {
  text-decoration: underline; text-decoration-thickness: 1px;
}
.icone { width: 24px; height: 24px; flex: 0 0 auto; }
.icone--chevron { width: 16px; height: 16px; transition: transform .2s ease; }
.menu__deroulant[aria-expanded="true"] .icone--chevron { transform: rotate(180deg); }
.sous-menu {
  list-style: none; margin: 0; padding: 8px 0; position: absolute; left: -16px; top: calc(100% + 8px); min-width: 300px;
  background: var(--blanc); border-radius: 8px; box-shadow: 0 10px 30px rgba(13, 20, 26, .14); display: none;
}
.sous-menu li { margin: 0; }
.sous-menu a { display: block; padding: 10px 20px; color: var(--texte); text-decoration: none; }
.sous-menu a:hover, .sous-menu a[aria-current="page"] { background: var(--beige-fond); color: var(--bleu-nuit); }
.sous-menu a[aria-current="page"] { font-weight: 700; }
.menu__groupe.est-ouvert .sous-menu { display: block; }

@media (max-width: 1000px) {
  .entete__interieur { min-height: 0; padding-block: 24px; flex-wrap: wrap; }
  .entete__logo img { width: 174px; }
  .entete__bouton-menu {
    display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px;
    border: 0; border-radius: 50%; background: transparent; color: var(--texte); cursor: pointer;
  }
  .entete__bouton-menu .icone--fermer, .entete.menu-ouvert .entete__bouton-menu .icone--ouvrir { display: none; }
  .entete.menu-ouvert .entete__bouton-menu .icone--fermer { display: block; }
  .menu { display: none; width: 100%; }
  .entete.menu-ouvert .menu { display: block; }
  .menu__liste { flex-direction: column; align-items: flex-end; gap: 4px; padding-top: 8px; }
  .menu__liste > li { text-align: right; width: 100%; }
  .menu__lien, .menu__deroulant { padding: 10px 0; justify-content: flex-end; font-size: 18px; }
  .sous-menu { position: static; box-shadow: none; min-width: 0; padding: 0 0 8px; background: transparent; }
  .sous-menu a { padding: 8px 0; text-align: right; }
  .sous-menu a:hover, .sous-menu a[aria-current="page"] { background: transparent; }
}

/* ---------- Pied de page ---------- */
.pied { background: var(--bleu-nuit); color: var(--blanc); padding: 30px 0 28px; }
.pied a { color: var(--blanc); }
.pied__interieur {
  width: min(var(--largeur), 100% - 2 * var(--gouttiere)); margin-inline: auto;
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px 32px;
}
.pied__titre { font-size: 26px; font-weight: 700; margin: 0 0 10px; }
.pied__accroche { font-size: 14px; margin: 0 0 14px; }
.pied__linkedin { display: inline-flex; width: 49px; height: 49px; color: var(--blanc); }
.pied__linkedin svg { width: 49px; height: 49px; }
.pied__linkedin:hover { color: var(--turquoise); }
.pied__coordonnees { display: grid; grid-template-columns: auto 1fr; gap: 6px 48px; align-content: start; padding-top: 10px; }
.pied__bloc p { margin: 0; }
.pied__etiquette { font-size: 14px; font-weight: 700; text-transform: uppercase; margin-bottom: 14px !important; }
.pied__bloc a { text-decoration: none; }
.pied__bloc a:hover { text-decoration: underline; }
.pied__adresse { grid-column: 1 / -1; margin: 22px 0 0; }
.pied__mentions { grid-column: 1 / -1; font-size: 14px; margin: 0; }
@media (max-width: 760px) {
  .pied { padding: 40px 0 32px; }
  .pied__interieur { grid-template-columns: 1fr; }
  .pied__coordonnees { grid-template-columns: 1fr; gap: 18px; padding-top: 0; }
  .pied__adresse { margin-top: 0; }
}

/* ---------- Accueil : bandeau d'ouverture ---------- */
.ouverture {
  background: linear-gradient(0deg, var(--turquoise) 0%, var(--blanc) 100%);
  padding: 80px 0 72px; text-align: center;
}
.ouverture h1 { color: var(--bleu-nuit); font-size: clamp(32px, 4.2vw, 48px); max-width: 864px; margin: 0 auto 24px; }
.ouverture__accroche { margin: 0 0 32px; }
.cartes-formes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 80px 0 72px; text-align: center; }
.carte-forme {
  min-height: 169px; padding: 34px 44px 26px; background-repeat: no-repeat; background-size: 100% 100%;
  display: flex; flex-direction: column; align-items: center;
}
.carte-forme h2 { color: var(--orange); font-size: 18px; margin-bottom: 14px; }
.carte-forme p { color: var(--brun); margin: 0; }
.carte-forme--1 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath fill='%23f2e6d0' d='M0 100C0 44.7715 44.7715 0 100 0C155.228 0 200 44.7715 200 100V200H0V100Z'/%3E%3C/svg%3E"); }
.carte-forme--2 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath fill='%23f2e6d0' d='M121.089 0C174.339 0 200 65.9669 200 126.582C200 171.887 160.89 200 121.089 200C67.5113 200 0 187.57 0 126.582C0 53.4983 56.886 0 121.089 0Z'/%3E%3C/svg%3E"); }
.carte-forme--3 { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' preserveAspectRatio='none'%3E%3Cpath fill='%23f2e6d0' d='M0 0H113.333C161.198 0 200 38.802 200 86.6667V200H86.6667C38.802 200 0 161.198 0 113.333V0Z'/%3E%3C/svg%3E"); }
.portrait { display: flex; align-items: center; justify-content: center; gap: clamp(32px, 7vw, 90px); text-align: left; }
.portrait img { width: 317px; height: 317px; border-radius: 50%; object-fit: cover; flex: 0 0 auto; }
.portrait__nom { font-size: clamp(32px, 4.2vw, 48px); margin: 0 0 4px; }
.portrait__titre { font-size: clamp(20px, 2.2vw, 26px); margin: 0; }
@media (max-width: 900px) {
  .ouverture { padding-top: 40px; }
  .cartes-formes { grid-template-columns: 1fr; max-width: 420px; margin: 48px auto; gap: 16px; }
  .portrait { flex-direction: column; text-align: center; gap: 20px; }
  .portrait img { width: min(317px, 80vw); height: auto; aspect-ratio: 1; }
}

/* ---------- Accueil : votre espace de coaching ---------- */
.espace__haut { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-bottom: 40px; }
.espace__haut h2 { max-width: 503px; }
.chiffres { display: flex; gap: 56px; margin-top: 28px; }
.chiffres__nombre { font-size: clamp(32px, 4.2vw, 48px); font-weight: 700; line-height: 1.3; color: var(--turquoise); margin: 0; }
.chiffres__libelle { color: var(--gris); margin: 0; }
.image-large { width: 100%; aspect-ratio: 1224 / 424; object-fit: cover; border-radius: var(--rayon); }
@media (max-width: 760px) {
  .espace__haut { grid-template-columns: 1fr; gap: 12px; margin-bottom: 24px; }
  .chiffres { gap: 40px; }
  .image-large { aspect-ratio: 328 / 224; }
}

/* ---------- Accueil : « Joyeuse année » ---------- */
.annee { background: var(--bleu-clair); }
.annee__image { width: min(727px, 100%); aspect-ratio: 727 / 496; object-fit: cover; margin: 0 auto 48px; border-radius: var(--rayon); }
.annee__texte p { color: #000; }
.annee__signature { font-weight: 700; }

/* ---------- Accueil : mes activités ---------- */
.activites { background: var(--beige-fond); }
.activites__intro { max-width: 862px; margin: 0 auto 48px; color: var(--gris); }
.grille-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.carte-activite { text-align: center; display: flex; flex-direction: column; align-items: center; }
.carte-activite img { width: 100%; aspect-ratio: 400 / 280; object-fit: cover; border-radius: var(--rayon); margin-bottom: 24px; }
.carte-activite h3 { font-size: 18px; margin-bottom: 8px; }
.carte-activite p { color: var(--gris); max-width: 351px; margin-bottom: 28px; flex: 1 0 auto; }
@media (max-width: 900px) {
  .grille-3 { grid-template-columns: 1fr; gap: 48px; max-width: 480px; margin-inline: auto; }
}

/* ---------- Accueil : « Je contacte Patrick Alleaume » ---------- */
.contacter { position: relative; color: var(--blanc); min-height: 485px; display: flex; align-items: center; overflow: hidden; }
.contacter__fond { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.contacter::before {
  content: ""; position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, rgba(2, 8, 115, .55) 0%, rgba(2, 8, 115, .25) 55%, rgba(2, 8, 115, 0) 100%);
}
.contacter .conteneur { position: relative; z-index: 2; }
.contacter h2 { color: var(--blanc); font-size: clamp(36px, 5.2vw, 64px); margin-bottom: 8px; text-shadow: 0 2px 12px rgba(0, 0, 0, .35); }
.contacter p { font-size: 18px; margin-bottom: 32px; text-shadow: 0 1px 6px rgba(0, 0, 0, .4); }
.contacter__boutons { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 760px) { .contacter { min-height: 360px; } }

/* ---------- Blog : cartes d'articles ---------- */
.grille-articles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.carte-article { display: flex; flex-direction: column; }
.carte-article__image { display: block; margin-bottom: 16px; background: var(--beige-fond); border-radius: 8px; overflow: hidden; }
.carte-article__image img { width: 100%; aspect-ratio: 290 / 190; object-fit: cover; transition: transform .3s ease; }
.carte-article--portrait .carte-article__image img { object-fit: contain; }
.carte-article__image:hover img { transform: scale(1.03); }
.carte-article__titre { font-size: 16px; margin-bottom: 8px; }
.carte-article__titre a { color: var(--texte); text-decoration: none; }
.carte-article__titre a:hover { color: var(--bleu-nuit); text-decoration: underline; }
.carte-article__resume { color: var(--gris); font-size: 15px; margin-bottom: 8px; }
.carte-article__auteur { font-size: 14px; font-weight: 700; color: var(--texte); margin-top: auto; }
.lien-suite { display: inline-flex; align-items: center; gap: 8px; font-weight: 700; text-decoration: none; }
.lien-suite:hover { text-decoration: underline; }
.lien-suite .icone { width: 18px; height: 18px; }
@media (max-width: 1100px) { .grille-articles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .grille-articles { grid-template-columns: 1fr; } }

/* ---------- Formulaires ---------- */
.formulaire { display: grid; gap: 15px; text-align: left; }
.formulaire__champ { display: grid; gap: 6px; }
.formulaire label { font-size: 14px; color: #000; }
.formulaire input[type="text"], .formulaire input[type="email"], .formulaire textarea {
  width: 100%; font: inherit; font-size: 16px; color: #000; background: var(--blanc);
  border: 1px solid var(--bordure); border-radius: 10px; padding: 12px 16px;
}
.formulaire textarea { min-height: 140px; resize: vertical; }
.formulaire input:hover, .formulaire textarea:hover { border-color: #000; }
.formulaire input:focus, .formulaire textarea:focus { outline: 3px solid rgba(74, 201, 208, .55); outline-offset: 0; border-color: var(--bleu-nuit); }
.formulaire [aria-invalid="true"] { border-color: #b3261e; }
.formulaire__erreur { color: #b3261e; font-size: 14px; margin: 0; }
.formulaire__alerte { background: #fdecea; color: #6d1a14; border-radius: 10px; padding: 12px 16px; margin: 0; }
.formulaire__succes { background: #e6f6f7; color: #0b4d52; border-radius: 10px; padding: 14px 18px; margin: 0; font-weight: 700; }
.formulaire__bouton { justify-self: center; }
.formulaire__bouton--gauche { justify-self: start; }
.formulaire__note { font-size: 13px; color: var(--gris); margin: 0; }
.formulaire__piege { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.rejoindre .formulaire { max-width: 503px; margin: 32px auto 0; }

/* ---------- Pages intérieures : titre et bandeau ---------- */
.titre-page { padding: 80px 0 40px; text-align: center; }
.titre-page h1 { font-size: clamp(32px, 4.2vw, 48px); margin-bottom: 20px; }
.titre-page p { color: var(--gris); max-width: 606px; margin: 0 auto; }
.bandeau { width: 100%; height: clamp(140px, 22vw, 303px); object-fit: cover; }
.contenu p, .contenu li { color: var(--gris); }
.contenu h2 { font-size: clamp(20px, 2.2vw, 26px); margin-top: 8px; }
.contenu h2:not(:first-child) { margin-top: 48px; }
.contenu h3 { font-size: 18px; margin-top: 28px; }
.contenu .texte-fonce p, .contenu .texte-fonce li { color: var(--texte); }
.contenu u { text-decoration-thickness: 1px; }

/* Coaching du dirigeant */
.choisir { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px; margin: 56px 0 24px; }
.choisir h2 { margin: 0; }
.choisir img { width: min(480px, 40vw); }
@media (max-width: 760px) { .choisir { grid-template-columns: 1fr; } .choisir img { width: min(328px, 100%); } }

/* Formation, développement du manager */
.illustration { margin: 40px auto; width: min(480px, 100%); }
.illustration img { width: 100%; border-radius: var(--rayon); }
.programme p { margin-bottom: 6px; }
.fiches { display: flex; flex-wrap: wrap; gap: 12px; list-style: none; padding: 0; margin: 16px 0 0; }
.fiches a { display: inline-flex; align-items: center; gap: 8px; }

/* Formation Psycoach : modules */
.modules { display: grid; grid-template-columns: repeat(3, 1fr); gap: 48px 12px; margin-top: 40px; }
.module img { width: 100%; aspect-ratio: 400 / 280; object-fit: cover; border-radius: var(--rayon); margin-bottom: 16px; }
.module h3 { font-size: 20px; margin-bottom: 10px; }
.module li { color: var(--texte); font-size: 15px; }
@media (max-width: 900px) { .modules { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .modules { grid-template-columns: 1fr; } }

/* À propos */
.qui { display: grid; grid-template-columns: minmax(0, 709px) auto; justify-content: space-between; gap: 32px; align-items: center; }
.qui p { color: var(--texte); }
.qui__liens { display: flex; flex-direction: column; align-items: center; gap: 48px; min-width: 236px; }
.qui__linkedin { display: block; width: 69px; height: 69px; color: #0a66c2; border-radius: 6px; }
.qui__linkedin svg { width: 69px; height: 69px; background: #0a66c2; color: var(--blanc); border-radius: 6px; padding: 10px; }
.photo-pleine { width: 100%; aspect-ratio: 1224 / 544; object-fit: cover; }
@media (max-width: 760px) { .qui { grid-template-columns: 1fr; } .qui__liens { gap: 24px; } .photo-pleine { aspect-ratio: 328 / 278; } }

/* Témoignages et références */
.citations { position: relative; color: var(--blanc); text-align: center; overflow: hidden; }
.citations__fond { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.citations::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .45); z-index: 1; }
.citations .conteneur { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; padding-block: 100px 80px; }
.citation { margin: 0; max-width: 503px; justify-self: center; }
.citation__etoiles { font-size: 18px; letter-spacing: 2px; margin: 0 0 10px; color: var(--blanc); }
.citation blockquote { margin: 0 0 24px; font-size: 18px; }
.citation figcaption { display: flex; flex-direction: column; align-items: center; gap: 8px; font-size: 16px; }
.initiales {
  width: 48px; height: 48px; border-radius: 50%; background: var(--turquoise); color: var(--bleu-nuit);
  display: inline-flex; align-items: center; justify-content: center; font-weight: 700; font-size: 16px;
}
.temoignages { columns: 2; column-gap: 96px; margin-top: 56px; }
.temoignage { break-inside: avoid; text-align: center; margin: 0 0 48px; }
.temoignage__nom { font-size: 18px; font-weight: 700; color: var(--texte); margin-bottom: 8px; }
.temoignage p { color: var(--gris); }
.references__liste { margin-top: 32px; }
.reference { margin-bottom: 28px; }
.reference__nom { color: var(--turquoise-texte); font-weight: 700; text-transform: uppercase; letter-spacing: .02em; margin-bottom: 6px; }
.reference p { color: var(--texte); }
.references__autres p { color: var(--texte); }
@media (max-width: 760px) {
  .citations .conteneur { grid-template-columns: 1fr; padding-block: 64px 56px; }
  .temoignages { columns: 1; }
}

/* Contact */
.contact__haut { margin-bottom: 48px; }
.contact__haut h1 { font-size: clamp(32px, 4.2vw, 48px); }
.contact__coordonnees p { color: var(--gris); margin-bottom: 4px; }
.contact__grille { display: grid; grid-template-columns: minmax(0, 447px) minmax(0, 559px); justify-content: space-between; gap: 48px; align-items: start; }
.contact__texte p { color: var(--texte); }
.contact__image { width: 100%; aspect-ratio: 1111 / 328; object-fit: cover; border-radius: var(--rayon); margin-top: 64px; }
.trouver { display: grid; grid-template-columns: minmax(0, 503px) minmax(0, 588px); justify-content: space-between; gap: 48px; align-items: start; }
.trouver h3 { font-size: 18px; margin: 24px 0 6px; }
.trouver p { color: var(--gris); }
.carte-acces { display: block; position: relative; border-radius: var(--rayon); overflow: hidden; text-decoration: none; color: var(--texte); }
.carte-acces img { width: 100%; aspect-ratio: 588 / 306; object-fit: cover; }
.carte-acces__legende {
  position: absolute; left: 12px; top: 12px; background: var(--blanc); border-radius: 8px; padding: 8px 12px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, .15); font-size: 14px; display: flex; align-items: center; gap: 8px;
}
.carte-acces__legende .icone { width: 18px; height: 18px; color: var(--bleu-nuit); }
.carte-acces:hover .carte-acces__legende { text-decoration: underline; }
.carte-acces__credit { font-size: 12px; color: var(--gris); margin-top: 6px; }
@media (max-width: 900px) {
  .contact__grille, .trouver { grid-template-columns: 1fr; }
  .contact__image { aspect-ratio: 328 / 140; }
}

/* Article de blog */
.article__entete { padding: 64px 0 32px; text-align: center; }
.article__entete h1 { font-size: clamp(28px, 3.4vw, 40px); margin-bottom: 16px; }
.article__resume { color: var(--gris); }
.article__image { margin: 0 0 40px; background: var(--beige-fond); border-radius: var(--rayon); overflow: hidden; }
.article__image img { width: 100%; aspect-ratio: 812 / 344; object-fit: cover; }
.article__image--portrait img { object-fit: contain; aspect-ratio: 812 / 420; }
.article__texte p, .article__texte li { color: var(--texte); }
.article__texte h2 { font-size: 18px; margin: 28px 0 12px; }
.article__texte img { margin: 24px auto; border-radius: var(--rayon); }
.article__pied { border-top: 1px solid #e3e6ea; margin-top: 48px; padding-top: 32px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.autres-articles { background: var(--beige-fond); }

/* Mentions légales, 404 */
.page-texte h2 { font-size: 22px; margin-top: 40px; }
.page-texte p, .page-texte li { color: var(--texte); }
.page-404 { padding: 96px 0; text-align: center; }

/* Impression : sans menu ni pied */
@media print {
  .entete__bouton-menu, .menu, .pied, .contacter, .rejoindre, .aller-contenu { display: none !important; }
  body { color: #000; }
  a { color: #000; }
}
