/* VM Expertise Formation — identité rose poudré / brun / champagne.
   Site statique HTML/CSS/JS. Aucune bibliothèque requise. */
:root {
  --cream:#fffaf7; --paper:#fbf4f0; --blush:#f1ddd6; --rose:#b7837a;
  --rose-deep:#9c6259; --rose-soft:#edd0c8; --ink:#312820; --muted:#72655e;
  --olive:#73716a; --gold:#a88c6d; --line:#e9d8d0; --white:#ffffff;
  --radius:22px; --max:1180px; --shadow:0 22px 65px rgba(88,52,43,.085);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--cream);font:16px/1.65 'DM Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid #a57166;outline-offset:4px}
::selection{background:#e8c4ba;color:#342219}
.container{width:min(var(--max),calc(100% - 52px));margin-inline:auto}
.eyebrow{display:inline-block;color:var(--rose-deep);font-size:.72rem;letter-spacing:.20em;font-weight:700;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2,.display{font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;font-weight:500;line-height:.98;letter-spacing:-.028em}
h1{font-size:clamp(3.2rem,6vw,6.1rem);margin-bottom:26px}
h2{font-size:clamp(2.6rem,4.7vw,4.55rem);margin-bottom:22px}
h3{font-size:1.25rem;line-height:1.3;font-weight:650}
p{color:var(--muted)}
.lead{font-size:clamp(1.04rem,1.45vw,1.23rem);line-height:1.8;max-width:650px}
.muted{color:var(--muted)}
.text-center{text-align:center}
.text-center .lead{margin-inline:auto}
.accent{color:var(--rose-deep)}
.section{padding:102px 0}
.section-sm{padding:74px 0}
.section-head{margin-bottom:42px}
.section-head .lead{margin-bottom:0}
.header{position:sticky;top:0;z-index:100;background:rgba(255,250,247,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(20px)}
.header-inner{min-height:87px;display:flex;align-items:center;gap:26px;justify-content:space-between}
.brand{display:inline-flex;align-items:center;gap:13px;flex-shrink:0}
.brand-mark{height:48px;width:60px;display:grid;place-items:center;font-family:'Cormorant Garamond',Georgia,serif;font-size:2.1rem;line-height:1;color:var(--rose-deep);letter-spacing:-.14em;padding-right:5px;border-right:1px solid var(--gold)}
.brand-name{display:block;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.125em;line-height:1.35}
.brand-sub{font-family:Georgia,serif;color:var(--muted);display:block;font-size:.78rem;letter-spacing:.015em;margin-top:4px}
.nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,24px)}
.nav a{color:#54453f;font-size:.82rem;font-weight:600;white-space:nowrap;transition:color .2s}
.nav a:not(.nav-cta):hover,.nav a[aria-current=page]:not(.nav-cta){color:var(--rose-deep)}
.nav .nav-cta{background:var(--ink);color:white;border-radius:100px;padding:11px 18px}
.nav .nav-cta:hover{background:var(--rose-deep)}
.menu-toggle{display:none;border:1px solid var(--line);background:#fff8f4;color:var(--ink);border-radius:11px;padding:10px 12px;align-items:center;gap:8px}
.menu-toggle span{font-weight:700;font-size:.87rem}
.button{display:inline-flex;gap:12px;align-items:center;justify-content:center;min-height:53px;border-radius:100px;padding:13px 25px;font-weight:700;font-size:.92rem;border:1px solid transparent;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-2px)}
.button-primary{background:var(--rose-deep);color:white}
.button-primary:hover{background:#864a43}
.button-dark{background:var(--ink);color:white}
.button-dark:hover{background:#58433b}
.button-outline{border-color:#c9b0a6;color:var(--ink);background:transparent}
.button-outline:hover{background:#f5e6e0}
.button-light{background:white;color:var(--ink)}
.button-arrow{font-size:1.1rem;font-weight:400}
.button-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero{position:relative;overflow:hidden;padding:84px 0 94px;background:radial-gradient(ellipse at 85% 7%,#f1dcd5 0%,transparent 42%),linear-gradient(115deg,#fffaf7 15%,#fbefea 100%)}
.hero::before{content:'';position:absolute;width:430px;height:430px;border:1px solid #dbc4aa;border-radius:50%;top:-340px;left:-185px;pointer-events:none}
.hero-grid{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:6%;min-height:500px}
.hero-copy{position:relative;z-index:1}
.hero-copy .eyebrow{margin-bottom:23px}
.hero-copy .lead{max-width:560px;margin-bottom:34px}
.hero-mark{padding:17px;border:1px solid rgba(171,125,112,.24);box-shadow:var(--shadow);border-radius:20px;background:#f9eeea;position:relative;transform:rotate(1deg)}
.hero-mark img{border-radius:12px;width:100%}
.hero-mark::after{position:absolute;content:'';height:66px;width:66px;border-radius:50%;border:1px solid var(--gold);right:-25px;bottom:-23px;background:rgba(243,224,215,.65)}
.hero-vertical{position:absolute;right:-38px;top:19%;writing-mode:vertical-rl;font-size:.65rem;letter-spacing:.23em;text-transform:uppercase;color:#8d6b60}
.hero-caption{display:flex;align-items:center;gap:14px;margin-top:28px;color:#7b675f;font-size:.81rem;letter-spacing:.075em;text-transform:uppercase}
.hero-caption:before{content:'';height:1px;width:42px;background:var(--rose)}
.ribbon{background:var(--ink);color:#f8f1eb;padding:23px 0}
.ribbon-inner{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:center}
.ribbon-item{display:flex;align-items:center;gap:15px;font-size:.86rem;letter-spacing:.05em}
.ribbon-item b{font-weight:550}
.ribbon-dot{height:8px;width:8px;border:1px solid #c49e8f;border-radius:50%;display:inline-block;box-shadow:0 0 0 5px rgba(255,255,255,.055)}
.section-intro{display:grid;grid-template-columns:.72fr 1fr;gap:12%;align-items:start}
.section-intro h2{max-width:500px}
.editorial-copy{padding-top:30px}
.editorial-copy p{font-size:1.11rem;line-height:1.95}
.signature{margin-top:32px;font:italic 1.6rem/1.2 'Cormorant Garamond',Georgia,serif;color:var(--rose-deep)}
.blush-bg{background:var(--paper)}
.grid-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.program-card{background:white;border:1px solid #edddd7;padding:31px;border-radius:17px;display:flex;flex-direction:column;min-height:278px;transition:transform .22s,box-shadow .22s}
.program-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(89,55,48,.07)}
.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:27px}
.card-number{font-family:'Cormorant Garamond',Georgia,serif;font-size:2.6rem;color:#c7a8a0;line-height:1}
.card-icon{width:39px;height:39px;display:grid;place-items:center;background:#f9ece8;border-radius:50%;color:#a56e64;font-size:1.25rem}
.program-card h3{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.8rem;font-weight:550;margin-bottom:10px}
.program-card p{font-size:.91rem;line-height:1.7;flex:1;margin-bottom:22px}
.text-link{display:inline-flex;gap:10px;align-items:center;color:var(--rose-deep);font-weight:750;font-size:.91rem}
.text-link:hover{text-decoration:underline;text-underline-offset:5px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}
.abstract-panel{min-height:520px;display:grid;place-items:center;position:relative;overflow:hidden;border-radius:10px;background:linear-gradient(135deg,#e9c8be 0%,#f9ede8 52%,#e8c3b7 100%)}
.abstract-panel:before{content:'';position:absolute;width:470px;height:470px;border:1px solid #b18f71;border-radius:50%;top:-275px;left:-200px}
.abstract-panel:after{content:'';position:absolute;width:490px;height:490px;border:1px solid #b18f71;border-radius:50%;bottom:-325px;right:-255px}
.abstract-card{position:relative;z-index:2;background:#fffbf8;padding:53px 39px;box-shadow:var(--shadow);width:77%;text-align:center;transform:rotate(-4deg)}
.abstract-card .mini{display:block;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--rose-deep);margin-bottom:18px}
.abstract-card strong{display:block;font:normal 3.8rem/.99 'Cormorant Garamond',Georgia,serif;color:var(--ink)}
.abstract-card i{display:block;font:italic 1.4rem Georgia,serif;color:var(--rose-deep);margin-top:18px}
.check-list{padding:0;margin:26px 0 32px;list-style:none;display:grid;gap:18px}
.check-list li{display:flex;align-items:flex-start;gap:13px;color:#60514a;line-height:1.65}
.check-list li:before{content:'✓';font-weight:700;background:#f1dfd7;color:#9d6259;border-radius:50%;height:27px;width:27px;display:grid;place-items:center;flex-shrink:0;font-size:.85rem}
.qual-band{background:linear-gradient(105deg,#f4e4de,#fff9f5);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.qual-grid{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center}
.qual-band h2{font-size:clamp(2.3rem,3.8vw,3.8rem);margin-bottom:14px}
.qual-band p{max-width:780px;margin-bottom:0}
.seal{height:135px;width:135px;display:grid;place-items:center;border:1px solid #b99382;border-radius:50%;transform:rotate(-10deg);color:#8d544d;text-align:center;font:italic 1.5rem/1.05 'Cormorant Garamond',Georgia,serif}
.cta-band{background:var(--ink);color:white;padding:78px 0}
.cta-band h2{color:#fff9f4;margin-bottom:13px}
.cta-band p{color:#d9c9c0;margin:0}
.cta-row{display:flex;justify-content:space-between;gap:35px;align-items:center}
.page-hero{background:linear-gradient(115deg,#fff9f5 0%,#f5e2db 100%);padding:91px 0 84px;position:relative;overflow:hidden}
.page-hero:after{content:'';height:560px;width:560px;border-radius:50%;border:1px solid rgba(161,126,94,.5);position:absolute;top:-420px;right:-150px}
.page-hero .container{position:relative;z-index:1}
.page-hero h1{max-width:950px;font-size:clamp(3.35rem,6.1vw,5.9rem);margin:17px 0 25px}
.page-hero .lead{max-width:810px;margin:0}
.kicker-line{border-bottom:1px solid #d4bcb1;padding-bottom:15px;display:inline-block;font-size:.77rem;color:#8e5b53;font-weight:650;letter-spacing:.13em;text-transform:uppercase}
.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.detail-card{background:#fff;border:1px solid var(--line);padding:40px;border-radius:16px}
.detail-card .num{color:var(--rose-deep);font:normal 2.4rem 'Cormorant Garamond',Georgia,serif}
.detail-card h3{font:normal 2.25rem/1.1 'Cormorant Garamond',Georgia,serif;margin:15px 0}
.detail-card p{line-height:1.8}
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:23px}
.tag{border:1px solid #e7d4cb;border-radius:30px;padding:5px 12px;color:#766057;background:#fff9f5;font-size:.75rem}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;counter-reset:step}
.step{padding-top:20px;border-top:1px solid var(--rose)}
.step b{display:block;color:var(--rose-deep);font:normal 2.6rem 'Cormorant Garamond',Georgia,serif;margin-bottom:14px}
.step h3{font-size:1.07rem}
.step p{font-size:.92rem}
.quote-panel{background:#f6e7e1;border-left:2px solid var(--rose-deep);padding:30px 35px}
.quote-panel p{font:italic 1.65rem/1.3 'Cormorant Garamond',Georgia,serif;color:var(--ink);margin:0}
.notice{background:#fff;border:1px solid var(--line);border-radius:15px;padding:32px}
.empty-review{min-height:290px;border:1px dashed #cdb7ae;background:#fffaf7;border-radius:16px;padding:40px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.empty-review .quote-sign{font:normal 5rem/1 'Cormorant Garamond',Georgia,serif;color:#c9a49a}
.empty-review h2{font-size:2.55rem;margin:5px 0 12px}
.empty-review p{max-width:530px}
.contact-grid{display:grid;grid-template-columns:1fr .95fr;gap:7%;align-items:start}
.contact-card{background:#f7e7e0;padding:44px;border-radius:17px;position:relative;overflow:hidden}
.contact-card:before{content:'';width:220px;height:220px;border:1px solid #c7a38e;border-radius:50%;position:absolute;right:-105px;top:-110px}
.contact-card>*{position:relative}
.contact-label{display:block;font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;color:var(--rose-deep);margin:27px 0 7px;font-weight:800}
.contact-phone{font:normal clamp(2.1rem,3.7vw,3.4rem) 'Cormorant Garamond',Georgia,serif;color:var(--ink);white-space:nowrap}
.form-card{border:1px solid var(--line);border-radius:17px;background:white;padding:33px}
.form-card h2{font-size:2.75rem}
.field{display:grid;gap:8px;margin:18px 0}
.field label{font-size:.86rem;color:#584740;font-weight:700}
.field input,.field textarea,.field select{background:#fffbf8;border:1px solid #dac9c2;border-radius:9px;width:100%;color:#312820;padding:13px 15px;outline:none}
.field textarea{min-height:116px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--rose-deep);box-shadow:0 0 0 2px #e9d4cc}
.form-hint{color:#776761;font-size:.82rem;line-height:1.6;margin-top:13px}
.faq{max-width:840px;margin:auto}
.faq details{border-bottom:1px solid var(--line);padding:20px 0}
.faq summary{font-size:1.05rem;font-weight:750;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:15px}
.faq summary::after{content:'+';color:var(--rose-deep);font-size:1.35rem}
.faq details[open] summary::after{content:'−'}
.faq summary::-webkit-details-marker{display:none}
.faq details p{margin:12px 0 0}
.legal-copy{max-width:820px}
.legal-copy h2{font-size:2rem;margin-top:35px}
.legal-copy ul{color:var(--muted)}
.warning{border:1px solid #dbbbb0;border-radius:13px;padding:25px;background:#f9ede7;margin:25px 0}
.warning strong{color:#864d44}
.footer{background:#251e1a;color:#f5ede9;padding:65px 0 29px}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.05fr;gap:70px;padding-bottom:52px}
.footer h3{font-size:.87rem;margin-bottom:23px;text-transform:uppercase;letter-spacing:.14em;color:#f8eeea}
.footer p{color:#cdbeb6;font-size:.9rem;max-width:360px}
.footer a{color:#decfc8}
.footer a:hover{color:#fff;text-decoration:underline}
.footer-links{display:grid;gap:12px}
.footer-brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:2rem;color:#dfb0a4;margin-bottom:12px;line-height:1.1}
.footer-bottom{border-top:1px solid #4e4039;padding-top:23px;display:flex;justify-content:space-between;gap:16px;align-items:center;font-size:.78rem;color:#b9a59c;flex-wrap:wrap}
.footer-bottom a{color:#ccb5aa}
.reveal{opacity:1;transform:none}
@media (prefers-reduced-motion:no-preference){.js-enabled .reveal{opacity:0;transform:translateY(17px);transition:opacity .65s,transform .65s}.js-enabled .reveal.visible{opacity:1;transform:none}}
@media(max-width:1060px){.nav{gap:12px}.nav a{font-size:.77rem}.header-inner{gap:12px}.brand-name{font-size:.7rem}}
@media(max-width:920px){
  .menu-toggle{display:inline-flex}.header-inner{min-height:77px}.nav{display:none;position:absolute;top:77px;left:0;right:0;background:var(--cream);padding:20px max(24px,5vw) 28px;box-shadow:0 25px 35px rgba(67,35,29,.09);border-bottom:1px solid var(--line);align-items:stretch;flex-direction:column;gap:0}.nav.is-open{display:flex}.nav a{padding:13px 8px;font-size:.98rem}.nav .nav-cta{text-align:center;margin-top:10px}
  .hero-grid{grid-template-columns:1fr;gap:50px}.hero-copy .lead{max-width:730px}.hero-mark{max-width:640px;margin:auto}.hero-vertical{display:none}.section-intro{grid-template-columns:1fr;gap:0}.editorial-copy{padding-top:0}.grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{gap:30px}
}
@media(max-width:720px){
  .container{width:min(100% - 36px,var(--max))}.section{padding:72px 0}.section-sm{padding:54px 0}.hero{padding:60px 0 66px}.hero-grid{min-height:0;gap:33px}.hero-copy h1{font-size:clamp(3.25rem,11vw,5.5rem)}.page-hero{padding:67px 0 65px}.page-hero h1{font-size:clamp(3.1rem,10vw,5rem)}.ribbon-inner{gap:16px}.ribbon-item{font-size:.76rem}.grid-cards,.detail-grid,.split,.contact-grid{grid-template-columns:1fr}.program-card{min-height:230px;padding:27px}.abstract-panel{min-height:395px}.abstract-card{width:76%;padding:37px 24px}.abstract-card strong{font-size:3.2rem}.qual-grid{grid-template-columns:1fr}.seal{height:110px;width:110px}.cta-row{align-items:start;flex-direction:column}.steps{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr;gap:36px}.footer-grid>div:first-child{grid-column:1/-1}.contact-card,.form-card{padding:29px}.contact-phone{font-size:2.6rem}
}
@media(max-width:420px){.brand-mark{width:46px;font-size:1.8rem;height:43px}.brand-name{font-size:.61rem}.brand-sub{font-size:.7rem}.menu-toggle{padding:8px}.menu-toggle span{font-size:.75rem}.button{width:100%}.button-row{align-items:stretch}.steps{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.contact-phone{font-size:2.15rem}.hero-mark{padding:9px}}

/* Garantir le masquage des éléments de formulaire avant génération du message. */
[hidden]{display:none!important}
