/* Optimisations de la version publique 90 : conserver sa composition. */
/* Le contenu ne dépend plus de l'exécution d'une animation pour être lisible. */
.reveal{opacity:1!important;transform:none!important;transition:none!important}
.skip-link{position:fixed;top:12px;left:12px;z-index:10001;transform:translateY(-180%);padding:12px 18px;border-radius:6px;background:#17324A;color:#fff;font-family:"Source Sans 3",Arial,sans-serif}
.skip-link:focus{transform:translateY(0)}
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid #A96F5B;outline-offset:4px}
main[id],main [id]{scroll-margin-top:125px}
.mg-cookie-dialog .mg-cookie-btn:not(.primary){color:#17324A;border-color:rgba(23,50,74,.35)}
.mg-switch input:focus-visible+span{outline:3px solid #A96F5B;outline-offset:4px}
@media(max-width:980px){
  .menu-toggle{min-width:44px;min-height:44px;flex-shrink:0}
  .main-nav{max-height:calc(100dvh - 110px);overflow-y:auto;overscroll-behavior:contain}
  .main-nav a{display:flex;align-items:center;min-height:44px;padding:10px 16px;font-size:16px;line-height:1.4}
  .main-nav .nav-cta{justify-content:center;margin-top:8px}
}
@media(pointer:coarse){
  summary{min-height:44px}
  .mg-cookie-btn{min-height:44px!important}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Mon approche : mêmes axes de lecture pour les deux passages éditoriaux. */
.approach-page main .eyebrow,
.approach-page main .section-label{
  font-size:15px!important;
  line-height:1.45;
  letter-spacing:.09em;
}
.approach-page .statement-grid,
.approach-page .allostatic-manifesto{
  grid-template-columns:190px minmax(0,1fr);
  column-gap:56px;
  align-items:start!important;
}
.approach-page .statement-grid>.section-label,
.approach-page .allostatic-manifesto>.eyebrow{
  margin:8px 0 0;
}
.approach-page .allostatic-manifesto>.eyebrow::before{display:none}
.approach-page .statement-copy{min-width:0}
.approach-page .statement-copy>h2{margin-top:0!important}
.approach-page .statement-copy>p,
.approach-page .allostatic-manifesto>p:last-child{
  max-width:72ch;
  font-size:18px;
  line-height:1.75;
}
.approach-page .allostatic-manifesto{row-gap:24px}
.approach-page .allostatic-manifesto>blockquote{
  grid-column:2;
  grid-row:1;
  width:auto!important;
  max-width:100%!important;
}
.approach-page .allostatic-manifesto>p:last-child{
  grid-column:2;
  grid-row:2;
  margin:0;
}
.approach-page .approach-panel .principle-close{
  font-size:14px;
  line-height:1.6;
  letter-spacing:.07em;
}
@media(max-width:1100px) and (min-width:981px){
  .approach-page .statement-grid,
  .approach-page .allostatic-manifesto{grid-template-columns:170px minmax(0,1fr);column-gap:36px}
}
@media(max-width:980px){
  .approach-page .statement-grid,
  .approach-page .allostatic-manifesto{grid-template-columns:minmax(0,1fr);gap:22px}
  .approach-page .statement-grid>.section-label,
  .approach-page .allostatic-manifesto>.eyebrow{margin:0}
  .approach-page .allostatic-manifesto>blockquote,
  .approach-page .allostatic-manifesto>p:last-child{grid-column:1;grid-row:auto}
}
@media(max-width:650px){
  .approach-page main .eyebrow,
  .approach-page main .section-label{font-size:14px!important}
  .approach-page .statement-copy>p,
  .approach-page .allostatic-manifesto>p:last-child{font-size:17px}
}

/* À propos : une signature compacte, un parcours lisible et une présence humaine. */
.about-page main .eyebrow,
.about-page main .section-label{font-size:14px!important;line-height:1.45;letter-spacing:.09em}
.about-page .about-lead-followup{margin-top:0!important}
.about-page .about-portrait{gap:0}
.about-page .about-portrait .frame{height:clamp(520px,38vw,580px)}
.about-page .about-portrait .badge.badge-concise{
  display:block;
  position:relative;
  width:auto;
  max-width:calc(100% - 36px);
  margin:-82px 0 0 auto;
  padding:22px 32px;
  border-radius:5px 5px 24px 5px;
  box-shadow:none;
}
.about-page .about-portrait .badge.badge-concise strong{
  font-size:26px;
  line-height:1.25!important;
  text-wrap:initial;
}
.about-page .about-origin-story .manifesto-grid{
  grid-template-columns:190px minmax(0,1fr)!important;
  gap:56px!important;
  align-items:start!important;
}
.about-page .about-origin-story .manifesto-grid>.section-label{margin-top:8px;align-self:start!important}
.about-page .about-origin-story .manifesto-grid>.manifesto-copy{padding:0!important;border:0!important;align-self:start!important}
.about-page .about-origin-story .manifesto-copy h2{margin-top:0!important}
.about-page .about-origin-story .manifesto-copy p{max-width:72ch;font-size:18px;line-height:1.75}
.about-page .timeline-item time{font-size:14px;line-height:1.5;letter-spacing:.05em}
.about-page .timeline-item p{font-size:18px;line-height:1.75}
@media(max-width:1100px){
  .about-page .about-origin-story .manifesto-grid{grid-template-columns:170px minmax(0,1fr)!important;gap:36px!important}
}
@media(max-width:980px){
  .about-page .about-origin-story .manifesto-grid{grid-template-columns:minmax(0,1fr)!important;gap:22px!important}
  .about-page .about-origin-story .manifesto-grid>.section-label{margin-top:0}
}
@media(max-width:650px){
  .about-page main .eyebrow,.about-page main .section-label{font-size:13px!important}
  .about-page .about-portrait .frame{height:clamp(380px,125vw,480px)}
  .about-page .about-portrait .badge.badge-concise{margin:-64px 0 0 auto;max-width:calc(100% - 24px);padding:18px 24px}
  .about-page .about-portrait .badge.badge-concise strong{font-size:23px}
  .about-page .about-origin-story .manifesto-copy p,.about-page .timeline-item p{font-size:17px}
}
