/* ==========================================================================
   Cédric OEHMICHEN Conseil & Formation — main.css
   Charte : marine #0B1B33 · or #C9A96A · crème #F7F2E9
   ========================================================================== */

:root{
  --marine:      #0B1B33;
  --marine-700:  #14294A;
  --marine-600:  #1D3A63;
  --or:          #C9A96A;
  --or-fonce:    #A8873F;
  --or-clair:    #E3CE9E;
  --creme:       #F7F2E9;
  --sable:       #EFE7D8;
  --texte:       #25303D;
  --texte-clair: #5A6773;
  --blanc:       #FFFFFF;
  --bordure:     rgba(11,27,51,.10);

  --serif: 'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

  /* Pilotées depuis le Customizer (voir inc/apparence.php) */
  --max:       1320px;
  --max-txt:   880px;
  --signe-h:   62px;
  --nom-taille: 1.62rem;
  --base-taille: .66rem;
  --signe-h-pied: 76px;
  --nom-taille-pied: 1.5rem;

  /* Les quatre couleurs DISC, en accent mesuré */
  --disc-d: #D64D4D;
  --disc-i: #E8C04A;
  --disc-s: #4FA85E;
  --disc-c: #4A90D6;
  --r:       14px;
  --t:       .28s cubic-bezier(.4,0,.2,1);
  --ombre:   0 18px 48px rgba(11,27,51,.10);
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans);
  color:var(--texte);
  background:var(--blanc);
  line-height:1.72;
  font-size:1.0625rem;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:var(--marine-600);text-decoration:none;transition:color var(--t)}
a:hover{color:var(--or-fonce)}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none}
:focus-visible{outline:3px solid var(--or);outline-offset:3px;border-radius:4px}

h1,h2,h3,h4{font-family:var(--serif);color:var(--marine);line-height:1.15;font-weight:600}
h1{font-size:clamp(2.35rem,4.6vw,3.9rem);letter-spacing:-.012em}
h2{font-size:clamp(1.85rem,3.6vw,2.7rem)}
h3{font-size:clamp(1.25rem,2vw,1.5rem)}
p{margin-bottom:1.1em}
p:last-child{margin-bottom:0}
strong{font-weight:600;color:var(--marine)}

/* ---------- Utilitaires ---------- */
.o-container{max-width:var(--max);margin:0 auto;padding:0 32px}
.o-narrow{max-width:var(--max-txt);margin-left:auto;margin-right:auto}
.o-section{padding:clamp(64px,8vw,110px) 0}
.o-section--creme{background:var(--creme)}
.o-section--sable{background:var(--sable)}
.o-section--marine{background:var(--marine);color:rgba(255,255,255,.82)}
.o-section--marine h2,.o-section--marine h3{color:#fff}
.o-section--marine strong{color:var(--or-clair)}
.o-center{text-align:center}
.o-center .o-lead{margin-left:auto;margin-right:auto}

.o-eyebrow{
  display:block;font-family:var(--sans);font-size:.72rem;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--or-fonce);
  margin-bottom:14px;
}
.o-section--marine .o-eyebrow{color:var(--or)}
.o-lead{font-size:1.16rem;color:var(--texte-clair);max-width:min(var(--max-txt),100%);margin-top:20px;line-height:1.75}
.o-section--marine .o-lead{color:rgba(255,255,255,.72)}
.o-rule{width:56px;height:2px;background:var(--or);margin:22px 0 0}
.o-center .o-rule{margin-left:auto;margin-right:auto}

/* ---------- Boutons ---------- */
.o-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-weight:600;font-size:.97rem;letter-spacing:.01em;
  padding:15px 32px;border-radius:8px;border:2px solid transparent;
  transition:background var(--t),color var(--t),border-color var(--t),transform var(--t);
  text-align:center;
}
.o-btn:hover{transform:translateY(-2px)}
.o-btn--or{background:var(--or);color:var(--marine);border-color:var(--or)}
.o-btn--or:hover{background:var(--or-clair);border-color:var(--or-clair);color:var(--marine)}
.o-btn--marine{background:var(--marine);color:#fff;border-color:var(--marine)}
.o-btn--marine:hover{background:var(--marine-600);border-color:var(--marine-600);color:#fff}
.o-btn--ligne{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.o-btn--ligne:hover{border-color:var(--or);color:var(--or)}
.o-btn--ligne-marine{background:transparent;color:var(--marine);border-color:rgba(11,27,51,.28)}
.o-btn--ligne-marine:hover{border-color:var(--marine);color:var(--marine)}
.o-btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.o-center .o-btns{justify-content:center}

/* ==========================================================================
   Header
   ========================================================================== */
.o-header{
  position:sticky;top:0;z-index:200;background:rgba(255,255,255,.96);
  backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--bordure);
}
.o-header__in{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:12px 32px;max-width:var(--max);margin:0 auto}
.o-brand{display:flex;align-items:center;gap:14px;flex-shrink:0;color:var(--marine)}
.o-brand__signe{height:var(--signe-h);width:auto;color:var(--or-fonce);flex-shrink:0}
.o-brand__perso{height:var(--signe-h);width:auto}
.o-brand__txt{display:flex;flex-direction:column;gap:3px;line-height:1.05}
.o-brand__nom{
  font-family:var(--serif);font-size:var(--nom-taille);font-weight:600;
  color:var(--marine);letter-spacing:.005em;white-space:nowrap;
}
.o-brand__base{
  font-family:var(--sans);font-size:var(--base-taille);font-weight:600;
  letter-spacing:.2em;text-transform:uppercase;color:var(--or-fonce);white-space:nowrap;
}
/* Pied de page : mêmes règles, couleurs inversées */
.o-brand--footer{margin-bottom:20px;color:#fff;align-items:center}
.o-brand--footer .o-brand__signe{height:var(--signe-h-pied);color:var(--or)}
.o-brand--footer .o-brand__nom{font-size:var(--nom-taille-pied);color:#fff}
.o-brand--footer .o-brand__base{color:var(--or)}

.o-nav ul{display:flex;align-items:center;gap:26px}
.o-nav a{
  font-size:.93rem;font-weight:500;color:var(--marine);
  padding:8px 0;border-bottom:2px solid transparent;display:block;
}
.o-nav a:hover,.o-nav .current-menu-item>a,.o-nav .current-menu-ancestor>a{color:var(--or-fonce);border-color:var(--or)}
.o-nav li{position:relative}
.o-nav ul ul{
  display:none;position:absolute;top:100%;left:-18px;min-width:230px;
  background:var(--marine);padding:10px 0;border-top:2px solid var(--or);
  box-shadow:var(--ombre);border-radius:0 0 10px 10px;
}
.o-nav li:hover>ul,.o-nav li:focus-within>ul{display:block}
.o-nav ul ul a{color:rgba(255,255,255,.85);padding:10px 22px;border:none;font-size:.9rem}
.o-nav ul ul a:hover{color:var(--or);border:none;background:rgba(255,255,255,.04)}
.o-nav li:last-child>a.o-nav__cta,
.o-nav .menu-item-cta>a{
  background:var(--or);color:var(--marine)!important;border:none!important;
  padding:11px 22px!important;border-radius:7px;font-weight:600;
}
.o-nav .menu-item-cta>a:hover{background:var(--or-clair)}

.o-burger{display:none;flex-direction:column;gap:5px;padding:8px}
.o-burger span{display:block;width:24px;height:2px;background:var(--marine);transition:var(--t)}

/* ==========================================================================
   Hero
   ========================================================================== */
.o-hero{position:relative;background:var(--marine);color:#fff;overflow:hidden}
.o-hero__bg{position:absolute;inset:0;z-index:0}
.o-hero__bg img{width:100%;height:100%;object-fit:cover;opacity:.26}
.o-hero__bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(11,27,51,.95) 0%,rgba(11,27,51,.88) 50%,rgba(11,27,51,.76) 100%);
}
.o-hero__in{
  position:relative;z-index:1;max-width:var(--max);margin:0 auto;
  padding:clamp(72px,9vw,140px) 32px clamp(60px,7vw,100px);
  display:grid;grid-template-columns:1fr;gap:44px;align-items:center;
}
@media (min-width:1060px){
  .o-hero__in{grid-template-columns:minmax(0,1.5fr) minmax(320px,.85fr);gap:60px}
}
@media (max-width:1059px){
  .o-hero__carte{max-width:560px}
}
.o-hero__txt{max-width:min(880px,100%)}
.o-hero h1{color:#fff;margin-bottom:26px}
.o-hero h1 em{font-style:normal;color:var(--or);display:block}
.o-hero__sub{font-size:clamp(1.08rem,1.25vw,1.32rem);color:rgba(255,255,255,.8);max-width:min(760px,100%);line-height:1.7}

/* Carte de preuve, colonne de droite */
.o-hero__carte{
  background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);
  border-radius:var(--r);padding:32px 30px;align-self:center;
  backdrop-filter:blur(6px);
}
.o-hero__carte-t{
  display:block;font-size:.7rem;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--or);margin-bottom:20px;
}
.o-hero__preuves{display:flex;flex-direction:column;gap:14px}
.o-hero__preuve{
  display:flex;align-items:flex-start;gap:11px;
  font-size:.95rem;line-height:1.5;color:rgba(255,255,255,.82);
}
.o-hero__preuve::before{
  content:"";width:7px;height:7px;border-radius:50%;background:var(--or);
  flex-shrink:0;margin-top:.5em;
}
.o-hero__badge{
  margin-top:24px;padding-top:22px;border-top:1px solid rgba(255,255,255,.14);
  display:flex;justify-content:center;
}
.o-hero__badge .o-badge-disc--petit{width:112px}

/* Bandeau d'accroche sous le hero */
.o-bandeau{background:var(--or);color:var(--marine);padding:16px 0}
.o-bandeau p{font-size:.95rem;font-weight:600;text-align:center;letter-spacing:.01em}

/* ==========================================================================
   Miroir — « vous reconnaissez-vous ? »
   ========================================================================== */
.o-miroir__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px}
.o-miroir__item{
  background:var(--blanc);border:1px solid var(--bordure);border-left:3px solid var(--or);
  border-radius:0 var(--r) var(--r) 0;padding:26px 28px;
}
.o-miroir__q{font-family:var(--serif);font-size:1.3rem;color:var(--marine);margin-bottom:10px;line-height:1.35}
.o-miroir__a{font-size:1rem;color:var(--texte-clair);margin:0}
.o-miroir__note{
  margin-top:40px;padding:26px 30px;background:var(--marine);color:rgba(255,255,255,.85);
  border-radius:var(--r);font-size:1.05rem;text-align:center;
}
.o-miroir__note strong{color:var(--or-clair)}

/* ==========================================================================
   Méthode CO-Naissance — 4 temps
   ========================================================================== */
.o-temps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;position:relative}
.o-temps__item{padding:0 26px;border-left:1px solid rgba(255,255,255,.14);position:relative}
.o-temps__item:first-child{border-left:none;padding-left:0}
.o-temps__num{
  font-family:var(--serif);font-size:3.2rem;line-height:1;color:var(--or);
  opacity:.9;margin-bottom:16px;display:block;
}
.o-temps__t{font-size:1.28rem;color:#fff;margin-bottom:12px}
.o-temps__d{font-size:1rem;color:rgba(255,255,255,.68);margin:0}
.o-temps__r{
  display:block;margin-top:16px;font-size:.84rem;color:var(--or);
  font-weight:600;letter-spacing:.02em;
}
.o-section--creme .o-temps__item{border-color:var(--bordure)}
.o-section--creme .o-temps__t{color:var(--marine)}
.o-section--creme .o-temps__d{color:var(--texte-clair)}

/* ==========================================================================
   Accompagnements (cartes)
   ========================================================================== */
.o-offres{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:52px}
.o-offre{
  display:flex;flex-direction:column;background:var(--blanc);
  border:1px solid var(--bordure);border-radius:var(--r);overflow:hidden;
  transition:box-shadow var(--t),transform var(--t);color:var(--texte);
}
.o-offre:hover{box-shadow:var(--ombre);transform:translateY(-5px);color:var(--texte)}
.o-offre__pic{aspect-ratio:16/10;overflow:hidden;background:var(--marine)}
.o-offre__pic img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.o-offre:hover .o-offre__pic img{transform:scale(1.05)}
.o-offre__body{padding:26px 24px 28px;display:flex;flex-direction:column;flex:1}
.o-offre__t{font-size:1.32rem;margin-bottom:4px}
.o-offre__tag{font-size:.85rem;font-style:italic;color:var(--or-fonce);margin-bottom:14px}
.o-offre__d{font-size:.97rem;color:var(--texte-clair);flex:1;margin-bottom:18px}
.o-offre__prix{
  font-family:var(--serif);font-size:1.4rem;color:var(--marine);
  padding-top:16px;border-top:1px solid var(--bordure);
}
.o-offre__prix small{font-family:var(--sans);font-size:.72rem;color:var(--texte-clair);letter-spacing:.06em;display:block;font-weight:500}
.o-offre__more{display:inline-block;margin-top:14px;font-size:.9rem;font-weight:600;color:var(--or-fonce)}

/* ==========================================================================
   Piliers (bandeau confiance)
   ========================================================================== */
.o-piliers{background:var(--marine-700);padding:34px 0}
.o-piliers__in{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px 40px}
.o-piliers__lbl{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.5);font-weight:700}
.o-piliers__mot{font-family:var(--serif);font-size:1.5rem;color:var(--or)}
.o-piliers__sep{color:rgba(255,255,255,.25)}

/* ==========================================================================
   Preuve / Bio
   ========================================================================== */
.o-bio{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;align-items:center}
.o-bio__pic img{border-radius:var(--r);box-shadow:var(--ombre);width:100%}
.o-bio__chiffres{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:34px;padding-top:30px;border-top:1px solid var(--bordure)}
.o-chiffre__n{font-family:var(--serif);font-size:2.4rem;color:var(--or-fonce);line-height:1}
.o-chiffre__l{font-size:.85rem;color:var(--texte-clair);margin-top:6px}

.o-certifs{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.o-certif{
  display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;
  background:var(--creme);border:1px solid var(--bordure);border-radius:50px;padding:8px 18px;color:var(--marine);
}
.o-certif::before{content:"✓";color:var(--or-fonce);font-weight:700}

/* ==========================================================================
   Témoignages
   ========================================================================== */
.o-temoins{display:grid;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:24px;margin-top:48px}
.o-temoin{background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--r);padding:32px 28px;position:relative}
.o-temoin::before{
  content:"“";position:absolute;top:6px;right:22px;font-family:var(--serif);
  font-size:4.5rem;color:var(--or);opacity:.22;line-height:1;
}
.o-temoin__txt{font-family:var(--serif);font-size:1.13rem;line-height:1.6;color:var(--marine);margin-bottom:20px}
.o-temoin__qui{font-size:.86rem;color:var(--texte-clair);font-weight:600}
.o-temoin__role{display:block;font-weight:400;color:var(--texte-clair);opacity:.85}

/* ==========================================================================
   Financement
   ========================================================================== */
.o-finance{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:44px}
.o-finance__item{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r);padding:24px 22px;
}
.o-finance__t{font-family:var(--serif);font-size:1.2rem;color:var(--or);margin-bottom:8px}
.o-finance__d{font-size:.9rem;color:rgba(255,255,255,.68);margin:0}
.o-finance__note{font-size:.86rem;color:rgba(255,255,255,.5);margin-top:26px;text-align:center}

/* ==========================================================================
   FAQ
   ========================================================================== */
.o-faq{max-width:840px;margin:44px auto 0}
.o-faq__item{border-bottom:1px solid var(--bordure)}
.o-faq__q{
  width:100%;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  padding:22px 0;text-align:left;font-family:var(--serif);font-size:1.2rem;color:var(--marine);
}
.o-faq__q::after{content:"+";font-family:var(--sans);font-size:1.4rem;color:var(--or-fonce);flex-shrink:0;transition:transform var(--t)}
.o-faq__item.is-open .o-faq__q::after{transform:rotate(45deg)}
.o-faq__a{display:none;padding:0 0 24px;color:var(--texte-clair);font-size:1rem;max-width:720px}
.o-faq__item.is-open .o-faq__a{display:block}

/* ==========================================================================
   CTA final
   ========================================================================== */
.o-cta{background:var(--marine);color:#fff;text-align:center;padding:clamp(64px,8vw,100px) 0;position:relative;overflow:hidden}
.o-cta__bg{position:absolute;inset:0;opacity:.18}
.o-cta__bg img{width:100%;height:100%;object-fit:cover}
.o-cta__in{position:relative;z-index:1}
.o-cta h2{color:#fff;margin-bottom:18px}
.o-cta p{color:rgba(255,255,255,.75);max-width:600px;margin:0 auto 10px;font-size:1.1rem}
.o-cta__rassure{font-size:.87rem;color:rgba(255,255,255,.55);margin-top:22px}

/* ==========================================================================
   Pages intérieures
   ========================================================================== */
.o-pagehero{background:var(--marine);color:#fff;padding:clamp(70px,9vw,120px) 0 clamp(54px,7vw,84px);position:relative;overflow:hidden}
.o-pagehero__bg{position:absolute;inset:0;opacity:.22}
.o-pagehero__bg img{width:100%;height:100%;object-fit:cover}
.o-pagehero__in{position:relative;z-index:1;max-width:var(--max);margin:0 auto;padding:0 32px}
.o-pagehero h1{color:#fff;max-width:min(1080px,100%)}
.o-pagehero .o-lead{color:rgba(255,255,255,.75);max-width:min(840px,100%)}
.o-fil{font-size:.8rem;color:rgba(255,255,255,.55);margin-bottom:18px}
.o-fil a{color:rgba(255,255,255,.72)}
.o-fil a:hover{color:var(--or)}
/* Le gras reste lisible sur tous les fonds sombres */
.o-pagehero strong,.o-hero strong,.o-cta strong,.o-piliers strong,.o-footer strong{color:var(--or-clair)}

.o-prose{max-width:var(--max-txt);margin:0 auto}
.o-prose--large{max-width:min(1040px,100%)}
.o-prose h2{margin:44px 0 16px}
.o-prose h3{margin:32px 0 12px}
.o-prose ul{margin:0 0 1.2em;padding-left:0}
.o-prose li{position:relative;padding-left:26px;margin-bottom:10px}
.o-prose li::before{content:"";position:absolute;left:4px;top:.72em;width:7px;height:7px;background:var(--or);border-radius:50%}
.o-prose ol{counter-reset:o;margin:0 0 1.2em}
.o-prose ol li{counter-increment:o;padding-left:34px}
.o-prose ol li::before{content:counter(o);background:none;color:var(--or-fonce);font-weight:700;top:0;width:auto;height:auto;font-family:var(--serif);font-size:1.1rem}
.o-prose blockquote{
  border-left:3px solid var(--or);padding:6px 0 6px 24px;margin:26px 0;
  font-family:var(--serif);font-size:1.2rem;color:var(--marine);
}

/* Étapes numérotées (page méthode) */
.o-etapes{margin-top:52px}
.o-etape{display:grid;grid-template-columns:110px 1fr;gap:32px;padding:38px 0;border-top:1px solid var(--bordure)}
.o-etape:last-child{border-bottom:1px solid var(--bordure)}
.o-etape__num{font-family:var(--serif);font-size:3.4rem;color:var(--or);line-height:1}
.o-etape__t{font-size:1.5rem;margin-bottom:12px}
.o-etape__d{color:var(--texte-clair);margin-bottom:16px}
.o-etape__res{
  display:inline-block;font-size:.88rem;font-weight:600;color:var(--marine);
  background:var(--creme);border-left:3px solid var(--or);padding:10px 18px;border-radius:0 8px 8px 0;
}

/* Tableau tarifs */
.o-tarifs{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:48px;align-items:stretch}
@media (max-width:1240px){ .o-tarifs{grid-template-columns:repeat(3,1fr)} }
.o-tarifs .o-tarif{padding:30px 22px}
.o-tarifs .o-tarif__t{font-size:1.32rem}
.o-tarif{
  display:flex;flex-direction:column;background:var(--blanc);border:1px solid var(--bordure);
  border-radius:var(--r);padding:32px 26px;transition:box-shadow var(--t),transform var(--t);
}
.o-tarif:hover{box-shadow:var(--ombre);transform:translateY(-4px)}
.o-tarif--phare{border:2px solid var(--or);position:relative}
.o-tarif__badge{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--or);color:var(--marine);font-size:.7rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;padding:5px 16px;border-radius:50px;white-space:nowrap;
}
.o-tarif__t{font-size:1.45rem;margin-bottom:4px}
.o-tarif__tag{font-size:.85rem;font-style:italic;color:var(--or-fonce);margin-bottom:20px}
.o-tarif__prix{font-family:var(--serif);font-size:2.4rem;color:var(--marine);line-height:1}
.o-tarif__unite{font-size:.8rem;color:var(--texte-clair);margin-top:6px;margin-bottom:22px;display:block}
.o-tarif__liste{flex:1;margin-bottom:24px}
.o-tarif__liste li{position:relative;padding-left:24px;font-size:.92rem;color:var(--texte-clair);margin-bottom:9px}
.o-tarif__liste li::before{content:"✓";position:absolute;left:0;color:var(--or-fonce);font-weight:700}

/* Contact / RDV */
.o-contact{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.o-form label{display:block;font-size:.85rem;font-weight:600;color:var(--marine);margin-bottom:7px}
.o-form input,.o-form select,.o-form textarea{
  width:100%;padding:13px 16px;border:1px solid var(--bordure);border-radius:8px;
  font-family:var(--sans);font-size:.98rem;color:var(--texte);background:var(--blanc);margin-bottom:18px;
  transition:border-color var(--t);
}
.o-form input:focus,.o-form select:focus,.o-form textarea:focus{border-color:var(--or);outline:none}
.o-form textarea{min-height:150px;resize:vertical}
.o-form__rgpd{font-size:.82rem;color:var(--texte-clair);margin-bottom:20px;display:flex;gap:10px;align-items:flex-start}
.o-form__rgpd input{width:auto;margin:5px 0 0}
.o-coord{background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--r);padding:34px 32px;box-shadow:var(--ombre)}
.o-coord__l{display:flex;gap:14px;margin-bottom:20px;align-items:flex-start}
.o-coord__k{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--or-fonce);font-weight:700;margin-bottom:3px}
.o-notice{padding:14px 18px;border-radius:8px;margin-bottom:24px;font-size:.93rem}
.o-notice--ok{background:#EAF5EC;border:1px solid #BEDFC6;color:#22603A}
.o-notice--ko{background:#FBECEC;border:1px solid #F0C7C7;color:#8A2B2B}

/* ==========================================================================
   Footer
   ========================================================================== */
.o-footer{background:var(--marine);color:rgba(255,255,255,.7);padding:70px 0 0}
.o-footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:44px;padding-bottom:48px}
.o-footer h4{font-family:var(--sans);font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--or);margin-bottom:18px;font-weight:700}
.o-footer a{color:rgba(255,255,255,.7);font-size:.93rem}
.o-footer a:hover{color:var(--or)}
.o-footer li{margin-bottom:10px}
.o-footer__brand img{height:62px;margin-bottom:18px}
.o-footer__desc{font-size:.92rem;line-height:1.7;max-width:330px}
.o-footer__bas{
  border-top:1px solid rgba(255,255,255,.1);padding:22px 0;
  display:flex;flex-wrap:wrap;gap:12px 28px;justify-content:space-between;
  font-size:.83rem;color:rgba(255,255,255,.45);
}
.o-footer__bas ul{display:flex;flex-wrap:wrap;gap:20px}
.o-footer__bas li{margin:0}


/* ==========================================================================
   Badge de certification DISC & accents couleur
   ========================================================================== */
.o-badge-disc{border-radius:50%;flex-shrink:0;height:auto}
.o-badge-disc--petit{width:104px}
.o-badge-disc--grand{width:190px}

/* Bloc credibilité : badge + certifications, sur la page À propos */
.o-credit{
  display:grid;grid-template-columns:auto 1fr;gap:34px;align-items:center;
  background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--r);
  padding:32px 34px;margin-top:30px;box-shadow:var(--ombre);
}
.o-credit__t{font-family:var(--serif);font-size:1.35rem;color:var(--marine);margin-bottom:8px}
.o-credit__d{font-size:.96rem;color:var(--texte-clair);margin-bottom:16px}
@media (max-width:640px){
  .o-credit{grid-template-columns:1fr;gap:20px;text-align:center;justify-items:center}
}

/* Les 4 dimensions DISC, en couleur */
.o-disc{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.o-disc__item{
  background:var(--blanc);border:1px solid var(--bordure);border-radius:var(--r);
  padding:22px 20px;border-top:4px solid var(--c);
}
.o-disc__l{font-family:var(--serif);font-size:2.1rem;line-height:1;color:var(--c);font-weight:700}
.o-disc__n{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--marine);margin:8px 0 6px}
.o-disc__d{font-size:.9rem;color:var(--texte-clair);margin:0}
.o-section--marine .o-disc__item{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.o-section--marine .o-disc__n{color:#fff}
.o-section--marine .o-disc__d{color:rgba(255,255,255,.68)}
@media (max-width:860px){ .o-disc{grid-template-columns:repeat(2,1fr)} }
@media (max-width:460px){ .o-disc{grid-template-columns:1fr} }

/* Le temps « Profil DISC » porte un liseré aux 4 couleurs */
.o-temps__item--disc .o-temps__num{
  background:linear-gradient(90deg,var(--disc-d) 0 25%,var(--disc-i) 25% 50%,var(--disc-s) 50% 75%,var(--disc-c) 75% 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Bio de l'accueil : badge posé à côté des certifications */
.o-bio__credit{display:flex;align-items:center;gap:20px;margin-top:26px}
.o-bio__credit p{font-size:.88rem;color:var(--texte-clair);margin:0}
@media (max-width:520px){ .o-bio__credit{flex-direction:column;align-items:flex-start} }

/* ==========================================================================
   Les trois lectures du nom CO-Naissance
   ========================================================================== */
.o-lecture{margin-top:34px;display:grid;gap:18px}
.o-lecture__item{
  display:grid;grid-template-columns:150px 1fr;gap:26px;align-items:start;
  background:var(--blanc);border:1px solid var(--bordure);
  border-left:3px solid var(--or);border-radius:0 var(--r) var(--r) 0;
  padding:24px 28px;
}
.o-lecture__cle{
  font-family:var(--serif);font-size:1.65rem;color:var(--or-fonce);
  line-height:1.2;font-weight:600;
}
.o-lecture__item p{margin:0;font-size:.98rem;color:var(--texte-clair)}
.o-lecture__item strong{color:var(--marine)}
@media (max-width:640px){
  .o-lecture__item{grid-template-columns:1fr;gap:8px;padding:20px 22px}
}

/* ==========================================================================
   Page protégée par mot de passe
   ========================================================================== */
.o-motdepasse{padding:clamp(60px,8vw,100px) 0;background:var(--creme)}
.o-motdepasse__in{
  max-width:520px;margin:0 auto;background:var(--blanc);
  border:1px solid var(--bordure);border-radius:var(--r);
  padding:44px 40px;box-shadow:var(--ombre);text-align:center;
}
.o-motdepasse__in h2{margin-bottom:14px}
.o-motdepasse__in > p{color:var(--texte-clair);font-size:.98rem;margin-bottom:28px}
.o-motdepasse__form{text-align:left}
.o-motdepasse__form .o-btn{width:100%;margin-top:4px}
.o-motdepasse__aide{margin-top:20px;font-size:.87rem}
.o-motdepasse__aide a{color:var(--or-fonce);text-decoration:underline}

/* ==========================================================================
   Divers
   ========================================================================== */
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--or);color:var(--marine);padding:12px 20px;z-index:999;font-weight:600}
.skip-link:focus{left:10px;top:10px}

.o-404{text-align:center;padding:clamp(80px,12vw,150px) 0}
.o-404__n{font-family:var(--serif);font-size:clamp(5rem,14vw,9rem);color:var(--or);line-height:1}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width:1024px){
  .o-temps,.o-offres,.o-tarifs,.o-finance{grid-template-columns:repeat(2,1fr)}
  .o-temps__item{border-left:none;border-top:1px solid var(--bordure);padding:28px 0 0}
  .o-section--marine .o-temps__item{border-color:rgba(255,255,255,.14)}
  .o-temps__item:first-child,.o-temps__item:nth-child(2){border-top:none;padding-top:0}
  .o-temps{gap:34px 30px}
  .o-temoins{grid-template-columns:1fr}
  .o-bio{grid-template-columns:1fr;gap:40px}
  .o-footer__grid{grid-template-columns:1fr 1fr;gap:36px}
}
@media (max-width:860px){
  .o-burger{display:flex}
  .o-nav{
    display:none;position:absolute;top:100%;left:0;right:0;background:var(--marine);
    padding:20px 28px 28px;box-shadow:var(--ombre);max-height:calc(100vh - 82px);overflow-y:auto;
  }
  .o-nav.is-open{display:block}
  .o-nav ul{flex-direction:column;align-items:stretch;gap:0}
  .o-nav a{color:#fff;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.08)}
  .o-nav ul ul{display:block;position:static;background:transparent;box-shadow:none;border:none;padding:0 0 0 18px;min-width:0}
  .o-nav ul ul a{padding:11px 0}
  .o-nav .menu-item-cta>a{margin-top:16px;text-align:center}
  .o-contact{grid-template-columns:1fr;gap:38px}
}
@media (max-width:640px){
  .o-miroir__grid,.o-offres,.o-tarifs,.o-finance,.o-temps{grid-template-columns:1fr}
  .o-bio__chiffres{grid-template-columns:1fr;gap:16px}
  .o-etape{grid-template-columns:1fr;gap:12px;padding:30px 0}
  .o-etape__num{font-size:2.6rem}
  .o-footer__grid{grid-template-columns:1fr}
  .o-container,.o-header__in,.o-hero__in,.o-pagehero__in{padding-left:20px;padding-right:20px}
  .o-btn{width:100%}
  .o-brand img,.o-brand svg{height:44px}
  .o-piliers__in{gap:10px 20px}
  .o-piliers__mot{font-size:1.2rem}
}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

@media print{
  .o-header,.o-footer,.o-cta,.o-btn{display:none!important}
  body{color:#000;background:#fff}
}

/* ==========================================================================
   Très grands écrans — on occupe la place disponible
   ========================================================================== */
@media (min-width:1700px){
  :root{ --max:1440px; }
  .o-hero__in{ padding-top:150px; padding-bottom:115px; }
  h1{ font-size:4.2rem; }
  .o-hero__carte{ padding:38px 34px; }
}


/* Crédits photo — ligne discrète au-dessus de la barre légale du pied de page */
.o-footer__credits {
	margin: 28px 0 0;
	font-size: .78rem;
	opacity: .55;
}
.o-footer__credits a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.o-footer__credits a:hover { opacity: 1; }

/* ==========================================================================
   DISC & Forces Motrices — bénéfices (accueil + méthode) — v1.1
   ========================================================================== */
.o-outils{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}
.o-outil{
  position:relative;overflow:hidden;
  background:var(--marine);color:#fff;border-radius:var(--r);padding:30px 28px 26px;
}
.o-outil::before{
  content:"";position:absolute;left:0;right:0;top:0;height:4px;
  background:linear-gradient(90deg,var(--disc-d) 0 25%,var(--disc-i) 25% 50%,var(--disc-s) 50% 75%,var(--disc-c) 75% 100%);
}
.o-outil + .o-outil::before{background:linear-gradient(90deg,var(--or-fonce),var(--or-clair))}
.o-outil__k{display:block;font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--or)}
.o-outil__q{display:block;font-family:var(--serif);font-size:1.7rem;line-height:1.2;margin:6px 0 10px}
.o-outil__d{margin:0;font-size:.95rem;color:rgba(255,255,255,.75)}
.o-benef{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.o-benef__item{
  background:var(--blanc);border:1px solid var(--bordure);border-left:3px solid var(--or);
  border-radius:0 var(--r) var(--r) 0;padding:22px 24px;
}
.o-benef__pour{font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--or-fonce)}
.o-benef__t{font-family:var(--serif);font-size:1.3rem;line-height:1.25;color:var(--marine);margin:6px 0 8px}
.o-benef__d{margin:0;font-size:.92rem;color:var(--texte-clair)}
@media (max-width:960px){ .o-benef{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .o-outils,.o-benef{grid-template-columns:1fr} }

/* ==========================================================================
   v1.3 — Le Point : encart « déjà un profil DISC ? » + tableau comparatif
   ========================================================================== */
.o-encart{
  display:flex;align-items:center;justify-content:space-between;gap:32px;
  margin-top:40px;padding:28px 32px;background:var(--blanc);
  border:1px solid var(--bordure);border-left:4px solid var(--or);
  border-radius:0 var(--r) var(--r) 0;box-shadow:var(--ombre);
}
.o-encart__k{display:block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--or-fonce);margin-bottom:6px}
.o-encart__t{font-family:var(--serif);font-size:1.45rem;line-height:1.25;color:var(--marine);margin:0 0 8px}
.o-encart__d{font-size:.98rem;color:var(--texte-clair);margin:0}
.o-encart__action{display:flex;flex-direction:column;align-items:center;gap:10px;flex-shrink:0;text-align:center}
.o-encart__prix{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--marine)}
.o-encart__prix small{font-family:var(--sans);font-size:.75rem;color:var(--texte-clair)}
.o-encart--sombre{background:var(--marine-700);border-color:rgba(255,255,255,.12);border-left-color:var(--or)}
.o-encart--sombre .o-encart__t,.o-encart--sombre .o-encart__prix{color:var(--blanc)}
.o-encart--sombre .o-encart__d{color:rgba(255,255,255,.78)}
@media (max-width:760px){
  .o-encart{flex-direction:column;align-items:flex-start;padding:24px 22px;gap:20px}
  .o-encart__action{align-items:flex-start;text-align:left;width:100%}
  .o-encart__action .o-btn{width:100%}
}

.o-compare{margin-top:40px;overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--bordure);border-radius:var(--r)}
.o-compare table{width:100%;min-width:620px;border-collapse:collapse;font-size:.95rem}
.o-compare th,.o-compare td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--bordure);vertical-align:top}
.o-compare thead th{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--marine);background:var(--creme)}
.o-compare tbody th{font-weight:600;color:var(--marine);width:28%}
.o-compare td{color:var(--texte-clair)}
.o-compare .is-mis{background:rgba(201,169,106,.12);color:var(--marine);font-weight:600}
.o-compare thead .is-mis{background:var(--or);color:var(--marine)}
.o-compare tbody tr:last-child th,.o-compare tbody tr:last-child td{border-bottom:none}

/* Liens automatiques vers les accompagnements et le DISC (v1.4) */
.o-lien-auto{color:inherit;text-decoration:underline;text-decoration-color:var(--or);text-underline-offset:3px;text-decoration-thickness:1px}
.o-lien-auto:hover{color:var(--or-fonce);text-decoration-color:var(--or-fonce)}
.o-section--marine .o-lien-auto,.o-hero .o-lien-auto{color:#fff;text-decoration-color:var(--or)}
.o-section--marine .o-lien-auto:hover,.o-hero .o-lien-auto:hover{color:var(--or-clair);text-decoration-color:var(--or-clair)}


/* ==========================================================================
   L'offre 360° — rose des vents et trois postures
   ========================================================================== */
#offre-360{scroll-margin-top:110px}
.o-360{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(32px,5vw,72px);align-items:center;
}
.o-360__rose{display:flex;justify-content:center}
.o-rose{width:min(460px,100%);height:auto;color:var(--marine)}
.o-section--marine .o-rose{color:#fff}
.o-360__txt .o-lead{margin-top:18px}

.o-postures{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:24px;margin-top:clamp(44px,5vw,68px);
}
.o-posture{
  background:var(--blanc);border:1px solid var(--bordure);
  border-top:5px solid var(--c);border-radius:var(--r);
  padding:30px 28px 24px;display:flex;flex-direction:column;
}
.o-posture__t{
  font-family:var(--serif);font-size:1.75rem;color:var(--marine);
  margin:0 0 6px;line-height:1.1;
}
.o-posture__p{font-size:1rem;color:var(--marine);font-weight:600;margin:0 0 8px}
.o-posture__d{font-size:.94rem;color:var(--texte-clair);margin:0 0 22px}

.o-posture__liste{display:flex;flex-direction:column;gap:10px;list-style:none;margin:0;padding:0}
.o-posture__liste a{
  display:grid;grid-template-columns:1fr auto;
  grid-template-areas:"nom prix" "tag tag";
  gap:3px 14px;align-items:start;text-decoration:none;
  padding:14px 16px;border-radius:9px;background:var(--creme);
  transition:background var(--t),transform var(--t);color:var(--texte);
}
.o-posture__liste a:hover{background:var(--sable);transform:translateX(3px);color:var(--texte)}
.o-posture__nom{grid-area:nom;font-family:var(--serif);font-size:1.12rem;color:var(--marine);font-weight:600;line-height:1.3}
.o-posture__prix{
  grid-area:prix;font-family:var(--serif);font-size:1rem;color:var(--or-fonce);
  white-space:nowrap;text-align:right;line-height:1.3;
}
.o-posture__tag{grid-area:tag;font-size:.82rem;font-style:italic;color:var(--texte-clair)}

/* Variante sur fond marine */
.o-section--marine .o-posture{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}
.o-section--marine .o-posture__t,
.o-section--marine .o-posture__p,
.o-section--marine .o-posture__nom{color:#fff}
.o-section--marine .o-posture__d,
.o-section--marine .o-posture__tag{color:rgba(255,255,255,.65)}
.o-section--marine .o-posture__liste a{background:rgba(255,255,255,.06);color:#fff}
.o-section--marine .o-posture__liste a:hover{background:rgba(255,255,255,.11)}
.o-section--marine .o-posture__prix{color:var(--or)}

@media (max-width:1024px){
  .o-360{grid-template-columns:1fr;gap:34px}
  .o-360__rose{order:2}
  .o-rose{width:min(360px,80%)}
  .o-postures{grid-template-columns:1fr}
}
