/* Polices de la charte. A doubler par un <link rel="preconnect"> + <link rel="stylesheet">
   dans le <head> de la page maitre pour de meilleures performances. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;600&family=DM+Sans:wght@300;400;500&display=swap');

/* ==========================================================================
   FUNDESYS — page « Préconisations A/C/V »
   --------------------------------------------------------------------------
   1. CHARTE DU SITE   : variables, typographie, tc1/tc2/surtitre, readmore
   2. SOCLE + STRUCTURE: rappel (déjà livrés, repris ici pour l'aperçu)
   3. GROUPE DE ROWS   : .rowgroupe / .rowgrphero
   4. DÉCLINAISONS
   5. AUTRESTYLES
   6. RESPONSIVE
   --------------------------------------------------------------------------
   Aucune présentation créée, aucun champ ajouté.
   ========================================================================== */


/* ===== 1. CHARTE DU SITE ================================================= */

:root{
  --navy:#0f1e35; --navy-mid:#162843; --navy-light:#1e3a5f;
  --gold:#c9a84c; --gold-light:#e2c47a;
  --white:#fff; --off-white:#f5f4f0;
  --grey:#8a95a3; --grey-light:#dde3ea; --text:#1a2535;
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',Arial,Helvetica,sans-serif;
  --gutter:3.5rem;          /* marge latérale des sections */
  --secpad:6rem;            /* padding vertical des sections */
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--white);overflow-x:hidden}

/* section-tag de la maquette */
.surtitre{display:block;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem}

/* section-title de la maquette.
   La balise reelle est administrable (champ nivtxt0n : h1 a h6 ou p), donc ces
   classes doivent neutraliser entierement le tag : famille, taille, graisse,
   interlignage et marges sont toujours declares. */
.tc1{font-family:var(--serif);font-size:clamp(2rem,3vw,2.8rem);font-weight:300;color:var(--navy);line-height:1.2;margin:0 0 1rem}
.tc1 strong{font-weight:600}

/* titre de colonne */
.tc2{font-family:var(--serif);font-size:1.32rem;font-weight:600;color:var(--navy);line-height:1.3;margin:0 0 .5rem}
.tc2 strong{font-weight:600}

/* lien d'action.
   align-self : la presentation 5 est un conteneur flex en align-items:stretch,
   un lien pose en enfant direct y serait etire sur toute la largeur. La regle
   est sans effet partout ailleurs (align-self n'agit que sur un element flex). */
.readmore{display:inline-block;align-self:flex-start;text-decoration:none;color:var(--gold);font-weight:500}

/* Liens poses par l'editeur dans les champs HTML (maillage interne).
   Portee volontairement limitee aux paragraphes et aux listes : les liens
   structurels (readmore, lienbloc, cartes) gardent leur propre habillage. */
.pres .txt p a,
.pres .txt li a,
.pres .chapeau p a{
  color:var(--gold);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:.18em;
  transition:color .2s;
}
.pres .txt p a:hover,
.pres .txt li a:hover,
.pres .chapeau p a:hover{color:var(--navy)}
/* sur fond sombre, le survol ne peut pas virer au navy */
.rowfondnavy .pres .txt p a:hover,
.rowfondnavy .pres .txt li a:hover,
.rowfondcontact .pres .txt p a:hover{color:var(--gold-light)}


/* ===== 2. SOCLE + STRUCTURE (rappel) ===================================== */

.row{width:100%}
.containerA{width:min(1180px,calc(100% - 40px));margin:0 auto}
.pres{width:100%}
.pres .col,.pres .intcol{min-width:0}
.pres .box-img{margin:0}
.pres .box-img picture{display:block}
.pres .box-img img{display:block;max-width:100%}
.pres .titres,.pres .chapeau,.pres .txt,.pres .pied{display:block}
.pres a.lienbloc,.pres a[data-lightbox]{color:inherit;text-decoration:none}
.pres a[data-lightbox]{display:block}

.pres5{display:flex;flex-direction:column;align-items:stretch;width:100%}
.pres15,.pres18,.pres19,.pres32,.pres34{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;width:100%}
.pres15 > .chapeau,.pres15 > .pied,.pres18 > .chapeau,.pres18 > .pied,
.pres19 > .chapeau,.pres19 > .pied,.pres32 > .chapeau,.pres32 > .pied,
.pres34 > .chapeau,.pres34 > .pied{flex:0 0 100%;min-width:0}
.pres15 > .col,.pres18 > .col,.pres19 > .col,.pres32 > .col,.pres34 > .col{display:flex;flex:1 1 0;min-width:0}
.pres15 > .col > .intcol,.pres18 > .col > .intcol,.pres19 > .col > .intcol,
.pres32 > .col > .intcol,.pres34 > .col > .intcol{display:flex;flex-direction:column;width:100%}

/* presentation 100 : colonnes alimentees par PA_IMAGES, enveloppees dans .grille */
.pres100{display:flex;flex-direction:column;align-items:stretch;width:100%}
.pres100 > .chapeau,.pres100 > .pied{width:100%;min-width:0}
.pres100 > .grille{display:flex;flex-direction:row;flex-wrap:wrap;align-items:stretch;width:100%}
.pres100 .col{display:flex;flex:1 1 0;min-width:0}
.pres100 .col > .intcol{display:flex;flex-direction:column;width:100%}

/* --------------------------------------------------------------------------
   SURCHARGE DE SITE : cette charte est en pleine largeur avec une gouttiere
   fixe. Le containerA centre a 1180px du socle est donc neutralise une fois
   pour toutes ici, et non declinaison par declinaison. Le socle n'est pas
   modifie : seules les exceptions sont listees ci-dessous.
   -------------------------------------------------------------------------- */

.containerA{width:100%;max-width:none;margin:0;padding:0 var(--gutter)}

/* Exception 1 - le hero et son fil d'Ariane limitent leur contenu a 760px. */
.containerA.containerariane,
.containerA.containerhero{max-width:calc(760px + var(--gutter)*2)}

/* Exception 2 - le bandeau dore et sa note gerent eux-memes leur gouttiere,
   pour que le filet de separation aille d'un bord a l'autre. */
.containerA.containerchiffresor,
.containerA.containernotedoree{padding:0}


/* ===== 3. GROUPE DE ROWS ================================================= */
/* Un jeton d'AutreStyle commençant par « grp » regroupe les contenus
   consécutifs dans une même div, ce qui permet de partager un fond. */

.rowgroupe{width:100%}

.rowgrphero,
.rowgrpheroportefeuilles,
.rowgrpherodd,
.rowgrpheroesr,
.rowgrpherogc,
.rowgrpherolmb,
.rowgrpheroetr,
.rowgrpheroph,
.rowgrpheroap,
.rowgrpherome{
  position:relative;overflow:hidden;
  min-height:70vh;display:flex;flex-direction:column;justify-content:center;
  padding:10rem 0 var(--secpad);
  background-color:var(--navy);
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
/* une ligne par page : seul le visuel change */
.rowgrphero{background-image:url('/lib/picts/pages2/preconisations.png')}
.rowgrpheroportefeuilles{background-image:url('/lib/picts/pages2/portefeuilles-modeles.png')}
.rowgrpherodd{background-image:url('/lib/picts/pages2/due-diligences.png')}
.rowgrpheroesr{background-image:url('/lib/picts/pages2/epargne-salariale-retraite.png')}
.rowgrpherogc{background-image:url('/lib/picts/pages2/gestion-conseillee.png')}
.rowgrpherolmb{background-image:url('/lib/picts/pages2/lettre-mensuelle-marque-blanche.png')}
.rowgrpheroetr{background-image:url('/lib/picts/pages2/evenements-tables-rondes.png')}
.rowgrpheroph{background-image:url('/lib/picts/pages2/hero-philosophie.jpg')}
/* les deux pages philosophie partagent le meme visuel de hero */
.rowgrpheroap{background-image:url('/lib/picts/pages2/notre-approche.png')}
.rowgrpherome{background-image:url('/lib/picts/pages2/hero-methodologie.jpg')}

/* Hero court, sans photographie : un degrade suffit. Sert aux pages internes
   qui n'ont ni chiffres cles ni numero de prestation. */
.rowgrpherocourt{
  position:relative;overflow:hidden;
  min-height:auto;display:flex;flex-direction:column;justify-content:center;
  padding:9rem 0 4rem;
  background:linear-gradient(120deg,#0f1e35 0%,#1e3a5f 60%,#162843 100%);
}
.rowgrpherocourt::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(15,30,53,.95) 0%,rgba(15,30,53,.82) 36%,rgba(15,30,53,.32) 64%,rgba(15,30,53,.02) 100%),
    linear-gradient(180deg,rgba(15,30,53,.12) 0%,rgba(15,30,53,.30) 100%);
}
.rowgrpherocourt > .row{position:relative;z-index:2}
.rowgrphero::before,
.rowgrpheroportefeuilles::before,
.rowgrpherodd::before,
.rowgrpheroesr::before,
.rowgrpherogc::before,
.rowgrpherolmb::before,
.rowgrpheroetr::before,
.rowgrpheroph::before,
.rowgrpheroap::before,
.rowgrpherome::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(90deg,rgba(15,30,53,.94) 0%,rgba(15,30,53,.78) 50%,rgba(15,30,53,.5) 100%),
    linear-gradient(180deg,rgba(15,30,53,.4) 0%,rgba(15,30,53,.75) 100%);
}
.rowgrphero > .row,
.rowgrpheroportefeuilles > .row,
.rowgrpherodd > .row,
.rowgrpheroesr > .row,
.rowgrpherogc > .row,
.rowgrpherolmb > .row,
.rowgrpheroetr > .row,
.rowgrpheroph > .row,
.rowgrpheroap > .row,
.rowgrpherome > .row{position:relative;z-index:2}


/* ===== 4. DÉCLINAISONS =================================================== */

/* --- ariane : fil d'Ariane ---------------------------------------------- */
.rowariane{padding-bottom:1.6rem}
.pres5ariane .txt{display:inline-flex;align-items:center;gap:.6rem;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.pres5ariane .txt::before{content:'';display:inline-block;width:30px;height:1px;background:var(--gold)}
.pres5ariane a{color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s}
.pres5ariane a:hover{color:var(--gold-light)}
.pres5ariane .sep{color:rgba(255,255,255,.3);margin:0 .4rem}
.pres5ariane .current{color:var(--gold)}

/* --- hero ---------------------------------------------------------------- */
.pres5hero .surtitre{font-family:var(--serif);font-size:5rem;font-weight:300;color:rgba(201,168,76,.35);line-height:1;margin-bottom:.5rem;letter-spacing:0;text-transform:none}
.pres5hero .tc1{font-size:clamp(2.8rem,4.8vw,4.2rem);font-weight:300;line-height:1.1;color:var(--white);margin-bottom:1.5rem}
.pres5hero .tc1 strong{font-weight:600;color:var(--gold)}
.pres5hero .tc2{margin:0 0 1.6rem;font-family:var(--serif);font-size:1.3rem;font-weight:300;font-style:italic;color:rgba(255,255,255,.7);line-height:1.3}
.pres5hero .txt p{color:rgba(255,255,255,.7);font-size:1.12rem;line-height:1.75;max-width:620px;font-weight:300}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.pres5ariane{animation:fadeUp .55s ease .1s both}
.pres5hero .surtitre{animation:fadeUp .55s ease .2s both}
.pres5hero .tc1{animation:fadeUp .55s ease .32s both}
.pres5hero .txt{animation:fadeUp .55s ease .44s both}

/* --- chiffresor : 4 chiffres clés + note, fond or ------------------------ */
.pres18chiffresor{gap:0 2rem;padding:2.2rem var(--gutter)}
.pres18chiffresor > .col{flex:1 1 0}
.pres18chiffresor .tc2{font-family:var(--serif);font-size:2.4rem;font-weight:600;color:var(--navy);line-height:1;margin-bottom:.3rem;letter-spacing:0;text-transform:none}
.pres18chiffresor .tc2 small{font-size:1em;opacity:.6}
.pres18chiffresor .txt{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);font-weight:500;line-height:1.4}
.pres18chiffresor .txt .note{margin-top:.45rem;font-size:.6rem;letter-spacing:.02em;text-transform:none;font-weight:400;color:rgba(15,30,53,.55)}
.pres18chiffresor > .pied{
  flex:0 0 auto;
  width:calc(100% + var(--gutter)*2);margin:2.2rem calc(var(--gutter)*-1) 0;
  padding:1rem var(--gutter) 1.5rem;border-top:1px solid rgba(15,30,53,.12);
  font-size:.78rem;line-height:1.5;color:var(--navy);font-style:italic;opacity:.85;
}

/* --- notedoree : la note sous le bandeau or, contenu pres5 autonome ------ */
/* L'opacite porte sur l'element entier, fond compris : c'est ce qui eclaircit
   le dore par rapport au bandeau du dessus. La row ne porte donc PAS fondor. */
.pres5notedoree{
  background:var(--gold);opacity:.85;
  padding:1rem var(--gutter) 1.5rem;
  border-top:1px solid rgba(15,30,53,.12);
}
.pres5notedoree .txt p{
  margin:0;color:var(--navy);
  font-size:.78rem;font-weight:400;line-height:1.5;font-style:italic;
}


/* --- prestation : texte + 4 points clés (présentation 32) ---------------- */
.rowprestation{padding:var(--secpad) 0}
.pres32prestation,
.pres34prestation{display:grid;grid-template-columns:1.2fr 1fr;column-gap:5rem;align-items:start}
.pres32prestation > .chapeau,
.pres34prestation > .chapeau{grid-column:1/-1;margin-bottom:2rem}
.pres32prestation > .col1{grid-column:1;grid-row:2/span 4;display:block}
.pres34prestation > .col1{grid-column:1;grid-row:2/span 5;display:block}
.pres32prestation > .col1 .txt p,
.pres34prestation > .col1 .txt p{font-size:1.02rem;line-height:1.8;margin-bottom:1.3rem;font-weight:300}
.pres32prestation > .col1 .txt strong,
.pres34prestation > .col1 .txt strong{font-weight:500;color:var(--navy)}
.pres32prestation > .col2,.pres32prestation > .col3,
.pres32prestation > .col4,.pres32prestation > .col5,
.pres34prestation > .col2,.pres34prestation > .col3,
.pres34prestation > .col4,.pres34prestation > .col5,.pres34prestation > .col6{
  grid-column:2;background:var(--off-white);border-left:3px solid var(--gold);
  padding:0 2.2rem 1.5rem;
}
.pres32prestation > .col2{grid-row:2;padding-top:2rem}
.pres32prestation > .col3{grid-row:3}
.pres32prestation > .col4{grid-row:4}
.pres32prestation > .col5{grid-row:5;padding-bottom:2rem}
.pres34prestation > .col2{grid-row:2;padding-top:2rem}
.pres34prestation > .col3{grid-row:3}
.pres34prestation > .col4{grid-row:4}
.pres34prestation > .col5{grid-row:5}
.pres34prestation > .col6{grid-row:6;padding-bottom:2rem}
.pres32prestation > .col > .intcol,
.pres34prestation > .col > .intcol{flex-direction:row;gap:1.2rem;align-items:flex-start}
.pres32prestation > .col > .intcol::before,
.pres34prestation > .col > .intcol::before{font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--gold);line-height:1;min-width:32px}
.pres32prestation > .col2 > .intcol::before{content:'01'}
.pres32prestation > .col3 > .intcol::before{content:'02'}
.pres32prestation > .col4 > .intcol::before{content:'03'}
.pres32prestation > .col5 > .intcol::before{content:'04'}
.pres34prestation > .col2 > .intcol::before{content:'01'}
.pres34prestation > .col3 > .intcol::before{content:'02'}
.pres34prestation > .col4 > .intcol::before{content:'03'}
.pres34prestation > .col5 > .intcol::before{content:'04'}
.pres34prestation > .col6 > .intcol::before{content:'05'}
.pres32prestation > .col .tc2,
.pres34prestation > .col .tc2{font-family:var(--sans);font-size:.95rem;font-weight:500;color:var(--navy);margin-bottom:.3rem}
.pres32prestation > .col .txt p,
.pres34prestation > .col .txt p{font-size:.88rem;color:var(--grey);line-height:1.55;font-weight:300}

/* --- livrables : 2 fiches document -------------------------------------- */
.rowlivrables{padding:var(--secpad) 0}
.pres15livrables{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.pres15livrables > .chapeau{grid-column:1/-1;margin-bottom:.5rem}
.pres15livrables > .chapeau .txt p{color:var(--grey);font-size:1.02rem;line-height:1.72;max-width:620px;font-weight:300;margin-top:1rem}
.pres15livrables > .col{background:var(--white);border-top:3px solid var(--gold);overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.pres15livrables > .col:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(15,30,53,.15)}
.pres15livrables .box-img{display:flex;align-items:flex-end;justify-content:center;height:260px;padding:1.8rem 1.8rem 0;background:var(--off-white);overflow:hidden}
.pres15livrables .box-img picture{height:100%;display:flex;align-items:flex-end;justify-content:center}
.pres15livrables .box-img img{max-width:100%;max-height:100%;object-fit:contain;object-position:bottom center;box-shadow:0 12px 30px -10px rgba(15,30,53,.25)}
.pres15livrables > .col2 .box-img{align-items:center;padding:1.8rem}
.pres15livrables > .col2 .box-img picture{align-items:center}
.pres15livrables > .col2 .box-img img{max-height:200px;width:auto}
.pres15livrables > .col .txt{display:flex;flex-direction:column;padding:2rem 2.2rem 2.4rem}
.pres15livrables .formats{order:-1;display:flex;gap:.4rem;align-items:center;margin-bottom:.4rem}
.pres15livrables .formats span{background:var(--navy);color:var(--gold);padding:.2rem .55rem;font-size:.66rem;letter-spacing:.08em;border-radius:2px;font-weight:500;text-transform:uppercase}
.pres15livrables .tc2{font-size:1.55rem;line-height:1.25;margin:0}
.pres15livrables .freq{font-size:.82rem;color:var(--grey);margin-top:.35rem;font-style:italic}
.pres15livrables .desc{font-size:.92rem;line-height:1.7;font-weight:300;margin:1.5rem 0}
.pres15livrables ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;padding-top:1.2rem;border-top:1px solid var(--grey-light)}
.pres15livrables li{position:relative;padding-left:1.3rem;font-size:.88rem;line-height:1.55;font-weight:300}
.pres15livrables li::before{content:'\203A';position:absolute;left:0;color:var(--gold);font-weight:600;font-family:var(--serif);font-size:1.1rem;line-height:1.35}

/* pile d'images (PA_IMAGES zone 1) : eventail au survol de la carte.
   L'ordre DOM suit le champ Ordre : les trois pages de fond puis la couverture. */
.pres15livrables .box-img.pile{display:block;position:relative;height:260px;padding:1.8rem 0 0}
.pres15livrables .pile picture{
  position:absolute;bottom:0;left:50%;display:block;width:170px;height:auto;
  transition:transform .5s ease,filter .5s ease;
}
.pres15livrables .pile img{
  width:170px;max-width:none;height:auto;max-height:240px;
  object-fit:cover;object-position:top;
  box-shadow:0 10px 25px -8px rgba(15,30,53,.25);
}
.pres15livrables .pile picture:nth-child(1){transform:translateX(-50%) translateX(-52px) rotate(-9deg);z-index:1;filter:brightness(.9)}
.pres15livrables .pile picture:nth-child(2){transform:translateX(-50%) translateX(-24px) rotate(-4deg);z-index:2;filter:brightness(.95)}
.pres15livrables .pile picture:nth-child(3){transform:translateX(-50%) translateX(48px) rotate(6deg);z-index:1;filter:brightness(.9)}
.pres15livrables .pile picture:nth-child(4){transform:translateX(-50%);z-index:3}
.pres15livrables > .col:hover .pile picture:nth-child(1){transform:translateX(-50%) translateX(-155px) rotate(-16deg);filter:brightness(1)}
.pres15livrables > .col:hover .pile picture:nth-child(2){transform:translateX(-50%) translateX(-80px) rotate(-8deg);filter:brightness(1)}
.pres15livrables > .col:hover .pile picture:nth-child(3){transform:translateX(-50%) translateX(155px) rotate(16deg);filter:brightness(1)}


/* --- acv : 3 cartes Acheter / Conserver / Vendre ------------------------- */
.rowacv{padding:var(--secpad) 0 0}
.pres19acv > .chapeau{margin-bottom:4rem}
.pres19acv > .chapeau .txt p{color:rgba(255,255,255,.55);font-size:1.02rem;line-height:1.72;max-width:620px;font-weight:300;margin-top:1rem}
.pres19acv > .col{background:var(--navy-mid);padding:3rem 2rem;text-align:center}
.pres19acv > .col + .col{border-left:1.5px solid rgba(201,168,76,.15)}
.pres19acv > .col > .intcol::before{display:flex;align-items:center;justify-content:center;width:70px;height:70px;border:2px solid;border-radius:50%;font-family:var(--serif);font-size:2.2rem;font-weight:600;margin:0 auto 1.5rem}
.pres19acv > .col1 > .intcol::before{content:'A';border-color:#4a9d5f;color:#6dc07f}
.pres19acv > .col2 > .intcol::before{content:'C';border-color:var(--gold);color:var(--gold)}
.pres19acv > .col3 > .intcol::before{content:'V';border-color:#d47272;color:#e89898}
.pres19acv > .col .txt{display:flex;flex-direction:column}
.pres19acv .label{order:-1;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--white);margin-bottom:.7rem;font-weight:500}
.pres19acv .tc2{font-size:1.5rem;color:var(--white);margin-bottom:1rem}
.pres19acv .txt p{font-size:.9rem;color:rgba(255,255,255,.55);line-height:1.65;font-weight:300}

/* --- methodebas : citation + explication -------------------------------- */
.rowmethodebas{padding:4rem 0 var(--secpad)}
.pres15methodebas{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
.pres15methodebas > .col1{background:var(--navy-light);padding:2.5rem;border-left:3px solid var(--gold)}
.pres15methodebas > .col1 .txt p{font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--white);line-height:1.45;font-style:italic}
.pres15methodebas .attr{display:block;font-family:var(--sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-top:1.2rem;font-style:normal}
.pres15methodebas > .col2 .txt p{color:rgba(255,255,255,.72);font-size:1rem;line-height:1.75;font-weight:300;margin-bottom:1rem}
.pres15methodebas > .col2 .txt strong{color:var(--gold);font-weight:500}

/* --- audience : 4 publics cibles ---------------------------------------- */
.rowaudience{padding:var(--secpad) 0}
.pres18audience > .chapeau{margin-bottom:3rem}
.pres18audience > .col{background:var(--white);padding:2.2rem 1.6rem;text-align:center;outline:1px solid var(--grey-light);outline-offset:0;transition:background .3s}
.pres18audience > .col:hover{background:var(--off-white)}
.pres18audience > .col > .intcol::before{
  content:'';display:block;width:52px;height:52px;margin:0 auto 1.2rem;
  background-color:var(--navy);border-radius:50%;
  background-repeat:no-repeat;background-position:center;background-size:22px 22px;
}
.pres18audience > .col1 > .intcol::before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 2L2 7v10c0 5.5 10 9 10 9s10-3.5 10-9V7L12 2z'/%3E%3C/svg%3E")}
.pres18audience > .col2 > .intcol::before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E")}
.pres18audience > .col3 > .intcol::before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M3 13h18v-2H3v2zm0 4h18v-2H3v2zm0-8h18V7H3v2zM3 3v2h18V3H3z'/%3E%3C/svg%3E")}
.pres18audience > .col4 > .intcol::before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z'/%3E%3C/svg%3E")}
.pres18audience .tc2{font-size:1.15rem;margin-bottom:.5rem}
.pres18audience .txt p{font-size:.85rem;color:var(--grey);line-height:1.55;font-weight:300}

/* --- cta : bandeau or, titre + 2 boutons -------------------------------- */
.pres19cta{align-items:center;gap:2rem;padding:4rem 0}
.pres19cta > .col1{flex:1 1 auto}
.pres19cta > .col2,.pres19cta > .col3{flex:0 0 auto}
.pres19cta .tc2{font-size:2.2rem;font-weight:300;color:var(--navy);margin:0}
.pres19cta .tc2 strong{font-weight:600;display:block}
.pres19cta .note{margin:.8rem 0 0;font-size:.88rem;color:rgba(15,30,53,.7);font-weight:300;font-style:italic}
.pres19cta .readmore{padding:.9rem 2rem;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;border-radius:2px;transition:all .2s;white-space:nowrap}
.pres19cta > .col2 .readmore{background:var(--navy);color:var(--white)}
.pres19cta > .col2 .readmore:hover{background:var(--navy-light)}
.pres19cta > .col3 .readmore{border:1.5px solid var(--navy);color:var(--navy)}
.pres19cta > .col3 .readmore:hover{background:var(--navy);color:var(--white)}

/* --- autresprestations : N acces, colonne entiere cliquable (withzoom 3) -- */
/* Les filets viennent du gap + background de .grille : toujours pleins, quelle
   que soit la largeur, contrairement a un box-shadow d'etalement fractionnaire. */
.rowautresprestations{padding:var(--secpad) 0}
.pres100autresprestations > .chapeau{text-align:center;padding-bottom:3rem}
.pres100autresprestations > .grille{gap:1.5px;padding:1.5px;background:var(--grey-light)}
.pres100autresprestations .col{
  flex:0 0 calc((100% - 3px)/3);background:var(--white);
  padding:2.6rem 1.2rem;min-height:128px;text-align:center;transition:background .3s;
}
.pres100autresprestations .col:hover{background:var(--navy)}
.pres100autresprestations .col > .intcol{justify-content:center}
.pres100autresprestations .col .txt{display:flex;flex-direction:column;gap:.5rem}
.pres100autresprestations .num{
  display:block;font-family:var(--serif);font-size:1.4rem;color:var(--gold);
  letter-spacing:.1em;transition:color .3s;
}
.pres100autresprestations .tc2{font-size:1rem;line-height:1.35;margin:0;transition:color .3s}
.pres100autresprestations .col:hover .tc2{color:var(--white)}


/* ==========================================================================
   DECLINAISONS AJOUTEES PAR LA PAGE « PORTEFEUILLES MODELES »
   Aucune presentation creee, aucune modification du socle ni des .presXX.
   ========================================================================== */

/* --- profils : cartes profil avec visuel revele au survol (presentation 100) */
.rowprofils{padding:var(--secpad) 0}
.pres100profils > .chapeau{margin-bottom:3.5rem}
.pres100profils > .chapeau .txt p{color:var(--grey);font-size:1.02rem;line-height:1.72;max-width:640px;font-weight:300;margin-top:1rem}
.pres100profils > .grille{gap:1.5px;padding:1.5px;background:var(--grey-light)}
.pres100profils .col{flex:0 0 calc((100% - 3px)/3);position:relative;overflow:hidden;background:var(--white);transition:background .3s}
.pres100profils .col:hover{background:var(--navy)}
.pres100profils .col > .intcol{padding:2.5rem 1.8rem}
.pres100profils .box-img{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .5s ease}
.pres100profils .box-img picture{display:block;width:100%;height:100%}
.pres100profils .box-img img{width:100%;height:100%;object-fit:cover}
.pres100profils .box-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,53,.40) 0%,rgba(15,30,53,.68) 100%)}
.pres100profils .col:hover .box-img{opacity:1}
.pres100profils .col .txt{position:relative;z-index:2;display:flex;flex-direction:column;flex:1 1 auto}
.pres100profils .num{display:block;font-family:var(--serif);font-size:1.6rem;color:var(--gold);letter-spacing:.05em;line-height:1;margin-bottom:1rem;transition:color .3s}
.pres100profils .tc2{font-size:1.55rem;color:var(--navy);margin-bottom:.5rem;transition:color .3s}
.pres100profils .col:hover .tc2{color:var(--white)}
.pres100profils .tag{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:1.2rem;font-weight:500}
.pres100profils .desc{font-size:.9rem;color:var(--grey);line-height:1.65;font-weight:300;margin-bottom:1.5rem;flex-grow:1;transition:color .3s}
.pres100profils .col:hover .desc{color:rgba(255,255,255,.9)}
.pres100profils .jauge{padding-top:1.2rem;border-top:1px solid var(--grey-light);transition:border-color .3s}
.pres100profils .col:hover .jauge{border-color:rgba(201,168,76,.25)}
.pres100profils .jauge-lib{display:flex;justify-content:space-between;align-items:baseline;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);margin-bottom:.5rem;transition:color .3s}
.pres100profils .col:hover .jauge-lib{color:rgba(255,255,255,.9)}
.pres100profils .jauge-lib .val{font-family:var(--serif);font-size:.95rem;font-weight:600;color:var(--navy);letter-spacing:0;transition:color .3s}
.pres100profils .col:hover .jauge-lib .val{color:var(--gold)}
.pres100profils .jauge-ech{display:flex;gap:3px}
.pres100profils .jauge-ech i{flex:1;height:4px;background:var(--grey-light);transition:background .3s}
.pres100profils .jauge-ech i.on{background:var(--gold)}
.pres100profils > .pied{margin-top:2rem;padding:1.2rem 1.5rem;background:var(--off-white);border-left:3px solid var(--gold);font-size:.82rem;color:var(--grey);line-height:1.6;font-weight:300;font-style:italic}
.pres100profils > .pied p{margin:0}
.pres100profils > .pied sup{color:var(--gold);font-style:normal}
.pres100profils > .pied a{color:var(--gold);text-decoration:underline;font-style:normal}
.pres100profils > .pied a:hover{color:var(--navy)}

/* --- disponibilite : texte + encart chiffre, sur fond navy ---------------- */
.rowdisponibilite{padding:var(--secpad) 0 0}
.pres15disponibilite{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;align-items:center}
.pres15disponibilite > .chapeau{grid-column:1;grid-row:1;align-self:end}
.pres15disponibilite > .col1{grid-column:1;grid-row:2;align-self:start}
.pres15disponibilite > .col2{grid-column:2;grid-row:1/span 2;align-self:center;background:var(--navy-mid);padding:2.5rem;border-left:3px solid var(--gold)}
.pres15disponibilite > .col1 .txt p{color:rgba(255,255,255,.55);font-size:1.02rem;line-height:1.72;margin-top:1rem;font-weight:300}
.pres15disponibilite > .col2 .tc2{font-family:var(--sans);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;font-weight:500}
.pres15disponibilite .stat{display:flex;align-items:baseline;gap:1rem;margin-bottom:2rem}
.pres15disponibilite .stat .nb{font-family:var(--serif);font-size:3.6rem;font-weight:300;color:var(--white);line-height:1}
.pres15disponibilite .stat p{margin:0;color:rgba(255,255,255,.7);font-size:.95rem;line-height:1.5;font-weight:300}
.pres15disponibilite ul{list-style:none;display:flex;flex-direction:column;gap:.7rem;margin:0;padding:1.5rem 0 0;border-top:1px solid rgba(201,168,76,.15)}
.pres15disponibilite li{position:relative;padding-left:1.3rem;color:rgba(255,255,255,.7);font-size:.92rem;line-height:1.5;font-weight:300}
.pres15disponibilite li::before{content:'\203A';position:absolute;left:0;color:var(--gold);font-weight:600;font-family:var(--serif);font-size:1.1rem}

/* --- plateformes : chapeau centre + 2 blocs listes, sur fond navy --------- */
.rowplateformes{padding:4rem 0 var(--secpad)}
.pres15plateformes{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:1200px;margin:0 auto;padding-top:3rem;border-top:1px solid rgba(201,168,76,.18)}
.pres15plateformes > .chapeau{grid-column:1/-1;text-align:center;margin-bottom:.6rem}
.pres15plateformes > .chapeau .tc1{margin:.4rem 0 0;font-size:clamp(1.5rem,2vw,1.9rem);font-weight:300;line-height:1.25}
.pres15plateformes > .chapeau .txt p{max-width:720px;margin:1rem auto 0;color:rgba(255,255,255,.65);font-size:.92rem;font-weight:300;line-height:1.65}
.pres15plateformes > .col{background:rgba(255,255,255,.04);border:1px solid rgba(201,168,76,.15);padding:1.8rem 2rem}
.pres15plateformes .tc2{font-family:var(--sans);font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;font-weight:500}
.pres15plateformes ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin:0;padding:0}
.pres15plateformes li{position:relative;padding-left:1.1rem;color:rgba(255,255,255,.82);font-size:.94rem;font-weight:300;line-height:1.5}
.pres15plateformes li::before{content:'\203A';position:absolute;left:0;color:var(--gold);font-weight:600}

/* --- etapes : 3 etapes numerotees, filets clairs -------------------------- */
.rowetapes{padding:var(--secpad) 0}
.pres19etapes > .chapeau{margin-bottom:4rem}
.pres19etapes > .chapeau .txt p{color:var(--grey);font-size:1.02rem;line-height:1.72;max-width:640px;font-weight:300;margin-top:1rem}
.pres19etapes > .col{background:var(--white);padding:2.5rem 2rem;min-height:240px;outline:1px solid var(--grey-light)}
.pres19etapes > .col .txt{display:flex;flex-direction:column}
.pres19etapes .num{order:-1;display:block;font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--gold);line-height:1;margin-bottom:1.3rem}
.pres19etapes .num small{font-size:.95rem;opacity:.6}
.pres19etapes .tc2{font-size:1.3rem;color:var(--navy);line-height:1.3;margin-bottom:1rem}
.pres19etapes .txt p{margin:0;font-size:.9rem;color:var(--grey);line-height:1.65;font-weight:300}


/* ===== AUTRESTYLE : pile au format paysage ================================ */
/* Variante de la declinaison livrables : memes cartes, pile plus large.
   Ordre des lignes PA_IMAGES : page3, page4, page2, puis la couverture. */
.pres15livrables.pilepaysage .box-img.pile{display:flex;align-items:center;justify-content:center;padding:1.8rem 1rem;background:var(--white)}
.pres15livrables.pilepaysage .pile picture{top:50%;bottom:auto;width:260px;height:200px}
.pres15livrables.pilepaysage .pile img{width:260px;height:200px;max-width:none;max-height:none;object-fit:cover;object-position:top;box-shadow:0 10px 25px -8px rgba(15,30,53,.3)}
.pres15livrables.pilepaysage .pile picture:nth-child(1){transform:translate(-50%,-50%) translateX(-32px) translateY(6px) rotate(-6deg);z-index:1;filter:brightness(.88)}
.pres15livrables.pilepaysage .pile picture:nth-child(2){transform:translate(-50%,-50%) translateX(-14px) translateY(2px) rotate(-2deg);z-index:2;filter:brightness(.94)}
.pres15livrables.pilepaysage .pile picture:nth-child(3){transform:translate(-50%,-50%) translateX(20px) translateY(4px) rotate(4deg);z-index:1;filter:brightness(.9)}
.pres15livrables.pilepaysage .pile picture:nth-child(4){transform:translate(-50%,-50%);z-index:3}
.pres15livrables.pilepaysage > .col:hover .pile picture:nth-child(1){transform:translate(-50%,-50%) translateX(-155px) translateY(20px) rotate(-14deg);filter:brightness(1)}
.pres15livrables.pilepaysage > .col:hover .pile picture:nth-child(2){transform:translate(-50%,-50%) translateX(-72px) translateY(10px) rotate(-6deg);filter:brightness(1)}
.pres15livrables.pilepaysage > .col:hover .pile picture:nth-child(3){transform:translate(-50%,-50%) translateX(140px) translateY(15px) rotate(11deg);filter:brightness(1)}

/* Carte livrable sans visuel : vignette de substitution, placee en tete du .txt */
.pres15livrables .apercu{order:-2;display:flex;align-items:center;justify-content:center;height:260px;margin:-2rem -2.2rem 1.5rem;background:linear-gradient(135deg,var(--navy-mid) 0%,var(--navy-light) 100%);text-align:center}
.pres15livrables .apercu .ico{display:block;width:60px;height:60px;margin:0 auto 1rem;background-color:var(--gold);opacity:.85;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8 15H5v-4h6v4zm0-6H5V8h6v4zm8 6h-6v-4h6v4zm0-6h-6V8h6v4z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-8 15H5v-4h6v4zm0-6H5V8h6v4zm8 6h-6v-4h6v4zm0-6h-6V8h6v4z'/%3E%3C/svg%3E")}
.pres15livrables .apercu .t{font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--gold-light);letter-spacing:.06em}
.pres15livrables .apercu .s{margin-top:.5rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}


/* ==========================================================================
   DECLINAISONS AJOUTEES PAR LA PAGE « DUE DILIGENCES »
   ========================================================================== */

/* --- axes : 4 cartes numerotees sur fond navy (presentation 18) ----------- */
.rowaxes{padding:var(--secpad) 0}
.pres18axes > .chapeau{margin-bottom:4rem}
.pres18axes > .chapeau .txt p{color:rgba(255,255,255,.55);font-size:1.02rem;line-height:1.72;max-width:620px;font-weight:300;margin-top:1rem}
.pres18axes > .col{background:var(--navy-mid);padding:2.5rem 1.8rem;min-height:260px}
.pres18axes > .col + .col{border-left:1.5px solid rgba(201,168,76,.15)}
.pres18axes > .col .txt{display:flex;flex-direction:column}
.pres18axes .num{order:-1;display:block;font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--gold);line-height:1;margin-bottom:1.3rem}
.pres18axes .num small{font-size:.9rem;opacity:.6}
.pres18axes .tc2{font-size:1.3rem;color:var(--white);line-height:1.3;margin-bottom:1rem}
.pres18axes .txt p{margin:0;font-size:.9rem;color:rgba(255,255,255,.55);line-height:1.65;font-weight:300}

/* --- acces : texte + encart de modes, sur fond clair (presentation 15) ---- */
.rowacces{padding:var(--secpad) 0}
.pres15acces{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;align-items:center}
.pres15acces > .chapeau{grid-column:1;grid-row:1;align-self:end}
.pres15acces > .col1{grid-column:1;grid-row:2;align-self:start}
.pres15acces > .col2{grid-column:2;grid-row:1/span 2;align-self:center;background:var(--white);padding:2.5rem;border-left:3px solid var(--gold)}
.pres15acces > .col1 .txt p{color:var(--grey);font-size:1.02rem;line-height:1.72;margin-top:1rem;font-weight:300}
.pres15acces .modes{display:flex;flex-direction:column;gap:1.8rem}
.pres15acces .mode{display:flex;gap:1.4rem;align-items:flex-start}
.pres15acces .mode .ico{flex:0 0 44px;width:44px;height:44px;border-radius:50%;background-color:var(--navy);background-repeat:no-repeat;background-position:center;background-size:20px 20px}
.pres15acces .mode .mt{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--navy);margin-bottom:.3rem}
.pres15acces .mode p{margin:0;font-size:.88rem;color:var(--grey);line-height:1.6;font-weight:300}
.pres15acces .ico-biblio{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E")}
.pres15acces .ico-loupe{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z'/%3E%3C/svg%3E")}

/* --- personnalisation : texte + 4 encarts en 2x2, navy (presentation 32) -- */
.rowpersonnalisation{padding:5rem 0}
.pres32personnalisation{display:grid;grid-template-columns:2.1fr 1fr 1fr;gap:1.5rem;align-items:center}
.pres32personnalisation > .chapeau{grid-column:1;grid-row:1;align-self:end;padding-right:2.5rem}
.pres32personnalisation > .col1{grid-column:1;grid-row:2;align-self:start;padding-right:2.5rem}
.pres32personnalisation > .col1 .txt p{color:rgba(255,255,255,.7);font-size:1.02rem;line-height:1.72;font-weight:300;margin-top:1rem}
.pres32personnalisation > .col1 .txt strong{color:var(--white);font-weight:400}
.pres32personnalisation > .col2{grid-column:2;grid-row:1}
.pres32personnalisation > .col3{grid-column:3;grid-row:1}
.pres32personnalisation > .col4{grid-column:2;grid-row:2}
.pres32personnalisation > .col5{grid-column:3;grid-row:2}
.pres32personnalisation > .col2,.pres32personnalisation > .col3,
.pres32personnalisation > .col4,.pres32personnalisation > .col5{background:var(--navy-mid);padding:1.6rem 1.4rem;border-left:2px solid var(--gold);align-self:stretch}
.pres32personnalisation > .col .tc2{font-family:var(--sans);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;font-weight:500}
.pres32personnalisation > .col .txt p{margin:0;font-size:.88rem;color:rgba(255,255,255,.7);line-height:1.55;font-weight:300}


/* ===== AUTRESTYLE : pile au format portrait large ========================= */
/* Variante de la declinaison livrables : pages 180x250 au lieu de 170x240.
   Ordre des lignes PA_IMAGES : page3, page4, page2, puis la couverture. */
.pres15livrables.pileportrait .box-img.pile{align-items:flex-end;justify-content:center;padding:2.5rem 1rem 0;background:var(--white)}
.pres15livrables.pileportrait .pile picture{width:180px;height:250px}
.pres15livrables.pileportrait .pile img{width:180px;height:250px;max-width:none;max-height:none;object-fit:cover;object-position:top;box-shadow:0 10px 25px -8px rgba(15,30,53,.3)}
.pres15livrables.pileportrait .pile picture:nth-child(1){transform:translateX(-50%) translateX(-54px) rotate(-9deg);z-index:1;filter:brightness(.88)}
.pres15livrables.pileportrait .pile picture:nth-child(2){transform:translateX(-50%) translateX(-26px) rotate(-4deg);z-index:2;filter:brightness(.94)}
.pres15livrables.pileportrait .pile picture:nth-child(3){transform:translateX(-50%) translateX(50px) rotate(6deg);z-index:1;filter:brightness(.9)}
.pres15livrables.pileportrait .pile picture:nth-child(4){transform:translateX(-50%);z-index:3}
.pres15livrables.pileportrait > .col:hover .pile picture:nth-child(1){transform:translateX(-50%) translateX(-160px) rotate(-15deg);filter:brightness(1)}
.pres15livrables.pileportrait > .col:hover .pile picture:nth-child(2){transform:translateX(-50%) translateX(-85px) rotate(-7deg);filter:brightness(1)}
.pres15livrables.pileportrait > .col:hover .pile picture:nth-child(3){transform:translateX(-50%) translateX(150px) rotate(13deg);filter:brightness(1)}

/* vignette de substitution : variante document */
.pres15livrables .apercu .ico-doc{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 7V3.5L18.5 9H13z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm-1 7V3.5L18.5 9H13z'/%3E%3C/svg%3E")}


/* ==========================================================================
   DECLINAISONS AJOUTEES PAR LA PAGE « EPARGNE SALARIALE & RETRAITE »
   ========================================================================== */

/* --- modalites : 4 cartes en 2x2, pictogramme + etiquette (presentation 18) */
/* ATTENTION : le chapeau d'une presentation contient lui aussi un .txt. Toute
   regle de mise en page d'une carte doit donc etre portee par > .col .txt,
   jamais par .txt seul, sous peine de deformer le chapeau. */
.rowmodalites{padding:var(--secpad) 0}
.pres18modalites{gap:2rem}
.pres18modalites > .chapeau{margin-bottom:2rem}
.pres18modalites > .chapeau .txt p{color:var(--grey);font-size:1.02rem;line-height:1.72;max-width:640px;font-weight:300;margin-top:1rem}
.pres18modalites > .col{flex:0 0 calc(50% - 1rem);background:var(--white);padding:2.5rem;border-top:3px solid var(--gold);transition:transform .3s ease,box-shadow .3s ease}
.pres18modalites > .col:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(15,30,53,.15)}
/* l'en-tete de carte est une grille : pictogramme a gauche, etiquette et titre
   a droite, texte et liste sur toute la largeur en dessous */
.pres18modalites > .col .txt{display:grid;grid-template-columns:56px 1fr;column-gap:1.5rem;align-items:start}
.pres18modalites > .col .ico{grid-column:1;grid-row:1/span 2;width:56px;height:56px;border-radius:50%;background-color:var(--navy);background-repeat:no-repeat;background-position:center;background-size:24px 24px}
.pres18modalites > .col .tag{grid-column:2;grid-row:1;justify-self:start;display:inline-block;margin-bottom:.5rem;padding:.25rem .7rem;border-radius:2px;background:rgba(201,168,76,.1);color:var(--gold);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.pres18modalites > .col .tag.recurrent{background:rgba(15,30,53,.08);color:var(--navy)}
.pres18modalites > .col .tc2{grid-column:2;grid-row:2;font-size:1.5rem;line-height:1.25;margin:0}
.pres18modalites > .col .desc{grid-column:1/-1;grid-row:3;margin:1.5rem 0;font-size:.95rem;color:var(--text);line-height:1.7;font-weight:300}
.pres18modalites > .col ul{grid-column:1/-1;grid-row:4;list-style:none;display:flex;flex-direction:column;gap:.7rem;margin:0;padding:1.2rem 0 0;border-top:1px solid var(--grey-light)}
.pres18modalites > .col li{position:relative;padding-left:1.3rem;font-size:.88rem;color:var(--text);line-height:1.55;font-weight:300}
.pres18modalites > .col li::before{content:'\203A';position:absolute;left:0;color:var(--gold);font-weight:600;font-family:var(--serif);font-size:1.1rem;line-height:1.35}
.pres18modalites a{color:var(--gold);text-decoration:underline}
.pres18modalites > .col .ico-audit{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M14 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/%3E%3C/svg%3E")}
.pres18modalites > .col .ico-reunion{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm-2 12H6v-2h12v2zm0-3H6V9h12v2zm0-3H6V6h12v2z'/%3E%3C/svg%3E")}
.pres18modalites > .col .ico-veille{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8zm.5-13H11v6l5.25 3.15.75-1.23-4.5-2.67z'/%3E%3C/svg%3E")}
.pres18modalites > .col .ico-choix{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 2L2 7v10c0 5.5 4.5 10 10 10s10-4.5 10-10V7L12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E")}

/* --- independance : texte + citation encadree, sur navy (presentation 15) -- */
.rowindependance{padding:var(--secpad) 0}
.pres15independance{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;align-items:center}
.pres15independance > .chapeau{grid-column:1;grid-row:1;align-self:end}
.pres15independance > .col1{grid-column:1;grid-row:2;align-self:start}
.pres15independance > .col2{grid-column:2;grid-row:1/span 2;align-self:center;background:var(--navy-mid);padding:2.5rem;border-left:3px solid var(--gold)}
.pres15independance > .col1 .txt p{color:rgba(255,255,255,.72);font-size:1.02rem;line-height:1.72;font-weight:300;margin-top:1rem}
.pres15independance > .col1 .txt strong{color:var(--gold);font-weight:500}
.pres15independance > .col2 .txt p{margin:0;font-family:var(--serif);font-size:1.4rem;font-weight:300;color:var(--white);line-height:1.45;font-style:italic}
.pres15independance .attr{display:block;margin-top:1.2rem;font-family:var(--sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-style:normal}


/* ===== AUTRESTYLE : cartes creme sur fond clair ========================== */
/* Variante de la declinaison etapes : la row reste blanche et ce sont les
   cartes qui prennent le creme, au lieu de l'inverse. */
.pres19etapes.cartescreme > .col{background:var(--off-white);min-height:220px}


/* ==========================================================================
   DECLINAISONS AJOUTEES PAR LA PAGE « GESTION CONSEILLEE »
   ========================================================================== */

/* --- forme : un bloc = texte + visuel, carte pleine largeur (presentation 15)
   Le chapeau reste hors de la carte : ce sont les deux colonnes qui portent le
   fond et le filet dore, de sorte que le liseret traverse les deux. */
.rowforme{padding:0 0 3rem}
.pres15forme{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch}
.pres15forme > .chapeau{grid-column:1/-1;grid-row:1;margin-bottom:4rem}
.pres15forme > .chapeau .txt p{color:var(--grey);font-size:1.02rem;line-height:1.72;max-width:640px;font-weight:300;margin-top:1rem}
.pres15forme > .col1{grid-column:1;grid-row:2;background:var(--white);border-top:3px solid var(--gold)}
.pres15forme > .col2{grid-column:2;grid-row:2;background:var(--off-white);border-top:3px solid var(--gold);overflow:hidden;min-height:460px;position:relative}
.pres15forme > .col1 .txt{padding:3rem;display:flex;flex-direction:column;height:100%}
.pres15forme > .col1 .tc2{font-size:1.9rem;line-height:1.2;margin:0 0 1.3rem}
.pres15forme .forme{display:inline-flex;align-items:center;gap:.7rem;margin-bottom:.8rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:500}
.pres15forme .forme::before{content:'';display:inline-block;width:24px;height:1px;background:var(--gold)}
.pres15forme .role{display:inline-block;align-self:flex-start;margin-bottom:1.5rem;padding:.35rem .85rem;border-radius:2px;background:rgba(15,30,53,.06);color:var(--navy);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500}
.pres15forme .desc{margin:0 0 1.5rem;font-size:.98rem;color:var(--text);line-height:1.72;font-weight:300}
.pres15forme .desc strong{color:var(--navy);font-weight:500}
.pres15forme > .col1 ul{list-style:none;display:flex;flex-direction:column;gap:.8rem;margin:auto 0 0;padding:1.2rem 0 0;border-top:1px solid var(--grey-light)}
.pres15forme > .col1 li{position:relative;padding-left:1.3rem;font-size:.9rem;color:var(--text);line-height:1.55;font-weight:300}
.pres15forme > .col1 li::before{content:'\203A';position:absolute;left:0;color:var(--gold);font-weight:600;font-family:var(--serif);font-size:1.1rem;line-height:1.35}
/* la colonne visuel : pile d'images ou vignette de substitution */
.pres15forme > .col2 > .intcol{justify-content:center;align-items:center;height:100%}
.pres15forme .box-img.pile{position:relative;display:block;margin:3rem 2rem}
.pres15forme .pile picture{position:absolute;top:50%;left:50%;display:block;transition:transform .5s ease,filter .5s ease}
.pres15forme .pile img{max-width:none;max-height:none;object-fit:cover;object-position:top;box-shadow:0 12px 30px -8px rgba(15,30,53,.3)}
.pres15forme > .col2 .txt{display:flex;align-items:center;justify-content:center;height:100%;width:100%}
.pres15forme .apercu{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:460px;background:linear-gradient(135deg,var(--navy-mid) 0%,var(--navy-light) 100%);text-align:center}
.pres15forme .apercu .ico{display:block;width:64px;height:64px;margin:0 auto 1rem;background-color:var(--gold);opacity:.85;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.pres15forme .apercu .t{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:var(--gold-light);letter-spacing:.06em}
.pres15forme .apercu .s{margin-top:.5rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5)}
.pres15forme .ico-cube{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3L1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3L1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z'/%3E%3C/svg%3E")}


/* ===== AUTRESTYLES AJOUTES ============================================== */

/* visuel a gauche, texte a droite */
.pres15forme.inverse{grid-template-columns:1fr 1.1fr}
.pres15forme.inverse > .col1{grid-column:2}
.pres15forme.inverse > .col2{grid-column:1}

/* paddings de section, pour les suites de rows qui forment un meme bloc */
.rowpadhaut{padding-top:var(--secpad)}
.rowpadbas{padding-bottom:var(--secpad)}

/* pile de 2 pages au format portrait */
.pres15forme.pileduo .pile{width:240px;height:340px;margin:0 auto}
.pres15forme.pileduo .pile picture{width:240px;height:340px}
.pres15forme.pileduo .pile img{width:240px;height:340px}
.pres15forme.pileduo .pile picture:nth-child(1){transform:translate(-50%,-50%) translateX(-18px) translateY(5px) rotate(-4deg);z-index:1;filter:brightness(.92)}
.pres15forme.pileduo .pile picture:nth-child(2){transform:translate(-50%,-50%) translateX(16px) translateY(-3px) rotate(3deg);z-index:2}
.pres15forme.pileduo:hover .pile picture:nth-child(1){transform:translate(-50%,-50%) translateX(-105px) translateY(15px) rotate(-9deg);filter:brightness(1)}
.pres15forme.pileduo:hover .pile picture:nth-child(2){transform:translate(-50%,-50%) translateX(95px) translateY(-10px) rotate(7deg)}

/* pile de 3 pages au format paysage */
.pres15forme.piletrio .pile{width:300px;height:230px;margin:0 auto}
.pres15forme.piletrio .pile picture{width:300px;height:230px}
.pres15forme.piletrio .pile img{width:300px;height:230px}
.pres15forme.piletrio .pile picture:nth-child(1){transform:translate(-50%,-50%) translateX(-24px) translateY(5px) rotate(-5deg);z-index:1;filter:brightness(.9)}
.pres15forme.piletrio .pile picture:nth-child(2){transform:translate(-50%,-50%) translateX(22px) translateY(3px) rotate(4deg);z-index:2;filter:brightness(.94)}
.pres15forme.piletrio .pile picture:nth-child(3){transform:translate(-50%,-50%);z-index:3}
.pres15forme.piletrio:hover .pile picture:nth-child(1){transform:translate(-50%,-50%) translateX(-135px) translateY(18px) rotate(-11deg);filter:brightness(1)}
.pres15forme.piletrio:hover .pile picture:nth-child(2){transform:translate(-50%,-50%) translateX(125px) translateY(12px) rotate(9deg);filter:brightness(1)}


/* ==========================================================================
   DECLINAISONS AJOUTEES PAR LA PAGE « MARCHES & CONVICTIONS »
   ========================================================================== */

/* --- apercu : texte a gauche, pile de 2 pages a droite (presentation 15) --- */
.rowapercu{padding:var(--secpad) 0}
.pres15apercu{display:grid;grid-template-columns:1fr 1.1fr;column-gap:5rem;align-items:center}
.pres15apercu > .chapeau{grid-column:1;grid-row:1;align-self:end}
.pres15apercu > .chapeau .tc1{margin-bottom:1.5rem}
.pres15apercu > .col1{grid-column:1;grid-row:2;align-self:start}
.pres15apercu > .col2{grid-column:2;grid-row:1/span 2;align-self:center;position:relative;display:flex;align-items:center;justify-content:center;min-height:560px}
.pres15apercu > .col1 .txt p{margin:0 0 1.2rem;font-size:1rem;line-height:1.8;color:var(--text);font-weight:300}
.pres15apercu > .col1 .txt strong{color:var(--navy);font-weight:500}
.pres15apercu .box-img.pile{position:relative;display:block;width:330px;height:460px;margin:0 auto}
.pres15apercu .pile picture{position:absolute;top:50%;left:50%;display:block;width:330px;height:460px;transition:transform .5s ease,filter .5s ease}
.pres15apercu .pile img{width:330px;height:460px;max-width:none;max-height:none;object-fit:cover;object-position:top;box-shadow:0 15px 35px -10px rgba(15,30,53,.35)}
.pres15apercu .pile picture:nth-child(1){transform:translate(-50%,-50%) translateX(-20px) translateY(6px) rotate(-4deg);z-index:1;filter:brightness(.92)}
.pres15apercu .pile picture:nth-child(2){transform:translate(-50%,-50%) translateX(18px) translateY(-4px) rotate(3deg);z-index:2}
.pres15apercu > .col2:hover .pile picture:nth-child(1){transform:translate(-50%,-50%) translateX(-125px) translateY(20px) rotate(-9deg);filter:brightness(1)}
.pres15apercu > .col2:hover .pile picture:nth-child(2){transform:translate(-50%,-50%) translateX(115px) translateY(-14px) rotate(7deg)}

/* --- sommaire : 6 cases en 3x2, dont une case habillee (presentation 34) --- */
.rowsommaire{padding:var(--secpad) 0}
.pres34sommaire{gap:0}
.pres34sommaire > .chapeau{text-align:center;margin-bottom:4rem}
.pres34sommaire > .chapeau .txt p{max-width:640px;margin:1rem auto 0;color:var(--grey);font-size:1.02rem;line-height:1.72;font-weight:300}
.pres34sommaire > .col{flex:0 0 calc(100%/3);background:var(--white);padding:2.2rem 1.5rem;outline:1px solid var(--grey-light);transition:background .3s}
.pres34sommaire > .col:hover{background:var(--off-white)}
.pres34sommaire > .col .txt{display:flex;flex-direction:column}
.pres34sommaire > .col .num{order:-1;display:block;margin-bottom:1rem;font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--gold);line-height:1}
.pres34sommaire > .col .num small{font-size:.8rem;opacity:.6}
.pres34sommaire > .col .tc2{font-size:1.15rem;line-height:1.3;margin-bottom:.7rem}
.pres34sommaire > .col .txt p{margin:0;font-size:.85rem;color:var(--grey);line-height:1.6;font-weight:300}
/* la sixieme case : visuel de fond, degrade et texte clair */
.pres34sommaire > .col6{position:relative;overflow:hidden;background-color:var(--navy);padding:2.2rem 1.8rem}
.pres34sommaire > .col6:hover{background-color:var(--navy)}
.pres34sommaire > .col6 .box-img{position:absolute;inset:0;z-index:0}
.pres34sommaire > .col6 .box-img picture{display:block;width:100%;height:100%}
.pres34sommaire > .col6 .box-img img{width:100%;height:100%;object-fit:cover;object-position:center right}
.pres34sommaire > .col6 .box-img::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 22%,rgba(15,30,53,.55) 48%,rgba(15,30,53,0) 72%)}
.pres34sommaire > .col6 > .intcol{justify-content:center;height:100%}
.pres34sommaire > .col6 .txt{position:relative;z-index:1}
.pres34sommaire > .col6 .tf-tag{order:-1;display:inline-block;align-self:flex-start;margin-bottom:.9rem;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold)}
.pres34sommaire > .col6 .tc2{font-family:var(--serif);font-size:1.35rem;font-weight:300;color:var(--white);line-height:1.3;margin:0}
.pres34sommaire > .col6 .tc2 strong{font-weight:600;color:var(--gold-light)}

/* --- marqueblanche : 4 cartes avec apercu en haut (presentation 18) ------- */
.rowmarqueblanche{padding:var(--secpad) 0}
.pres18marqueblanche{gap:1.5rem}
.pres18marqueblanche > .chapeau{margin-bottom:4rem}
.pres18marqueblanche > .chapeau .txt p{max-width:640px;margin-top:1rem;color:var(--grey);font-size:1.02rem;line-height:1.72;font-weight:300}
.pres18marqueblanche > .col{flex:0 0 calc(25% - 1.125rem);background:var(--white);padding:2rem 1.5rem;border-top:3px solid var(--gold);transition:transform .3s ease,box-shadow .3s ease}
.pres18marqueblanche > .col:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(15,30,53,.15)}
.pres18marqueblanche .box-img{display:block;width:100%;margin-bottom:1.3rem;background:var(--off-white);border:1px solid var(--grey-light);overflow:hidden}
.pres18marqueblanche .box-img img{display:block;width:100%;height:auto}
.pres18marqueblanche > .col .tc2{font-size:1.15rem;line-height:1.3;margin-bottom:.6rem}
.pres18marqueblanche > .col .txt p{margin:0;font-size:.87rem;color:var(--grey);line-height:1.6;font-weight:300}

/* --- publics : 2 encarts larges, pictogramme en ligne (presentation 15) --- */
.rowpublics{padding:var(--secpad) 0}
.pres15publics{display:flex;flex-wrap:wrap;gap:1.5rem}
.pres15publics > .chapeau{flex:0 0 100%;margin-bottom:1.5rem}
.pres15publics > .col{flex:1 1 calc(50% - .75rem);background:var(--off-white);padding:2.5rem;border-left:3px solid var(--gold);transition:background .3s}
.pres15publics > .col:hover{background:#efede7}
.pres15publics > .col .txt{display:grid;grid-template-columns:56px 1fr;column-gap:1.2rem;align-items:center}
.pres15publics > .col .ico{grid-column:1;grid-row:1;width:56px;height:56px;border-radius:50%;background-color:var(--navy);background-repeat:no-repeat;background-position:center;background-size:24px 24px}
.pres15publics > .col .tc2{grid-column:2;grid-row:1;font-size:1.2rem;line-height:1.3;margin:0}
.pres15publics > .col .txt p{grid-column:1/-1;grid-row:2;margin:1.2rem 0 0;font-size:.92rem;color:var(--grey);line-height:1.7;font-weight:300}
.pres15publics .ico-bouclier{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 2L2 7v10c0 5.5 10 9 10 9s10-3.5 10-9V7L12 2z'/%3E%3C/svg%3E")}
.pres15publics .ico-immeuble{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z'/%3E%3C/svg%3E")}


/* ==========================================================================
   DECLINAISONS AJOUTEES PAR LA PAGE « EVENEMENTS & TABLES RONDES »
   ========================================================================== */

/* --- formats : 3 cartes dont le visuel se revele au survol (presentation 19) */
.rowformats{padding:var(--secpad) 0}
.pres19formats{gap:2rem}
.pres19formats > .chapeau{margin-bottom:4rem}
.pres19formats > .chapeau .txt p{max-width:640px;margin-top:1rem;color:var(--grey);font-size:1.02rem;line-height:1.72;font-weight:300}
.pres19formats > .col{flex:1 1 calc(100%/3 - 1.34rem);position:relative;overflow:hidden;background:var(--white);border-top:3px solid var(--gold);transition:transform .3s ease,box-shadow .3s ease}
.pres19formats > .col:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(15,30,53,.15)}
/* visuel de fond, revele au survol */
.pres19formats .box-img{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .45s ease}
.pres19formats .box-img picture{display:block;width:100%;height:100%}
.pres19formats .box-img img{width:100%;height:100%;object-fit:cover}
.pres19formats .box-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,53,.42) 0%,rgba(15,30,53,.66) 100%)}
.pres19formats > .col:hover .box-img{opacity:1}
/* le visuel se cale sur la colonne entiere : le padding est donc porte par
   .intcol, et .intcol ne doit surtout pas etre positionne, sinon il devient
   le bloc conteneur du figure en absolu et le visuel se retrouve en retrait. */
.pres19formats > .col > .intcol{padding:2.5rem;height:100%}
.pres19formats > .col .txt{position:relative;z-index:2;display:flex;flex-direction:column;height:100%}
.pres19formats > .col .txt::before{content:'';order:-3;display:block;width:56px;height:56px;margin-bottom:1.5rem;border-radius:50%;background-color:var(--navy);background-repeat:no-repeat;background-position:center;background-size:26px 26px;transition:background-color .3s}
.pres19formats > .col1 .txt::before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M3.5 18.49l6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z'/%3E%3C/svg%3E")}
.pres19formats > .col2 .txt::before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E")}
.pres19formats > .col3 .txt::before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 3L1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z'/%3E%3C/svg%3E")}
.pres19formats > .col:hover .txt::before{background-color:rgba(255,255,255,.14)}
.pres19formats .num{order:-2;align-self:flex-start;margin-bottom:.9rem;padding:.25rem .7rem;border-radius:2px;background:rgba(201,168,76,.1);color:var(--gold);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500}
.pres19formats > .col .tc2{font-size:1.4rem;line-height:1.3;margin-bottom:1.2rem;transition:color .3s}
.pres19formats > .col:hover .tc2{color:var(--white)}
.pres19formats .desc{margin:0 0 1.5rem;font-size:.95rem;color:var(--text);line-height:1.7;font-weight:300;transition:color .3s}
.pres19formats > .col:hover .desc{color:rgba(255,255,255,.92)}
.pres19formats > .col ul{list-style:none;display:flex;flex-direction:column;gap:.6rem;margin:auto 0 0;padding:1.2rem 0 0;border-top:1px solid var(--grey-light)}
.pres19formats > .col li{position:relative;padding-left:1.3rem;font-size:.86rem;color:var(--text);line-height:1.55;font-weight:300;transition:color .3s}
.pres19formats > .col:hover li{color:rgba(255,255,255,.85)}
.pres19formats > .col li::before{content:'\203A';position:absolute;left:0;color:var(--gold);font-weight:600;font-family:var(--serif);font-size:1.1rem;line-height:1.35}

/* --- illustration : photo encadree a gauche, recit a droite (presentation 15) */
.rowillustration{padding:var(--secpad) 0}
.pres15illustration{display:grid;grid-template-columns:.9fr 1.1fr;column-gap:5rem;align-items:center}
.pres15illustration > .chapeau{grid-column:2;grid-row:1;align-self:end}
.pres15illustration > .chapeau .tc1{margin-bottom:1.5rem}
.pres15illustration > .col1{grid-column:1;grid-row:1/span 2;align-self:center;position:relative;box-shadow:0 20px 50px -15px rgba(15,30,53,.25)}
.pres15illustration > .col1::before{content:'';position:absolute;top:-12px;left:-12px;right:12px;bottom:12px;border:2px solid var(--gold);opacity:.4;z-index:-1}
.pres15illustration > .col1 img{display:block;width:100%;height:auto}
.pres15illustration > .col2{grid-column:2;grid-row:2;align-self:start}
.pres15illustration > .col2 .txt p{margin:0 0 1.2rem;font-size:1rem;line-height:1.8;color:var(--text);font-weight:300}
.pres15illustration > .col2 .txt strong{color:var(--navy);font-weight:500}
.pres15illustration .contexte{display:inline-flex;align-items:center;gap:.7rem;margin-top:1rem;padding:.6rem 1rem;background:var(--off-white);border-left:2px solid var(--gold);font-size:.82rem;color:var(--navy);letter-spacing:.04em}
.pres15illustration .contexte .label{font-weight:500;text-transform:uppercase;color:var(--gold);font-size:.7rem;letter-spacing:.12em}


/* ==========================================================================
   DECLINAISON AJOUTEE PAR LA PAGE « MON ESPACE »
   ========================================================================== */

/* --- espace : tuiles d'acces aux prestations souscrites (presentation 100)
   Le nombre de tuiles depend des droits du compte : d'ou la presentation 100
   et PA_IMAGES, et non une presentation a nombre de colonnes fige. Chaque
   ligne porte son pictogramme en classe, et non la position de la colonne. */
.rowespace{padding:4rem 0 var(--secpad)}
.pres100espace{max-width:1120px;margin:0 auto}
.pres100espace > .chapeau{margin-bottom:2.2rem}
.pres100espace > .chapeau .txt p{margin:0;padding-left:1rem;border-left:3px solid var(--gold);font-size:.85rem;color:var(--grey);font-style:italic}
.pres100espace > .grille{gap:1.5px;padding:1.5px;background:var(--grey-light)}
.pres100espace .col{flex:0 0 calc((100% - 3px)/3);position:relative;overflow:hidden;background:var(--white);transition:background .25s ease,transform .25s ease}
.pres100espace .col:hover{background:var(--navy);transform:translateY(-2px)}
.pres100espace .col > .intcol{padding:2.4rem 2rem;height:100%}
/* visuel revele au survol */
.pres100espace .box-img{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .45s ease}
.pres100espace .box-img picture{display:block;width:100%;height:100%}
.pres100espace .box-img img{width:100%;height:100%;object-fit:cover}
.pres100espace .box-img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,30,53,.38) 0%,rgba(15,30,53,.64) 100%)}
.pres100espace .col:hover .box-img{opacity:1}
.pres100espace .col .txt{position:relative;z-index:2;display:flex;flex-direction:column;height:100%}
.pres100espace .ico{order:-1;flex:0 0 auto;width:56px;height:56px;margin-bottom:1.3rem;border-radius:50%;background-color:var(--navy);background-repeat:no-repeat;background-position:center;background-size:26px 26px;transition:background-color .25s}
.pres100espace .col:hover .ico{background-color:rgba(255,255,255,.12)}
.pres100espace .col .tc2{font-size:1.4rem;line-height:1.25;margin-bottom:.5rem;transition:color .25s}
.pres100espace .col:hover .tc2{color:var(--white)}
.pres100espace .col .txt p{flex-grow:1;margin:0;font-size:.9rem;color:var(--grey);line-height:1.6;font-weight:300;transition:color .25s}
.pres100espace .col:hover .txt p{color:rgba(255,255,255,.85)}
.pres100espace .acces{margin-top:1.3rem;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:500}
.pres100espace .acces::after{content:' \2192'}
/* pictogrammes : portes par la ligne, jamais par le rang de la colonne */
.pres100espace .ico-document{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm2 16H8v-2h8v2zm0-4H8v-2h8v2zm-3-5V3.5L18.5 9H13z'/%3E%3C/svg%3E")}
.pres100espace .ico-mallette{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M20 6h-4V4c0-1.11-.89-2-2-2h-4c-1.11 0-2 .89-2 2v2H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-6 0h-4V4h4v2z'/%3E%3C/svg%3E")}
.pres100espace .ico-graphe{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zM9 17H7v-7h2v7zm4 0h-2V7h2v10zm4 0h-2v-4h2v4z'/%3E%3C/svg%3E")}
.pres100espace .ico-lettre{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E")}
.pres100espace .ico-duo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E")}
.pres100espace .ico-grille{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M4 8h4V4H4v4zm6 12h4v-4h-4v4zm-6 0h4v-4H4v4zm0-6h4v-4H4v4zm6 0h4v-4h-4v4zm6-10v4h4V4h-4zm-6 4h4V4h-4v4zm6 6h4v-4h-4v4zm0 6h4v-4h-4v4z'/%3E%3C/svg%3E")}


/* ==========================================================================
   DECLINAISONS AJOUTEES PAR LA PAGE « NOTRE PHILOSOPHIE »
   Page editoriale : colonne de lecture a 1000px, titres de rang intermediaire.
   ========================================================================== */

/* --- edito : chapeau editorial d'ouverture (presentation 5) --------------- */
.rowedito{padding:5rem 0 3.5rem}
.pres5edito,.pres5soustitre,.pres32etoile,.pres18etoile{max-width:1000px;margin:0 auto}
.pres5edito .tc1{font-family:var(--serif);font-weight:300;font-size:clamp(1.8rem,2.6vw,2.4rem);color:var(--navy);line-height:1.25;margin:0 0 1rem}
.pres5edito .tc1 strong{font-weight:600}
.pres5edito .txt p{margin:0 0 1rem;font-size:1.05rem;color:var(--text);font-weight:300;line-height:1.75}
.pres5edito .txt strong{font-weight:500;color:var(--navy)}

/* --- soustitre : titre de sous-partie, souligne d'un filet (presentation 5) */
.rowsoustitre{padding:0}
.pres5soustitre .tc1{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--navy);line-height:1.3;margin:0 0 1.2rem;padding-bottom:.6rem;border-bottom:1px solid var(--grey-light)}

/* --- etoile : schema en etoile au-dessus de 900px, cartes en dessous
   (presentation 32). Un seul jeu de donnees pour les deux rendus : le chapeau
   devient le disque central, les cinq colonnes deviennent les noeuds. */
.rowetoile{padding:0 0 3.5rem}
.pres32etoile,
.pres18etoile{display:flex;flex-wrap:wrap;gap:1.5rem;margin:2rem auto}
.pres32etoile > .chapeau,
.pres18etoile > .chapeau{flex:0 0 100%}
.pres32etoile > .chapeau .tc1,
.pres18etoile > .chapeau .tc1{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--navy);margin:0 0 .4rem}
.pres32etoile > .col,
.pres18etoile > .col{flex:1 1 240px;background:var(--off-white);border-left:3px solid var(--gold);padding:1.5rem 1.6rem}
.pres32etoile > .col .txt,
.pres18etoile > .col .txt{display:flex;flex-direction:column}
.pres32etoile .num,
.pres18etoile .num{order:-1;display:block;margin-bottom:.6rem;font-family:var(--serif);font-size:1.4rem;font-weight:600;color:var(--gold);line-height:1}
.pres32etoile > .col .tc2,
.pres18etoile > .col .tc2{font-size:1.1rem;line-height:1.3;margin:0 0 .5rem}
.pres32etoile > .col .txt p,
.pres18etoile > .col .txt p{margin:0;font-size:.9rem;color:var(--grey);font-weight:300;line-height:1.55}

@media(min-width:900px){
  .pres32etoile,
  .pres18etoile{
    position:relative;display:block;width:100%;max-width:940px;
    margin:2.5rem auto 1rem;aspect-ratio:1000/720;
    background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 720' preserveAspectRatio='none'%3E%3Cg stroke='%23c9a84c' stroke-width='1.4' opacity='0.5'%3E%3Cline x1='500' y1='360' x2='500' y2='74'/%3E%3Cline x1='500' y1='360' x2='858' y2='286'/%3E%3Cline x1='500' y1='360' x2='700' y2='648'/%3E%3Cline x1='500' y1='360' x2='300' y2='648'/%3E%3Cline x1='500' y1='360' x2='142' y2='286'/%3E%3C/g%3E%3C/svg%3E");
    background-size:100% 100%;background-repeat:no-repeat;background-position:center;
  }
  /* quatre branches au lieu de cinq */
  .pres18etoile{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 720' preserveAspectRatio='none'%3E%3Cg stroke='%23c9a84c' stroke-width='1.4' opacity='0.5'%3E%3Cline x1='500' y1='360' x2='300' y2='155'/%3E%3Cline x1='500' y1='360' x2='700' y2='155'/%3E%3Cline x1='500' y1='360' x2='700' y2='565'/%3E%3Cline x1='500' y1='360' x2='300' y2='565'/%3E%3C/g%3E%3C/svg%3E")}
  /* le chapeau devient le disque central */
  .pres32etoile > .chapeau,
  .pres18etoile > .chapeau{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:19%;aspect-ratio:1;border-radius:50%;z-index:3;
    display:flex;align-items:center;justify-content:center;text-align:center;
    background:radial-gradient(circle at 50% 32%,#21426b 0%,#0f1e35 72%);
    border:2px solid var(--gold);
    box-shadow:0 14px 34px -12px rgba(15,30,53,.55),inset 0 0 0 5px rgba(201,168,76,.14);
  }
  .pres32etoile > .chapeau .tc1,
  .pres18etoile > .chapeau .tc1{padding:0 .4rem;margin:0;font-size:1.02rem;color:var(--white);line-height:1.2}
  /* les colonnes deviennent les noeuds, places sur le cercle */
  .pres32etoile > .col,
  .pres18etoile > .col{
    position:absolute;transform:translate(-50%,-50%);
    width:24%;padding:1rem 1.15rem;z-index:2;
    background:var(--white);border:1px solid var(--grey-light);border-left:1px solid var(--grey-light);
    border-top:3px solid var(--gold);
    box-shadow:0 10px 26px -16px rgba(15,30,53,.3);
    transition:transform .25s ease,box-shadow .25s ease;
  }
  .pres32etoile > .col:hover,
  .pres18etoile > .col:hover{transform:translate(-50%,-50%) translateY(-5px);box-shadow:0 16px 32px -14px rgba(15,30,53,.4)}
  .pres32etoile > .col1{left:50%;top:10.28%}
  .pres32etoile > .col2{left:85.80%;top:39.72%}
  .pres32etoile > .col3{left:70%;top:90%}
  .pres32etoile > .col4{left:30%;top:90%}
  .pres32etoile > .col5{left:14.20%;top:39.72%}
  .pres18etoile > .col1{left:30%;top:21.53%}
  .pres18etoile > .col2{left:70%;top:21.53%}
  .pres18etoile > .col3{left:70%;top:78.47%}
  .pres18etoile > .col4{left:30%;top:78.47%}
  .pres32etoile .num,
  .pres18etoile .num{margin-bottom:.3rem;font-size:1.3rem}
  .pres32etoile > .col .tc2,
  .pres18etoile > .col .tc2{font-size:1.05rem;line-height:1.25;margin-bottom:.3rem}
  .pres32etoile > .col .txt p,
  .pres18etoile > .col .txt p{font-size:.8rem;line-height:1.45}
}

/* --- corps : bloc editorial complet (presentation 5)
   Titre de sous-partie optionnel, corps riche (paragraphes, sous-titres h4,
   listes, citations encadrees) et lien de prolongement optionnel. */
.rowcorps{padding:0 0 3.5rem}
.pres5corps{max-width:1000px;margin:0 auto}
.pres5corps .tc1{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--navy);line-height:1.3;margin:0 0 1.2rem;padding-bottom:.6rem;border-bottom:1px solid var(--grey-light)}
.pres5corps .txt h4{margin:1.6rem 0 .7rem;font-family:var(--serif);font-weight:600;font-size:1.2rem;color:var(--navy);line-height:1.3}
.pres5corps .txt p{margin:0 0 1rem;color:var(--text);font-weight:300;line-height:1.75}
.pres5corps .txt strong{font-weight:500;color:var(--navy)}
.pres5corps .txt ul{list-style:none;margin:.8rem 0 1.4rem;padding:0}
.pres5corps .txt li{position:relative;margin-bottom:.6rem;padding-left:1.4rem;color:var(--text);font-weight:300;line-height:1.65}
.pres5corps .txt li::before{content:'\203A';position:absolute;left:0;color:var(--gold);font-weight:600}
/* La citation est DANS le .txt : ses regles doivent donc etre plus specifiques
   que celles du corps de texte, sinon la couleur du paragraphe l'emporte. */
.pres5corps .txt .citation{margin:2.2rem 0;padding:2rem 2.4rem;background:var(--navy);border-left:4px solid var(--gold)}
.pres5corps .txt .citation p{margin:0;font-family:var(--serif);font-style:italic;font-size:1.35rem;color:var(--white);line-height:1.45;font-weight:300}
.pres5corps .txt .citation p strong{color:var(--gold-light);font-weight:600;font-style:normal}
.pres5corps .readmore{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.9rem 1.6rem;background:var(--navy);color:var(--white);font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;transition:background .2s}
.pres5corps .readmore:hover{background:var(--navy-light)}
.pres5corps .readmore::after{content:'\2192';color:var(--gold)}


/* ==========================================================================
   DECLINAISONS AJOUTEES PAR LA PAGE « NOTRE APPROCHE »
   ========================================================================== */

/* --- principes : texte a gauche, liste numerotee a droite (presentation 34) */
.rowprincipes{padding:var(--secpad) 0}
.pres34principes{display:grid;grid-template-columns:1fr 1fr;column-gap:4rem;align-items:start}
.pres34principes > .chapeau{grid-column:1/-1;margin-bottom:3rem}
.pres34principes > .chapeau .txt p{max-width:740px;margin-top:1rem;color:var(--grey);font-size:1.02rem;line-height:1.72;font-weight:300}
.pres34principes > .col1{grid-column:1;grid-row:2/span 5;display:block}
.pres34principes > .col1 .txt p{margin:0 0 1.3rem;font-size:1rem;color:var(--text);line-height:1.8;font-weight:300}
.pres34principes > .col1 .txt strong{font-weight:500;color:var(--navy)}
.pres34principes > .col2,.pres34principes > .col3,.pres34principes > .col4,
.pres34principes > .col5,.pres34principes > .col6{grid-column:2;padding:1.5rem 0;border-bottom:1px solid var(--grey-light)}
.pres34principes > .col2{grid-row:2;border-top:1px solid var(--grey-light)}
.pres34principes > .col3{grid-row:3}
.pres34principes > .col4{grid-row:4}
.pres34principes > .col5{grid-row:5}
.pres34principes > .col6{grid-row:6}
.pres34principes > .col > .intcol{flex-direction:row;align-items:flex-start;gap:1.4rem}
.pres34principes > .col > .intcol::before{min-width:32px;padding-top:.15rem;font-family:var(--serif);font-size:1rem;font-weight:400;letter-spacing:.08em;color:var(--gold)}
.pres34principes > .col2 > .intcol::before{content:'I'}
.pres34principes > .col3 > .intcol::before{content:'II'}
.pres34principes > .col4 > .intcol::before{content:'III'}
.pres34principes > .col5 > .intcol::before{content:'IV'}
.pres34principes > .col6 > .intcol::before{content:'V'}
.pres34principes > .col .tc2{font-family:var(--sans);font-size:1rem;font-weight:500;color:var(--navy);margin:0 0 .4rem}
.pres34principes > .col .txt p{margin:0;font-size:.9rem;color:var(--grey);line-height:1.6;font-weight:300}

/* --- equipe : 3 fiches avec portrait rond (presentation 19) --------------- */
.rowequipe{padding:var(--secpad) 0 0}
.pres19equipe{gap:2.5rem}
.pres19equipe > .chapeau{margin-bottom:4rem}
.pres19equipe > .chapeau .txt p{max-width:760px;margin-top:1rem;color:var(--grey);font-size:1.02rem;line-height:1.72;font-weight:300}
.pres19equipe > .col{flex:1 1 calc(100%/3 - 1.67rem);background:var(--off-white);padding:2rem 1.8rem;border-top:3px solid var(--gold);transition:transform .3s ease,box-shadow .3s ease}
.pres19equipe > .col:hover{transform:translateY(-4px);box-shadow:0 20px 40px -20px rgba(15,30,53,.15)}
.pres19equipe .box-img{width:110px;height:110px;margin-bottom:1.4rem;border-radius:50%;overflow:hidden}
.pres19equipe .box-img picture{display:block;width:100%;height:100%}
.pres19equipe .box-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.02);transition:transform .5s ease}
.pres19equipe > .col:hover .box-img img{transform:scale(1.05)}
/* recadrage serre pour deux portraits pris sur fond de studio.
   A supprimer des que les images seront recadrees a la source : la regle est
   liee au rang de la colonne, donc a l'ordre d'affichage. */
.pres19equipe > .col2 .box-img img{transform:scale(1.4);transform-origin:center 40%}
.pres19equipe > .col3 .box-img img{transform:scale(1.35);transform-origin:center 35%}
.pres19equipe > .col2:hover .box-img img{transform:scale(1.45);transform-origin:center 40%}
.pres19equipe > .col3:hover .box-img img{transform:scale(1.40);transform-origin:center 35%}
.pres19equipe > .col .txt{display:flex;flex-direction:column}
.pres19equipe .role{order:-1;display:block;margin-bottom:.6rem;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.pres19equipe > .col .tc2{font-size:1.6rem;line-height:1.2;margin:0 0 .3rem}
.pres19equipe .poste{margin:0 0 1.5rem;font-size:.88rem;color:var(--grey);font-weight:400;line-height:1.4}
.pres19equipe .diplomes{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
.pres19equipe .diplomes span{padding:.25rem .65rem;background:var(--white);border:1px solid var(--grey-light);color:var(--navy);font-size:.72rem;letter-spacing:.05em;font-weight:500}
.pres19equipe .bio{margin:0;font-size:.9rem;color:var(--grey);line-height:1.7;font-weight:300}

/* --- statsclair : 4 chiffres sur fond clair (presentation 18) ------------- */
.rowstatsclair{padding:4rem 0 var(--secpad)}
.pres18statsclair{gap:0}
.pres18statsclair > .col{flex:1 1 0;background:var(--white);padding:2rem 1.5rem;text-align:center;outline:1px solid var(--grey-light)}
.pres18statsclair .tc2{margin:0;font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--navy);line-height:1;letter-spacing:0;text-transform:none}
.pres18statsclair .tc2 small{font-size:1em;color:var(--gold)}
.pres18statsclair .txt p{margin:.6rem 0 0;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--grey);line-height:1.4}


/* ==========================================================================
   PAGE « FUNDESYS DANS LES MEDIAS »
   ========================================================================== */

/* --- medias : liste d'interventions medias (presentation 5 + ListeInfos) ---
   La presentation 5 ne porte ici aucun texte : son champ DESCHTML01 contient
   le marqueur ###ACTUS;{...}###. Le moteur de listes d'infos rend donc son
   HTML A L'INTERIEUR du .txt de la presentation 5 :

     .pres5medias > .txt
         .enteteAC            (pose par Liste_Infos.ModeleEnteteHTML)
             .filtreAC > a.ongletAC[.actif]
             p.compteurAC
         .groupAC             (un seul bloc : Liste_Infos.NbParGroupe = 0)
             article.presAC.presACn[data-idrubrique]
                 .imageAC > a.lienimg|span.lienimg > picture > img
                 .texteAC
                     .source / .date / a.titre|span.titre / a.lien
         + la pagination du CMS, si "Pagination":1

   Tout est donc porte par des classes deja produites par le moteur : aucune
   classe de maquette n'est reprise, et le CSS de structure n'est pas touche.
   -------------------------------------------------------------------------- */

/* Exception 3 - la liste des medias se cale sur 1240px comme la maquette, et
   se centre. Le margin:0 auto est indispensable : la surcharge de site pose
   margin:0 sur .containerA, donc un simple max-width laisserait le bloc colle
   a gauche (ce qui est voulu pour le hero, pas ici). */
.containerA.containermedias{max-width:calc(1240px + var(--gutter)*2);margin:0 auto}

.rowmedias{padding:4rem 0 var(--secpad)}

/* --- entete : onglets de filtre + compteur -------------------------------- */
/* Les onglets sont de vrais liens (un filtre = une URL). On neutralise donc
   explicitement l'habillage des liens de la charte. */
/* scroll-margin-top : les onglets pointent sur #listeAC, qui est cet element.
   L'entete du site etant fixe, l'arrivee sur l'ancre doit degager sa hauteur,
   sinon les onglets se retrouvent dessous. */
.pres5medias .enteteAC{display:block;scroll-margin-top:calc(var(--hauteur-entete-reelle,var(--hauteur-entete)) + 1.5rem)}
.pres5medias .filtreAC{
  display:flex;gap:0;width:fit-content;max-width:100%;overflow-x:auto;
  margin-bottom:1.5rem;background:var(--white);border:1px solid var(--grey-light);
}
.pres5medias .filtreAC .ongletAC{
  flex:0 0 auto;padding:.85rem 1.6rem;
  font-family:var(--sans);font-size:.82rem;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;
  color:var(--grey);text-decoration:none;
  border-right:1px solid var(--grey-light);
  transition:background .2s,color .2s;
}
.pres5medias .filtreAC .ongletAC:last-child{border-right:none}
.pres5medias .filtreAC .ongletAC:hover{background:var(--off-white);color:var(--navy)}
.pres5medias .filtreAC .ongletAC.actif{background:var(--navy);color:var(--gold)}
.pres5medias .compteurAC{
  margin:0 0 2.2rem;color:var(--grey);font-size:.85rem;font-style:italic;
}

/* --- habillage commun des cartes d'actualite ------------------------------ */
/* Ces classes sont celles que produit le moteur de listes d'infos, quelle que
   soit la page : .presAC est l'article, .imageAC et .texteAC ses deux zones.
   Elles sont donc habillees une seule fois ici, et chaque declinaison ne
   decrit ensuite que sa mise en page (grille, panneau lateral...).
   Le prefixe AC vient de NomTagInt : aucun risque de collision avec le reste
   du site. */

.presAC{
  display:flex;flex-direction:column;
  background:var(--white);overflow:hidden;
}
.presAC[hidden]{display:none}   /* filtre javascript : voir listeinfos-filtre.js */

.presAC .imageAC{height:185px;overflow:hidden;background:var(--navy-mid)}
.presAC .imageAC > a,
.presAC .imageAC > span,
.presAC .imageAC picture{display:block;width:100%;height:100%}
.presAC .imageAC img{
  display:block;width:100%;height:100%;
  object-fit:cover;object-position:center 22%;
  transition:transform .4s ease;
}
.presAC:hover .imageAC img{transform:scale(1.03)}

.presAC .texteAC{display:flex;flex-direction:column;flex:1;padding:1.5rem}
.presAC .source{
  margin-bottom:.5rem;
  font-size:.78rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);
}
.presAC .date{margin-bottom:.5rem;font-size:.82rem;color:var(--grey)}
.presAC .titre{
  display:block;flex:1;margin-bottom:.9rem;
  font-family:var(--serif);font-size:1.22rem;font-weight:600;line-height:1.35;
  color:var(--navy);text-decoration:none;transition:color .2s;
}
.presAC a.titre:hover{color:var(--gold)}
.presAC .lien{
  display:inline-flex;align-items:center;gap:.35rem;margin-top:auto;
  font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--grey);text-decoration:none;transition:color .2s;
}
.presAC .lien:hover{color:var(--gold)}
.presAC .lien::after{content:'\2192'}   /* fleche vers la droite */

/* --- grille des cartes ---------------------------------------------------- */
/* Une seule grille continue, donc Liste_Infos.NbParGroupe doit valoir 0 :
   sinon la liste serait decoupee en paquets de 3 et chaque paquet aurait sa
   propre grille.
   Les filets entre cartes sont portes par les cartes (une ombre pleine a
   droite et en dessous, de la largeur exacte du gap) et non par un fond gris
   pose sur la grille : quand la derniere ligne est incomplete - ce qui arrive
   des qu'on filtre - les cases vides restent alors transparentes au lieu
   d'afficher un aplat gris. L'overflow de la grille rogne les filets de la
   derniere colonne et de la derniere ligne, que la bordure prend en charge. */
.pres5medias .groupAC,
.pres5mediasaccueil .groupAC{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;
  border:1px solid var(--grey-light);overflow:hidden;
}
.pres5medias .groupAC > .presAC,
.pres5mediasaccueil .groupAC > .presAC{
  box-shadow:1.5px 0 0 var(--grey-light),0 1.5px 0 var(--grey-light);
}

/* Carte « a la une » : meme habillage, sur deux colonnes, avec le chapeau.
   Ne sert que si le JSON passe "AlaUne":1 et qu'une intervention porte
   AC_Pages.IDRef03 = 1. */
.pres5medias .topCont{margin-bottom:1.5rem}
.pres5medias .topAC{
  display:grid;grid-template-columns:1.15fr 1fr;
  background:var(--white);border:1px solid var(--grey-light);
}
.pres5medias .topAC .imageAC{height:100%;min-height:260px}
.pres5medias .topAC .texteAC{padding:2.2rem}
.pres5medias .topAC .titre{font-size:1.7rem;flex:0 0 auto}
.pres5medias .topAC .resume p{
  margin:0 0 1.2rem;color:var(--grey);font-size:.95rem;line-height:1.7;font-weight:300;
}


/* ==========================================================================
   PAGE D'ACCUEIL
   ========================================================================== */

/* --- bandeaunouveau : bandeau dore sous l'entete (presentation 1) ---------- */
/* withzoom 3 : [[BLOC:01]] rend un <a class="col coltexte lienbloc">, donc
   tout le bandeau est cliquable. Le titre et le surtitre sont ceux de la
   charte : ils sont entierement neutralises ici, c'est un bandeau, pas un
   titre de section. */
.rowbandeaunouveau{
  margin-top:var(--hauteur-entete);
  background:linear-gradient(90deg,var(--gold) 0%,var(--gold-light) 100%);
}
.rowbandeaunouveau > .containerA{padding:0}
.pres1bandeaunouveau > .coltexte{
  display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;
  padding:.7rem 1.6rem;text-align:center;text-decoration:none;color:var(--navy);
  transition:filter .2s ease;
}
.pres1bandeaunouveau > .coltexte:hover{filter:brightness(1.05)}
.pres1bandeaunouveau .titres{display:flex;align-items:center;gap:1rem}
.pres1bandeaunouveau .surtitre{
  margin:0;padding:.28rem .7rem;border-radius:2px;
  background:var(--navy);color:var(--gold);
  font-size:.7rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
}
.pres1bandeaunouveau .tc1{
  margin:0;font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--navy);
}
.pres1bandeaunouveau .txt p{margin:0;font-size:.9rem;font-weight:400;letter-spacing:.02em}
.pres1bandeaunouveau .cta{
  display:inline-block;margin-left:.6rem;padding-bottom:2px;
  border-bottom:1px solid var(--navy);
  font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
}
.pres1bandeaunouveau .cta::after{content:' \2192'}

/* --- heroaccueil : le hero de l'accueil ----------------------------------- */
/* Pas de groupe ici : le hero de l'accueil est un contenu unique, donc c'est
   sa propre row qui porte la photographie et le voile. Les groupes des pages
   interieures, eux, se justifient : le fil d'Ariane et le hero y sont deux
   contenus qui partagent la meme image. */
.rowheroaccueil{
  position:relative;overflow:hidden;
  min-height:78vh;display:flex;flex-direction:column;justify-content:center;
  padding:4.5rem 0 5rem;
  background-color:var(--navy);
  background-image:url('/lib/picts/pages2/chablis-hero.jpg');
  background-size:cover;background-position:center 60%;background-repeat:no-repeat;
}
.rowheroaccueil::before{
  content:'';position:absolute;inset:0;z-index:1;
  background:
    linear-gradient(rgba(201,168,76,.03) 1px,transparent 1px) 0 0/80px 80px,
    linear-gradient(90deg,rgba(201,168,76,.03) 1px,transparent 1px) 0 0/80px 80px,
    linear-gradient(90deg,rgba(15,30,53,.92) 0%,rgba(15,30,53,.75) 50%,rgba(15,30,53,.55) 100%),
    linear-gradient(180deg,rgba(15,30,53,.4) 0%,rgba(15,30,53,.7) 100%);
}
.rowheroaccueil::after{
  content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;z-index:1;
  background:rgba(201,168,76,.15);
}
.rowheroaccueil > .containerA{position:relative;z-index:2}

/* --- heroaccueil : texte a gauche, interventions a droite (presentation 15) */
/* Le chapeau et la colonne 1 occupent la colonne de gauche, la colonne 2
   occupe toute la hauteur a droite : c'est une grille, d'ou la neutralisation
   du flex du socle. */
.pres15heroaccueil{
  display:grid;grid-template-columns:1fr 1fr;
  gap:2.5rem 4rem;align-items:center;
}
.pres15heroaccueil > .chapeau{grid-column:1;grid-row:1;align-self:end}
.pres15heroaccueil > .col1{grid-column:1;grid-row:2;align-self:start}
.pres15heroaccueil > .col2{grid-column:2;grid-row:1/3}

.pres15heroaccueil .surtitre{
  display:inline-flex;align-items:center;gap:.6rem;
  margin-bottom:1.8rem;padding:.32rem .85rem;
  border:1px solid rgba(201,168,76,.35);
  font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);
}
.pres15heroaccueil .surtitre::before{content:'';display:inline-block;width:18px;height:1px;background:var(--gold)}
.pres15heroaccueil .tc1{
  font-size:clamp(2.8rem,4.5vw,4rem);font-weight:300;line-height:1.13;
  color:var(--white);margin:0 0 1.5rem;
}
.pres15heroaccueil .tc1 strong{font-weight:600;color:var(--gold);display:block}
.pres15heroaccueil .accroche{
  margin:0 0 2.5rem;max-width:480px;
  color:rgba(255,255,255,.58);font-size:1.08rem;line-height:1.78;font-weight:300;
}
/* Les deux boutons sont des liens poses dans un champ HTML, donc dans un <p> :
   ils tombent sous la regle de maillage interne .pres .txt p a, qui les
   passerait en dore souligne. Les selecteurs ci-dessous reprennent le meme
   chemin (.txt p a) pour la depasser - c'est la precaution a prendre pour
   tout element d'interface ecrit dans un champ HTML. */
.pres15heroaccueil .boutons{display:flex;gap:1rem;flex-wrap:wrap;margin:0}
.pres15heroaccueil .txt p a.boutonor,
.pres15heroaccueil .txt p a.boutonfin{
  padding:.9rem 2rem;border-radius:2px;text-decoration:none;
  font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  transition:all .2s;
}
.pres15heroaccueil .txt p a.boutonor{background:var(--gold);color:var(--navy)}
.pres15heroaccueil .txt p a.boutonor:hover{background:var(--gold-light);color:var(--navy)}
.pres15heroaccueil .txt p a.boutonfin{border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.78)}
.pres15heroaccueil .txt p a.boutonfin:hover{border-color:var(--gold);color:var(--gold)}

/* les trois chiffres, sous les boutons */
.pres15heroaccueil > .col1 .txt{
  display:flex;gap:2.5rem;flex-wrap:wrap;
  padding-top:2rem;border-top:1px solid rgba(201,168,76,.15);
}
.pres15heroaccueil .chiffre{display:flex;flex-direction:column}
.pres15heroaccueil .chiffre .val{
  font-family:var(--serif);font-size:2.2rem;font-weight:300;color:var(--white);line-height:1;
}
.pres15heroaccueil .chiffre .val span{color:var(--gold)}
.pres15heroaccueil .chiffre .lib{
  margin-top:.3rem;font-size:.8rem;letter-spacing:.09em;text-transform:uppercase;color:var(--grey);
}

/* le panneau des dernieres interventions */
.pres15heroaccueil > .col2 > .intcol{
  background:rgba(15,30,53,.78);backdrop-filter:blur(6px);
  border:1px solid rgba(201,168,76,.18);
}
.pres15heroaccueil .enteteAC{
  padding:.9rem 1.4rem;background:rgba(201,168,76,.05);
  border-bottom:1px solid rgba(201,168,76,.12);
  font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
}
.pres15heroaccueil .groupAC{display:block}
.pres15heroaccueil .presAC{
  position:relative;
  flex-direction:row;align-items:center;gap:1.2rem;
  padding:1.1rem 1.4rem;background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(201,168,76,.07);
  transition:background .2s;
}
.pres15heroaccueil .presAC:last-child{border-bottom:none}
.pres15heroaccueil .presAC:hover{background:rgba(201,168,76,.08)}
.pres15heroaccueil .presAC .imageAC{
  flex:0 0 120px;width:120px;height:78px;
  border:1px solid rgba(201,168,76,.15);background:var(--navy-mid);
}
.pres15heroaccueil .presAC .imageAC img{object-position:center 22%}
.pres15heroaccueil .presAC .texteAC{padding:0}
.pres15heroaccueil .presAC .source{margin-bottom:.3rem;font-size:.76rem;letter-spacing:.1em}
.pres15heroaccueil .presAC .titre{
  margin:0;flex:0 0 auto;
  font-size:1.08rem;font-weight:400;color:rgba(255,255,255,.8);line-height:1.35;
}
.pres15heroaccueil .presAC a.titre:hover{color:var(--gold-light)}
.pres15heroaccueil .presAC .date{margin:.25rem 0 0}
/* toute la carte est cliquable : le lien du titre est etire sur la carte.
   Le lien de la vignette, qui pointe au meme endroit, passe dessous. */
.pres15heroaccueil .presAC a.titre::after{content:'';position:absolute;inset:0;z-index:1}

/* --- la section grise des prestations ------------------------------------- */
/* Deux contenus consecutifs sur le meme fond : le fond vient de l'autrestyle
   fondoffwhite pose sur chacun, pas d'un groupe. Un groupe ne se justifie que
   lorsqu'il faut un element commun aux deux rows - une image de fond partagee,
   une mise en page cote a cote. Ici le padding de section est simplement
   reparti : le haut sur la premiere row, le bas sur la seconde. */
/* L'espace sous le titre est un padding de la row, pas une marge du bloc :
   une marge basse posee a l'interieur de la row s'en echapperait par fusion
   des marges, et le fond de section se couperait entre les deux contenus.
   C'est le groupe qui l'absorbait jusqu'ici. */
.rowentetesection{padding:var(--secpad) 0 3rem}
.rowprestationsaccueil{padding:0 0 var(--secpad)}

/* --- entetesection : titre a gauche, introduction a droite (presentation 5) */
.pres5entetesection{
  display:grid;grid-template-columns:1fr auto;align-items:end;
  gap:2rem;
}
.pres5entetesection > .titres{grid-column:1}
.pres5entetesection > .txt{grid-column:2;max-width:540px}
.pres5entetesection .tc1{margin:0;font-size:clamp(2.2rem,3.2vw,3rem)}
.pres5entetesection .txt p{margin:0;color:var(--grey);font-size:1.02rem;line-height:1.72;font-weight:300}

/* --- prestationsaccueil : tuiles avec visuel revele au survol (pres. 100) -- */
/* Le visuel est en fond de tuile : il est donc absolu dans .intcol, qui porte
   le padding ET la position. Ne pas remonter le padding sur .col, sinon le
   visuel serait rogne de la valeur du padding. */
.pres100prestationsaccueil > .grille{
  display:grid;grid-template-columns:repeat(3,1fr);gap:1.5px;background:var(--grey-light);
}
.pres100prestationsaccueil .col{background:var(--white);text-decoration:none;color:inherit}
.pres100prestationsaccueil .intcol{
  position:relative;overflow:hidden;
  min-height:280px;padding:2.2rem 1.8rem;
  display:flex;flex-direction:column;
}
.pres100prestationsaccueil .box-img{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity .5s ease}
.pres100prestationsaccueil .box-img picture,
.pres100prestationsaccueil .box-img img{display:block;width:100%;height:100%;object-fit:cover}
.pres100prestationsaccueil .col:hover .box-img{opacity:1}
/* voile sombre pour que le texte reste lisible sur la photographie */
.pres100prestationsaccueil .intcol::after{
  content:'';position:absolute;inset:0;z-index:1;opacity:0;transition:opacity .5s ease;
  background:linear-gradient(180deg,rgba(15,30,53,0) 0%,rgba(15,30,53,.55) 40%,rgba(15,30,53,.9) 100%);
}
.pres100prestationsaccueil .col:hover .intcol::after{opacity:1}
/* filet dore qui se deploie en bas de la tuile */
.pres100prestationsaccueil .intcol::before{
  content:'';position:absolute;left:0;bottom:0;z-index:3;
  height:2px;width:0;background:var(--gold);transition:width .4s ease;
}
.pres100prestationsaccueil .col:hover .intcol::before{width:100%}

.pres100prestationsaccueil .txt{position:relative;z-index:2;display:flex;flex-direction:column;flex:1}
.pres100prestationsaccueil .num{
  display:block;margin-bottom:1.1rem;
  font-family:var(--serif);font-size:1.5rem;letter-spacing:.1em;color:var(--gold);
}
.pres100prestationsaccueil .tc2{
  margin:0 0 .7rem;font-size:1.5rem;font-weight:600;color:var(--navy);line-height:1.3;
  transition:color .3s;
}
.pres100prestationsaccueil .txt p{
  margin:0;font-size:.93rem;color:var(--grey);line-height:1.65;font-weight:300;transition:color .3s;
}
.pres100prestationsaccueil .txt::after{
  content:'\2192';margin-top:auto;padding-top:1.3rem;
  color:var(--gold);font-size:1rem;opacity:0;transition:opacity .3s;
}
.pres100prestationsaccueil .col:hover .tc2{color:var(--white)}
.pres100prestationsaccueil .col:hover .txt p{color:rgba(255,255,255,.9)}
.pres100prestationsaccueil .col:hover .txt::after{opacity:1}

/* le panneau editorial : derniere tuile, deux colonnes de large, visuel
   toujours visible. La regle porte sur :last-child, donc elle suit si des
   prestations sont ajoutees avant lui. */
.pres100prestationsaccueil > .grille > .col:last-child{grid-column:span 2;background:var(--navy)}
.pres100prestationsaccueil > .grille > .col:last-child .intcol{justify-content:center;padding:2.5rem 3rem}
.pres100prestationsaccueil > .grille > .col:last-child .box-img{opacity:1}
.pres100prestationsaccueil > .grille > .col:last-child .box-img img{object-position:center right}
.pres100prestationsaccueil > .grille > .col:last-child .intcol::after{
  opacity:1;
  background:linear-gradient(90deg,var(--navy) 22%,rgba(15,30,53,.55) 48%,rgba(15,30,53,0) 70%);
}
.pres100prestationsaccueil > .grille > .col:last-child .txt{max-width:540px}
.pres100prestationsaccueil > .grille > .col:last-child .txt::after{display:none}
/* le surtitre du panneau est dans le champ HTML, donc apres le titre dans le
   flux : la colonne flex le remonte avec order, sans toucher au template */
.pres100prestationsaccueil .surtitrepanneau{
  order:-1;margin:0 0 .9rem;
  font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);
}
.pres100prestationsaccueil > .grille > .col:last-child .tc2{
  margin-bottom:1rem;font-weight:300;font-size:clamp(1.6rem,2.2vw,2.1rem);color:var(--white);line-height:1.25;
}
.pres100prestationsaccueil > .grille > .col:last-child .tc2 strong{font-weight:600;color:var(--gold-light)}
.pres100prestationsaccueil > .grille > .col:last-child .txt p{color:rgba(255,255,255,.72);line-height:1.7}
.pres100prestationsaccueil .lienpanneau{
  margin-top:1.4rem;color:var(--gold);font-size:.9rem;letter-spacing:.05em;transition:color .2s;
}
.pres100prestationsaccueil .lienpanneau::after{content:' \2192'}
.pres100prestationsaccueil > .grille > .col:last-child:hover .lienpanneau{color:var(--gold-light)}

/* --- grpapproche : deux demi-sections cote a cote ------------------------- */
/* Ici le groupe est indispensable, et c'est le seul de la page : deux contenus
   distincts doivent se placer cote a cote, ce qui demande un parent commun.
   Le groupe devient une grille de deux colonnes, chaque row est une moitie,
   avec sa propre gouttiere et son propre fond. */
.rowgrpapproche{display:grid;grid-template-columns:1fr 1fr}
.rowgrpapproche > .row{padding:var(--secpad) 0}
.rowgrpapproche > .rowpiliers{border-right:1px solid var(--grey-light)}

/* --- piliers : chapeau + quatre piliers numerotes (presentation 18) ------- */
/* Les quatre colonnes de la presentation 18 sont empilees : c'est une liste,
   pas une rangee. Le chiffre romain est une donnee du champ HTML, place par la
   grille devant le titre - pas un compteur CSS. */
.pres18piliers{display:grid;grid-template-columns:1fr}
.pres18piliers > .chapeau{margin-bottom:2.5rem}
.pres18piliers .surtitre{margin-bottom:.7rem}
.pres18piliers .tc1{margin:0 0 .9rem;font-size:clamp(2.2rem,3.2vw,3rem)}
.pres18piliers > .chapeau .txt p{margin:0;max-width:540px;color:var(--grey);font-size:1.02rem;line-height:1.72;font-weight:300}
.pres18piliers > .col{padding:1.3rem 0;border-bottom:1px solid var(--grey-light)}
.pres18piliers > .col .txt{display:grid;grid-template-columns:26px 1fr;column-gap:1.1rem;align-items:start}
.pres18piliers > .col .num{
  grid-column:1;grid-row:1/span 2;padding-top:.1rem;
  font-family:var(--serif);font-size:.92rem;letter-spacing:.08em;color:var(--gold);
}
.pres18piliers > .col .tc2{
  grid-column:2;grid-row:1;margin:0 0 .28rem;
  font-family:var(--sans);font-size:1rem;font-weight:500;color:var(--navy);
}
.pres18piliers > .col .txt p{grid-column:2;grid-row:2;margin:0;font-size:.92rem;color:var(--grey);line-height:1.6;font-weight:300}

/* --- metriques : quatre chiffres en 2x2 + citation en pied (pres. 18) ----- */
.pres18metriques{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--grey-light)}
.pres18metriques > .col{background:var(--white)}
.pres18metriques > .col > .intcol{padding:2rem 1.6rem}
.pres18metriques .tc2{
  margin:0;font-family:var(--serif);font-size:2.8rem;font-weight:300;
  color:var(--navy);line-height:1;
}
.pres18metriques .tc2 sup{font-size:1.1rem;color:var(--gold)}
.pres18metriques .txt p{
  margin:.45rem 0 0;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--grey);line-height:1.4;
}
.pres18metriques > .pied{grid-column:1/-1;background:var(--off-white);padding:1.8rem}
.pres18metriques > .pied .citation{
  margin:0;font-family:var(--serif);font-size:1.3rem;font-style:italic;
  color:var(--gold);line-height:1.45;
}
.pres18metriques > .pied .legende{
  margin:.5rem 0 0;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--grey);line-height:1.4;
}

/* --- mediasaccueil : titre + onglets + grille + bouton (presentation 5) --- */
/* display:contents sur .txt : le moteur de listes rend l'entete et la grille
   DANS le champ HTML, donc un niveau plus bas que le titre. On les remonte au
   niveau de la grille pour que les onglets se placent a droite du titre. */
.rowmediasaccueil{padding:var(--secpad) 0}
.pres5mediasaccueil{
  display:grid;grid-template-columns:1fr auto;align-items:end;
  row-gap:2.8rem;column-gap:2rem;
}
.pres5mediasaccueil > .txt{display:contents}
.pres5mediasaccueil > .titres{grid-column:1;grid-row:1}
.pres5mediasaccueil .enteteAC{grid-column:2;grid-row:1;justify-self:end}
.pres5mediasaccueil .groupAC{grid-column:1/-1;grid-row:2}
.pres5mediasaccueil > .readmore{grid-column:1/-1;grid-row:3;justify-self:center}

.pres5mediasaccueil .surtitre{margin-bottom:.7rem}
.pres5mediasaccueil .tc1{margin:0;font-size:clamp(2.2rem,3.2vw,3rem)}

.pres5mediasaccueil .filtreAC{display:flex;gap:0;border:1px solid var(--grey-light);background:var(--white)}
.pres5mediasaccueil .ongletAC{
  padding:.55rem 1.2rem;border:none;background:transparent;cursor:pointer;
  font-family:var(--sans);font-size:.84rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--grey);white-space:nowrap;transition:background .2s,color .2s;
}
.pres5mediasaccueil .ongletAC:hover{background:var(--off-white);color:var(--navy)}
.pres5mediasaccueil .ongletAC.actif{background:var(--navy);color:var(--white)}

.pres5mediasaccueil > .readmore{
  padding:.9rem 2.2rem;background:var(--navy);color:var(--white);
  font-size:.88rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
  border-radius:2px;transition:background .2s;
}
.pres5mediasaccueil > .readmore:hover{background:var(--navy-light)}
.pres5mediasaccueil > .readmore::after{content:' \2192'}

/* --- clients : quatre publics, pastille ronde (presentation 18) ----------- */
/* La maquette encadre les quatre publics d'un seul filet. La presentation 18
   n'a pas de conteneur autour de ses colonnes (contrairement au .grille de la
   presentation 100) : le cadre est donc porte par les colonnes elles-memes,
   chacune sans bord droit sauf la derniere. */
.rowclients{padding:5rem 0}
.pres18clients{justify-content:center}
.pres18clients > .chapeau{margin-bottom:2.8rem;text-align:center}
.pres18clients .tc1{
  margin:0;font-family:var(--serif);font-size:1.15rem;font-weight:300;
  letter-spacing:.2em;text-transform:uppercase;color:var(--grey);
}
.pres18clients > .col{
  flex:1 1 180px;max-width:215px;
  border:1px solid var(--grey-light);border-right:none;
}
.pres18clients > .col:last-child{border-right:1px solid var(--grey-light)}
.pres18clients > .col > .intcol{padding:2.2rem 1.4rem}
/* l'icone est dans le champ HTML, donc apres le titre dans le flux : la
   colonne flex la remonte avec order, sans toucher au template */
.pres18clients .txt{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center}
.pres18clients .ico{order:-1}
.pres18clients .ico{
  display:block;width:42px;height:42px;border-radius:50%;
  background-color:var(--navy);background-repeat:no-repeat;background-position:center;background-size:20px 20px;
}
.pres18clients .tc2{
  margin:0;font-family:var(--sans);font-size:.88rem;font-weight:500;
  letter-spacing:.08em;text-transform:uppercase;color:var(--navy);line-height:1.4;
}
.pres18clients .ico-bouclier{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 2L2 7v10c0 5.5 10 9 10 9s10-3.5 10-9V7L12 2z'/%3E%3C/svg%3E")}
.pres18clients .ico-liste{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M3 13h18v-2H3v2zm0 4h18v-2H3v2zm0-8h18V7H3v2zM3 3v2h18V3H3z'/%3E%3C/svg%3E")}
.pres18clients .ico-equipe{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E")}
.pres18clients .ico-immeuble{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23c9a84c'%3E%3Cpath d='M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z'/%3E%3C/svg%3E")}


/* ===== 5. AUTRESTYLES ==================================================== */

.rowfondor{background:var(--gold)}
.rowfondnavy{background:var(--navy)}
.rowfondoffwhite{background:var(--off-white)}
.rowfondnavy .tc1{color:var(--white)}
.rowfondnavy .tc1 strong{color:var(--gold)}


/* ===== 6. RESPONSIVE ===================================================== */


/* --- Menu mobile : point de rupture impose par megamenuv4.js -------------- */



/* ===== 7. STRUCTURE GLOBALE DE PAGE ====================================== */
/* <div id="zt"> <header> … </header>
                <div id="ZC"><section id="content"> … contenus … </section></div>
                <footer> … </footer> </div>                                   */

#zt{width:100%;overflow-x:hidden}
#ZC{width:100%}
#content{display:block;width:100%}

/* L'entête est fixe : le premier bloc de contenu doit réserver sa hauteur
   (ici le padding-top du groupe hero le fait déjà). */
:root{--hauteur-entete:80px}

/* Ancres de navigation interne : le champ Ancre d'un contenu devient l'id de
   sa row. L'entête étant fixe, l'arrivée sur l'ancre doit dégager sa hauteur,
   sinon le haut de la section passe dessous. La règle vaut pour toutes les
   rows ancrées, quelle que soit la présentation. */
.row[id]{scroll-margin-top:var(--hauteur-entete-reelle,var(--hauteur-entete))}


/* ===== 8. ENTÊTE ========================================================= */

header{position:fixed;top:0;left:0;right:0;z-index:100}

.rowH{background:rgba(15,30,53,.97);backdrop-filter:blur(8px);border-bottom:1px solid rgba(201,168,76,.2)}
.rowH > .containerA{
  width:100%;max-width:none;margin:0;padding:0 var(--gutter);
  height:var(--hauteur-entete);
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
}
.rowH .c1{flex:0 0 auto;display:flex;align-items:center}
.rowH .c1 .logo{display:block;line-height:0}
.rowH .c1 img{height:48px;display:block}
.rowH .c2{flex:1 1 auto;display:flex;justify-content:center}
.rowH .c3{flex:0 0 auto;display:flex;align-items:center;gap:.7rem}

/* --- MENU (markup attendu par megamenuv4.js, point de rupture 943px) ----- */
/* Le JS ajoute lui-meme : a.menu-mobile, li.menu-dropdown-icon, ul.normal-sub,
   ul.show-on-mobile et li.mFlip. Le serveur ne produit aucune de ces classes. */

.menu-container{display:flex;align-items:center}
.menu-container .clear{clear:both}
nav.menu{position:static}

nav.menu > ul{display:flex;align-items:center;gap:2rem;list-style:none;margin:0;padding:0}
nav.menu > ul > li{position:relative;margin:0}
nav.menu > ul > li > span{display:block}
nav.menu > ul > li > span > a{
  display:flex;align-items:center;height:var(--hauteur-entete);
  color:rgba(255,255,255,.72);text-decoration:none;white-space:nowrap;
  font-size:.88rem;letter-spacing:.06em;text-transform:uppercase;font-weight:400;
  line-height:1.2;transition:color .2s;
}
nav.menu > ul > li:hover > span > a{color:var(--gold-light)}
nav.menu > ul > li.actif > span > a{color:var(--gold)}

/* chevron pose par le JS sur les rubriques qui ont un sous-menu */
nav.menu > ul > li.menu-dropdown-icon > span > a::after{
  content:'';display:inline-block;width:.4em;height:.4em;margin-left:.5em;
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:translateY(-.15em) rotate(45deg);
}

/* panneau deroulant */
nav.menu > ul > li > ul{
  display:none;position:absolute;top:100%;left:0;z-index:100;
  min-width:260px;margin:0;padding:1.4rem 0;list-style:none;
  background:rgba(15,30,53,.98);border:1px solid rgba(201,168,76,.2);border-top:0;
}
/* ouverture au survol : en CSS et non en JS (cf. commentaire de megamenuv4.js) */
nav.menu > ul > li:hover > ul{display:flex}
nav.menu > ul > li > ul.normal-sub{min-width:220px}

nav.menu > ul > li > ul > li.col{flex:1 1 auto;min-width:220px;padding:0 1.6rem;list-style:none}
nav.menu > ul > li > ul > li.col + li.col{border-left:1px solid rgba(201,168,76,.15)}
nav.menu > ul > li > ul ul{list-style:none;margin:0;padding:0}
nav.menu > ul > li > ul li a{
  display:block;padding:.45rem 0;color:rgba(255,255,255,.6);text-decoration:none;
  font-size:.85rem;letter-spacing:.03em;transition:color .2s;
}
nav.menu > ul > li > ul li a:hover{color:var(--gold-light)}
nav.menu > ul > li > ul li.actif > a{color:var(--gold)}
/* 3e niveau eventuel */
nav.menu > ul > li > ul li ul{padding-left:.9rem;border-left:1px solid rgba(201,168,76,.15)}
nav.menu > ul > li > ul li ul a{font-size:.8rem;color:rgba(255,255,255,.45)}

/* bouton burger et bouton + inseres par le JS : masques au-dessus de 943px */
a.menu-mobile{display:none}
nav.menu .ouvre{display:none}

.btn-entete{
  border:1px solid rgba(201,168,76,.5);color:var(--gold-light);
  padding:.42rem 1rem;border-radius:2px;
  font-size:.84rem;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;
  font-family:var(--sans);transition:all .2s;white-space:nowrap;
}
.btn-entete:hover{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn-entete.plein{background:var(--gold);color:var(--navy);border-color:var(--gold);font-weight:500}
.btn-entete.plein:hover{background:var(--gold-light);border-color:var(--gold-light)}


/* ===== 9. PIED DE PAGE =================================================== */

footer{background:#080f1a}

.rowF1 > .containerA{
  width:100%;max-width:none;margin:0;
  padding:4rem var(--gutter) 3rem;
  display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:3rem;
  border-bottom:1px solid rgba(201,168,76,.1);
}

/* mot-logo typographique du pied */
.rowF1 .marque{
  display:block;margin-bottom:1rem;
  font-family:var(--serif);font-size:1.4rem;font-weight:600;letter-spacing:.08em;
  color:#fff;
}
.rowF1 .marque span{color:var(--gold)}
/* conserve si un logo image est prefere au mot-logo */
.rowF1 .footc1 img{height:40px;margin-bottom:1.2rem;filter:brightness(0) invert(1);opacity:.85}
.rowF1 .footc1 p{font-size:.9rem;color:rgba(255,255,255,.32);line-height:1.7;font-weight:300;max-width:250px}

.rowF1 h4{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);margin-bottom:1.1rem;font-weight:500}
.rowF1 ul{list-style:none;margin:0;padding:0}
.rowF1 li{margin-bottom:.6rem}
.rowF1 a{font-size:.92rem;color:rgba(255,255,255,.38);text-decoration:none;transition:color .2s}
.rowF1 a:hover{color:rgba(255,255,255,.82)}

.rowF1 .coord{display:flex;gap:.8rem;align-items:flex-start;margin-bottom:.85rem}
.rowF1 .coord span{font-size:.9rem;color:rgba(255,255,255,.38);line-height:1.5}
.rowF1 .coord .ico{
  flex:0 0 16px;width:16px;height:16px;margin-top:.2rem;
  background-color:var(--gold);
  -webkit-mask-position:center;mask-position:center;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-size:contain;mask-size:contain;
}
.rowF1 .ico-adresse{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.1 2 5 5.1 5 9c0 5.2 7 13 7 13s7-7.8 7-13c0-3.9-3.1-7-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E")}
.rowF1 .ico-mail{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E")}
.rowF1 .ico-tel{-webkit-mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.2c1.1.4 2.3.6 3.6.6a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.4a1 1 0 0 1 1 1c0 1.2.2 2.4.6 3.6a1 1 0 0 1-.2 1l-2.2 2.2z'/%3E%3C/svg%3E");mask-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.2c1.1.4 2.3.6 3.6.6a1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.4a1 1 0 0 1 1 1c0 1.2.2 2.4.6 3.6a1 1 0 0 1-.2 1l-2.2 2.2z'/%3E%3C/svg%3E")}

.rowF2 > .containerA{
  width:100%;max-width:none;margin:0;
  padding:2rem var(--gutter) 2.5rem;
  display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;
}
.rowF2 .footc1{margin-right:auto}      /* copyright colle a gauche */
.rowF2 .footc2{margin-left:auto}       /* liens colles a droite */
.rowF2 .footc1 p{font-size:.82rem;color:rgba(255,255,255,.2)}
.rowF2 .footc2{display:flex;gap:2rem;flex-wrap:wrap}
.rowF2 a,.rowF2 .lien-cookies{
  font-size:.82rem;color:rgba(255,255,255,.23);text-decoration:none;
  font-family:var(--sans);background:none;border:0;padding:0;cursor:pointer;transition:color .2s;
}
.rowF2 a:hover,.rowF2 .lien-cookies:hover{color:rgba(255,255,255,.58)}


/* ===== 10. RESPONSIVE ===================================================
   Place en fin de feuille : ces blocs doivent pouvoir surcharger toutes les
   sections precedentes, structure de page et entete comprises. */

@media(max-width:1100px){
  :root{--gutter:2rem}

  /* --- page d'accueil ---------------------------------------------------- */
  /* Le panneau des interventions disparait avec la colonne de droite du hero,
     comme dans la maquette. Pour le conserver, remplacer ce display:none par
     grid-column:1 et retirer la ligne grid-row du bloc principal. */
  .pres15heroaccueil{grid-template-columns:1fr}
  .pres15heroaccueil > .chapeau{grid-column:1;grid-row:1}
  .pres15heroaccueil > .col1{grid-column:1;grid-row:2}
  .pres15heroaccueil > .col2{display:none}
  .rowheroaccueil::after{display:none}
  .rowheroaccueil{min-height:auto}

  .pres100prestationsaccueil > .grille{grid-template-columns:1fr 1fr}
  .rowgrpapproche{grid-template-columns:1fr}
  .rowgrpapproche > .rowpiliers{border-right:none}
  .pres5mediasaccueil .groupAC{grid-template-columns:1fr 1fr}

  /* liste des medias : 3 colonnes -> 2 */
  .pres5medias .groupAC{grid-template-columns:1fr 1fr}
  .pres5medias .topAC{grid-template-columns:1fr}
  .pres5medias .topAC .imageAC{min-height:220px}

  /* le menu desktop est encore affiche jusqu'a 943px : il doit tenir */
  nav.menu > ul{gap:1.2rem}
  nav.menu > ul > li > span > a{font-size:.8rem;letter-spacing:.03em}
  .rowH > .containerA{gap:1.2rem}
  .rowH .c1 img{height:40px}
  .rowH .c3{gap:.5rem}
  .rowH .c3 .btn-entete{padding:.38rem .7rem;font-size:.76rem;letter-spacing:.04em}
  .rowF1 > .containerA{grid-template-columns:1fr 1fr;gap:2.5rem}
  .pres18chiffresor > .col{flex:0 0 calc(50% - 1rem)}
  .pres32prestation{grid-template-columns:1fr;column-gap:0;row-gap:0}
  .pres32prestation > .col1{grid-column:1;grid-row:2;margin-bottom:3rem}
  .pres32prestation > .col2{grid-row:3}
  .pres32prestation > .col3{grid-row:4}
  .pres32prestation > .col4{grid-row:5}
  .pres32prestation > .col5{grid-row:6}
  .pres32prestation > .col2,.pres32prestation > .col3,
  .pres32prestation > .col4,.pres32prestation > .col5{grid-column:1}
  .pres15livrables{grid-template-columns:1fr}
  .pres19acv > .col{flex:0 0 100%}
  .pres19acv > .col + .col{border-left:0;border-top:1.5px solid rgba(201,168,76,.15)}
  .pres15methodebas{grid-template-columns:1fr}
  .pres18audience > .col{flex:0 0 50%}
  .pres100autresprestations .col{flex:0 0 calc((100% - 1.5px)/2)}
  .pres100profils .col{flex:0 0 calc((100% - 1.5px)/2)}
  .pres100espace .col{flex:0 0 calc((100% - 1.5px)/2)}
  .pres15disponibilite{grid-template-columns:1fr;row-gap:2.5rem}
  .pres15disponibilite > .chapeau,.pres15disponibilite > .col1,.pres15disponibilite > .col2{grid-column:1;grid-row:auto}
  .pres19etapes > .col{flex:0 0 100%}
  .pres18axes > .col{flex:0 0 50%}
  .pres15forme,.pres15forme.inverse{grid-template-columns:1fr}
  .pres15forme > .chapeau{grid-row:auto}
  .pres15forme > .col1,.pres15forme > .col2,
  .pres15forme.inverse > .col1,.pres15forme.inverse > .col2{grid-column:1;grid-row:auto}
  .pres15forme > .col2{min-height:380px;border-top:0}
  .pres15forme.inverse > .col2{order:-1}
  .pres19formats > .col{flex:0 0 100%}
  .pres15illustration{grid-template-columns:1fr;row-gap:2.5rem}
  .pres15illustration > .chapeau,.pres15illustration > .col1,.pres15illustration > .col2{grid-column:1;grid-row:auto}
  .pres15illustration > .col1{order:-1}
  .pres34principes{grid-template-columns:1fr;column-gap:0}
  .pres34principes > .col1{grid-column:1;grid-row:2;margin-bottom:2rem}
  .pres34principes > .col2,.pres34principes > .col3,.pres34principes > .col4,
  .pres34principes > .col5,.pres34principes > .col6{grid-column:1}
  .pres34principes > .col2{grid-row:3}
  .pres34principes > .col3{grid-row:4}
  .pres34principes > .col4{grid-row:5}
  .pres34principes > .col5{grid-row:6}
  .pres34principes > .col6{grid-row:7}
  .pres19equipe > .col{flex:0 0 100%}
  .pres18statsclair > .col{flex:0 0 50%}
  .pres34prestation{grid-template-columns:1fr;column-gap:0;row-gap:0}
  .pres34prestation > .col1{grid-column:1;grid-row:2;margin-bottom:3rem}
  .pres34prestation > .col2,.pres34prestation > .col3,.pres34prestation > .col4,
  .pres34prestation > .col5,.pres34prestation > .col6{grid-column:1}
  .pres34prestation > .col2{grid-row:3}
  .pres34prestation > .col3{grid-row:4}
  .pres34prestation > .col4{grid-row:5}
  .pres34prestation > .col5{grid-row:6}
  .pres34prestation > .col6{grid-row:7}
  .pres15apercu{grid-template-columns:1fr;row-gap:2.5rem}
  .pres15apercu > .chapeau,.pres15apercu > .col1,.pres15apercu > .col2{grid-column:1;grid-row:auto}
  .pres34sommaire > .col{flex:0 0 50%}
  .pres18marqueblanche > .col{flex:0 0 calc(50% - .75rem)}
  .pres15independance{grid-template-columns:1fr;row-gap:2.5rem}
  .pres15independance > .chapeau,.pres15independance > .col1,.pres15independance > .col2{grid-column:1;grid-row:auto}
  .pres18axes > .col + .col{border-left:0}
  .pres18axes > .col:nth-child(odd){border-left:0}
  .pres18axes > .col{box-shadow:0 0 0 .75px rgba(201,168,76,.15)}
  .pres15acces{grid-template-columns:1fr;row-gap:2.5rem}
  .pres15acces > .chapeau,.pres15acces > .col1,.pres15acces > .col2{grid-column:1;grid-row:auto}
  .pres32personnalisation{grid-template-columns:1fr 1fr}
  .pres32personnalisation > .chapeau,.pres32personnalisation > .col1{grid-column:1/-1;grid-row:auto;padding-right:0}
  .pres32personnalisation > .col2,.pres32personnalisation > .col3,
  .pres32personnalisation > .col4,.pres32personnalisation > .col5{grid-column:auto;grid-row:auto}
}

@media(max-width:943px){
  .rowH > .containerA{gap:.8rem}
  .rowH .c3{gap:.4rem}
  .rowH .c3 .btn-entete{padding:.34rem .6rem;font-size:.72rem;letter-spacing:.04em}

  a.menu-mobile{
    display:block;width:28px;height:var(--hauteur-entete);
    text-decoration:none;position:relative;
  }
  a.menu-mobile::before,a.menu-mobile::after,a.menu-mobile span{display:none}
  a.menu-mobile::before{
    content:'';display:block;position:absolute;top:50%;left:0;
    width:28px;height:2px;margin-top:-1px;background:var(--gold);
    box-shadow:0 -8px 0 var(--gold),0 8px 0 var(--gold);
  }

  /* le JS pose height et width en style inline sur ce ul */
  nav.menu > ul{
    display:none;position:absolute;left:0;top:var(--hauteur-entete);
    width:100%;flex-direction:column;align-items:stretch;gap:0;
    padding:0 var(--gutter) 2rem;overflow-y:auto;
    background:rgba(15,30,53,.99);border-top:1px solid rgba(201,168,76,.2);
  }
  nav.menu > ul.show-on-mobile{display:flex}

  nav.menu > ul > li{border-bottom:1px solid rgba(255,255,255,.07)}
  nav.menu > ul > li > span{display:flex;align-items:center;justify-content:space-between}
  nav.menu > ul > li > span > a{flex:1 1 auto;height:auto;white-space:normal;line-height:1.3;padding:.72rem 0;font-size:.95rem}

  /* en mobile l'ouverture ne se fait plus au survol mais par la classe mFlip,
     posee par le bouton + de megamenuv4.js */
  nav.menu > ul > li:hover > ul{display:none}
  nav.menu > ul > li.mFlip > ul{display:flex}
  nav.menu > ul > li > ul{
    position:static;display:none;flex-direction:column;
    min-width:0;padding:0 0 .8rem;background:none;border:0;
  }
  nav.menu > ul > li > ul > li.col{padding:0}
  nav.menu > ul > li > ul > li.col + li.col{border-left:0}
  nav.menu > ul > li > ul li a{padding:.55rem 0 .55rem 1rem}
  /* bouton + : ouvre le sous-menu sans suivre le lien du libelle */
  nav.menu > ul > li > span > .ouvre{
    flex:0 0 auto;display:grid;place-items:center;
    width:2.2rem;height:2.2rem;margin-left:.5rem;cursor:pointer;
    color:var(--gold);font-size:1.35rem;line-height:1;font-weight:300;
    border:1px solid rgba(201,168,76,.35);border-radius:2px;
    -webkit-user-select:none;user-select:none;
  }
  nav.menu > ul > li > span > .ouvre::before{content:'+'}
  nav.menu > ul > li.mFlip > span > .ouvre::before{content:'\2212'}   /* signe moins */
  /* le chevron du JS n'a plus lieu d'etre en mobile */
  nav.menu > ul > li.menu-dropdown-icon > span > a::after{display:none}
}

@media(max-width:640px){
  :root{--gutter:1.5rem;--secpad:3.5rem}
  .rowH .c3 .btn-entete{padding:.3rem .5rem;font-size:.66rem}
  .rowF1 > .containerA{grid-template-columns:1fr;gap:2rem}
  .rowF2 > .containerA{justify-content:flex-start}
  .rowF2 .footc2{margin-left:0}
  .rowgrphero{padding:8rem 0 3rem;min-height:auto}
  .pres18chiffresor{padding:2rem var(--gutter)}
  .pres18chiffresor > .col{flex:0 0 100%}
  .pres18audience > .col{flex:0 0 100%}
  .pres100autresprestations .col{flex:0 0 100%}
  .pres100profils .col{flex:0 0 100%}
  .pres100espace .col{flex:0 0 100%}
  .rowespace{padding:3rem 0 4rem}
  .pres15plateformes{grid-template-columns:1fr}
  .pres18axes > .col{flex:0 0 100%}
  .pres18modalites > .col{flex:0 0 100%}
  .pres34sommaire > .col{flex:0 0 100%}
  .pres18marqueblanche > .col{flex:0 0 100%}
  .pres18statsclair > .col{flex:0 0 100%}
  .pres15publics > .col{flex:0 0 100%}
  .pres18modalites .txt{grid-template-columns:1fr}
  .pres18modalites > .col .ico{grid-row:1;margin-bottom:1rem}
  .pres18modalites > .col .tag{grid-column:1;grid-row:2}
  .pres18modalites > .col .tc2{grid-column:1;grid-row:3}
  .pres32personnalisation{grid-template-columns:1fr}
  .pres19cta{padding:2.5rem 0}
  .pres19cta > .col{flex:0 0 100%}

  /* --- page d'accueil ---------------------------------------------------- */
  .pres1bandeaunouveau > .coltexte{padding:.7rem 1rem;font-size:.82rem}
  .pres1bandeaunouveau .tc1{font-size:1rem}
  .pres100prestationsaccueil > .grille{grid-template-columns:1fr}
  .pres100prestationsaccueil > .grille > .col:last-child{grid-column:auto}
  .pres100prestationsaccueil > .grille > .col:last-child .intcol{padding:2rem 1.5rem;min-height:auto}
  .pres18metriques{grid-template-columns:1fr}
  .pres5entetesection{grid-template-columns:1fr}
  .pres5mediasaccueil{grid-template-columns:1fr}
  .pres5mediasaccueil .enteteAC{grid-column:1;grid-row:2;justify-self:start}
  .pres5mediasaccueil .groupAC{grid-column:1;grid-row:3;grid-template-columns:1fr}
  .pres5mediasaccueil > .readmore{grid-row:4}
  .pres5mediasaccueil .filtreAC{width:100%;overflow-x:auto}
  .pres18clients > .col{flex:0 0 100%;max-width:none;border-right:1px solid var(--grey-light);border-bottom:none}
  .pres18clients > .col:last-child{border-bottom:1px solid var(--grey-light)}

  /* liste des medias : une seule colonne, et la barre d'onglets prend toute
     la largeur en gardant son defilement horizontal */
  .rowmedias{padding:3rem 0 4rem}
  .pres5medias .groupAC{grid-template-columns:1fr}
  .pres5medias .filtreAC{width:100%}
  .presAC .texteAC{padding:1.25rem}
}
