:root{
  --vert:#006B50; --terra:#C7472B; --blanc:#FFFFFF;
  --vert-900:#004B38; --vert-50:#EEF6F3; --vert-100:#D6EAE3;
  --terra-50:#FCF1EE; --creme:#FFF8F4;
  --texte:#1E2A26; --texte-doux:#4A5853; --ligne:#E4ECE9;
  --r:18px; --r-sm:12px; --ombre:0 10px 30px rgba(0,75,56,.10);
  --max:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{overflow-x:hidden;font-family:Poppins,system-ui,sans-serif;font-weight:400;color:var(--texte);background:var(--blanc);line-height:1.65;font-size:16px}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2{font-weight:800;line-height:1.12;letter-spacing:-.02em}
h3,h4{font-weight:600;line-height:1.3}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.site-main > section{padding:96px 0}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);margin-bottom:16px}
.eyebrow::before{content:"";width:22px;height:22px;border-radius:50%;background:var(--terra) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 7l5 5-5 5' fill='none' stroke='white' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat}
.on-dark .eyebrow{color:#fff}
h2.title{font-size:clamp(30px,4vw,46px);color:var(--vert);max-width:20ch;margin-bottom:20px}
.on-dark h2.title{color:#fff}
.lead{font-size:17px;color:var(--texte-doux);max-width:58ch}
.on-dark .lead{color:rgba(255,255,255,.86)}
.btn{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:15px;border-radius:999px;padding:14px 26px;transition:.2s;cursor:pointer;border:2px solid transparent;white-space:nowrap}
.btn-terra{background:var(--terra);color:#fff}
.btn-terra:hover{background:#A93A22;transform:translateY(-2px)}
.btn-ghost{border-color:rgba(255,255,255,.7);color:#fff}
.btn-ghost:hover{background:#fff;color:var(--vert)}
.btn-line{border-color:var(--vert);color:var(--vert)}
.btn-line:hover{background:var(--vert);color:#fff}
.btn svg{width:18px;height:18px}

/* Photo placeholders */
.photo{position:relative;border-radius:var(--r);overflow:hidden;background:linear-gradient(135deg,var(--vert-100),var(--terra-50));display:flex;align-items:flex-end;min-height:260px}
.photo::after{content:"";position:absolute;inset:0;background:url(../img/symbol_mono.png) right -40px top -30px/220px no-repeat;opacity:.0}
.photo .cap{position:relative;z-index:1;margin:16px;background:rgba(255,255,255,.92);color:var(--vert);font-size:12.5px;font-weight:600;padding:8px 12px;border-radius:10px;display:flex;gap:8px;align-items:center}
.photo .cap svg{width:16px;height:16px;flex:none}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:var(--vert);color:#fff}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:84px}
.nav ul{display:flex;gap:20px;list-style:none;font-size:14.5px;white-space:nowrap}
.nav ul a{opacity:.92;padding:6px 0;border-bottom:2px solid transparent}
.nav ul a:hover,.nav ul a.active{opacity:1;border-color:var(--terra)}
.nav .logo{padding:0 28px}.nav .logo img{height:58px;width:auto}
.nav .right{display:flex;justify-content:flex-end;align-items:center;gap:20px;font-size:14.5px}
.nav .right .lnk{display:flex;gap:8px;align-items:center;opacity:.92}
.nav .right .lnk svg{width:18px;height:18px}
.burger{display:none;background:none;border:0;color:#fff;cursor:pointer}
.burger svg{width:30px;height:30px}
.mobile-menu{display:none}

/* Hero */
.hero{position:relative;background:var(--vert-900);color:#fff;padding:0;overflow:hidden}
.hero .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding:88px 24px 104px}
.hero h1{font-size:clamp(38px,5.4vw,64px);margin-bottom:22px}
.hero h1 em{font-style:normal;color:#F6B8A8}
.hero .slogan{font-size:18px;font-weight:600;color:#fff;opacity:.95;margin-bottom:14px}
.hero p.lead{color:rgba(255,255,255,.85);margin-bottom:34px}
.hero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.hero .pub{display:flex;gap:10px;flex-wrap:wrap;margin-top:40px}
.hero .pub span{font-size:14px;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:7px 16px;background:rgba(255,255,255,.06)}
.hero .visual{position:relative}
.hero .visual .photo{min-height:520px;border-radius:220px 220px var(--r) var(--r);background:linear-gradient(160deg,#0f7a5d,#3a2a22)}
.hero .visual .photo .cap{color:var(--vert-900)}
.hero .badge{position:absolute;left:-36px;bottom:56px;background:#fff;color:var(--texte);border-radius:var(--r);padding:18px 20px;box-shadow:var(--ombre);display:flex;gap:14px;align-items:center;max-width:270px}
.hero .badge .ic{width:46px;height:46px;border-radius:50%;background:var(--terra-50);display:grid;place-items:center;flex:none}
.hero .badge .ic svg{width:24px;height:24px;color:var(--terra)}
.hero .badge b{display:block;font-weight:600;font-size:15px;color:var(--vert)}
.hero .badge small{font-size:13px;color:var(--texte-doux)}
.hero .wm{position:absolute;right:-90px;top:-60px;width:520px;opacity:.06;pointer-events:none}
.wave{display:block;width:100%;height:60px;margin-top:-59px;position:relative}

/* Publics */
.publics{padding:72px 0 40px}
.publics .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.pcard{border:1px solid var(--ligne);border-radius:var(--r);padding:30px;transition:.25s;background:#fff}
.pcard:hover{border-color:var(--vert);box-shadow:var(--ombre);transform:translateY(-4px)}
.pcard .ic{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;margin-bottom:18px}
.pcard:nth-child(1) .ic{background:var(--vert-50);color:var(--vert)}
.pcard:nth-child(2) .ic{background:var(--terra-50);color:var(--terra)}
.pcard:nth-child(3) .ic{background:var(--vert-50);color:var(--vert)}
.pcard .ic svg{width:28px;height:28px}
.pcard h3{font-size:20px;color:var(--vert);margin-bottom:8px}
.pcard p{font-size:15px;color:var(--texte-doux);margin-bottom:16px}
.pcard .more{font-weight:600;font-size:14px;color:var(--terra);display:inline-flex;gap:6px;align-items:center}

/* About */
.about{background:var(--creme)}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.about p{color:var(--texte-doux);margin-bottom:14px}
.about .values{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 32px}
.about .values span{background:#fff;border:1px solid var(--ligne);border-radius:999px;padding:7px 15px;font-size:14px;font-weight:600;color:var(--vert)}
.about .photo{min-height:460px}

/* Parcours */
.parcours{background:var(--vert);color:#fff;position:relative;overflow:hidden}
.parcours .wm{position:absolute;right:-120px;bottom:-120px;width:560px;opacity:.07}
.head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap}
.hec{margin-top:48px;background:#fff;color:var(--texte);border-radius:24px;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;position:relative;z-index:1}
.hec .photo{border-radius:0;min-height:100%}
.hec .body{padding:40px}
.tag{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:999px}
.tag-vert{background:var(--vert-50);color:var(--vert)}
.tag-terra{background:var(--terra-50);color:var(--terra)}
.hec h3{font-size:28px;font-weight:800;color:var(--vert);margin:14px 0 8px}
.hec .meta{display:flex;gap:22px;flex-wrap:wrap;font-size:14px;color:var(--texte-doux);margin:6px 0 22px}
.hec .meta span{display:flex;gap:7px;align-items:center}
.hec .meta svg{width:18px;height:18px;color:var(--terra)}
.minis{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px}
.minis li{display:flex;gap:12px;align-items:center;font-size:14.5px;font-weight:600;color:var(--texte);background:var(--creme);border-radius:var(--r-sm);padding:12px 14px}
.minis li b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--vert);color:#fff;font-size:13px;display:grid;place-items:center}
.hec .foot{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;border-top:1px solid var(--ligne);padding-top:22px}
.price{font-size:14px;color:var(--texte-doux)}
.price strong{display:block;font-size:22px;font-weight:800;color:var(--vert)}
.soon{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px;position:relative;z-index:1}
.soon div{border:1px dashed rgba(255,255,255,.4);border-radius:var(--r);padding:22px}
.soon h4{font-size:17px;margin:10px 0 4px}
.soon p{font-size:14px;opacity:.8}
.soon .tag{background:rgba(255,255,255,.12);color:#fff}

/* Méthode */
.methode .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}
.step{padding:28px;border-radius:var(--r);background:var(--creme);position:relative}
.step .n{font-size:44px;font-weight:800;color:var(--terra);opacity:.25;line-height:1}
.step h3{font-size:18px;color:var(--vert);margin:10px 0 8px}
.step p{font-size:14.5px;color:var(--texte-doux)}

/* Consultations */
.consult{background:var(--creme)}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px}
.ccard{background:#fff;border-radius:var(--r);padding:28px 24px;display:flex;flex-direction:column;border-top:5px solid var(--vert);box-shadow:0 1px 0 var(--ligne)}
.ccard:nth-child(even){border-top-color:var(--terra)}
.ccard .ic{width:50px;height:50px;border-radius:14px;background:var(--vert-50);color:var(--vert);display:grid;place-items:center;margin-bottom:16px}
.ccard:nth-child(even) .ic{background:var(--terra-50);color:var(--terra)}
.ccard .ic svg{width:26px;height:26px}
.ccard h3{font-size:18px;color:var(--vert);margin-bottom:8px}
.ccard p{font-size:14.5px;color:var(--texte-doux);flex:1;margin-bottom:18px}
.ccard .row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ligne);padding-top:16px;font-size:13.5px;color:var(--texte-doux)}
.ccard .row a{font-weight:600;color:var(--terra)}
.steps-line{display:flex;gap:0;margin-top:40px;background:#fff;border-radius:var(--r);overflow:hidden}
.steps-line div{flex:1;padding:18px 20px;font-size:14px;color:var(--texte-doux);border-right:1px solid var(--ligne);display:flex;gap:10px;align-items:center}
.steps-line div:last-child{border:0}
.steps-line b{width:26px;height:26px;flex:none;border-radius:50%;background:var(--terra);color:#fff;font-size:12px;display:grid;place-items:center}

/* Founder */
.founder .split{grid-template-columns:.85fr 1.15fr}
.founder .pic{position:relative}
.founder .pic img{border-radius:var(--r);width:100%;box-shadow:var(--ombre)}
.founder .pic::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:2px solid var(--terra);border-radius:var(--r);z-index:-1}
.founder blockquote{font-size:20px;font-weight:600;color:var(--vert);border-left:4px solid var(--terra);padding-left:20px;margin:22px 0}
.founder p{color:var(--texte-doux);margin-bottom:14px}
.founder .sig{font-weight:600;color:var(--texte)}
.founder .sig small{display:block;font-weight:400;color:var(--texte-doux)}

/* Events */
.events{background:var(--vert);color:#fff;position:relative;overflow:hidden}
.events .wm{position:absolute;left:-140px;top:-80px;width:500px;opacity:.06}
.egrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px;position:relative;z-index:1}
.ecard{background:#fff;color:var(--texte);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.ecard .photo{border-radius:0;min-height:180px}
.ecard .date{position:absolute;top:14px;left:14px;z-index:2;background:#fff;border-radius:12px;text-align:center;padding:6px 12px;line-height:1.1}
.ecard .date b{display:block;font-size:22px;font-weight:800;color:var(--terra)}
.ecard .date small{font-size:11px;font-weight:600;text-transform:uppercase;color:var(--vert)}
.ecard .in{padding:22px;display:flex;flex-direction:column;flex:1}
.ecard .tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.ecard h3{font-size:18px;color:var(--vert);margin-bottom:8px}
.ecard ul{list-style:none;font-size:14px;color:var(--texte-doux);display:grid;gap:5px;margin-bottom:18px;flex:1}
.ecard ul li{display:flex;gap:8px;align-items:center}
.ecard ul svg{width:16px;height:16px;color:var(--terra)}
.ecard .bar{height:6px;background:var(--vert-50);border-radius:9px;overflow:hidden;margin-bottom:6px}
.ecard .bar i{display:block;height:100%;width:0;background:var(--terra)}
.ecard .seats{font-size:12.5px;color:var(--texte-doux);margin-bottom:16px}
.ecard .btn{justify-content:center}
.placeholder-txt{color:#8a9893;font-style:italic}

/* FAQ */
.faq .split{align-items:start}
.acc{display:grid;gap:12px}
.acc details{border:1px solid var(--ligne);border-radius:var(--r-sm);background:#fff;overflow:hidden}
.acc summary{cursor:pointer;list-style:none;padding:18px 22px;font-weight:600;color:var(--vert);display:flex;justify-content:space-between;gap:16px;align-items:center}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:24px;font-weight:400;color:var(--terra);transition:.2s}
.acc details[open]{border-color:var(--vert)}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc details p{padding:0 22px 20px;color:var(--texte-doux);font-size:15px}
.faq aside{background:var(--vert);color:#fff;border-radius:var(--r);padding:36px;position:sticky;top:110px}
.faq aside h3{font-size:22px;margin-bottom:10px}
.faq aside p{opacity:.85;margin-bottom:22px;font-size:15px}
.faq aside .c{display:flex;gap:10px;align-items:center;margin-bottom:10px;font-size:15px}
.faq aside .c svg{width:20px;height:20px;color:#F6B8A8}

/* CTA band */
.cta{background:linear-gradient(120deg,var(--terra),#A93A22);color:#fff;text-align:center;border-radius:28px;padding:72px 32px;position:relative;overflow:hidden}
.cta h2{font-size:clamp(28px,3.6vw,42px);max-width:22ch;margin:0 auto 14px}
.cta p{opacity:.9;max-width:56ch;margin:0 auto 30px}
.cta .ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.cta .btn-white{background:#fff;color:var(--terra)}
.cta .wm{position:absolute;right:-60px;bottom:-80px;width:340px;opacity:.1}

/* Blog */
.bgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:44px}
.bcard .photo{min-height:200px;margin-bottom:18px}
.bcard .m{font-size:13px;color:var(--terra);font-weight:600;margin-bottom:6px}
.bcard h3{font-size:18px;color:var(--vert);margin-bottom:8px}
.bcard p{font-size:14.5px;color:var(--texte-doux)}

/* Footer */
.site-footer{background:var(--vert-900);color:rgba(255,255,255,.85);padding:80px 0 0;margin-top:96px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}.fgrid>*{min-width:0}
.site-footer img.flogo{height:64px;width:auto;margin-bottom:18px}
.site-footer h4{color:#fff;font-size:17px;margin-bottom:18px}
.site-footer ul{list-style:none;display:grid;gap:10px;font-size:15px}
.site-footer a:hover{color:#fff}
.site-footer .slogan{font-weight:600;color:#fff;margin:10px 0 18px}
.socials{display:flex;gap:10px}
.socials span{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center}
.socials svg{width:18px;height:18px}
.nl{display:flex;background:#fff;border-radius:999px;padding:5px;margin-top:14px}
.nl input{flex:1;border:0;outline:0;padding:0 16px;font:inherit;font-size:14px;min-width:0;border-radius:999px}
.nl button{border:0;background:var(--terra);color:#fff;border-radius:999px;padding:10px 18px;font:inherit;font-weight:600;font-size:14px;cursor:pointer}
.fbottom{border-top:1px solid rgba(255,255,255,.14);margin-top:56px;padding:24px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px}
.fbottom .legal{display:flex;gap:18px;flex-wrap:wrap}
.fbottom .credit{color:#fff;font-weight:600}
.empty{opacity:.55;font-style:italic}

/* Reveal */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}

/* Responsive */
@media (max-width:1180px){
  .nav ul,.nav .right .lnk{display:none}
  .nav{grid-template-columns:auto 1fr auto}
  .nav .logo{order:-1}
  .burger{display:block;order:2;margin-left:12px}
  .nav .right{order:1}
  .mobile-menu.open{display:block;background:var(--vert);padding:8px 24px 24px;border-top:1px solid rgba(255,255,255,.12)}
  .mobile-menu a{display:block;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#fff}
  .cgrid,.methode .grid{grid-template-columns:repeat(2,1fr)}
  .fgrid{grid-template-columns:1fr 1fr}
}
@media (max-width:860px){
  .site-main > section{padding:72px 0}
  .hero .grid,.split,.founder .split,.hec{grid-template-columns:1fr}
  .hero .grid{padding:56px 24px 88px;gap:40px}
  .hero .visual .photo{min-height:360px}
  .hero .badge{display:none}
  .publics .grid,.egrid,.bgrid,.soon{grid-template-columns:1fr}
  .hec .photo{min-height:240px}
  .hec .body{padding:28px 22px}
  .minis{grid-template-columns:1fr}
  .steps-line{flex-direction:column}
  .steps-line div{border-right:0;border-bottom:1px solid var(--ligne)}
  .founder .pic::before{display:none}
  .faq aside{position:static}
}
@media (max-width:560px){
  .cgrid,.methode .grid,.fgrid{grid-template-columns:1fr}
  .nav .right .btn{padding:10px 16px;font-size:14px}
  .nav .logo img{height:46px}
  .hero .ctas .btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}*{scroll-behavior:auto}}

/* ===== Pages intérieures (maquettes validées) ===== */
/* ===== Pages clés ===== */
.crumbs{font-size:13.5px;opacity:.8;margin-bottom:18px}.crumbs a:hover{text-decoration:underline}
.tag-light{background:rgba(255,255,255,.16);color:#fff}
.full{width:100%;justify-content:center}
.small{font-size:13.5px;color:var(--texte-doux)}
.note{font-size:13px;color:#8a9893;font-style:italic;margin-top:14px}
.checks{list-style:none;display:grid;gap:8px;font-size:14.5px;margin:18px 0}
.checks li{display:flex;gap:10px;align-items:flex-start}
.checks li::before{content:"";flex:none;width:20px;height:20px;margin-top:2px;border-radius:50%;background:var(--vert-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='%23006B50' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center/13px no-repeat}
.amount{font-size:30px;font-weight:800;color:var(--vert);margin:10px 0 6px}
.btn-white{background:#fff;color:var(--vert)}.btn-white:hover{transform:translateY(-2px)}
/* HEC */
.phero{background:var(--vert-900);color:#fff;position:relative;overflow:hidden;padding:64px 0 96px}
.phero .wm{position:absolute;right:-120px;top:-80px;width:520px;opacity:.06}
.pgrid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start;position:relative;z-index:1}
.phero h1{font-size:clamp(38px,5vw,60px);margin:16px 0 14px}
.phero .slogan{font-size:19px;font-weight:600;margin-bottom:14px}
.phero .lead{color:rgba(255,255,255,.85)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:32px}
.facts span{display:flex;gap:10px;align-items:center;font-size:15px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-sm);padding:12px 14px}
.facts svg{width:20px;height:20px;color:#F6B8A8;flex:none}
.buybox{background:#fff;color:var(--texte);border-radius:24px;overflow:hidden;box-shadow:0 30px 60px rgba(0,0,0,.25)}
.buybox .photo{border-radius:0;min-height:200px}
.buybox .in{padding:28px}
.buybox .btn{margin-top:10px}
.bgrid4{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px}
.bgrid4 .b{border:1px solid var(--ligne);border-radius:var(--r);padding:26px}
.bgrid4 b{font-size:40px;font-weight:800;color:var(--terra);opacity:.3;line-height:1}
.bgrid4 h3{color:var(--vert);font-size:19px;margin:10px 0 6px}
.bgrid4 p{font-size:14.5px;color:var(--texte-doux)}
.minis-section{background:var(--creme)}
.mlist{display:grid;gap:14px;margin-top:40px}
.mitem{background:#fff;border-radius:var(--r);border:1px solid var(--ligne);overflow:hidden}
.mitem[open]{border-color:var(--vert);box-shadow:var(--ombre)}
.mitem summary{list-style:none;cursor:pointer;display:flex;gap:18px;align-items:center;padding:20px 24px}
.mitem summary::-webkit-details-marker{display:none}
.mitem summary>b{flex:none;width:44px;height:44px;border-radius:50%;background:var(--vert);color:#fff;display:grid;place-items:center;font-weight:800}
.mitem summary>div{flex:1}
.mitem h3{color:var(--vert);font-size:18px}
.mitem small{color:var(--texte-doux);font-size:13.5px}
.mprice{font-weight:600;color:var(--terra);font-size:14.5px}
.mitem summary::after{content:"+";font-size:26px;color:var(--terra);transition:.2s}
.mitem[open] summary::after{transform:rotate(45deg)}
.mbody{padding:0 24px 24px 86px;display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.mbody ol{display:grid;gap:8px;padding-left:20px;color:var(--texte);font-size:15px}
.mbody ol li::marker{color:var(--terra);font-weight:600}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:900px}
.cbox{border:1px solid var(--ligne);border-radius:24px;padding:34px}
.cbox h3{font-size:22px;color:var(--vert);margin-top:12px}
.cbox.best{background:var(--vert);color:#fff;border-color:var(--vert)}
.cbox.best h3,.cbox.best .amount{color:#fff}
.cbox.best .checks li::before{background-color:rgba(255,255,255,.18);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='white' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.compare{padding-bottom:40px}.compare .wrap{display:flex;justify-content:center}
/* Leçon */
.learn{background:#FBFDFC}
.lbar{background:#fff;border-bottom:1px solid var(--ligne)}
.lbar-in{display:flex;justify-content:space-between;align-items:center;gap:20px;height:64px}
.back{font-weight:600;color:var(--vert);font-size:14.5px}
.prog{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--texte-doux)}
.prog .bar,.ci .bar{width:180px;height:8px;background:var(--vert-50);border-radius:9px;overflow:hidden}
.prog .bar i,.ci .bar i{display:block;height:100%;background:var(--terra);border-radius:9px}
.prog b{color:var(--vert)}
.lgrid{display:grid;grid-template-columns:300px 1fr;gap:48px;padding-top:40px;padding-bottom:40px;align-items:start}
.lside{position:sticky;top:150px;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:24px}
.lside h4{color:var(--vert);font-size:16px;margin-bottom:14px}
.lsteps{list-style:none;display:grid;gap:4px}
.lsteps li{display:grid;grid-template-columns:30px 1fr;column-gap:10px;padding:10px;border-radius:12px;font-size:14px;font-weight:600}
.lsteps li span{grid-row:span 2;width:28px;height:28px;border-radius:50%;border:2px solid var(--ligne);display:grid;place-items:center;font-size:12.5px;color:var(--texte-doux)}
.lsteps li small{font-weight:400;color:var(--texte-doux);font-size:12.5px}
.lsteps li.cur{background:var(--vert-50)}
.lsteps li.cur span{background:var(--terra);border-color:var(--terra);color:#fff}
.res{border-top:1px solid var(--ligne);margin-top:16px;padding-top:16px;display:grid;gap:8px}
.res h5{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--texte-doux)}
.res a{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--vert);font-weight:600}
.res svg{width:18px;height:18px;color:var(--terra)}
.lmain{max-width:780px}
.ltitle{font-size:clamp(30px,4vw,44px);color:var(--vert);margin:12px 0 24px}
.video{aspect-ratio:16/9;border-radius:var(--r);background:linear-gradient(135deg,var(--vert-900),#0f7a5d);color:#fff;display:flex;flex-direction:column;gap:14px;align-items:center;justify-content:center;text-align:center;padding:24px;margin-bottom:32px}
.video svg{width:64px;height:64px;background:var(--terra);border-radius:50%;padding:16px}
.video span{font-size:13.5px;opacity:.8;max-width:40ch}
.verse{background:var(--terra-50);border-left:4px solid var(--terra);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:22px 26px;font-size:17px;font-style:italic;color:var(--texte);margin-bottom:28px}
.verse cite{display:block;font-style:normal;font-weight:600;color:var(--terra);margin-top:10px;font-size:14px}
.prose p{margin-bottom:16px;color:var(--texte);font-size:16.5px}
.prose h2{font-size:26px;color:var(--vert);margin:34px 0 18px}
.steps4{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.steps4 div{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:22px}
.steps4 b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--vert);color:#fff;font-weight:800}
.steps4 h3{color:var(--vert);font-size:17px;margin:12px 0 6px}
.steps4 p{font-size:14.5px;color:var(--texte-doux)}
.reflect,.actions{border-radius:var(--r);padding:26px;margin-top:28px}
.reflect{background:var(--vert);color:#fff}
.actions{background:var(--creme);border:1px solid var(--ligne)}
.reflect h3,.actions h3{display:flex;gap:10px;align-items:center;font-size:19px;margin-bottom:10px}
.actions h3{color:var(--vert)}
.reflect svg,.actions svg{width:24px;height:24px}
.reflect svg{color:#F6B8A8}.actions svg{color:var(--terra)}
.actions .btn{margin-top:16px}
.quiz{margin-top:48px;border-top:2px solid var(--ligne);padding:40px 0 0}
.qhead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:24px}
.qhead h2{font-size:28px;color:var(--vert);margin-top:10px}
.qhead p{color:var(--texte-doux);font-size:14.5px}
.q{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:26px;margin-bottom:18px}
.qn{font-size:12.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--terra)}
.q h3{font-size:18px;color:var(--texte);margin:6px 0 16px}
.opts{list-style:none;display:grid;gap:10px}
.opts li{display:flex;gap:12px;align-items:flex-start;border:1.5px solid var(--ligne);border-radius:12px;padding:12px 14px;font-size:15px;position:relative}
.opts li i{flex:none;width:20px;height:20px;border-radius:50%;border:2px solid #c7d3cf;margin-top:2px}
.opts li em{margin-left:auto;font-style:normal;font-size:12px;font-weight:600;white-space:nowrap;padding-left:10px;color:var(--texte-doux)}
.opts li.good{border-color:var(--vert);background:var(--vert-50)}
.opts li.good i{border-color:var(--vert);background:var(--vert) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round'/%3E%3C/svg%3E") center/12px no-repeat}
.opts li.good em{color:var(--vert)}
.opts li.picked:not(.good){border-color:var(--terra);background:var(--terra-50)}
.opts li.picked:not(.good) i{border-color:var(--terra);background:var(--terra)}
.expl{margin-top:16px;background:var(--creme);border-radius:12px;padding:16px 18px;font-size:14.5px;color:var(--texte);line-height:1.7}
.expl b{color:var(--vert)}
.qfoot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:24px}
.comments{margin-top:48px}
.comments h3{color:var(--vert);font-size:20px;margin-bottom:14px}
.cform{display:grid;gap:12px;justify-items:end}
.cform textarea{width:100%;min-height:110px;border:1.5px solid var(--ligne);border-radius:var(--r-sm);padding:14px;font:inherit;font-size:15px;resize:vertical}
/* Réservation */
.rhero{background:var(--vert);color:#fff;padding:56px 0 40px}
.crumbs.light{color:#fff}
.rhero h1{font-size:clamp(32px,4.5vw,50px);margin-bottom:10px}
.rhero p{opacity:.88;max-width:62ch}
.stepper{list-style:none;display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}
.stepper li{display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:8px 18px 8px 8px;font-size:14.5px;font-weight:600;opacity:.75}
.stepper b{width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.18);display:grid;place-items:center;font-size:13px}
.stepper .done,.stepper .cur{opacity:1}
.stepper .cur{background:#fff;color:var(--vert)}
.stepper .cur b{background:var(--terra);color:#fff}
.stepper .done b{background:var(--vert-900)}
.rgrid{display:grid;grid-template-columns:1fr 360px;gap:32px;padding-top:40px;padding-bottom:20px;align-items:start}
.services{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:24px}
.svc{display:flex;gap:14px;align-items:flex-start;border:1.5px solid var(--ligne);border-radius:var(--r-sm);padding:16px;cursor:pointer;background:#fff}
.svc input{accent-color:var(--vert);margin-top:4px}
.svc div{flex:1}
.svc h4{font-size:15px;color:var(--vert)}
.svc small{font-size:13px;color:var(--texte-doux)}
.svc>span{font-size:12px;color:var(--terra);font-weight:600;text-align:right;max-width:90px}
.svc.on{border-color:var(--vert);background:var(--vert-50)}
.cal-card{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--ligne);border-radius:var(--r);overflow:hidden;background:#fff}
.cal{padding:24px;border-right:1px solid var(--ligne)}
.cal-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--vert)}
.cal-h button{border:1px solid var(--ligne);background:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:18px;color:var(--vert)}
.cal-g{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;text-align:center}
.cal-g span{aspect-ratio:1;display:grid;place-items:center;border-radius:10px;font-size:14px}
.cal-g .dow{font-size:11.5px;font-weight:600;color:var(--texte-doux);aspect-ratio:auto;padding-bottom:4px}
.cal-g .av{background:var(--vert-50);color:var(--vert);font-weight:600;cursor:pointer}
.cal-g .av:hover{outline:2px solid var(--vert)}
.cal-g .sel{background:var(--terra);color:#fff}
.cal-g .full{color:#b9c4c0;text-decoration:line-through}
.cal-g .off{color:#c9d3cf}
.legend{display:flex;gap:16px;margin-top:16px;font-size:12.5px;color:var(--texte-doux);flex-wrap:wrap}
.legend span{display:flex;gap:6px;align-items:center}
.legend i{width:12px;height:12px;border-radius:4px;display:inline-block}
.l-av{background:var(--vert-50);border:1px solid var(--vert)}.l-full{background:#eef1f0}.l-off{background:#fff;border:1px solid var(--ligne)}
.slots{padding:24px}
.slots h4{color:var(--vert);margin-bottom:14px}
.sgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.sgrid button{font:inherit;font-weight:600;font-size:14.5px;border:1.5px solid var(--vert);color:var(--vert);background:#fff;border-radius:10px;padding:10px 0;cursor:pointer}
.sgrid button.on{background:var(--vert);color:#fff}
.sgrid button.taken{border-color:var(--ligne);color:#b9c4c0;text-decoration:line-through;cursor:not-allowed}
.mode{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:14px;margin-top:20px}
.mode span{font-weight:600}
.mode input{accent-color:var(--vert)}
.hold{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--terra);font-weight:600;margin-top:18px}
.hold svg{width:18px;height:18px;flex:none}
.summary{position:sticky;top:150px;background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:26px;box-shadow:var(--ombre)}
.summary h4{color:var(--vert);font-size:18px;margin-bottom:14px}
.summary dl{display:grid;gap:4px;font-size:14.5px}
.summary dt{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--texte-doux);margin-top:8px}
.summary dd{font-weight:600}
.total{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--ligne);margin:18px 0;padding-top:16px}
.total b{color:var(--vert);font-size:18px}
.summary .small{margin-top:12px}
.pay{display:flex;gap:6px;flex-wrap:wrap;margin-top:12px}
.pay span{font-size:11.5px;font-weight:600;border:1px solid var(--ligne);border-radius:6px;padding:4px 8px;color:var(--texte-doux)}
/* Espace membre */
.mgrid{display:grid;grid-template-columns:260px 1fr;gap:36px;padding-top:40px;padding-bottom:20px;align-items:start}
.mnav{position:sticky;top:150px;background:var(--vert);color:#fff;border-radius:var(--r);padding:22px}
.who{display:flex;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.15);margin-bottom:10px}
.who .av{width:46px;height:46px;border-radius:50%;background:var(--terra);display:grid;place-items:center;font-weight:800}
.who small{display:block;font-size:12.5px;opacity:.75}
.mnav nav{display:grid;gap:2px}
.mnav nav a{padding:11px 14px;border-radius:10px;font-size:14.5px;opacity:.9}
.mnav nav a:hover{background:rgba(255,255,255,.08)}
.mnav nav a.on{background:#fff;color:var(--vert);font-weight:600;opacity:1}
.mnav nav a.out{margin-top:10px;opacity:.65}
.mtitle{font-size:34px;color:var(--vert)}
.mmain .note{margin:4px 0 22px}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.kpis div{background:var(--creme);border-radius:var(--r);padding:20px}
.kpis b{font-size:32px;font-weight:800;color:var(--vert);display:block;line-height:1.1}
.kpis span{font-size:13.5px;color:var(--texte-doux)}
.panel{background:#fff;border:1px solid var(--ligne);border-radius:var(--r);padding:24px;margin-bottom:22px}
.ph{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}
.ph h3{color:var(--vert);font-size:18px}
.ph a{font-size:14px;font-weight:600;color:var(--terra)}
.course{display:flex;gap:18px;align-items:center;padding:14px 0;border-top:1px solid var(--ligne)}
.course:first-of-type{border-top:0}
.photo.sm{min-height:0;width:96px;height:72px;flex:none;border-radius:12px}
.ci{flex:1}.ci h4{color:var(--texte);margin:6px 0}
.ci .bar{width:100%;max-width:360px;margin-bottom:6px}
.ci small{font-size:13px;color:var(--texte-doux)}
.two{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.two .panel{margin-bottom:22px}
.appt{display:flex;gap:16px;align-items:center}
.appt .d{width:62px;height:62px;flex:none;border-radius:14px;background:var(--terra-50);color:var(--terra);display:grid;place-items:center;text-align:center;line-height:1.05}
.appt .d b{font-size:22px;font-weight:800;display:block}
.appt .d small{font-size:12px;font-weight:600}
.appt .d.alt{background:var(--vert-50);color:var(--vert)}
.appt h4{font-size:15.5px;color:var(--texte)}
.appt small{font-size:13px;color:var(--texte-doux)}
.row-btns{display:flex;gap:16px;align-items:center;margin-top:18px;flex-wrap:wrap}
.lnk-terra{color:var(--terra);font-weight:600;font-size:14px}
.orders{width:100%;border-collapse:collapse;font-size:14.5px}
.orders th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--texte-doux);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--ligne)}
.orders td{padding:12px 10px;border-bottom:1px solid var(--ligne)}
.orders a{color:var(--terra);font-weight:600}
.st{font-size:12px;font-weight:600;border-radius:999px;padding:4px 10px}
.st.ok{background:var(--vert-50);color:var(--vert)}
@media (max-width:980px){
  .pgrid,.rgrid,.lgrid,.mgrid{grid-template-columns:1fr}
  .lside,.summary,.mnav{position:static}
  .bgrid4,.kpis{grid-template-columns:1fr 1fr}
  .cal-card{grid-template-columns:1fr}.cal{border-right:0;border-bottom:1px solid var(--ligne)}
@media (max-width:640px){
  .facts,.services,.steps4,.cmp,.two,.bgrid4{grid-template-columns:1fr}
  .mbody{padding-left:24px}
  .prog .bar{width:90px}.prog span{display:none}
  .orders thead{display:none}.orders tr{display:grid;grid-template-columns:1fr 1fr;padding:10px 0;border-bottom:1px solid var(--ligne)}.orders td{border:0;padding:4px 6px}

.pgrid>*,.rgrid>*,.lgrid>*,.mgrid>*,.two>*,.cmp>*{min-width:0}
.cmp{width:100%}
.orders{table-layout:auto}
@media (max-width:640px){.orders tr{grid-template-columns:1fr 1fr}.orders td{overflow-wrap:anywhere}.course{flex-wrap:wrap}.qfoot .btn{white-space:normal}}