@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/cormorant-garamond-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2');}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('/assets/fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2');}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/quicksand-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/quicksand-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/quicksand-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Quicksand';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/quicksand-latin-700-normal.woff2') format('woff2');}
  :root{
    --bg:#F4EFE3; --bg-alt:#EAE1CB; --ink:#2C2A22; --ink-soft:#5B5748;
    --sage:#5F7A56; --sage-dark:#3F5638; --clay:#A15334; --clay-dark:#7C3F27;
    --line:rgba(44,42,34,0.14); --cream-card:#FBF8F0;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{background:var(--bg); color:var(--ink); font-family:'Quicksand', sans-serif; line-height:1.75;}
  h1,h2,h3{font-family:'Cormorant Garamond', serif; font-weight:600; color:var(--ink); line-height:1.2; text-wrap:balance;}
  p, article li{text-wrap:pretty;}
  body{overflow-wrap:break-word;}
  a{color:var(--sage-dark);}
  a:hover{color:var(--clay);}
  .entete{position:sticky; top:0; z-index:50; background:rgba(244,239,227,0.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
  .entete div{max-width:760px; margin:0 auto; padding:16px 24px; display:flex; align-items:center; justify-content:space-between; gap:12px;}
  .entete .logo{display:flex; align-items:center; gap:10px; text-decoration:none;}
  .entete .logo img{height:40px; width:auto;}
  .entete .logo span{font-family:'Cormorant Garamond', serif; font-style:italic; font-weight:500; font-size:19px; color:var(--sage-dark);}
  .entete .rdv{background:var(--sage-dark); color:#fff; text-decoration:none; font-weight:600; font-size:13.5px; padding:9px 16px; border-radius:24px; white-space:nowrap;}
  .entete .rdv:hover{background:var(--ink); color:#fff;}

  .bandeau{background:linear-gradient(135deg, var(--sage) 0%, var(--sage-dark) 100%); padding:60px 24px 116px; text-align:center; position:relative; overflow:hidden;}
  .bandeau .eyebrow{font-size:13px; letter-spacing:.14em; text-transform:uppercase; color:#E4E2C8; font-weight:600;}
  .bandeau h1{color:#fff; font-size:clamp(30px,4.4vw,46px); margin:12px auto 0; max-width:720px;}
  .bandeau .signature{color:#E7E3CE; font-size:14.5px; margin-top:14px;}
  .vague{position:absolute; left:0; right:0; bottom:-1px; width:100%; height:70px; display:block;}

  .wrap{max-width:760px; margin:-64px auto 0; padding:0 20px 90px; position:relative; z-index:2;}
  article{background:#fff; border-radius:28px; padding:44px 44px 36px; box-shadow:0 26px 50px rgba(44,42,34,0.12); border:1px solid var(--line);}
  .retour{font-size:14px; font-weight:600; text-decoration:none; display:inline-block; margin-bottom:24px;}
  .chapo{font-size:18px; color:var(--ink); margin-bottom:30px;}
  article h2{font-size:26px; margin:34px 0 12px; color:var(--sage-dark);}
  article p, article li{font-size:16px; color:var(--ink-soft); margin-bottom:14px;}
  article ul{padding-left:22px; margin-bottom:14px;}
  article li{margin-bottom:8px;}
  article strong{color:var(--ink);}
  .encadre{background:#F7F2E6; border-left:3px solid var(--clay); border-radius:0 16px 16px 0; padding:4px 22px 8px; margin:34px 0 10px;}
  .encadre h2{font-size:22px; color:var(--clay-dark); margin-top:18px;}
  .action{background:#F2F4EC; border:1px solid rgba(63,86,56,.28); border-radius:20px; padding:26px 24px 22px; margin-top:36px; text-align:center;}
  .action h2{margin-top:0;}
  .action p{margin-bottom:18px;}
  .btn{display:inline-block; background:var(--clay); color:#fff; padding:14px 28px; border-radius:30px; text-decoration:none; font-weight:600; font-size:15px; margin:0 6px 8px;}
  .btn:hover{background:var(--clay-dark); color:#fff;}
  .btn.ghost{background:transparent; color:var(--sage-dark); border:1.5px solid var(--sage-dark);}
  .btn.ghost:hover{background:var(--sage-dark); color:#fff;}
  .btn:focus-visible, a:focus-visible{outline:2px solid var(--sage-dark); outline-offset:3px;}
  .aussi{margin-top:44px;}
  .aussi h2{font-size:22px; color:var(--ink); margin-bottom:12px;}
  .aussi ul{list-style:none; padding:0; display:grid; gap:12px;}
  .aussi a{display:block; background:var(--cream-card); border:1px solid var(--line); border-radius:14px; padding:14px 18px; text-decoration:none; font-weight:600; color:var(--sage-dark);}
  .aussi a:hover{border-color:var(--sage-dark); color:var(--sage-dark);}

  footer{background:var(--sage-dark); color:#EFE9D6; padding:40px 24px 30px; text-align:center;}
  footer .nom{font-family:'Cormorant Garamond', serif; font-weight:600; font-size:19px; color:#fff;}
  footer p{margin-top:8px; font-size:13px; color:#CFD3BE;}
  footer a{color:#CFD3BE;}
  footer a:hover{color:#fff;}

  @media (max-width:600px){
    .entete .logo span{display:none;}
    article{padding:30px 22px 26px; border-radius:22px;}
    article h2{font-size:23px;}
    .chapo{font-size:17px;}
  }
/* Confort sur téléphone et tablette : liens et boutons d'au moins 48 px de haut, petits libellés agrandis */
.article-carte .tag{font-size:13px;}
@media (max-width:820px){
  .burger{min-width:48px; min-height:48px;}
  .nav-cta, .entete .rdv, .rdv-premiere-btn{min-height:48px; display:inline-flex; align-items:center; justify-content:center;}
  header a{min-height:48px;}
  footer a:not(.dans-texte){display:inline-block; padding:14px 4px; min-width:48px; text-align:center;}
  footer a[aria-label]{min-width:48px; min-height:48px;}
  .lien-tactile, .retour, .back, .rdv-direct a, .deroulement-plus a{display:inline-block; padding:12px 0; min-height:48px;}
}
  .wrap.hub{max-width:1080px;}
  .hub article{padding:40px 40px 34px;}
  .groupe{margin-top:38px;}
  .groupe:first-of-type{margin-top:6px;}
  .groupe > p{margin-bottom:18px;}
  .articles-grille{display:grid; grid-template-columns:repeat(2,1fr); gap:18px;}
  .groupe.objectifs .articles-grille{grid-template-columns:repeat(3,1fr);}
  .article-carte{display:flex; flex-direction:column; background:var(--cream-card); border:1px solid var(--line); border-radius:18px; padding:22px 22px 18px; text-decoration:none; color:var(--ink); transition:transform .2s, box-shadow .2s, border-color .2s;}
  .article-carte:hover{border-color:var(--sage-dark); transform:translateY(-3px); box-shadow:0 14px 28px rgba(44,42,34,.12);}
  .article-carte:focus-visible{outline:2px solid var(--sage-dark); outline-offset:3px;}
  .article-carte .tag{font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--clay-dark); margin-bottom:8px;}
  .article-carte h3{font-size:21px; line-height:1.25; color:var(--sage-dark); margin-bottom:6px;}
  article .article-carte p{font-size:14.5px; color:var(--ink-soft); flex:1; margin:0;}
  .article-carte .lire{margin-top:12px; font-size:14px; font-weight:600; color:var(--clay);}
  @media (max-width:900px){ .groupe.objectifs .articles-grille{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:600px){
    .articles-grille, .groupe.objectifs .articles-grille{grid-template-columns:1fr;}
    .hub article{padding:28px 20px 24px;}
    .article-carte h3{font-size:20px;}
  }
