/*
Theme Name: Rappelle ton pouvoir
Theme URI: https://rappelletonpouvoir.com
Author: Alice Brouart
Author URI: https://alice-brouart.com
Description: Thème sur mesure pour Solenne Knob, coach mental et coach personnel à Montpellier. Identité violet & crème, typographies Cormorant Garamond / Jost.
Version: 1.2
License: GNU General Public License v2 or later
Text Domain: rappelle-ton-pouvoir
*/


  :root{
    /* Palette « Rappelle ton pouvoir » — design system (tokens/colors.css).
       Les anciens noms de variables sont conserves : seules les valeurs changent,
       pour que toute la maquette bascule d'un bloc. */
    --cream:#FBF6EE;        /* cream-50  */
    --cream-warm:#F5ECDD;   /* cream-100 */
    --cream-deep:#EFE3CF;   /* cream-200 */
    --sable:#EADCC4;        /* sable-200 */
    --sable-deep:#DCC8A6;   /* sable-300 */
    --ink:#2A1D28;          /* ink-900   */
    --ink-soft:#43303F;     /* ink-700   */
    --muted:#6B5464;        /* ink-500   */
    --gold:#D19A3C;         /* ocre-500  */
    --gold-light:#E7C67E;   /* ocre-300  */
    --gold-deep:#B9842A;    /* ocre-600  */
    --violet:#692FA0;       /* accent violet (charte) */
    --violet-deep:#5D0D6E;  /* violet profond (charte) */
    --violet-light:#EAE5F6; /* lavande pâle (halos/fonds) */
    --violet-vivid:#7D4FFE; /* violet signature (boutons) */
    --violet-lav:#857DFF;   /* lavande moyenne */
    --plum-300:#AFA4CE;     /* mauve grisé clair (charte) */
    --plum:#5D0D6E;         /* violet très profond (charte) */
    --plum-soft:#692FA0;    /* violet profond doux (charte) */
    --terra:#C4623F;        /* terracotta-500 */
    --terra-deep:#A84E30;   /* terracotta-600 */
    --terra-light:#E29B7E;  /* terracotta-300 */
    --line:rgba(58,33,56,.16);
    --shadow-sm:0 2px 8px rgba(58,33,56,.08);
    --shadow-md:0 10px 30px rgba(58,33,56,.10);
    --shadow-lg:0 24px 60px rgba(58,33,56,.14);
    --serif:'Cormorant Garamond',serif;
    --body:'Jost','Segoe UI',system-ui,sans-serif;
    --maxw:1120px;
    --measure:1060px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  html,body{overflow-x:hidden;max-width:100%;}
  img{max-width:100%;height:auto;}
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:var(--body);
    font-size:17px;
    line-height:1.65;
    letter-spacing:.005em;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{font-family:var(--serif);font-weight:500;margin:0;line-height:1.12;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px;}
  .eyebrow{
    font-family:var(--body);
    text-transform:uppercase;
    letter-spacing:.22em;
    font-size:12.5px;
    font-weight:500;
    color:var(--terra);
    margin:0 0 18px;
    padding-left:.22em;
  }
  .italic{font-style:italic;}

  /* ---------- pill buttons ---------- */
  .pill{
    display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:.5em;
    font-family:var(--body);font-size:16px;font-weight:500;
    color:#fff;
    background:linear-gradient(135deg,#692FA0,var(--violet-deep));
    border:1px solid transparent;border-radius:999px;
    padding:14px 32px;cursor:pointer;
    box-shadow:none;
    transition:background .18s ease,box-shadow .26s ease,transform .16s cubic-bezier(.34,1.3,.5,1),color .18s ease,border-color .18s ease;
    letter-spacing:.01em;line-height:1;
  }
  .pill:hover{background:linear-gradient(135deg,var(--violet-deep),#4a0a58);box-shadow:0 14px 30px rgba(93,13,110,.30);}
  .pill:active{transform:scale(.97);}
  .pill.small{font-size:14.5px;padding:11px 24px;}
  .pill.ghost{background:transparent;color:var(--violet-deep);border:1px solid var(--line);box-shadow:none;}
  .pill.ghost:hover{color:#fff;background:var(--violet-deep);border-color:transparent;box-shadow:none;}

  /* ---------- header / nav ---------- */
  header.site{
    position:sticky;top:0;z-index:60;
    background:rgba(251,246,238,.82);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(120,100,70,.08);
  }
  .nav{
    display:flex;align-items:center;justify-content:space-between;
    gap:28px;height:74px;position:relative;max-width:1320px;
  }
  .navlist{display:flex;align-items:center;gap:26px;white-space:nowrap;}
  .logo{flex:0 0 auto;}
  .nav-cta{flex:0 0 auto;font-size:16px;padding:11px 26px;white-space:nowrap;}
  .nav-cta.active{filter:brightness(.94);}
  .logo{display:flex;align-items:center;gap:11px;}
  .logo-circle{display:inline-flex;}
  .logo-circle svg{width:46px;height:46px;display:block;}
  .foot-brand .logo-circle svg{width:60px;height:60px;}
  .logo:hover .logo-circle svg{filter:brightness(1.06);}
  .brand-name{font-family:var(--serif);font-style:italic;font-weight:500;font-size:23px;color:var(--ink);letter-spacing:.01em;}
  .brand-tag{font-family:var(--body);text-transform:uppercase;letter-spacing:.2em;font-size:9px;color:var(--violet);margin-top:5px;font-weight:500;white-space:nowrap;}
  .logo:hover .brand-name{color:var(--violet-deep);}
  .foot-brand .brand-name{font-size:27px;}
  .foot-brand .brand-tag{font-size:10px;letter-spacing:.22em;margin-top:7px;}
  @media(max-width:600px){.brand-name{font-size:20px;}.brand-tag{font-size:8px;letter-spacing:.16em;}}
  .logo-ph{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:96px;height:40px;padding:0 16px;
    border:1px dashed rgba(122,74,115,.4);border-radius:8px;
    font-family:var(--body);text-transform:uppercase;letter-spacing:.22em;
    font-size:11.5px;color:var(--muted);
  }
  .logo:hover .logo-ph{border-color:var(--terra);color:var(--terra);}
  .nav a.navlink,.nav button.navlink{
    font-family:var(--body);font-size:17px;font-weight:500;
    color:var(--ink-soft);background:none;border:none;cursor:pointer;
    padding:6px 2px;position:relative;letter-spacing:.01em;
    transition:color .2s;
  }
  .nav .navlink::after{
    content:"";position:absolute;left:0;bottom:-2px;height:1px;width:0;
    background:var(--terra);transition:width .28s ease;
  }
  .nav .navlink:hover{color:var(--terra);}
  .nav .navlink:hover::after,.nav .navlink.active::after{width:100%;}
  .nav .navlink.active{color:var(--terra);}

  /* dropdown */
  .has-sub{position:relative;}
  /* passerelle invisible : sans elle, le survol se perd dans l'écart
     entre le bouton et le menu, qui se referme avant d'être atteint */
  .has-sub::after{
    content:"";position:absolute;top:100%;left:-10px;right:-10px;height:18px;
  }
  .sub{
    position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(8px);
    background:#fff;border:1px solid var(--line);border-radius:14px;
    box-shadow:var(--shadow-md);
    padding:10px;min-width:248px;
    opacity:0;visibility:hidden;pointer-events:none;
    transition:opacity .22s ease,transform .22s ease,visibility .22s;
    z-index:80;
  }
  .sub::before{
    content:"";position:absolute;top:-7px;left:50%;transform:translateX(-50%) rotate(45deg);
    width:12px;height:12px;background:#fff;
    border-left:1px solid var(--line);border-top:1px solid var(--line);
  }
  .has-sub:hover .sub,.has-sub:focus-within .sub,.sub.open{
    opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
  }
  .sub a{
    display:flex;flex-direction:column;gap:2px;
    padding:11px 16px;border-radius:9px;transition:background .18s;
  }
  .sub a:hover{background:var(--cream-warm);}
  .sub a .s-name{font-family:var(--body);font-size:15.5px;font-weight:500;color:var(--ink);}
  .sub a .s-tag{font-size:12.5px;color:var(--muted);letter-spacing:.04em;opacity:.85;}

  /* mobile toggle */
  .burger{display:none;order:3;
    background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;}
  .burger span{width:24px;height:1.5px;background:var(--ink);display:block;transition:.3s;}

  /* ---------- pages ---------- */
  .page{display:none;animation:fade .6s ease both;}
  .intro-head{margin-bottom:10px;}
  .intro-left{max-width:var(--measure);margin:0 auto;text-align:left;}
  .intro-left .section-title{text-align:left;max-width:none;margin:0;}
  .intro-left .lead{text-align:left;max-width:none;margin:0;}
  .intro-left .prose-single{max-width:none;margin:22px 0 0;}
  .intro-head .lead{max-width:var(--measure);margin-left:auto;margin-right:auto;}
  .page.show{display:block;}
  @keyframes fade{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}

  /* ---------- generic section ---------- */
  section.band{padding:66px 0;position:relative;}
  section.alt{
    background:var(--cream-warm);
  }
  .approach-tools{background:var(--cream-deep);}
  .center{text-align:center;}
  .section-title{font-size:clamp(34px,5vw,52px);font-style:italic;}
  .lead{font-family:var(--serif);font-style:italic;font-size:24px;color:var(--violet);margin-top:10px;}

  .two-col{display:grid;grid-template-columns:1fr 1fr;gap:54px;margin-top:46px;}
  .two-col p{margin:0 0 18px;color:var(--ink-soft);}
  .two-col p.q{font-style:italic;color:var(--ink);}
  .prose-single{max-width:var(--measure);margin:46px auto 0;}
  .prose-single.to-frame{max-width:var(--measure);}
  .prose-single p{margin:0 0 20px;color:var(--ink-soft);text-align:left;}
  .prose-single h3{
    font-size:26px;font-style:italic;color:var(--ink);
    margin:48px 0 16px;padding-left:18px;position:relative;line-height:1.25;
  }
  .prose-single h3::before{
    content:"";position:absolute;left:0;top:.24em;bottom:.24em;width:2px;
    background:var(--gold);border-radius:2px;
  }
  .prose-single p.pull{
    font-family:var(--serif);font-style:italic;font-size:clamp(22px,2.8vw,28px);
    color:var(--violet-deep);text-align:center;line-height:1.4;
    margin:44px 0;padding:26px 20px;position:relative;
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    background:linear-gradient(180deg,rgba(122,74,115,.05),transparent 50%,rgba(209,154,60,.06));
  }
  .prose-single p.cta-row{text-align:center;margin-top:40px;}
  .prose-single.center p{text-align:center;}
  .prose-single p.closing{
    font-family:var(--serif);font-size:clamp(24px,3vw,30px);line-height:1.35;
    color:var(--violet-deep);text-align:center;
    margin:38px 0 0;padding-top:32px;position:relative;
  }
  .prose-single p.closing::before{
    content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:120px;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
  }

  /* Accueil « Enchantée » : texte brut, sans traits ni italiques */
  #accueil .band .section-title{font-style:normal;max-width:var(--measure);margin-left:auto;margin-right:auto;}
  #accueil .band .lead{font-style:normal;color:var(--ink-soft);}
  #accueil .prose-single h3{font-style:normal;padding-left:0;}
  #accueil .prose-single h3::before{display:none;}
  #accueil .prose-single p.pull{
    font-family:var(--body);font-style:normal;font-size:inherit;
    color:var(--ink-soft);text-align:left;line-height:1.65;
    margin:0 0 20px;padding:0;border:none;background:none;
  }
  #accueil .prose-single p.closing{
    font-family:var(--body);font-style:normal;font-size:inherit;
    color:var(--ink-soft);text-align:left;line-height:1.65;
    margin:0 0 20px;padding-top:0;
  }
  #accueil .prose-single p.closing::before{display:none;}

  /* Blooms décoratifs (filigrane) sur les sections prépa mentale */
  .prep{overflow:hidden;}
  .prep .wrap{position:relative;z-index:1;}
  .prep .bloom-accent{
    position:absolute;z-index:0;pointer-events:none;
    width:min(440px,52vw);aspect-ratio:1;opacity:.16;
  }
  .prep .bloom-accent.tl{top:-70px;left:-70px;}
  .prep .bloom-accent.br{bottom:-70px;right:-70px;}

  /* Section prépa mentale en deux colonnes (photo + texte) */
  .split-grid{
    display:grid;grid-template-columns:.82fr 1fr;gap:60px;align-items:center;
    max-width:var(--measure);margin:0 auto;
  }
  .split-photo{
    position:relative;overflow:hidden;border-radius:14px;aspect-ratio:4/5;
    background:linear-gradient(150deg,#EADCC4 0%,#DCC8A6 45%,#E7C67E 100%);
    box-shadow:var(--shadow-lg);
  }
  .split-photo .ph-bloom{position:absolute;inset:14%;opacity:.5;}
  .split-text .section-title{text-align:left;}
  .split-text .prose-single{max-width:none;margin:22px 0 0;}
  @media(max-width:820px){
    .split-grid{grid-template-columns:1fr;gap:30px;}
    .split-photo{width:100%;max-width:400px;margin:0 auto;min-height:440px;}
  }

  /* Démarcation nette avec la section prépa (alt) qui précède */
  .adresse{
    background:linear-gradient(180deg,var(--cream-warm) 0%,var(--cream) 55%);
  }
  .adresse::before{
    content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
    width:120px;height:1px;
    background:linear-gradient(90deg,transparent,var(--gold),transparent);
  }

  /* « À qui s’adresse » en 3 blocs */
  .adress-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
    max-width:var(--measure);margin:44px auto 0;
  }
  .adress-card{
    background:#fff;
    border:1px solid var(--line);border-radius:22px;padding:34px 30px;
    box-shadow:var(--shadow-sm);
  }
  .adress-num{
    display:block;font-family:var(--serif);font-style:italic;
    font-size:38px;line-height:1;color:var(--gold);margin-bottom:18px;
  }
  .adress-num::after{
    content:"";display:block;width:30px;height:2px;margin-top:12px;border-radius:2px;
    background:var(--terra);
  }
  .adress-card p{color:var(--ink-soft);margin:0;line-height:1.55;}
  .adress-foot{max-width:var(--measure);margin:44px auto 0;text-align:center;}
  .adress-lead{font-size:clamp(19px,2.3vw,24px);color:var(--ink);line-height:1.5;margin:0 0 26px;}
  #accueil-accompagnements{scroll-margin-top:90px;}
  @media(max-width:820px){
    .adress-grid{grid-template-columns:1fr;gap:16px;}
  }

  /* quote band */
  /* photo banner */
  .photoband{
    position:relative;overflow:hidden;
    min-height:380px;display:flex;align-items:center;justify-content:center;
    text-align:center;color:var(--violet-deep);padding:58px 0;
  }
  .photoband-bg{position:absolute;inset:0;
    background:
      radial-gradient(90% 70% at 30% 25%, rgba(231,198,126,.55), transparent 60%),
      radial-gradient(80% 70% at 80% 75%, rgba(196,98,63,.35), transparent 55%),
      linear-gradient(150deg,#EADCC4 0%,#DCC8A6 45%,#C9AF85 100%);
  }
  .photoband-bg::after{display:none;}
  .photoband-note{position:absolute;right:18px;bottom:14px;font-size:11px;letter-spacing:.2em;
    text-transform:uppercase;color:rgba(255,255,255,.5);z-index:2;}
  .photoband .wrap{position:relative;z-index:2;}
  .photoband blockquote{
    margin:0 auto;max-width:var(--measure);
    font-family:var(--serif);font-style:italic;font-weight:500;
    font-size:clamp(26px,3.8vw,42px);line-height:1.35;
    text-shadow:none;
  }
  /* --- Prendre ma place : profils --- */
  .profiles{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:52px;max-width:var(--measure);margin-left:auto;margin-right:auto;}
  .profile{
    background:#fff;border:1px solid var(--line);border-radius:22px;
    padding:38px 34px;box-shadow:var(--shadow-sm);
  }
  .p-icon{
    display:inline-flex;align-items:center;justify-content:center;
    width:56px;height:56px;border-radius:50%;margin-bottom:18px;
    color:var(--violet-deep);
    background:var(--violet-light);
    box-shadow:none;
  }
  .p-icon svg{width:30px;height:30px;}
  .profile h2{font-size:30px;font-style:italic;color:var(--ink);margin-bottom:8px;line-height:1.2;}
  .profile h2 .sub-h{font-size:20px;color:var(--muted);}
  .profile.solo{max-width:var(--measure);margin:52px auto 0;}
  .profile.solo h2{font-size:28px;}
  .checks.two-cols{columns:2;column-gap:38px;}
  .checks.two-cols li{break-inside:avoid;}
  .profile .checks{list-style:none;margin:22px 0 0;padding:0;}
  .profile .checks li{
    position:relative;padding-left:30px;margin-bottom:16px;
    color:var(--ink-soft);line-height:1.55;
  }
  .profile .checks li::before{
    content:"";position:absolute;left:6px;top:.62em;
    width:7px;height:7px;border-radius:50%;
    background:var(--terra);box-shadow:0 0 0 4px rgba(196,98,63,.14);
  }

  /* --- Prendre ma place : le parcours (bandeau dégradé) --- */
  .steps-band{
    background:var(--sable);
    color:var(--ink);
  }
  .steps-band .section-title{color:var(--ink);}
  .steps-band .wrap{position:relative;z-index:2;}
  .steps{
    list-style:none;margin:56px auto 0;padding:0;max-width:var(--measure);position:relative;
  }
  .steps li{
    position:relative;padding:0 0 44px 108px;min-height:76px;
  }
  .steps li:last-child{padding-bottom:0;}
  /* le fil qui relie les étapes */
  .steps li::after{
    content:"";position:absolute;left:37px;top:88px;bottom:-6px;width:1px;z-index:0;
    background:linear-gradient(180deg,currentColor,transparent);opacity:.6;
  }
  .steps li:last-child::after{display:none;}
  /* dégradé or → violet le long du parcours */
  .steps li:nth-child(1){color:#D19A3C;}
  .steps li:nth-child(2){color:#C4623F;}
  .steps li:nth-child(3){color:#A84E30;}
  .steps li:nth-child(4){color:#7A4A73;}
  .steps li:nth-child(5){color:#573153;}
  .s-icon{
    position:absolute;left:0;top:0;z-index:2;
    display:inline-flex;align-items:center;justify-content:center;
    width:76px;height:76px;border-radius:50%;
    color:var(--violet-deep);
    background:#fff;
    box-shadow:var(--shadow-sm), 0 0 0 1px var(--line);
    transition:transform .3s ease,box-shadow .3s ease;
  }
  .steps li:hover .s-icon{transform:scale(1.04);box-shadow:var(--shadow-md), 0 0 0 1px var(--line);}
  .s-icon svg{width:36px;height:36px;}
  .steps h3{font-size:26px;font-style:italic;color:var(--ink);margin-bottom:6px;padding-top:12px;}
  .steps p{margin:0;color:var(--ink-soft);font-size:16.5px;line-height:1.55;}

  .photoband.compact{min-height:260px;padding:60px 0;}

  .quoteband{padding:60px 0;}
  .quoteband .rule{height:1px;background:var(--line);max-width:640px;margin:0 auto;}
  .quoteband blockquote{margin:0;text-align:center;padding:34px 0;
    font-family:var(--serif);font-style:italic;font-size:clamp(24px,3.4vw,34px);color:var(--ink);}

  /* ---------- service cards ---------- */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:54px;}
  .cards.duo{grid-template-columns:repeat(2,1fr);max-width:var(--measure);margin-left:auto;margin-right:auto;gap:32px;}
  .cards.duo .card{padding:38px 32px 34px;}
  .cards.duo .bloom{width:150px;height:150px;}
  .cards.duo h3{font-size:32px;}
  .card{
    background:#fff;border:1px solid var(--line);border-radius:22px;
    padding:30px 26px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;
    box-shadow:var(--shadow-sm);
    transition:transform .26s cubic-bezier(.22,.61,.36,1),box-shadow .26s cubic-bezier(.22,.61,.36,1);
  }
  .card.featured{transform:translateY(-8px);box-shadow:var(--shadow-md);}
  .card:hover{transform:translateY(-10px);box-shadow:var(--shadow-md);}
  .card .bloom{width:130px;height:130px;margin-bottom:16px;}
  .card .bloom img{width:100%;height:100%;object-fit:contain;display:block;}
  .card .c-eyebrow{text-transform:uppercase;letter-spacing:.22em;font-size:11px;font-weight:500;color:var(--terra);margin-bottom:8px;}
  .card h3{font-size:27px;font-style:italic;margin-bottom:12px;}
  .card p{color:var(--ink-soft);font-size:16.5px;margin:0 0 22px;flex:1;}

  /* ---------- séance carousel ---------- */
  .seance{display:grid;grid-template-columns:1fr 1px 1fr;gap:48px;align-items:start;margin-top:10px;}
  .seance .divider{background:linear-gradient(180deg,rgba(209,154,60,.55),rgba(122,74,115,.35));width:1px;height:100%;min-height:340px;}
  .seance .s-eyebrow{font-family:var(--body);text-transform:uppercase;letter-spacing:.22em;font-size:12.5px;font-weight:500;color:var(--terra);}
  .seance h1{font-size:clamp(40px,5vw,58px);font-style:italic;margin:4px 0 18px;}
  .seance .s-rule{height:1px;background:var(--line);margin-bottom:24px;}
  .seance .meta{list-style:none;padding:0;margin:0 0 22px;color:var(--ink);}
  .seance .meta li{margin-bottom:4px;color:var(--ink-soft);}
  .seance .s-body p{color:var(--ink-soft);margin:0 0 16px;}
  .seance .foryou-h{font-style:italic;color:var(--ink);margin:26px 0 10px;}
  .seance ul.foryou{margin:0;padding-left:20px;color:var(--ink-soft);}
  .seance ul.foryou li{margin-bottom:10px;}
  .seance .visual{display:flex;align-items:flex-start;justify-content:center;padding-top:10px;}
  .seance .visual .bloom{width:min(330px,80%);height:auto;}
  .seance-cta{margin-top:40px;}
  .seance-switch{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:42px;
    padding-top:30px;border-top:1px solid var(--line);}
  .seance-switch span{font-family:var(--body);color:var(--muted);font-size:14.5px;min-width:200px;text-align:center;}
  .card .pill.small[data-seance]{margin-top:auto;}
  /* les deux CTA « univers » de l'accueil : meme gabarit, texte sur deux lignes */
  .card .pill[data-page]{
    margin-top:auto;text-align:center;line-height:1.3;
    padding:12px 26px;min-width:min(270px,100%);max-width:100%;
  }
  .carousel-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:46px;}
  .carousel-nav button.arrow{
    width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--cream);
    cursor:pointer;font-size:18px;color:var(--ink-soft);transition:.2s;
  }
  .carousel-nav button.arrow:hover{border-color:var(--terra);color:var(--terra);}
  .dots{display:flex;gap:8px;}
  .dots button{width:24px;height:6px;border-radius:6px;border:none;background:var(--cream-deep);cursor:pointer;transition:.25s;}
  .dots button.on{background:var(--terra);width:34px;}

  /* ---------- mon parcours image blob ---------- */
  .parcours-head{max-width:var(--measure);margin:0 auto 20px;}
  .parcours-head h2{font-size:clamp(34px,4.6vw,46px);font-style:normal;margin-bottom:0;}
  .parcours-body{
    max-width:var(--measure);margin:0 auto;
  }
  .p-flower{float:right;width:220px;max-width:32%;margin:6px 0 14px 40px;shape-outside:circle(50%);}
  .p-flower img{width:100%;height:auto;display:block;}
  @media(max-width:720px){.p-flower{float:none;width:220px;margin:18px auto 6px;}}
  .parcours-body::after{content:"";display:block;clear:both;}
  .parcours-body .blob{
    float:right;width:440px;height:auto;aspect-ratio:4/5;
    margin:0 0 22px 48px;border-radius:6px;
  }
  .parcours-text p{color:var(--ink-soft);margin:0 0 13px;line-height:1.5;}
  .parcours-text p:first-child{margin-top:0;}
  .parcours-text p.q{
    font-family:var(--body);font-style:normal;font-size:inherit;color:var(--ink-soft);
    margin:0 0 13px;line-height:1.5;
  }
  @media(max-width:820px){
    .parcours-body .blob{float:none;width:auto;max-width:340px;margin:0 auto 24px;}
  }
  .blob{
    aspect-ratio:4/5;border-radius:48% 52% 56% 44% / 60% 44% 56% 40%;
    background:
      radial-gradient(120% 90% at 60% 20%, #E7C67E, transparent 55%),
      linear-gradient(160deg,#D19A3C,#C4623F 60%,#7A4A73);
    position:relative;overflow:hidden;box-shadow:inset 0 0 80px rgba(90,65,110,.22);
  }
  .blob .ph{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;
    padding-bottom:18px;color:rgba(255,255,255,.7);font-size:11px;letter-spacing:.22em;text-transform:uppercase;}

  /* ---------- réservation ---------- */
  .reserve{text-align:center;}
  .reserve h1{font-size:clamp(38px,5vw,54px);font-style:italic;}
  .reserve .lead{margin-bottom:6px;}
  .reserve .stay{color:var(--ink-soft);font-style:italic;margin-top:0;}
  /* ---------- réservation (bas de la page Me joindre) ---------- */
  .contact.reserve{position:relative;overflow:hidden;padding:70px 0 120px;}
  .contact.reserve .silk{height:400px;}
  .contact.reserve::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;z-index:1;
    background:linear-gradient(to bottom,transparent,var(--cream));pointer-events:none;}
  .contact.reserve .wrap{position:relative;z-index:2;}
  .reserve-box{
    border:1px solid var(--line);border-radius:22px;overflow:hidden;
    max-width:var(--measure);margin:42px auto 0;
    background:#fff;box-shadow:0 18px 50px -34px rgba(93,13,110,.4);
  }

  /* ---------- contact block (silk waves) ---------- */
  /* --- Mon approche (page parcours) --- */
  .approach-intro{max-width:var(--measure);margin:0 auto 20px;text-align:center;color:var(--ink-soft);font-size:17px;line-height:1.7;}
  .approach-steps{max-width:var(--measure);margin:0 auto;text-align:left;}
  .approach-steps .steps-lead{font-family:var(--serif);font-style:italic;font-size:20px;color:var(--ink-soft);margin:0 0 20px;text-align:center;}
  .approach-steps p{margin:0 0 16px;line-height:1.75;}
  .approach-steps p:last-child{margin-bottom:0;}
  .approach-item p.a-sub{font-family:var(--serif);font-style:italic;color:var(--violet);margin:2px 0 12px;font-size:20px;}
  .approach-grid{
    max-width:var(--measure);margin:44px auto 0;
    display:grid;grid-template-columns:1fr 1fr;gap:24px;
  }
  .approach-item{
    background:#fff;border:1px solid var(--line);border-radius:18px;
    padding:28px 30px;box-shadow:0 16px 44px -34px rgba(93,13,110,.4);
  }
  .approach-item h3{
    font-size:27px;font-style:italic;font-weight:600;color:var(--ink);margin:16px 0 8px;
    display:flex;align-items:center;gap:12px;
  }
  .a-icon{
    display:inline-flex;align-items:center;justify-content:center;flex:none;
    width:44px;height:44px;border-radius:50%;color:var(--violet-deep);
    background:var(--violet-light);
    box-shadow:none;
  }
  .a-icon svg{width:22px;height:22px;}
  .approach-item p{margin:0;color:var(--ink-soft);line-height:1.7;font-size:17.5px;}
  @media(max-width:680px){ .approach-grid{grid-template-columns:1fr;gap:34px;} }
  .testi{
    display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;
    margin-top:50px;max-width:var(--measure);margin-left:auto;margin-right:auto;
  }
  .testi-track{
    display:grid;grid-auto-flow:column;
    grid-auto-columns:calc((100% - 48px) / 3);
    gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;
    scrollbar-width:none;-ms-overflow-style:none;
    padding:6px 2px 14px;scroll-behavior:smooth;
  }
  .testi-track::-webkit-scrollbar{display:none;}
  .testi-card{
    scroll-snap-align:start;margin:0;
    background:#fff;
    border:1px solid var(--line);border-radius:22px;
    padding:30px 26px 24px;display:flex;flex-direction:column;
    box-shadow:var(--shadow-sm);
    position:relative;transition:transform .26s ease,box-shadow .26s ease;
  }
  .testi-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);}
  .testi-card::before{
    content:"“";position:absolute;top:6px;left:20px;
    font-family:var(--serif);font-size:64px;line-height:1;color:var(--terra-light);opacity:.9;
  }
  .testi-card blockquote{margin:0;flex:1;padding-top:22px;}
  .testi-card blockquote p{margin:0;color:var(--ink-soft);font-size:16.5px;line-height:1.65;}
  .testi-card figcaption{
    margin-top:22px;padding-top:16px;border-top:1px solid var(--line);
    display:flex;flex-direction:column;gap:2px;
  }
  .testi-card .who{font-family:var(--body);font-weight:500;font-size:15.5px;color:var(--ink);}
  .testi-card .role{font-size:13.5px;color:var(--muted);letter-spacing:.04em;}
  .testi-arrow{
    width:44px;height:44px;border-radius:50%;flex:none;
    border:1px solid var(--line);background:#fff;
    cursor:pointer;font-size:18px;color:var(--ink-soft);
    box-shadow:var(--shadow-sm);
    transition:border-color .2s,color .2s,opacity .2s;
  }
  .testi-arrow:hover{border-color:var(--terra);color:var(--terra);}
  .testi-arrow:disabled{opacity:.3;cursor:default;}

  /* --- FAQ --- */
  .faq-band{
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
  }
  .faq{
    max-width:var(--measure);margin:50px auto 0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:22px;
    padding:6px 36px;
    box-shadow:var(--shadow-sm);
  }
  .faq details{border-bottom:1px solid var(--line);}
  .faq details:first-child{border-top:none;}
  .faq details:last-child{border-bottom:none;}
  .faq summary{
    cursor:pointer;list-style:none;position:relative;
    padding:24px 48px 24px 0;transition:color .2s;
  }
  .faq summary::-webkit-details-marker{display:none;}
  .faq summary h3{
    font-family:var(--serif);font-style:italic;font-size:21px;font-weight:500;
    color:var(--ink);display:inline;line-height:1.4;transition:color .2s;
  }
  .faq summary:hover h3{color:var(--terra);}
  /* chevron */
  .faq summary::after{
    content:"";position:absolute;right:12px;top:31px;
    width:9px;height:9px;
    border-right:1.5px solid var(--gold-deep);border-bottom:1.5px solid var(--gold-deep);
    transform:rotate(45deg);transition:transform .3s ease,border-color .2s;
  }
  .faq details[open] summary::after{transform:rotate(-135deg);top:35px;border-color:var(--terra);}
  .faq details[open] summary h3{color:var(--terra);}
  .faq .faq-a{padding:0 48px 26px 0;animation:fade .35s ease both;}
  .faq .faq-a ul{margin:6px 0 0;padding-left:20px;}
  .faq .faq-a li{margin:2px 0;}
  .faq .faq-a p{margin:0;color:var(--ink-soft);line-height:1.7;}

  /* --- CTA final (répété en bas de page) --- */
  .cta-band{position:relative;overflow:hidden;padding:76px 0 132px;}
  .cta-band .silk{height:400px;}
  .cta-band::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;z-index:1;
    background:linear-gradient(to bottom,transparent,var(--cream));pointer-events:none;}
  .cta-band .wrap{position:relative;z-index:2;}

  /* ---------- hero de page (identique sur toutes les pages) ---------- */
  .page-hero{
    position:relative;overflow:hidden;
    min-height:66vh;display:flex;align-items:center;justify-content:center;
    text-align:center;color:#fff;padding:90px 0;
  }
  @media(min-width:821px){
    .page-hero{height:74vh;min-height:540px;max-height:760px;padding:0;}
  }
  .page-hero h1{
    font-size:clamp(54px,8vw,96px);font-style:italic;font-weight:500;
    color:#fff;line-height:1.1;max-width:960px;margin:0 auto;
    text-shadow:0 4px 30px rgba(40,30,10,.35);
  }
  .home-hero h1 span{display:block;}
  .home-hero h1 .h1-sub{
    font-family:var(--serif);font-style:italic;font-weight:400;
    font-size:clamp(18px,2.4vw,24px);
    margin:18px 0 0;color:rgba(255,255,255,.92);
    text-shadow:none;letter-spacing:0;
  }
  .page-hero-bg{position:absolute;inset:0;
    background:
      radial-gradient(110% 80% at 70% 25%, rgba(231,198,126,.5), transparent 60%),
      radial-gradient(90% 70% at 20% 80%, rgba(196,98,63,.3), transparent 55%),
      linear-gradient(150deg,#DCC8A6 0%,#C9AF85 45%,#E7C67E 100%);
  }
  #heroAccueilBg{
    background:url('assets/images/solenne-knob-coach-business-montpellier.jpg') 67% 62% / cover no-repeat;
  }
  #blobParcours{
    background:url('assets/images/solenne-knob-parcours-coach-business.jpg') center 22% / cover no-repeat;
  }
  .page-hero-bg::after{content:"";position:absolute;inset:0;
    background:
      radial-gradient(78% 66% at 50% 48%, rgba(26,17,24,.50), rgba(26,17,24,.20) 66%, rgba(26,17,24,0) 88%),
      linear-gradient(180deg, rgba(26,17,24,.24) 0%, rgba(26,17,24,.06) 42%, rgba(26,17,24,.30) 100%);}
  /* Accueil : Solenne est a droite -> on n'assombrit qu'a gauche, sous le texte,
     pour garder sa luminosite intacte. */
  #accueil .page-hero-bg::after{
    background:
      linear-gradient(90deg, rgba(30,20,10,.42) 0%, rgba(30,20,10,.22) 30%, rgba(30,20,10,0) 58%),
      linear-gradient(180deg, rgba(30,20,10,0) 55%, rgba(30,20,10,.12) 100%);}
  .page-hero-note{position:absolute;right:18px;bottom:14px;font-size:11px;letter-spacing:.2em;
    text-transform:uppercase;color:rgba(255,255,255,.5);z-index:2;}
  .page-hero .wrap{position:relative;z-index:2;}
  .page-hero .section-title{color:#fff;text-shadow:0 1px 2px rgba(24,15,4,.6), 0 3px 16px rgba(24,15,4,.55), 0 0 42px rgba(24,15,4,.4);
    max-width:960px;margin:0 auto;line-height:1.1;}
  .page-hero .lead{
    font-size:clamp(21px,2.9vw,30px);
    color:#fff;margin-top:20px;text-shadow:0 1px 2px rgba(24,15,4,.6), 0 2px 14px rgba(24,15,4,.55);
  }
  .page-hero .hero-eyebrow{
    font-family:var(--serif);font-style:italic;
    font-size:clamp(22px,2.8vw,30px);
    color:#fff;margin:0 0 14px;
    text-shadow:0 1px 2px rgba(24,15,4,.6), 0 2px 14px rgba(24,15,4,.55);
  }
  /* localisation dans le hero (SEO local) */
  .hero-loc{
    margin:26px 0 0;
    font-family:var(--body);font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;
    color:#fff;text-shadow:0 1px 2px rgba(24,15,4,.65), 0 2px 12px rgba(24,15,4,.55);
  }
  .hero-loc .loc-pin{
    width:1.15em;height:1.15em;vertical-align:-.22em;margin-right:.45em;
    filter:drop-shadow(0 1px 8px rgba(30,20,6,.5));
  }

  /* ---------- page Me joindre ---------- */
  .joindre-body{padding:58px 0 64px;}
  .joindre-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start;}
  .joindre-info h2,.joindre-form h2{font-size:clamp(26px,3.2vw,34px);font-style:italic;margin-bottom:16px;}
  .joindre-info .intro{color:var(--ink-soft);margin:0 0 34px;line-height:1.7;}
  .info-list{list-style:none;margin:0;padding:0;}
  .info-list li{display:flex;gap:18px;align-items:flex-start;margin-bottom:26px;}
  .i-icon{
    display:inline-flex;align-items:center;justify-content:center;flex:none;
    width:46px;height:46px;border-radius:50%;color:var(--violet-deep);
    background:var(--violet-light);
    box-shadow:none;
  }
  .i-icon svg{width:21px;height:21px;}
  .i-text{display:flex;flex-direction:column;gap:3px;padding-top:4px;}
  .i-text strong{font-weight:500;color:var(--ink);font-size:16.5px;}
  .i-text a{color:var(--ink);font-size:16.5px;border-bottom:1px solid rgba(196,98,63,.4);
    width:fit-content;transition:color .2s;}
  .i-text a:hover{color:var(--terra);}
  .i-text em{font-style:italic;color:var(--muted);font-size:14.5px;}
  .joindre-info .delay{
    margin:36px 0 0;padding-top:24px;border-top:1px solid var(--line);
    color:var(--ink-soft);font-size:16px;line-height:1.8;
  }
  .joindre-info .delay .sig{font-family:var(--serif);font-style:italic;color:var(--violet-deep);font-size:24px;font-weight:600;}
  .joindre-form .form-card{max-width:none;margin:0;}

  /* ---------- contact (page Me joindre) ---------- */
  .contact{position:relative;overflow:hidden;padding:64px 0 64px;}
  .contact::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;z-index:1;
    background:linear-gradient(to bottom,transparent,var(--cream));pointer-events:none;}
  .silk{position:absolute;left:0;right:0;bottom:0;height:78%;z-index:0;pointer-events:none;}
  .contact .wrap{position:relative;z-index:2;}
  .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
  .contact-left h2{font-size:clamp(34px,4.6vw,46px);font-style:italic;text-align:center;}
  .contact-left .micro{text-align:center;color:var(--muted);font-size:14px;margin:4px 0 26px;}
  .form-card{
    background:var(--cream-warm);
    border:1px solid var(--line);border-radius:22px;padding:26px;
    box-shadow:var(--shadow-sm);max-width:430px;margin:0 auto;
  }
  .form-card input,.form-card textarea{
    width:100%;border:none;border-radius:13px;background:rgba(255,255,255,.85);
    padding:15px 18px;margin-bottom:14px;font-family:var(--body);font-size:16px;
    color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);
  }
  .form-card input::placeholder,.form-card textarea::placeholder{color:var(--muted);}
  .form-card textarea{min-height:120px;resize:vertical;}
  .form-card .pill{width:100%;justify-content:center;}
  .contact-right h2{font-size:clamp(28px,3.6vw,38px);font-style:italic;margin-bottom:18px;}
  .contact-right p{color:var(--ink-soft);margin:0 0 16px;}
  .contact-right .sig{font-style:italic;color:var(--ink);}
  .form-msg{text-align:center;color:var(--terra-deep);margin-top:10px;min-height:22px;}

  /* ---------- FOOTER ---------- */
  footer.site{position:relative;background:transparent;padding-top:8px;}
  .foot-top{
    display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:60px;
    padding:46px 0 40px;
  }
  .foot-brand .logo{display:inline-flex;}
  .foot-brand .baseline{
    font-family:var(--body);font-size:12px;font-weight:500;text-transform:uppercase;
    color:var(--terra);margin:16px 0 0;letter-spacing:.22em;
  }
  .foot-brand .tag{color:var(--ink-soft);margin:20px 0 0;font-size:16px;max-width:340px;line-height:1.7;}
  .foot-brand .foot-ig{
    display:inline-flex;align-items:center;gap:9px;margin-top:20px;
    font-family:var(--body);font-size:15.5px;
    color:var(--violet-deep);transition:color .2s;
  }
  .foot-brand .foot-ig svg{width:19px;height:19px;flex:none;}
  .foot-brand .foot-ig span{border-bottom:1px solid rgba(196,98,63,.4);transition:border-color .2s;}
  .foot-brand .foot-ig:hover{color:var(--terra);}
  .foot-brand .foot-ig:hover span{border-color:var(--terra);}
  .foot-col h2{
    font-family:var(--body);text-transform:uppercase;letter-spacing:.22em;font-size:12px;
    color:var(--terra);margin:0 0 26px;font-weight:500;
  }
  .foot-col ul{list-style:none;margin:0;padding:0;}
  .foot-col li{margin-bottom:18px;}
  .foot-col a{font-family:var(--body);font-size:15.5px;color:var(--ink-soft);
    cursor:pointer;transition:color .2s;}
  .foot-col a:hover{color:var(--terra);}
  .foot-bottom{border-top:1px solid var(--line);
    padding:26px 0 0;display:flex;align-items:center;justify-content:space-between;gap:20px;
    font-size:15px;color:var(--muted);}
  .foot-bottom a{color:var(--muted);transition:color .2s;}
  .foot-bottom a:hover{color:var(--terra);}
  .foot-credit a{color:inherit;text-decoration:underline;text-underline-offset:2px;}
  .foot-credit{
    text-align:center;margin:22px 0 0;padding-bottom:26px;
    font-family:var(--body);letter-spacing:.14em;font-size:13px;color:var(--muted);
  }
  .foot-credit .heart{color:var(--terra);letter-spacing:0;}
  .foot-bottom{border-top:1px solid var(--line);
    padding:20px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;
    font-size:13.5px;color:var(--muted);letter-spacing:.03em;}
  .foot-bottom .italic{font-style:italic;}
  .foot-bottom a{color:var(--muted);transition:color .2s;}
  .foot-bottom a:hover{color:var(--terra);}

  /* ---------- responsive ---------- */
  @media(max-width:880px){
    .nav{display:flex;gap:10px;justify-content:space-between;max-width:1720px;}
    .burger{display:flex;}
    .nav-cta{order:2;font-size:14px;padding:9px 16px;}
    .nav .navlist{
      position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:flex-start;
      background:var(--cream);border-bottom:1px solid var(--line);padding:10px 24px 22px;gap:4px;
      display:none;
    }
    .nav .navlist.open{display:flex;}
    .nav .navlist a.navlink,.nav .navlist button.navlink{width:100%;text-align:left;font-size:22px;padding:12px 0;}
    .sub{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;
      box-shadow:none;border:none;background:transparent;padding:0 0 8px 14px;min-width:auto;display:none;}
    .sub::before{display:none;}
    .sub.open{display:block;}
    .has-sub::after{display:none;}
    .has-sub:hover .sub{display:none;}
    .has-sub:hover .sub.open{display:block;}
    .two-col,.contact-grid,.seance,.parcours,.foot-top{grid-template-columns:1fr;}
    .joindre-grid{grid-template-columns:1fr;gap:48px;}
    .seance .divider,.parcours .divider{display:none;}
    .cards,.cards.duo{grid-template-columns:1fr;}
    .card.featured{transform:none;}
    .profiles{grid-template-columns:1fr;}
    .split-grid{grid-template-columns:1fr;gap:30px;}
    .checks.two-cols{columns:1;}
    .testi{grid-template-columns:1fr;}
    .testi-track{grid-auto-flow:row;grid-auto-columns:1fr;overflow:visible;scroll-snap-type:none;gap:18px;padding:0;}
    .testi-arrow{display:none;}
    .faq{padding:4px 20px;border-radius:16px;}
    .steps li{padding-left:88px;}
    .steps li::after{left:31px;top:76px;}
    .s-icon{width:62px;height:62px;}
    .s-icon svg{width:30px;height:30px;}
    .steps h3{font-size:23px;padding-top:6px;}
    .foot-top{grid-template-columns:1fr;gap:38px;padding:36px 0 30px;}
    .foot-bottom{flex-direction:column;align-items:flex-start;gap:10px;}
  }
  /* show navlist row on desktop */
  @media(min-width:881px){
    .nav .navlist{display:flex;align-items:center;gap:42px;justify-self:center;}
    .burger{display:none;}
  }
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important;scroll-behavior:auto;}
  }
  :focus-visible{outline:2px solid var(--terra);outline-offset:3px;border-radius:4px;}

  /* Photos de paysage sur les emplacements (aperçu) */
  #parcours .page-hero-bg{background:url('assets/images/coach-business-montpellier-mon-parcours.jpg') center 48% / cover no-repeat;}
  #pro .page-hero-bg{background:url('assets/images/coach-business-montpellier-accompagnement-professionnel.jpg') center 42% / cover no-repeat;}
  #perso .page-hero-bg{background:url('assets/images/coach-personnel-montpellier-accompagnement.jpg') center 60% / cover no-repeat;}
  #reserver .page-hero-bg{background:url('assets/images/appel-decouverte-coach-business-montpellier.jpg') center 50% / cover no-repeat;}
  #prepPhoto{background:url('assets/images/solenne-knob-coach-personnel-montpellier.jpg') 85% 50% / cover no-repeat;}
  #prepPhoto .ph-bloom{display:none;}
  .photoband-bg{background:linear-gradient(180deg,#F0E6D2 0%,#E7D6D6 46%,#CBB7D8 100%);}





  /* --- Fondu doux entre la photo du hero et le fond crème --- */
  .page-hero>.wrap{position:relative;z-index:3;}
  .page-hero::after{
    content:"";position:absolute;left:0;right:0;bottom:-1px;height:15%;
    pointer-events:none;z-index:2;
    background:linear-gradient(180deg,
      rgba(251,246,238,0) 0%,
      rgba(251,246,238,.10) 45%,
      rgba(251,246,238,.42) 75%,
      rgba(251,246,238,.88) 93%,
      #FBF6EE 100%);
  }

  /* --- Fondu doux en haut du hero (sous le menu) --- */
  .page-hero::before{
    content:"";position:absolute;left:0;right:0;top:-1px;height:9%;
    pointer-events:none;z-index:2;
    background:linear-gradient(180deg,
      rgba(251,246,238,.82) 0%,
      rgba(251,246,238,.38) 40%,
      rgba(251,246,238,.12) 72%,
      rgba(251,246,238,0) 100%);
  }
  #accueil .page-hero::before{display:none;}
  @media(max-width:820px){
    #heroAccueilBg{background-position:60% 24%;}
  }
  header.site{border-bottom:0;}

  /* --- Accueil : le menu se fond dans la photo --- */
  body.is-home header.site{
    background:rgba(251,246,238,.92);
    backdrop-filter:blur(10px);
    border-bottom:0;
  }
  @media(min-width:821px){
  }

  body.is-home header.site{transition:background .28s ease, backdrop-filter .28s ease;}
  body.is-home.is-scrolled header.site{
    background:rgba(251,246,238,.94);
    backdrop-filter:blur(10px);
  }

  /* --- TEST : hero accueil, texte à gauche --- */
  @media(min-width:821px){
    #accueil .page-hero .wrap{width:100%;max-width:1320px;text-align:left;}
    #accueil .page-hero .section-title{margin:0;max-width:560px;}
    #accueil .page-hero .hero-eyebrow,
    #accueil .page-hero .hero-loc{margin-left:0;max-width:560px;}
  }

  /* ===== V2 : intro accueil alignée à gauche (calée sur la colonne de texte) ===== */
  #accueil .accueil-intro{max-width:var(--measure);margin:0 auto;text-align:left;}
  #accueil .accueil-intro .section-title{margin-left:0;margin-right:0;}

  /* ===== Étapes : numéros sobres (soleil + perles retirés) ===== */
  .steps{max-width:var(--measure);margin:40px auto 0;counter-reset:step;}
  .steps li{padding:0 0 30px 76px;min-height:50px;position:relative;counter-increment:step;}
  .steps li .s-icon{
    width:48px;height:48px;top:0;left:0;border-radius:50%;
    background:var(--cream);
    border:1px solid var(--violet-light);
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 2px 8px rgba(122,74,115,.08);
    overflow:visible;
  }
  .steps li .s-icon svg{display:none;}
  .steps li .s-icon::after{
    content:counter(step,decimal-leading-zero);
    font-family:var(--serif);font-style:italic;font-size:20px;
    color:var(--violet-deep);line-height:1;
  }
  .steps li::after{left:24px;top:54px;bottom:4px;width:1px;
    background:var(--sable-deep);opacity:.5;}
  .steps h3{font-size:22px;padding-top:9px;margin-bottom:2px;}
  .steps li p{margin:0;}
  @media(max-width:820px){
    .steps li{padding-left:68px;}
    .steps li .s-icon{width:44px;height:44px;}
    .steps li::after{left:22px;top:50px;}
    .steps h3{font-size:21px;}
    .steps li .s-icon::after{font-size:18px;}
  }
  .straight-dash{font-style:normal;font-family:var(--body);}
  .reserve-head{text-align:left;}
  .reserve-head .section-title{text-align:left;margin:0;}
  .reserve-head .lead{text-align:left;max-width:none;margin-top:14px;}

  /* --- Logo : Solenne Knob (sobre, police du site) --- */
  .logo-script{display:inline-flex;flex-direction:column;align-items:center;line-height:1;}
  .logo{cursor:pointer;position:relative;}
  .ls-name{position:relative;display:inline-block;font-family:var(--serif);font-style:italic;font-weight:500;font-size:30px;color:var(--violet-deep);line-height:1;letter-spacing:.01em;padding:6px 16px;}
  /* Un seul tracé : par défaut le trait du bas ; au survol il remonte et referme le rectangle */
  .ls-name::before{content:"";position:absolute;inset:0;border:2px solid var(--violet);border-radius:6px;
    clip-path:inset(calc(100% - 2px) 0 0 0);
    transition:clip-path .40s cubic-bezier(.5,0,.2,1);pointer-events:none;}
  .logo:hover .ls-name::before{clip-path:inset(0 0 0 0);}
  .foot-brand .ls-name{font-size:34px;}

  /* --- Pages légales --- */
  .legal-page{padding:120px 0 40px;}
  .legal-wave{position:relative;height:300px;overflow:hidden;}
  .legal-wave .silk{height:400px;}
  .legal-wave::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;z-index:1;
    background:linear-gradient(to bottom,transparent,var(--cream));pointer-events:none;}
  .legal-page .eyebrow.gold{color:var(--gold-deep);}
  .legal-page .section-title{text-align:left;max-width:none;margin:12px 0 4px;}
  .legal-updated{font-size:13px;color:var(--muted);margin:0 0 36px;}
  .legal-body{max-width:760px;}
  .legal-body h2{font-family:var(--serif);font-style:italic;font-weight:500;font-size:24px;color:var(--violet-deep);margin:34px 0 8px;}
  .legal-body p{margin:0 0 14px;color:var(--ink-soft);line-height:1.75;}
  .legal-body ul{margin:0 0 14px;padding-left:22px;}
  .legal-body li{margin:6px 0;color:var(--ink-soft);line-height:1.7;}
  .legal-body a{color:var(--violet);}
  .legal-body strong{color:var(--ink);}


/* ===== GARDE-FOU AFFICHAGE (ne jamais écraser body/html) ===== */
html,body{min-height:100%!important;height:auto!important;opacity:1!important;visibility:visible!important;display:block!important;}
body{overflow:visible!important;}
.page-view{display:block!important;}

.card-img{display:block;width:150px;height:150px;margin:0 auto 16px;}
.card-img img{width:100%;height:100%;object-fit:contain;display:block;}

html, body { overflow-x: hidden !important; max-width: 100% !important; }

/* ===== MENU MOBILE SUR 2 LIGNES (uniquement responsive) ===== */
@media (max-width: 900px) {
  .nav {
    flex-wrap: wrap !important;
    height: auto !important;
    justify-content: center !important;
    gap: 6px !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  .nav .logo {
    order: 1 !important;
    flex: 0 0 100% !important;
    display: flex !important;
    justify-content: center !important;
  }
  .nav .nav-cta {
    order: 2 !important;
    font-size: 14px !important;
    padding: 9px 18px !important;
    white-space: nowrap !important;
  }
  .burger {
    order: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 44px !important;
    height: 40px !important;
    background: none !important;
    border: none !important;
    cursor: pointer !important;
  }
  .burger span {
    display: block !important;
    width: 24px !important;
    height: 2px !important;
    background: #5D0D6E !important;
    border-radius: 2px !important;
  }
  .nav .navlist {
    order: 4 !important;
    display: none !important;
    flex: 0 0 100% !important;
    top: auto !important;
  }
  .nav .navlist.open {
    display: flex !important;
    flex-direction: column !important;
    position: static !important;
    background: var(--cream) !important;
    padding: 10px 0 6px !important;
  }
}

/* ===== Menu mobile : plus d'air + séparation visuelle ===== */
@media (max-width: 900px) {
  header.site {
    background: var(--cream) !important;
    border-bottom: 1px solid var(--line) !important;
    box-shadow: 0 2px 12px rgba(58,33,56,.06) !important;
  }
  .nav {
    padding-top: 16px !important;
    padding-bottom: 14px !important;
    gap: 12px !important;
  }
  .nav .logo {
    margin-bottom: 6px !important;
  }
  .nav .navlist.open {
    border-top: 1px solid var(--line) !important;
    margin-top: 10px !important;
  }
}

/* ===== WPForms aux couleurs du site ===== */
.form-card .wpforms-container,
.form-card .wpforms-form { margin: 0 !important; padding: 0 !important; }

.form-card .wpforms-field { padding: 0 0 14px !important; }

.form-card .wpforms-field-label {
  font-family: var(--body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--ink-soft) !important;
  margin-bottom: 6px !important;
}

.form-card input[type=text],
.form-card input[type=email],
.form-card input[type=tel],
.form-card textarea {
  width: 100% !important;
  border: none !important;
  border-radius: 13px !important;
  background: rgba(255,255,255,.85) !important;
  padding: 15px 18px !important;
  font-family: var(--body) !important;
  font-size: 16px !important;
  color: var(--ink) !important;
  box-shadow: inset 0 0 0 1px var(--line) !important;
}

.form-card textarea { min-height: 120px !important; resize: vertical !important; }

.form-card input::placeholder,
.form-card textarea::placeholder { color: var(--muted) !important; }

/* Bouton envoyer : le pill violet du site */
.form-card .wpforms-submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  font-family: var(--body) !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #fff !important;
  background: linear-gradient(135deg,#692FA0,var(--violet-deep)) !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  padding: 14px 32px !important;
  cursor: pointer !important;
  transition: background .18s ease, box-shadow .26s ease !important;
}
.form-card .wpforms-submit:hover {
  background: linear-gradient(135deg,var(--violet-deep),#4a0a58) !important;
  box-shadow: 0 14px 30px rgba(93,13,110,.30) !important;
}

/* Messages de confirmation / erreurs */
.form-card .wpforms-confirmation-container-full {
  background: var(--violet-light) !important;
  border: 1px solid var(--line) !important;
  border-radius: 14px !important;
  color: var(--ink-soft) !important;
}
.form-card .wpforms-error { color: var(--terra-deep) !important; font-size: 14px !important; }

/* ===== Images optimisées WebP (performance) ===== */
#heroAccueilBg{background:url('assets/images/solenne-knob-coach-business-montpellier.webp') 67% 62% / cover no-repeat !important;}
#prepPhoto{background:url('assets/images/solenne-knob-coach-personnel-montpellier.webp') 85% 50% / cover no-repeat !important;}
#parcours .page-hero-bg{background:url('assets/images/coach-business-montpellier-mon-parcours.webp') center 48% / cover no-repeat !important;}
#pro .page-hero-bg{background:url('assets/images/coach-business-montpellier-accompagnement-professionnel.webp') center 42% / cover no-repeat !important;}
#perso .page-hero-bg{background:url('assets/images/coach-personnel-montpellier-accompagnement.webp') center 60% / cover no-repeat !important;}
#reserver .page-hero-bg{background:url('assets/images/appel-decouverte-coach-business-montpellier.webp') center 50% / cover no-repeat !important;}
#blobParcours{background:url('assets/images/solenne-knob-parcours-coach-business.webp') center 22% / cover no-repeat !important;}
@media(max-width:820px){#heroAccueilBg{background-position:60% 24% !important;}}

/* ===== Menu sticky ===== */
html{overflow-x:clip !important;}
body{overflow-x:clip !important; overflow-y:visible !important;}
header.site{
  position:sticky !important;
  top:0 !important;
  z-index:100 !important;
}

/* ===== Menu compact au scroll ===== */
header.site{transition:box-shadow .3s ease;}
.nav{transition:height .3s ease;}
.ls-name{transition:font-size .3s ease;}
.nav-cta{transition:padding .3s ease, font-size .3s ease;}

body.is-scrolled .nav{height:58px !important;}
body.is-scrolled .ls-name{font-size:24px !important;}
body.is-scrolled .nav-cta{font-size:14px !important;padding:9px 20px !important;}
body.is-scrolled header.site{box-shadow:0 2px 16px rgba(58,33,56,.10) !important;}

/* ===== Menu compact au scroll — MOBILE ===== */
@media (max-width: 900px) {
  .nav{transition:padding .3s ease, gap .3s ease;}
  .nav .logo{transition:margin .3s ease;}

  body.is-scrolled .nav{
    height:auto !important;
    padding-top:8px !important;
    padding-bottom:8px !important;
    gap:6px !important;
  }
  body.is-scrolled .nav .logo{
    margin-bottom:2px !important;
  }
  body.is-scrolled .ls-name{
    font-size:22px !important;
    padding:4px 12px !important;
  }
  body.is-scrolled .nav-cta{
    font-size:13px !important;
    padding:7px 14px !important;
  }
  body.is-scrolled .burger{
    height:34px !important;
  }
}