.formation-section{padding:36px 0;max-width:1080px}.formation-section h1{font-size:clamp(1.8rem,4vw,2.7rem);line-height:1.15}.formation-section h2{margin-top:36px}.formation-modules,.formation-qr-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.formation-modules article,.formation-qr-grid figure{margin:0;padding:24px;border:1px solid #ddd9e1;border-radius:18px;background:#fff}.formation-modules h3{font-size:1.2rem;line-height:1.35}.formation-section p{line-height:1.65}.formation-qr-grid img{display:block;width:200px;max-width:100%;height:auto;background:white;margin:0 auto 18px}.formation-qr-grid figcaption{text-align:center}.formation-qr-grid a{overflow-wrap:anywhere}@media(max-width:650px){.formation-modules,.formation-qr-grid{grid-template-columns:1fr}.formation-section{padding:24px 0}.formation-modules article,.formation-qr-grid figure{padding:20px}}
.demo-notice[hidden]{display:none!important}

/* Formation: two original brands together, without changing other views. */
.formation-esther-logo{display:none}
.formation-view .sidebar .brand{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:center;width:100%;min-width:0}
.formation-view .sidebar .brand>span{grid-column:1/-1}
.formation-view .sidebar .brand .collection-logo-small{display:block;width:112px;max-width:100%;height:auto;margin:0;padding:4px;border-radius:14px}
.formation-view .sidebar .brand .formation-esther-logo{display:block;width:112px;max-width:100%;height:auto;object-fit:contain;border-radius:14px}
@media(min-width:1041px){.formation-view .shell{grid-template-columns:300px minmax(0,1fr)}.formation-view .sidebar{padding-inline:26px}}
@media(max-width:1040px){.formation-view .sidebar .brand{max-width:280px;flex-shrink:0}.formation-view .sidebar .brand .collection-logo-small,.formation-view .sidebar .brand .formation-esther-logo{width:104px}}
@media(max-width:900px){.compact-collection.formation-view .sidebar .brand{grid-column:1/-1;grid-template-columns:112px 112px;max-width:100%;gap:12px}.compact-collection.formation-view .sidebar>.side-link{grid-column:1/-1;justify-self:start;max-width:none}.compact-collection.formation-view .sidebar .brand .collection-logo-small,.compact-collection.formation-view .sidebar .brand .formation-esther-logo{width:112px;max-width:112px;height:auto}.compact-collection.formation-view .sidebar .brand strong{font-size:17px}.compact-collection.formation-view .sidebar .brand small{font-size:10px}}
/* Warm, lively editorial labels: decorative, never misleading controls. */
.formation-view .topbar{background:linear-gradient(115deg,#fffaf0,#fff 58%,#f7f0fb);border-bottom-color:#e9deed}
.formation-view .topbar>.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border:1px solid #e1cce7;border-radius:16px;background:linear-gradient(120deg,#f4e7f7,#fff4da);color:#59346d;box-shadow:0 4px 14px #59346d0d;font-size:12px;line-height:1.55;letter-spacing:.11em;max-width:100%;}
.formation-view .topbar>.eyebrow:before{content:"";width:9px;height:9px;border-radius:50%;background:#9262a5;box-shadow:0 0 0 4px #ffffffa8;flex:0 0 9px}
.formation-section>.eyebrow:first-child{display:inline-block;margin:0 0 8px;padding:12px 18px;border-left:4px solid #b88636;border-radius:0 15px 15px 0;background:linear-gradient(105deg,#f8e8bc,#fff8e9);color:#644616;box-shadow:0 5px 18px #9b702610;font-size:clamp(12px,1.4vw,15px);letter-spacing:.12em;line-height:1.6;max-width:100%;}
@media(max-width:900px){.formation-view .topbar>.eyebrow{font-size:11px;margin-bottom:12px;max-width:100%;padding:9px 12px}.formation-section>.eyebrow:first-child{font-size:12px;letter-spacing:.08em;padding:10px 13px}}

.formation-learning-visual{margin:28px 0 36px;overflow:hidden;border:1px solid #e6d9c2;border-radius:22px;background:#fffaf1;box-shadow:0 12px 32px #252c5210}.formation-learning-visual img{display:block;width:100%;height:auto;max-height:480px;object-fit:cover;object-position:center}.formation-learning-visual figcaption{padding:16px 20px;color:#4b3c2b;font-weight:600;line-height:1.55}.formation-learning-visual figcaption small{display:block;margin-top:5px;font-size:12px;font-weight:400;color:#685d50}@media(max-width:650px){.formation-learning-visual{border-radius:16px}.formation-learning-visual figcaption{padding:13px 16px;font-size:14px}}

/* Signature aligned with its original personal logo, centred as one group. */
.formation-signature{display:flex;align-items:center;justify-content:center;gap:22px;width:100%;padding:20px 24px;margin:0 0 28px;border:1px solid #e5c985;border-radius:20px;background:linear-gradient(110deg,#fff9e9,#f8e8bc 50%,#fff9ee);box-shadow:0 8px 24px #9b702610;text-align:center}
.formation-signature>img{display:block;flex:0 0 auto;width:112px;height:112px;object-fit:contain}
.formation-signature-copy{min-width:0}
.formation-section .formation-signature-name{margin:0;color:#624515;font-family:Fraunces,Georgia,serif;font-size:clamp(27px,3.5vw,42px);font-weight:600;line-height:1.18;letter-spacing:-.025em}
.formation-section .formation-signature-date{margin:9px 0 0;color:#6d542c;font-size:12px;font-weight:600;line-height:1.5;letter-spacing:.18em}
@media(max-width:650px){.formation-signature{gap:12px;padding:18px 12px;border-radius:16px}.formation-signature>img{width:76px;height:76px}.formation-section .formation-signature-name{font-size:clamp(25px,6vw,34px)}.formation-section .formation-signature-date{font-size:10px;letter-spacing:.12em}}

.formation-signature-name .signature-esther{color:#713b79}.formation-signature-name .signature-conseils{color:#145277}.formation-section .formation-signature-date{color:#80571c}.formation-section h1{color:#3e3569}.formation-section .lead{color:#1c5a68}.formation-section .formation-modules h3{color:#623e75}

.formation-help{scroll-margin-top:24px}.formation-help details{border-bottom:1px solid #ddd9e1;padding:14px 0}.formation-help summary{cursor:pointer;font-weight:650;line-height:1.5}.formation-help summary:focus-visible{outline:3px solid #d59925;outline-offset:4px}

/* Mobile reading: preserve the existing page and brands, with safe text gutters. */
@media(max-width:900px){
  .compact-collection #view-formation{min-width:0;max-width:100%}
  .compact-collection #formation{box-sizing:border-box;width:100%;max-width:100%;padding:24px 18px 36px;overflow-wrap:break-word}
  .compact-collection #formation h1{font-size:clamp(1.75rem,6vw,2.25rem);line-height:1.25;overflow-wrap:break-word}
  .compact-collection #formation p,.compact-collection #formation li{font-size:1.0625rem;line-height:1.65}
  .compact-collection #formation h2{font-size:1.5rem;line-height:1.35}
  .compact-collection #formation .home-action{font-size:1rem;line-height:1.5;max-width:100%;white-space:normal;overflow-wrap:break-word;min-height:44px}
  .compact-collection #formation .formation-signature{box-sizing:border-box;max-width:100%}
  .compact-collection #formation .formation-signature-name{font-size:clamp(24px,6vw,34px);line-height:1.25}
  .compact-collection #formation .formation-signature-date{font-size:12px;line-height:1.5}
  .compact-collection #formation .formation-learning-visual{max-width:100%;box-sizing:border-box}
  .compact-collection #formation .formation-modules article,.compact-collection #formation .formation-qr-grid figure{min-width:0;box-sizing:border-box}
  .compact-collection #formation .formation-help summary{font-size:1.0625rem;line-height:1.5;min-height:44px}
}

/* Reservation information is visible before the illustration and programme. */
.reservation-banner{box-sizing:border-box;margin:0 0 24px;padding:20px 24px;border:2px solid #b88636;border-radius:16px;background:#fff7e3;color:#18354d;max-width:100%;overflow-wrap:anywhere}
.reservation-banner .reservation-date{margin:0 0 5px;font-weight:650;line-height:1.4}
.reservation-banner .reservation-price{margin:0 0 16px;font-size:clamp(1.35rem,3.5vw,1.8rem);line-height:1.3;color:#49345e}
.reservation-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.reservation-email{font-weight:650;min-height:44px;display:inline-flex;align-items:center;color:#164f73;text-underline-offset:4px}
.reservation-details{max-width:850px;padding:2px 0 12px}.reservation-details p{margin:12px 0}.reservation-address{overflow-wrap:anywhere;font-weight:650;color:#164f73}.reservation-note{font-size:15px;color:#476073}
@media(max-width:650px){.reservation-banner{padding:16px;margin-bottom:20px}.reservation-actions>a{width:100%;justify-content:center;text-align:center}.compact-collection #formation .reservation-price{font-size:1.4rem;line-height:1.35}}
