@import url('https://fonts.googleapis.com/css2?family=Fredoka:wght@400;500;600&family=Asap:wght@400;500;700&display=swap');
:root{
 --prune:#7B4B8A;--rose:#FDF7FA;--paille:#F2D06B;--eau:#A8CFC4;--anthracite:#332F35;
 --tuile:#F7EDF3;--blanc:#fff;--titre:'Fredoka',sans-serif;--texte:'Asap',sans-serif;
 --rayon:20px;--gap:clamp(.7rem,1.35vw,1.2rem);--pad:clamp(1rem,4vw,4rem);--ombre:0 20px 55px rgba(61,36,65,.1);--doux:cubic-bezier(.22,.61,.36,1)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--rose);color:var(--anthracite)}
body{margin:0;font-family:var(--texte);font-size:17px;line-height:1.65;background:var(--rose);overflow-x:hidden}
body.menu-ouvert{overflow:hidden}
img{display:block;width:100%;height:auto;background:repeating-linear-gradient(135deg,#eadde6 0 12px,#dbcbd6 12px 24px);color:var(--anthracite)}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{transition:color .3s ease,background-color .3s ease,transform .3s ease}
p{margin:0 0 1.18em}
h1,h2,h3{font-family:var(--titre);font-weight:600;letter-spacing:-.04em;line-height:.93;margin:0}
h1{font-size:clamp(3.5rem,8vw,9rem)}
h2{font-size:clamp(2.7rem,5.8vw,6.3rem)}
h3{font-size:clamp(1.45rem,2.4vw,2.6rem)}
.sur{font-size:.72rem;font-weight:700;line-height:1.35;letter-spacing:.19em;text-transform:uppercase}
.hd{position:fixed;z-index:70;left:0;right:0;top:0;min-height:88px;padding:0 var(--pad);display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:clamp(.8rem,2vw,2.2rem);background:transparent;color:var(--rose);transition:background .45s ease,min-height .45s ease,color .45s ease}
.hd.defile{min-height:72px;background:rgba(123,75,138,.93);backdrop-filter:blur(14px)}
.hd .marque{font-family:var(--titre);font-size:clamp(1.35rem,2vw,2rem);font-weight:600;letter-spacing:-.04em;transition:color .3s ease,transform .3s ease}
.hd .marque:hover{color:var(--paille);transform:rotate(-1deg) translateY(-2px)}
.hd nav{display:flex;justify-content:flex-end;align-items:center;gap:clamp(.7rem,1.45vw,1.6rem);padding:.25rem .55rem;border-radius:999px;background:rgba(51,47,53,.18);backdrop-filter:blur(8px)}
.hd nav a{min-height:44px;display:flex;align-items:center;font-size:.8rem;font-weight:700;position:relative;transition:color .3s ease,transform .3s ease}
.hd nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:7px;height:3px;border-radius:999px;background:var(--paille);transition:left .3s ease,right .3s ease}
.hd nav a:hover{color:var(--paille);transform:translateY(-2px)}
.hd nav a:hover::after{left:0;right:0}
.tel{display:flex;flex-direction:column;justify-content:center;min-height:50px;white-space:nowrap;font-weight:700;transition:color .3s ease,transform .3s ease}
.tel span{font-size:.57rem;letter-spacing:.15em;text-transform:uppercase;color:var(--paille)}
.tel:hover{color:var(--paille);transform:translateY(-2px)}
.menu-plus{min-height:44px;border:0;border-radius:999px;padding:.6rem 1rem;background:var(--rose);color:var(--prune);font-weight:700;cursor:pointer;transition:background .3s ease,transform .3s ease}
.menu-plus:hover{background:var(--paille);color:var(--anthracite);transform:translateY(-3px) rotate(1deg)}
.volet{position:fixed;z-index:110;inset:0;padding:clamp(5rem,9vw,9rem);display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:.55rem 4rem;background:var(--anthracite);color:var(--rose);visibility:hidden;opacity:0;transform:scale(.94) rotate(.25deg);transition:opacity .5s ease,transform .62s var(--doux),visibility .62s}
.volet.ouvert{visibility:visible;opacity:1;transform:scale(1) rotate(0)}
.volet a{font-family:var(--titre);font-size:clamp(1.6rem,3.5vw,3.8rem);font-weight:500;transition:color .3s ease,transform .3s ease}
.volet a:hover{color:var(--paille);transform:translateX(12px)}
.fermer{position:absolute;right:var(--pad);top:2rem;min-height:44px;border:0;border-radius:999px;padding:.6rem 1rem;background:var(--prune);color:var(--rose);cursor:pointer;transition:background .3s ease,transform .3s ease}
.fermer:hover{background:var(--paille);color:var(--anthracite);transform:rotate(-3deg)}
.hero-signature{height:100vh;height:100svh;min-height:700px;padding:var(--gap);display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);background:var(--anthracite);position:relative;overflow:hidden}
.hero-bloc{border-radius:var(--rayon);padding:clamp(6rem,10vw,10rem) var(--pad) clamp(3rem,6vw,6rem);background:var(--prune);color:var(--rose);display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;position:relative;z-index:2}
.hero-bloc .sur{color:var(--paille);margin-bottom:1.3rem;animation:monteeHero .75s .08s both}
.hero-bloc h1{font-size:clamp(3.7rem,7.2vw,8.3rem);animation:monteeHero .85s .2s both}
.hero-bloc>p:not(.sur){font-family:var(--titre);font-size:clamp(1.25rem,2vw,2rem);margin:1.5rem 0;animation:monteeHero .75s .36s both}
.hero-bloc .bouton-clair{animation:monteeHero .75s .5s both}
.hero-image{border-radius:var(--rayon);overflow:hidden;position:relative;background:var(--eau)}
.hero-image img{position:absolute;inset:0;height:100%;object-fit:cover;object-position:center;animation:kenMaison 22s ease-in-out infinite alternate;will-change:transform}
.mini-journee{position:absolute;right:calc(var(--gap) * 2);bottom:calc(var(--gap) * 2);z-index:4;max-width:310px;padding:1rem 1.2rem;border-radius:var(--rayon);background:rgba(253,247,250,.9);color:var(--anthracite);box-shadow:var(--ombre);backdrop-filter:blur(10px);animation:flotte 5s ease-in-out infinite}
.mini-journee span{display:block;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--prune)}
.mini-journee b{font-family:var(--titre);font-size:1.3rem;font-weight:500}
.bouton-clair{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.7rem 1.15rem;border-radius:999px;background:var(--rose);color:var(--prune);font-weight:700;transition:background .3s ease,transform .3s ease}
.bouton-clair:hover{background:var(--paille);color:var(--anthracite);transform:translateY(-4px)}
.essentiel-s{padding:var(--gap);display:grid;grid-template-columns:1.1fr 1.35fr 1.1fr 1fr;gap:var(--gap);background:var(--anthracite)}
.essentiel-s>div{min-height:170px;padding:1.4rem;border-radius:var(--rayon);background:var(--rose);color:var(--anthracite);box-shadow:var(--ombre);display:flex;flex-direction:column;justify-content:center;transition:background .3s ease,transform .3s ease}
.essentiel-s>div:nth-child(2){background:var(--paille)}.essentiel-s>div:nth-child(3){background:var(--eau)}
.essentiel-s>div:hover{background:var(--prune);color:var(--rose);transform:translateY(-5px)}
.essentiel-s span{font-size:.63rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:.65rem}
.essentiel-s b{font-family:var(--titre);font-size:clamp(1rem,1.45vw,1.4rem);font-weight:500;line-height:1.25}
.essentiel-s a{font-family:var(--titre);font-size:clamp(1.25rem,1.8vw,1.8rem);font-weight:500;text-decoration:underline;text-underline-offset:.2em;transition:color .3s ease,transform .3s ease}
.essentiel-s a:hover{color:var(--paille);transform:translateX(5px)}
.grille-s{padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--rose)}
.grille-s>header{max-width:1150px;margin-bottom:3.5rem}
.grille-s .sur{color:var(--prune);margin-bottom:.8rem}
.grille-s .bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(230px,18vw);gap:var(--gap);max-width:1440px;margin:0 auto}
.grille-s article{border-radius:var(--rayon);overflow:hidden;position:relative;padding:1.35rem;background:var(--tuile);box-shadow:var(--ombre);transition:transform .4s ease,box-shadow .4s ease}
.grille-s article:hover{transform:translateY(-6px) rotate(.2deg);box-shadow:0 26px 65px rgba(61,36,65,.17)}
.grille-s .grand{grid-column:span 2;grid-row:span 2}.grille-s .haut{grid-row:span 2}.grille-s .large{grid-column:span 2}
.grille-s .photo{padding:0;color:var(--rose)}
.grille-s .photo img{position:absolute;inset:0;height:100%;object-fit:cover;filter:brightness(.7) saturate(.9);transition:filter .6s ease,transform .8s ease}
.grille-s .photo:hover img{filter:brightness(.82) saturate(1.06);transform:scale(1.035)}
.grille-s .photo>div{position:absolute;z-index:2;left:1.2rem;right:1.2rem;bottom:1.2rem}
.grille-s .chiffre{background:var(--paille);display:flex;flex-direction:column;justify-content:flex-end;color:var(--prune)}
.grille-s .chiffre b{font-family:var(--titre);font-size:clamp(5rem,9vw,9rem);line-height:.75}
.grille-s .dispo{background:var(--prune);color:var(--rose);display:flex;flex-direction:column;justify-content:center}
.grille-s .dispo span{text-transform:uppercase;letter-spacing:.15em;font-size:.7rem;color:var(--paille)}
.grille-s .dispo b{font-family:var(--titre);font-size:clamp(2.5rem,4vw,4.5rem)}
.grille-s .dispo a{min-height:44px;display:flex;align-items:center;font-weight:700;transition:color .3s ease,transform .3s ease}
.grille-s .dispo a:hover{color:var(--paille);transform:translateX(6px)}
.journee-s{padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--prune);color:var(--rose)}
.journee-s>header{max-width:1180px;margin-bottom:3rem}
.journee-s .sur{color:var(--paille);margin-bottom:.8rem}
.journee-s header>p:last-child{color:var(--paille);font-weight:700}
.heures{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--gap)}
.heures button{min-height:64px;border:0;border-radius:999px;background:var(--rose);color:var(--prune);font-weight:700;cursor:pointer;transition:background .3s ease,transform .3s ease}
.heures button:hover{background:var(--eau);color:var(--anthracite);transform:translateY(-4px)}
.heures button.actif{background:var(--paille);color:var(--anthracite);transform:translateY(-7px)}
.moment{margin-top:var(--gap);display:grid;grid-template-columns:.35fr .85fr 1fr;min-height:540px;border-radius:var(--rayon);overflow:hidden;background:var(--rose);color:var(--anthracite);box-shadow:var(--ombre)}
.moment>span{font-family:var(--titre);font-size:clamp(4.8rem,11vw,11rem);line-height:.8;color:var(--prune);padding:1.4rem;align-self:end;writing-mode:vertical-rl;transform:rotate(180deg)}
.moment>div{padding:clamp(3rem,6vw,6rem) var(--pad);align-self:center}
.moment h3{font-size:clamp(2.6rem,4.5vw,5rem);margin-bottom:1.5rem}
.moment b{display:block;color:var(--prune)}
.moment img{height:100%;object-fit:cover;transition:filter .6s ease,transform .8s ease}
.moment:hover img{filter:saturate(1.08);transform:scale(1.025)}
.mosaic-s{padding:var(--gap);display:grid;grid-template-columns:1.2fr .8fr 1fr;grid-template-rows:repeat(3,minmax(260px,30vw));gap:var(--gap);background:var(--anthracite)}
.mosaic-s>*{border-radius:var(--rayon);overflow:hidden;box-shadow:var(--ombre)}
.mosaic-s .intro{grid-row:span 2;padding:clamp(3rem,6vw,6rem) var(--pad);background:var(--paille);display:flex;flex-direction:column;justify-content:flex-end}
.mosaic-s .intro .sur{color:var(--prune)}
.mosaic-s .intro h2{font-size:clamp(2.6rem,4.6vw,5.2rem);margin:.8rem 0 1.5rem}
.mosaic-s img{height:100%;object-fit:cover;filter:saturate(.88);transition:filter .6s ease,transform .8s ease}
.mosaic-s img:hover{filter:saturate(1.08);transform:scale(1.035)}
.mosaic-s .m1{grid-row:span 2}.mosaic-s .m2{grid-column:span 1}.mosaic-s .m3{grid-column:span 1}.mosaic-s .m4{grid-column:span 1}.mosaic-s .m5{grid-column:span 2}
.diptyque-s{padding:var(--gap);display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);background:var(--rose)}
.diptyque-s>div{min-height:86vh;padding:clamp(3rem,7vw,7rem) var(--pad);border-radius:var(--rayon);background:var(--eau);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;box-shadow:var(--ombre)}
.diptyque-s .sur{color:var(--prune)}
.diptyque-s h2{font-size:clamp(2.7rem,4.8vw,5.4rem);margin:.8rem 0 1.8rem}
.diptyque-s>img{height:86vh;object-fit:cover;border-radius:var(--rayon);box-shadow:var(--ombre);transition:filter .65s ease,transform .85s ease}
.diptyque-s:hover>img{filter:saturate(1.08);transform:scale(.992)}
.lien{min-height:44px;display:inline-flex;align-items:center;font-weight:700;color:var(--prune);transition:color .3s ease,transform .3s ease}
.lien:hover{color:var(--anthracite);transform:translateX(8px)}
.outil-s{padding:clamp(5rem,9vw,9rem) var(--pad);background:var(--anthracite);color:var(--rose)}
.outil-s>header{max-width:1200px;margin-bottom:3rem}
.outil-s .sur{color:var(--paille)}
.outil-s h2{margin:.8rem 0 1.5rem}
.outil-s header>p:last-child{color:var(--paille);font-weight:700}
.sim-cmg{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap)}
.sim-cmg>label{padding:1.2rem;border-radius:var(--rayon);background:var(--rose);color:var(--anthracite);font-size:.7rem;text-transform:uppercase;letter-spacing:.09em;font-weight:700;box-shadow:var(--ombre)}
.sim-cmg input,.sim-cmg select{display:block;width:100%;min-height:50px;margin-top:.6rem;padding:.7rem;border:0;border-radius:12px;background:var(--tuile);transition:background .3s ease,transform .3s ease}
.sim-cmg input:focus,.sim-cmg select:focus{background:var(--paille);transform:translateY(-2px);outline:0}
.resultat-cmg{grid-column:1/-1;padding:clamp(2rem,5vw,5rem);border-radius:var(--rayon);background:var(--prune);display:grid;grid-template-columns:1.2fr 1fr;gap:1rem 4rem;box-shadow:var(--ombre)}
.resultat-cmg>small{grid-column:1;text-transform:uppercase;letter-spacing:.15em}
.resultat-cmg>strong{grid-column:1;font-family:var(--titre);font-size:clamp(5rem,11vw,11rem);line-height:.8;color:var(--paille);transition:color .3s ease,transform .3s ease}
.resultat-cmg.flash>strong{color:var(--eau);transform:scale(1.025)}
.resultat-cmg>div{grid-column:2;grid-row:1/4;display:flex;flex-direction:column;justify-content:center;gap:.8rem}
.resultat-cmg>div span{display:flex;justify-content:space-between;padding:0 0 .6rem;background:linear-gradient(0deg,rgba(253,247,250,.28) 0 1px,transparent 1px)}
.resultat-cmg>p{grid-column:1/-1;color:var(--rose)}
.resultat-cmg .bouton-clair{grid-column:1/-1;justify-self:start}
.outil-s>.note{max-width:1180px;margin:2rem 0 0;font-size:.79rem;color:rgba(253,247,250,.72)}
.citation-s{padding:clamp(6rem,11vw,11rem) var(--pad);background:var(--paille);color:var(--anthracite)}
.citation-s blockquote{font-family:var(--titre);font-size:clamp(3.2rem,7vw,7.5rem);font-weight:600;letter-spacing:-.04em;line-height:.93;margin:0;max-width:1280px}
.citation-s>p{margin:2rem 0 4rem;font-weight:700;color:var(--prune)}
.portraits{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--gap);max-width:1100px}
.portraits img{aspect-ratio:4/5;object-fit:cover;border-radius:var(--rayon);box-shadow:var(--ombre);filter:saturate(.8);transition:filter .55s ease,transform .55s ease}
.portraits img:hover{filter:saturate(1.05);transform:translateY(-7px) rotate(.35deg)}
.negatif-s{padding:var(--gap);display:grid;grid-template-columns:1.05fr .95fr;gap:var(--gap);background:var(--prune)}
.negatif-s>img{height:88vh;object-fit:cover;border-radius:var(--rayon);box-shadow:var(--ombre);transition:filter .65s ease,transform .85s ease}
.negatif-s:hover>img{filter:saturate(1.08);transform:scale(.992)}
.negatif-s>div{min-height:88vh;padding:clamp(3rem,7vw,7rem) var(--pad);border-radius:var(--rayon);background:var(--anthracite);color:var(--rose);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.negatif-s .sur{color:var(--paille)}
.negatif-s h2{font-size:clamp(2.7rem,4.8vw,5.5rem);margin:.8rem 0 1.8rem}
.chiffres-s{padding:var(--gap);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);background:var(--rose)}
.chiffres-s>div{min-height:280px;padding:1.4rem;border-radius:var(--rayon);background:var(--eau);box-shadow:var(--ombre);display:flex;flex-direction:column;justify-content:flex-end;transition:background .3s ease,transform .3s ease}
.chiffres-s>div:nth-child(even){background:var(--paille)}
.chiffres-s>div:hover{background:var(--prune);color:var(--rose);transform:translateY(-6px)}
.chiffres-s>div span{font-family:var(--titre);font-size:clamp(4rem,8vw,8rem);font-weight:600;line-height:.78;color:var(--prune)}
.chiffres-s>div:hover span{color:var(--paille)}
.chiffres-s>div p{margin:.8rem 0 0;font-weight:700}
.chiffres-s>aside{grid-column:1/-1;min-height:62vh;padding:clamp(3rem,7vw,7rem) var(--pad);border-radius:var(--rayon);background:var(--prune);color:var(--rose);box-shadow:var(--ombre);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.chiffres-s>aside h2{max-width:1100px}
.chiffres-s>aside p{max-width:780px;margin:1.5rem 0}
.bouton{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.7rem 1.15rem;border:0;border-radius:999px;background:var(--paille);color:var(--anthracite);font-weight:700;transition:background .3s ease,transform .3s ease}
.bouton:hover{background:var(--eau);transform:translateY(-4px)}
.entree-bento{min-height:82vh;padding:calc(88px + var(--gap)) var(--gap) var(--gap);display:grid;grid-template-columns:1.2fr .65fr .35fr;gap:var(--gap);background:var(--anthracite)}
.entree-bento>*{border-radius:var(--rayon);box-shadow:var(--ombre)}
.entree-bento .titre{padding:clamp(3rem,7vw,7rem) var(--pad);background:var(--prune);color:var(--rose);display:flex;flex-direction:column;justify-content:flex-end}
.entree-bento .titre .sur{color:var(--paille)}
.entree-bento .titre h1{font-size:clamp(3.7rem,7vw,8rem);margin:.8rem 0 1.5rem}
.entree-bento .titre>p:last-child{font-family:var(--titre);font-size:clamp(1.15rem,1.8vw,1.75rem);max-width:720px}
.entree-bento figure{margin:0;position:relative;overflow:hidden;background:var(--eau)}
.entree-bento figure img{height:100%;object-fit:cover;transition:filter .6s ease,transform .8s ease}
.entree-bento figure:hover img{filter:saturate(1.08);transform:scale(1.03)}
.entree-bento figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:.7rem;border-radius:var(--rayon);background:rgba(51,47,53,.86);color:var(--rose);font-size:.72rem}
.entree-bento>aside{padding:1.2rem;background:var(--paille);display:flex;flex-direction:column;justify-content:flex-end;color:var(--anthracite)}
.entree-bento>aside span{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em}
.entree-bento>aside b{font-family:var(--titre);font-size:clamp(2rem,3.5vw,4rem);color:var(--prune)}
.entree-bento>aside a{min-height:44px;display:flex;align-items:center;font-family:var(--titre);font-weight:600;text-decoration:underline;transition:color .3s ease,transform .3s ease}
.entree-bento>aside a:hover{color:var(--prune);transform:translateX(5px)}
.article-bento{padding:var(--gap);display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:var(--gap);background:var(--rose)}
.article-bento>article,.article-bento>aside{border-radius:var(--rayon);box-shadow:var(--ombre)}
.article-bento>article{padding:clamp(3rem,7vw,7rem) var(--pad);background:var(--tuile)}
.article-bento>article>p:first-child{font-size:clamp(1.15rem,1.5vw,1.45rem)}
.article-bento h2{font-size:clamp(2.5rem,4.6vw,5.1rem);margin:3rem 0 1.5rem}
.article-bento h3{margin:2rem 0 1rem}
.article-bento>aside{position:sticky;top:calc(72px + var(--gap));align-self:start;padding:1.5rem;background:var(--eau)}
.article-bento>aside>b{font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:var(--prune)}
.article-bento>aside a{display:flex;min-height:44px;align-items:center;font-weight:700;color:var(--prune);transition:color .3s ease,transform .3s ease}
.article-bento>aside a:hover{color:var(--anthracite);transform:translateX(5px)}
.article-bento table{width:100%;border-collapse:separate;border-spacing:0 var(--gap);margin:2rem 0}
.article-bento th,.article-bento td{padding:1rem;background:var(--rose);text-align:left}
.article-bento th:first-child,.article-bento td:first-child{border-radius:var(--rayon) 0 0 var(--rayon)}
.article-bento th:last-child,.article-bento td:last-child{border-radius:0 var(--rayon) var(--rayon) 0}
.article-bento th{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--prune)}
.article-bento ul{padding-left:1.2rem}
.article-bento li{margin-bottom:.7rem}
.rencontre{padding:clamp(1.4rem,4vw,4rem);border-radius:var(--rayon);background:var(--anthracite);color:var(--rose)}
.rencontre fieldset{display:none;border:0;padding:0;min-height:260px}
.rencontre fieldset.actif{display:grid;gap:1rem;animation:entreEtape .5s var(--doux) both}
.rencontre legend{font-family:var(--titre);font-size:clamp(2rem,4vw,4rem);font-weight:600;margin-bottom:1.5rem}
.rencontre label{font-size:.72rem;text-transform:uppercase;letter-spacing:.09em}
.rencontre input,.rencontre textarea,.rencontre select{display:block;width:100%;min-height:52px;margin-top:.5rem;padding:.7rem;border:0;border-radius:12px;background:var(--rose);transition:background .3s ease,transform .3s ease}
.rencontre textarea{min-height:100px}
.rencontre input:focus,.rencontre textarea:focus,.rencontre select:focus{background:var(--paille);transform:translateX(4px);outline:0}
.actions{display:flex;justify-content:flex-end;gap:.6rem}
.actions button{min-height:48px;border:0;border-radius:999px;padding:.6rem 1rem;background:var(--prune);color:var(--rose);cursor:pointer;transition:background .3s ease,transform .3s ease}
.actions button:hover{background:var(--paille);color:var(--anthracite);transform:translateY(-3px)}
.espace-parents{border-radius:var(--rayon);overflow:hidden;background:var(--anthracite);color:var(--rose)}
.espace-parents nav{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--gap);padding:var(--gap)}
.espace-parents button{min-height:50px;border:0;border-radius:999px;background:var(--prune);color:var(--rose);cursor:pointer;transition:background .3s ease,transform .3s ease}
.espace-parents button:hover,.espace-parents button.actif{background:var(--paille);color:var(--anthracite);transform:translateY(-3px)}
.espace-parents article{padding:clamp(2rem,5vw,5rem)}
.espace-parents article>span{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:var(--paille)}
.espace-parents article h2{color:var(--rose)}
.appel-signature{margin:var(--gap);min-height:64vh;padding:clamp(4rem,8vw,8rem) var(--pad);border-radius:var(--rayon);background:var(--paille);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;box-shadow:var(--ombre)}
.appel-signature .sur{color:var(--prune)}
.appel-signature h2{max-width:1100px;margin:.8rem 0 2rem}
.appel-signature .bouton{background:var(--prune);color:var(--rose)}
.appel-signature .bouton:hover{background:var(--anthracite)}
.erreur .entree-bento .titre h1{font-size:clamp(5rem,13vw,13rem)}
footer{margin:var(--gap);padding:clamp(4rem,7vw,7rem) var(--pad) 2rem;border-radius:var(--rayon);display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(2rem,5vw,6rem);background:var(--anthracite);color:var(--rose);box-shadow:var(--ombre)}
footer .marque{font-family:var(--titre);font-size:clamp(2.3rem,4.2vw,4.7rem);font-weight:600}
footer strong{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;color:var(--paille)}
footer a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline;text-underline-offset:.28em;transition:color .3s ease,transform .3s ease}
footer a:hover{color:var(--paille);transform:translateX(5px)}
.credit{grid-column:1/-1;padding-top:2rem;margin:0;font-size:.7rem;color:var(--eau)}
.appel-flottant{display:none}
.rv{opacity:0;transform:translateY(24px);transition:opacity .72s var(--doux),transform .72s var(--doux)}
.rv.vue{opacity:1;transform:translateY(0)}
.rv[data-delai="1"]{transition-delay:.08s}.rv[data-delai="2"]{transition-delay:.16s}.rv[data-delai="3"]{transition-delay:.24s}.rv[data-delai="4"]{transition-delay:.32s}
::selection{background:var(--paille);color:var(--anthracite)}
:focus-visible{outline:3px solid var(--paille);outline-offset:3px}
@keyframes kenMaison{from{transform:scale(1)}to{transform:scale(1.06)}}
@keyframes monteeHero{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes flotte{0%,100%{transform:translateY(0) rotate(-.2deg)}50%{transform:translateY(-8px) rotate(.2deg)}}
@keyframes entreEtape{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:translateX(0)}}
@keyframes pulseDoux{0%,100%{box-shadow:0 0 0 0 rgba(242,208,107,.35)}50%{box-shadow:0 0 0 13px rgba(242,208,107,0)}}
@keyframes tourneLent{from{transform:rotate(-1deg)}to{transform:rotate(1deg)}}
@keyframes journalEntre{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes pointille{from{background-position:0 0}to{background-position:24px 0}}
@keyframes respireTuile{0%,100%{filter:saturate(.9)}50%{filter:saturate(1.04)}}
@keyframes balance{0%,100%{transform:translateX(0)}50%{transform:translateX(5px)}}
@media(max-width:1100px){
 .hd{grid-template-columns:auto 1fr auto}.hd nav{display:none}
 .hero-signature{grid-template-columns:1fr 1fr}
 .essentiel-s{grid-template-columns:1fr 1fr}
 .grille-s .bento{grid-template-columns:repeat(2,1fr);grid-auto-rows:minmax(240px,32vw)}.grille-s .grand{grid-column:span 1;grid-row:span 2}.grille-s .large{grid-column:span 1}
 .heures{grid-template-columns:repeat(4,1fr)}.moment{grid-template-columns:.3fr 1fr}.moment img{grid-column:1/-1;height:52vh}
 .mosaic-s{grid-template-columns:1fr 1fr;grid-template-rows:repeat(4,minmax(260px,35vw))}.mosaic-s .intro{grid-row:span 1}.mosaic-s .m1{grid-row:span 1}.mosaic-s .m5{grid-column:span 2}
 .sim-cmg{grid-template-columns:1fr 1fr}.resultat-cmg{grid-column:1/-1}
 .chiffres-s{grid-template-columns:1fr 1fr}
 .entree-bento{grid-template-columns:1.2fr .8fr}.entree-bento>aside{grid-column:1/-1;min-height:160px}
}
@media(max-width:700px){
 body{font-size:17px;line-height:1.6;padding-bottom:72px}
 .hd{min-height:68px;padding:0 1rem;gap:.55rem}.hd.defile{min-height:64px}.hd .marque{font-size:1.1rem}.hd .tel{font-size:.7rem}.hd .tel span{display:none}.menu-plus{width:46px;padding:0;font-size:0}.menu-plus::after{content:"Menu";font-size:.68rem}
 .volet{grid-template-columns:1fr;padding:5rem 1rem 2rem;overflow:auto;gap:.35rem}.volet a{font-size:1.85rem}.fermer{right:1rem;top:1rem}
 .hero-signature{height:88vh;height:88svh;min-height:680px;padding:.65rem;grid-template-columns:1fr;grid-template-rows:55% 45%;gap:.65rem}.hero-bloc{padding:5.2rem 1rem 2rem}.hero-bloc h1{font-size:clamp(3.4rem,16vw,5.4rem)}.hero-image img{object-position:center 58%}.mini-journee{right:1.3rem;bottom:1.3rem;max-width:270px}
 .essentiel-s{grid-template-columns:1fr;padding:.65rem;gap:.65rem}.essentiel-s>div{min-height:130px}
 .grille-s{padding:4rem .65rem}.grille-s .bento{grid-template-columns:1fr;grid-auto-rows:minmax(250px,74vw);gap:.65rem}.grille-s .grand,.grille-s .haut,.grille-s .large{grid-column:span 1;grid-row:span 1}
 .journee-s{padding:4rem 1rem}.heures{grid-template-columns:repeat(2,1fr)}.moment{grid-template-columns:1fr}.moment>span{writing-mode:horizontal-tb;transform:none;font-size:5rem}.moment>div{padding:2rem 1rem}.moment img{grid-column:auto;height:48vh}
 .mosaic-s{padding:.65rem;grid-template-columns:1fr;grid-template-rows:repeat(6,minmax(330px,82vw));gap:.65rem}.mosaic-s .intro,.mosaic-s .m1,.mosaic-s .m5{grid-row:span 1;grid-column:span 1}.mosaic-s .intro{padding:3rem 1rem}
 .diptyque-s{grid-template-columns:1fr;padding:.65rem;gap:.65rem}.diptyque-s>div{min-height:auto;padding:4rem 1rem}.diptyque-s>img{height:58vh}
 .outil-s{padding:4rem 1rem}.sim-cmg{grid-template-columns:1fr}.resultat-cmg{grid-template-columns:1fr;padding:2rem 1rem}.resultat-cmg>*{grid-column:1!important;grid-row:auto!important}.resultat-cmg>strong{font-size:5rem}.resultat-cmg>div{grid-column:1;grid-row:auto}
 .citation-s{padding:5rem 1rem}.portraits{grid-template-columns:repeat(2,1fr);gap:.65rem}
 .negatif-s{grid-template-columns:1fr;padding:.65rem;gap:.65rem}.negatif-s>img{height:54vh}.negatif-s>div{min-height:auto;padding:4rem 1rem}
 .chiffres-s{grid-template-columns:1fr;padding:.65rem;gap:.65rem}.chiffres-s>div{min-height:220px}.chiffres-s>aside{padding:4rem 1rem}
 .entree-bento{min-height:auto;padding:calc(68px + .65rem) .65rem .65rem;grid-template-columns:1fr;gap:.65rem}.entree-bento .titre{min-height:58vh;padding:3rem 1rem}.entree-bento .titre h1{font-size:clamp(3.5rem,16vw,5.4rem);overflow-wrap:anywhere}.mentions .entree-bento .titre h1{font-size:2.75rem;overflow-wrap:normal;hyphens:none}.entree-bento figure{min-height:48vh}.entree-bento>aside{grid-column:auto;min-height:150px}
 .article-bento{grid-template-columns:1fr;padding:.65rem;gap:.65rem}.article-bento>article{padding:3rem 1rem}.article-bento>aside{position:static}.article-bento table{font-size:.78rem}.article-bento th,.article-bento td{padding:.7rem .35rem}
 .espace-parents nav{grid-template-columns:1fr 1fr}.rencontre{padding:1.2rem}.appel-signature{margin:.65rem;padding:4rem 1rem}
 footer{margin:.65rem;padding:4rem 1rem 1.5rem;grid-template-columns:1fr}
 .appel-flottant{position:fixed;z-index:90;left:1rem;right:1rem;bottom:.7rem;min-height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--paille);color:var(--anthracite);font-weight:700;animation:pulseDoux 3s ease-in-out infinite;transition:background .3s ease,transform .3s ease}
 .appel-flottant:hover{background:var(--eau);transform:translateY(-3px)}
}
@media(prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
 .rv{opacity:1;transform:none}.hero-image img{transform:none!important}
}
