html{scroll-padding-top:24px}
body{margin:0;background:#fffcfa;color:#392d32;font-family:Arial,sans-serif}
*{box-sizing:border-box}
.preview-note{padding:9px 24px;background:#392d32;color:white;font-size:11px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.preview-note a{color:white;margin-left:16px}
.home{--rose:#d881a8;--ink:#392d32;--soft:#f9e6ef;--muted:#755f69;line-height:1.7}
.home a{color:inherit;text-underline-offset:5px}
.home a:focus-visible,.home button:focus-visible,.home input:focus-visible,.home summary:focus-visible{outline:3px solid #8c3d60;outline-offset:4px}
.wrap{max-width:1256px;margin:auto;padding:0 32px}
.section{padding:88px 0}
.eyebrow{font-size:11px;letter-spacing:.17em;text-transform:uppercase;font-weight:600}
.home h1,.home h2,.home h3{font-family:Georgia,serif;font-weight:400;line-height:1.12}
.home h1{font-size:clamp(42px,4.6vw,70px);letter-spacing:-2px;margin:24px 0}
.home h2{font-size:clamp(34px,3.5vw,48px);letter-spacing:-1.1px;margin:15px 0 24px}
.home h3{font-size:27px;margin:16px 0}
.home em{font-weight:400;text-decoration:underline;text-decoration-color:var(--rose);text-decoration-thickness:3px;text-underline-offset:8px}
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:64px;align-items:center;padding-top:52px;padding-bottom:64px}
.intro{max-width:470px;color:var(--muted);font-size:16px}
.home-benefit{border-left:3px solid var(--rose);padding:10px 16px;background:var(--soft);font-size:14px;max-width:470px}
.signature{font-family:Georgia,serif;font-style:italic;font-size:24px;margin:22px 0}
.portrait{width:100%;height:560px;object-fit:cover;object-position:50% 30%;border-radius:180px 180px 5px 5px}
.caption{font-size:10px;letter-spacing:.1em;text-transform:uppercase;text-align:center;color:var(--muted)}
.actions{display:flex;flex-wrap:wrap;gap:20px;align-items:center;margin-top:26px}
.home .button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;padding:12px 22px;border:0;border-radius:4px;background:var(--rose);color:white;font:700 14px Arial;text-decoration:none;cursor:pointer}
.home .button:hover{box-shadow:inset 0 0 0 2px var(--ink)}
.home .text-link{font-size:13px}
.promise{border-top:1px solid #eadde1;border-bottom:1px solid #eadde1}
.promise .wrap{display:flex;justify-content:space-between;gap:20px;padding-top:20px;padding-bottom:20px;font-size:13px}
.promise span::before{content:"";color:#8c3d60;margin-right:12px}
.section-head{display:flex;justify-content:space-between;gap:30px;align-items:end;margin-bottom:32px}
.section-head p{max-width:390px;color:var(--muted);font-size:14px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.service{border-top:2px solid var(--rose);padding:25px;background:#f6efed;display:flex;flex-direction:column;align-items:start}
.service .number{font-family:Georgia,serif;color:#8c3d60;font-size:17px}
.service p{font-size:14px;color:var(--muted);margin:0 0 26px}
.service a{margin-top:auto;font-size:13px}
.soft{background:#f9eef2}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;margin-top:40px}
.steps .number{font:italic 48px Georgia;color:#b65f88}
.steps p{color:var(--muted);font-size:14px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.gallery figure{margin:0}
.gallery img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:5px}
.gallery figcaption{font-size:12px;padding:10px 0;color:var(--muted)}
.zone-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:start}
.zone-panel{background:#fffafc;border:1px solid #e8c7d6;padding:32px;border-radius:8px;box-shadow:0 12px 40px #392d3208}
.zone-panel label{display:block;font-size:14px;font-weight:700;margin:0 0 10px}
.zone-panel input{width:100%;min-height:50px;padding:13px 14px;border:1px solid #bea5b0;border-radius:4px;font:16px Arial;background:white;color:var(--ink)}
.zone-panel .button{width:100%;margin-top:12px}
.small{font-size:12px;color:var(--muted);line-height:1.6}
.zone-panel .demo{padding:10px 12px;background:#f9e6ef;font-size:12px}
.result{margin-top:16px;font-size:14px}
.result:empty{display:none}
.result[data-state="yes"]{padding:15px;background:#edf5ed;border-left:3px solid #527557}
.result[data-state="no"],.result[data-state="unknown"]{padding:15px;background:#fff1dd;border-left:3px solid #ad792b}
.suggestions{padding:0;list-style:none;margin:16px 0 0}
.suggestions button{width:100%;text-align:left;border:1px solid #eadde1;background:white;padding:14px;font:14px Arial;line-height:1.5;cursor:pointer;color:var(--ink)}
.suggestions button:hover{background:var(--soft)}
.cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.cities span,.cities a{font-size:12px;padding:5px 11px;background:#fff8fb;border:1px solid #e8c7d6;border-radius:20px}
.home details{border-bottom:1px solid #e4d5db;padding:18px 0}
.home summary{cursor:pointer;font-size:15px;line-height:1.5}
.home details p{font-size:14px;color:var(--muted);max-width:700px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.about-photo{width:100%;height:460px;object-fit:cover;border-radius:4px 100px 4px 4px}
.certs{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.certs a{padding:8px 12px;border:1px solid #e4d5db;font-size:12px;text-decoration:none}
.faq{max-width:850px;margin:auto}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}
.contact-list{border-top:1px solid #dcb6c7}
.contact-list a,.contact-list div{display:block;padding:20px 0;border-bottom:1px solid #dcb6c7;text-decoration:none}
.contact-list small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.contact-list strong{font-size:20px;font-weight:400}
.footer{padding:35px 32px;background:#392d32;color:#fffafc;display:flex;justify-content:space-between;gap:20px;font-size:12px;flex-wrap:wrap}
.footer a{color:inherit;margin-right:18px}
.booking-dialog{border:0;border-radius:8px;padding:32px;width:min(500px,90vw);color:#392d32}
.booking-dialog::backdrop{background:#392d3277}
.booking-dialog button{padding:10px 20px;cursor:pointer}
@media(max-width:920px){.wrap{padding-left:24px;padding-right:24px}.section{padding:58px 0}.hero{grid-template-columns:1fr;gap:28px;padding-top:30px}.portrait{height:420px}.home h1{letter-spacing:-1px}.section-head{display:block}.cards{grid-template-columns:1fr}.steps{grid-template-columns:1fr;gap:20px}.steps article{border-top:1px solid #e4d5db;padding-top:20px}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}.zone-layout,.about,.contact-layout{grid-template-columns:1fr;gap:28px}.zone-panel{padding:22px}.promise .wrap{flex-wrap:wrap;justify-content:center;font-size:12px}.about-photo{height:330px}.preview-note a{margin-left:0;margin-right:12px}.contact-list strong{font-size:17px;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.wrap.section{padding-left:32px;padding-right:32px}
@media(max-width:920px){.wrap.section{padding-left:24px;padding-right:24px}}

/* Quatre prestations, dans l’ordre de presentation. */
#prestations .cards{grid-template-columns:repeat(4,minmax(0,1fr))}
#prestations .service h3{font-size:25px}
@media(max-width:1120px){#prestations .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#prestations .cards{grid-template-columns:1fr}}
.zone-panel{border-top:5px solid #d881a8;box-shadow:0 14px 40px #d881a815}
.zone-panel .zone-kicker{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:#97516f;font-weight:700;margin:0 0 10px}
.zone-panel h3{font-size:30px;margin:0 0 12px;line-height:1.2}
.zone-panel .zone-explainer{font-size:14px;color:#755f69;margin:0 0 24px}
.zone-panel .address-status{font-size:12px;color:#755f69;margin:10px 0;line-height:1.5}
.zone-panel .button{min-height:56px;font-size:15px}
.zone-panel .suggestions{margin:6px 0 0;border-radius:6px;overflow:hidden}
.zone-panel .suggestions:empty{display:none}
.zone-panel .suggestions button{margin:0;border-bottom:0;display:flex;flex-direction:column;gap:3px;padding:12px 14px}
.zone-panel .suggestions li:last-child button{border-bottom:1px solid #eadde1}
.zone-panel .suggestions button span{font-size:12px;color:#755f69}
.zone-panel .suggestions button:focus-visible{outline:2px solid #97516f;outline-offset:-3px;background:#f9e6ef}
@media(max-width:600px){.zone-panel h3{font-size:26px}}
.about-heading{display:grid;grid-template-columns:1fr 1.1fr;gap:70px;align-items:center;margin-bottom:38px}
.about-heading h2{margin-bottom:20px}.about-heading h2 em{color:#a65379}
.about-heading .signature{margin:0;color:#a65379}
.diplomas-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px;border-top:1px solid #eadde1;padding-top:24px}
.diplomas-heading h3{font-size:24px;margin:0}.diplomas-heading>span{font-size:13px;color:#755f69}
.diploma-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.diploma-card{display:block;text-decoration:none;color:#392d32;border:1px solid #edc6d8;border-radius:12px;overflow:hidden;background:#fffafc}
.diploma-image{padding:20px;background:#f9e6ef}
.diploma-image img{display:block;width:100%;height:auto;aspect-ratio:1600/1131;object-fit:contain;box-shadow:0 4px 16px #392d3212}
.diploma-caption{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px}
.diploma-caption div>span{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#97516f;font-weight:700}
.diploma-caption h4{font:24px Georgia,serif;margin:6px 0 0}
.diploma-open{font-size:12px;color:#97516f;font-weight:600}
.diploma-card:hover{border-color:#d881a8;box-shadow:0 8px 24px #d881a818}
@media(max-width:920px){.about-heading{grid-template-columns:1fr;gap:16px}.diplomas-heading{align-items:start;flex-direction:column;gap:8px}}
@media(max-width:600px){.diploma-grid{grid-template-columns:1fr;gap:20px}.diploma-image{padding:12px}.diploma-caption{padding:16px}.diploma-caption h4{font-size:22px}}
.faq-contact{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.faq-contact .faq{max-width:none;margin:0;min-width:0}
.faq-contact .faq h2{font-size:clamp(32px,3vw,44px)}
.contact-form-panel{background:#fffafc;padding:32px;border:1px solid #edc6d8;border-top:4px solid #d881a8;border-radius:12px;box-shadow:0 12px 32px #d881a810}
.contact-form-panel h2{font-size:36px;margin:12px 0 18px}.contact-form-panel>p:not(.eyebrow){font-size:14px;color:#755f69}
.contact-form-panel label{display:block;font-size:13px;font-weight:600;margin:18px 0 8px}
.contact-form-panel input,.contact-form-panel textarea{width:100%;border:1px solid #d9becb;background:#fff;border-radius:6px;padding:12px;font:15px Arial;color:#392d32}
.contact-form-panel textarea{resize:vertical;min-height:130px}
.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-preview-note{font-size:11px;color:#755f69;line-height:1.5;margin:12px 0 18px}
.contact-form-panel .button{width:100%}
#contact-feedback{font-size:13px;color:#814762}#contact-feedback:empty{display:none}
@media(max-width:920px){.faq-contact{grid-template-columns:1fr;gap:36px}}
@media(max-width:600px){.contact-form-panel{padding:22px}.contact-fields{grid-template-columns:1fr;gap:0}.contact-form-panel h2{font-size:32px}}
.booking-dialog{width:min(690px,calc(100% - 32px));max-height:85vh;overflow:auto}
.booking-dialog .booking-check{display:flex;gap:12px;align-items:flex-start;font:14px/1.6 Arial;text-align:left;margin:18px 0}
.booking-check input{flex-shrink:0;width:18px;height:18px;margin-top:3px;accent-color:#d881a8}
.booking-dialog fieldset{border:1px solid #edc6d8;border-radius:8px;margin:24px 0;padding:16px;background:#fff8fb}
.booking-dialog legend{font-size:14px;font-weight:600}.booking-dialog .booking-demo{font-size:12px;color:#755f69}
.booking-dialog .booking-close{background:transparent;border:1px solid #d9becb;color:#814762;margin-top:15px}
#booking-feedback{font-size:13px;color:#814762}
.booking-dialog .button{background:#d881a8;color:white;border:0;border-radius:6px;padding:14px 18px;font-weight:600;cursor:pointer}
.booking-dialog .booking-check{font-size:12px;line-height:1.5;margin:10px 0;gap:9px}
.booking-dialog fieldset{border:0;background:transparent;margin:12px 0;padding:0}
.booking-dialog legend{font-size:12px;font-weight:600;color:#755f69}
.booking-dialog{max-width:620px}.booking-dialog a{color:#884561;text-underline-offset:3px}
.booking-dialog .booking-check input{width:16px;height:16px;margin-top:1px}
.diploma-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.diploma-image{padding:14px}.diploma-caption{padding:18px 16px}.diploma-caption h4{font-size:22px}
@media(max-width:920px){.diploma-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.diploma-grid{grid-template-columns:1fr}}
.home-benefit .benefit-mobile{display:none}
@media(max-width:920px){
 .home-benefit .benefit-desktop,.hero .hero-zone-desktop{display:none}
 .home-benefit .benefit-mobile{display:block;color:inherit;font-weight:600;text-decoration:underline;text-underline-offset:4px;padding:4px 0;line-height:1.6}
 .home-benefit .benefit-mobile:focus-visible{outline:2px solid #884561;outline-offset:4px}
}
@media(max-width:920px){.home .hero .signature{display:none}}
@media(max-width:920px){
 #zone .zone-introduction{display:none}
 #zone .zone-layout{gap:0}
 #zone .zone-panel>details{margin:18px 0;padding:12px 0;border-top:1px solid #eadde1;border-bottom:1px solid #eadde1}
 #zone .zone-panel>details summary{font-size:14px;color:#884561;cursor:pointer}
 #zone .zone-panel .cities{font-size:13px}
}
@media(max-width:920px){.home>.promise{display:none}}
/* Rapprocher photo et prestations sur mobile apres retrait du bandeau. */
@media(max-width:920px){
 .home .hero{padding-bottom:12px}
 .home #prestations{padding-top:20px}
 .home .hero .caption{margin-bottom:0}
}

.cities a{color:inherit;text-decoration:none}.cities a:hover{text-decoration:underline;text-underline-offset:3px}.cities a:focus-visible{outline:2px solid #884561;outline-offset:3px}
html.diploma-opened{overflow:hidden}
.diploma-lightbox{width:max-content;max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);padding:50px 12px 12px;border:1px solid #edc6d8;border-radius:14px;background:#fffcfa;overflow:auto;box-shadow:0 20px 80px #0003}
.diploma-lightbox::backdrop{background:#261c24b3}
.diploma-lightbox>img{display:block;max-width:100%;width:auto;height:auto;max-height:calc(100dvh - 105px);object-fit:contain}
.diploma-close{position:absolute;right:12px;top:10px;background:#d881a8;color:white;border:0;border-radius:6px;padding:9px 16px;min-height:36px;font:600 13px Arial;cursor:pointer}
.diploma-close:focus-visible{outline:2px solid #814762;outline-offset:3px}

.contact-layout{display:block}.contact-layout>h2{margin:0 0 28px}.contact-layout .contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}@media(max-width:640px){.contact-layout .contact-list{grid-template-columns:1fr}}

.hero-presentation{max-width:510px}.hero-presentation .intro{max-width:none;margin:0 0 14px}.hero-presentation .intro:last-child{margin-bottom:24px}@media(max-width:920px){.hero-presentation .intro{font-size:15px;line-height:1.75}.home .hero h1{font-size:clamp(38px,10vw,60px)}}

.about-diplomas>.diplomas-heading{border-top:0;margin-top:0;padding-top:0}.about-diplomas>.diplomas-heading h2{font-size:clamp(28px,3.5vw,42px);margin:0 0 24px}

/* Portrait avant le bandeau adresse sur mobile uniquement. */
@media(max-width:920px){
 .home .hero{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .home .hero-copy{display:contents}
 .home .hero-copy>.eyebrow{order:1}
 .home .hero-copy>h1{order:2}
 .home .hero-presentation{order:3}
 .home .hero-visual{order:4;width:calc(100% - 16px);align-self:center;margin:6px 0 20px}
 .home .hero-visual .portrait{width:100%;height:404px}
 .home .hero-copy>.home-benefit{order:5}
 .home .hero-copy>.actions{order:6}
}
