:root{
  --creme:#F5EFE6; --carte:#FBF7F0; --encre:#3A3328; --encre-douce:#6B6152;
  --vert:#4F5A3E; --sauge:#7A8463; --rose:#E9C9C3; --rose-pale:#F4E3DE;
  --or:#B39B6B; --or-clair:#D8C7A2;
  --titre:"Fraunces",Georgia,serif; --serif:"Sora",system-ui,sans-serif; --script:"Pinyon Script",cursive;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--creme);color:var(--encre);font-family:var(--serif);font-size:17px;line-height:1.75;font-weight:300;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-weight:500;line-height:1.15;margin:0}
p{margin:0 0 .8em}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.surtitre{font-size:.9rem;letter-spacing:.3em;text-transform:uppercase;color:var(--sauge)}
.titre{font-size:clamp(2rem,4.8vw,3rem);letter-spacing:.14em;text-transform:uppercase}
.titre em{display:block;font-family:var(--script);font-style:normal;text-transform:none;letter-spacing:0;font-size:1.25em;color:var(--sauge);margin-top:.15em}
.fleuron{display:block;margin:14px auto;width:60px;height:14px;color:var(--or)}
section{padding:88px 0}
.centre{text-align:center}
.intro{max-width:680px;margin:22px auto 0;color:var(--encre-douce);font-size:1.15rem}

/* Boutons */
.btn{display:inline-block;font-family:var(--serif);font-size:.9rem;letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:13px 26px;border:1px solid currentColor;border-radius:999px;transition:background .25s,color .25s;cursor:pointer;background:none}
.btn-plein{background:var(--vert);border-color:var(--vert);color:var(--creme)}
.btn-plein:hover{background:#3c4530}
.btn-ligne{color:var(--vert)}
.btn-ligne:hover{background:var(--vert);color:var(--creme)}
.btn-clair{color:#fff;border-color:rgba(255,255,255,.8)}
.btn-clair:hover{background:#fff;color:var(--vert)}
.btn-clair.btn-plein{background:#fff;color:var(--vert);border-color:#fff}

/* À compléter : visible tant que la page est en maquette */
.a-completer{background:rgba(179,155,107,.16);border-bottom:1px dashed var(--or);padding:0 .25em;font-style:italic;color:var(--encre-douce)}

/* Barre haute */
.barre{position:fixed;inset:0 0 auto 0;z-index:20;transition:background .3s,box-shadow .3s}
.barre.pleine{background:rgba(245,239,230,.94);backdrop-filter:blur(6px);box-shadow:0 1px 0 var(--or-clair)}
.barre .wrap{display:flex;align-items:center;justify-content:space-between;height:80px;gap:12px;max-width:none;padding:0 clamp(16px,3vw,40px)}
.logo{font-size:1.45rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;color:#fff;transition:color .3s;white-space:nowrap}
.barre.pleine .logo{color:var(--vert)}
.barre .logo svg{display:block;height:50px;width:147px}
.barre nav{display:flex;gap:12px}
.barre .btn{padding:13px 24px;font-size:.8rem;letter-spacing:.18em}
.barre .btn-lieu{display:none}
.barre:not(.pleine) .btn{color:#fff;border-color:rgba(255,255,255,.8);background:none}
@media(min-width:760px){.barre .btn-lieu{display:inline-block}}

/* Hero */
/* Hero : un écran qui défile normalement avec la page */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;text-align:center;color:#fff;padding:80px 16px 28px;background:#d9b3ad url(img/hero.webp) center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(92,52,40,.5),rgba(92,52,40,.22) 75%),linear-gradient(180deg,rgba(74,44,40,.35),transparent 30%)}
.hero>div{position:relative;max-width:960px}
footer{position:relative;z-index:1}
.hero .nom{font-size:clamp(2.6rem,9vw,5.2rem);letter-spacing:.2em;text-transform:uppercase;font-weight:400;margin-right:-.2em}
.hero .nom-logo{margin:50px auto 30px}
.hero .nom-logo img{width:clamp(240px,26.4vw,360px);height:auto;margin:0 auto}
.hero .sous{font-family:"Cormorant Unicase",Georgia,serif;font-weight:400;font-size:clamp(2rem,6.75vw,4.8rem);line-height:1.05;letter-spacing:-.025em;margin:.1em auto 0;max-width:900px;text-wrap:balance}
.hero .promesse{font-size:clamp(1.25rem,3vw,1.6rem);font-style:italic;margin:26px auto 30px;max-width:560px;line-height:1.35}
.hero .duo{display:flex;flex-direction:column;align-items:center;gap:14px}
.hero .duo .btn{min-width:280px;text-align:center}
.hero .fleuron{color:#fff;opacity:.85;margin:24px auto}

/* Bandeau vert : papier embossé de grosses fleurs */
.relief{background:#2f4536 url(img/texture-vert.webp) center/cover no-repeat;padding:90px 16px}
.final.relief{position:relative}
.final.relief{background:#233c2c url(img/papier-vert.webp) center/cover no-repeat;min-height:100svh;display:grid;grid-template-rows:auto 1fr;padding:70px 16px 70px}
.final .wrap-cta{display:grid;align-items:center;max-width:1180px;margin:0 auto;width:100%}
.final .sceau{width:clamp(160px,15vw,220px);height:auto;margin:0 auto;filter:drop-shadow(0 3px 3px rgba(0,0,0,.35)) drop-shadow(0 14px 22px rgba(0,0,0,.35))}
@media(min-width:1100px){.final .deux-cta{grid-template-columns:330px 300px 330px;justify-content:center;align-items:stretch;max-width:none;gap:20px}.final .sceau{align-self:center}}
@media(max-width:1099px){.final .deux-cta{max-width:420px;margin:0 auto}.final .sceau{order:-1;margin:10px auto 26px}}
.final.relief::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,32,22,.55),transparent 32%,transparent 62%,rgba(18,32,22,.5))}
.final .deux-cta{margin-top:0}
.final .titre{font-size:clamp(3rem,7.5vw,5.8rem);line-height:1;color:#fff;text-shadow:0 2px 26px rgba(10,20,12,.45)}
.final .titre em{font-size:.48em;color:#F3E6C8;margin-top:.35em}
.final .bloc{background:none;border-radius:0;border:46px solid transparent;border-image:url(img/cadre.svg) 60 fill / 46px round;padding:4px 8px 12px;filter:drop-shadow(0 20px 36px rgba(5,14,8,.45));display:flex;flex-direction:column;align-items:center}
.final .bloc .surtitre{color:var(--sauge)}
.final .bloc h3{font-family:"Cormorant Unicase",Georgia,serif;font-weight:500;font-size:clamp(1.7rem,3vw,2.2rem);line-height:1.1;color:var(--vert);margin:6px 0 12px}
.final .bloc p{font-size:1.08rem;line-height:1.6;color:var(--encre);margin-bottom:14px}
.final .bloc .prix-bloc{font-family:var(--titre);font-size:2rem;line-height:1;color:var(--vert);margin:0 0 18px}
.final .bloc .btn{margin-top:auto}

.final.relief>.wrap{position:relative}

/* Cartouche : forme fixe en SVG, jamais déformée */
.cartouche{position:relative;width:min(460px,100%);aspect-ratio:2/3;margin:0 auto;container-type:inline-size;filter:drop-shadow(0 22px 40px rgba(10,20,12,.45))}
.cartouche>svg{position:absolute;inset:0;width:100%;height:100%}
.cartouche .dedans{position:absolute;inset:15% 13% 13%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.cartouche .dedans img{width:25cqw;height:auto;margin-bottom:3cqw}
.cartouche .citation{font-size:7.4cqw;font-style:italic;line-height:1.25;color:var(--vert);margin:0}
.cartouche .citation span{display:block;margin-top:3cqw}
.cartouche .fleuron{width:15cqw;height:3.5cqw;margin:5cqw auto 4cqw}
.cartouche .temps{font-size:2.9cqw;letter-spacing:.14em;white-space:nowrap;text-transform:uppercase;color:var(--sauge);margin:0}

/* Anaïs, détourée sur fond crème */
.anais{background:var(--creme);padding:70px 0 0;overflow:hidden}
.anais .wrap{display:block;text-align:center;max-width:1100px}

.anais .texte{max-width:680px;margin:0 auto;padding:0 0 34px}
.anais .titre{font-size:clamp(2rem,4.4vw,2.8rem)}
.anais .texte p.corps{font-size:1.2rem;margin-top:22px}
.anais img{width:100%;max-width:780px;margin:0 auto;height:auto}

/* Le principe : une phrase, une fleur */
.principe{background:var(--carte)}
.principe .corps{max-width:760px;margin:26px auto 0;font-size:1.3rem;line-height:1.6;color:var(--encre)}
.principe .corps em{color:var(--vert)}
.strophes p{margin:0 0 1.1em}
.strophes p:last-child{margin-bottom:0}
.strophes span,.strophes em{display:block;text-wrap:balance}
.principe .strophes{max-width:none}
@media(max-width:700px){.principe .corps.strophes{font-size:1rem;max-width:360px;margin-left:auto;margin-right:auto}.strophes p{text-wrap:balance}.strophes span,.strophes em{display:inline}}
.galerie{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}
@media(max-width:760px){.galerie{grid-template-columns:repeat(2,1fr);gap:14px}}
.galerie figure{margin:0;background:var(--creme);border-radius:999px 999px 10px 10px;box-shadow:inset 0 0 0 6px var(--creme),inset 0 0 0 7px var(--or-clair);padding:30px 14px 22px;text-align:center}
.galerie img{height:190px;width:auto;margin:0 auto}
@media(max-width:760px){.galerie img{height:130px}}
.galerie .fleur{display:block;font-family:var(--titre);font-weight:400;font-size:1.4rem;line-height:1.2;color:var(--vert);margin-top:10px}
.galerie .fr{display:block;font-size:1rem;color:var(--encre-douce)}
.galerie .question{display:block;margin-top:10px;font-style:italic;color:var(--or);font-size:1.05rem}
.apres-jeu{margin-top:48px}
.apres-jeu p{font-size:1.4rem;font-style:italic;color:var(--vert)}

/* Méthode */
.methode{background:var(--carte)}
.frise{max-width:820px;margin:50px auto 0;display:grid;gap:34px}
.etape{display:grid;grid-template-columns:110px 1fr;gap:22px;align-items:center}
.etape img{width:120px;height:160px;object-fit:cover;border-radius:999px 999px 8px 8px;box-shadow:0 0 0 5px var(--carte),0 0 0 6px var(--or-clair)}
.etape .n{font-size:2rem;color:var(--or);line-height:1}
.etape h3{font-size:1.1rem;letter-spacing:.26em;text-transform:uppercase;margin:4px 0 6px}
.etape p{margin:0;color:var(--encre-douce)}
@media(min-width:760px){.frise{grid-template-columns:repeat(3,1fr)}.etape{grid-template-columns:1fr;text-align:center;justify-items:center}.etape img{width:230px;height:300px;margin-bottom:14px}}

/* Apports */
/* Les fleurs de Bach : pétales en fond fixe, contenus dans un panneau */
.apports{background:#F9F0E5 url(img/petales.webp) center/cover fixed;padding:270px 0}
.apports .panneau{max-width:1040px;margin:0 auto;background:rgba(251,247,240,.9);border-radius:14px;padding:64px clamp(20px,5vw,64px) 52px;box-shadow:0 24px 60px rgba(140,70,70,.14)}
.apports .intro{font-size:1.02rem;line-height:1.75;max-width:620px;color:var(--encre-douce)}
.apports .apport{background:var(--carte);border:1px solid var(--or-clair);border-radius:12px;padding:30px 24px}
.apports .apport .n{display:block;font-family:var(--titre);font-weight:300;font-size:2rem;line-height:1;color:var(--or)}
.apports .apport h3{font-family:"Cormorant Unicase",Georgia,serif;font-weight:500;font-size:1.55rem;color:var(--vert);margin:12px 0 8px}
.apports .apport p{font-size:.95rem;line-height:1.6;color:var(--encre-douce)}
.apports .pour-qui{font-size:.82rem;color:var(--sauge);margin-top:44px}
.apports .liste{display:grid;gap:22px;margin-top:44px}
@media(min-width:900px){.apports .liste{grid-template-columns:repeat(3,1fr)}}
.apport{border-top:1px solid var(--or-clair);padding-top:18px}
.apport h3{font-size:1.45rem;font-style:italic;color:var(--vert);margin-bottom:6px}
.apport p{color:var(--encre-douce);margin:0}
.pour-qui{margin-top:40px;font-size:.9rem;letter-spacing:.28em;text-transform:uppercase;color:var(--sauge)}

/* Offres */
.offres{background-color:#ECE6D7;background-image:linear-gradient(45deg,#A9AD8C 25%,transparent 25%,transparent 75%,#A9AD8C 75%),linear-gradient(-45deg,#A9AD8C 25%,transparent 25%,transparent 75%,#A9AD8C 75%);background-size:104px 104px}
.offres::before{content:"";position:absolute;inset:0;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .25 0 0 0 0 .23 0 0 0 0 .16 0 0 0 .38 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='900'%3E%3Cfilter id='t'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.012' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .28 0 0 0 0 .2 0 0 0 .28 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23t)'/%3E%3C/svg%3E"),linear-gradient(118deg,rgba(255,252,240,.32),transparent 38%,transparent 60%,rgba(40,44,24,.18))}
.offres>.wrap{position:relative}
.offres .entete .surtitre,.offres .entete .titre em{color:var(--vert)}

.offres .offre{position:relative;background:none;box-shadow:none;border-radius:0;border:60px solid transparent;border-image:url(img/cadre.svg) 60 fill / 60px round;padding:2px 4px 10px;filter:drop-shadow(0 1px 1px rgba(40,40,20,.25)) drop-shadow(0 6px 10px rgba(40,44,24,.18)) drop-shadow(0 26px 40px rgba(40,44,24,.22))}
.offres .offre::after{content:"";position:absolute;inset:-40px;pointer-events:none;background:linear-gradient(122deg,rgba(255,255,255,.34) 0,rgba(255,255,255,0) 26%,rgba(255,255,255,0) 52%,rgba(255,255,255,.16) 58%,rgba(255,255,255,0) 66%),linear-gradient(180deg,rgba(255,255,255,0) 70%,rgba(120,100,60,.06));mix-blend-mode:soft-light}
@media(min-width:900px){.offres{background:#a5ab8c url(img/damier.webp) center/cover no-repeat}.offres::before{display:none}}
@media(max-width:600px){.offres .offre{border-width:38px;border-image-width:38px;padding:0 0 6px}.offres .deux{gap:18px}}
.deux{display:grid;gap:28px;margin-top:46px}
@media(min-width:900px){.deux{grid-template-columns:1fr 1fr}}
.offre{background:var(--carte);border-radius:160px 160px 10px 10px/90px 90px 10px 10px;box-shadow:inset 0 0 0 7px var(--carte),inset 0 0 0 8px var(--or-clair);padding:58px 30px 36px;display:flex;flex-direction:column}
.offre .titre{font-size:1.7rem;text-align:center}
.offre .chapeau{text-align:center;font-style:italic;color:var(--encre-douce);margin:12px auto 22px;max-width:420px}
.offre h4{font-size:.88rem;letter-spacing:.28em;text-transform:uppercase;color:var(--sauge);font-weight:600;margin:20px 0 8px}
.offre ol,.offre ul{margin:0;padding-left:1.15em}
.offre li{margin-bottom:5px}
.offre li::marker{color:var(--or)}
.prix{text-align:center;margin:26px 0 6px}
.prix strong{display:block;font-size:2.4rem;font-weight:500;color:var(--vert);line-height:1}
.prix span{font-size:1rem;color:var(--encre-douce)}
.offre .actions{margin-top:auto;padding-top:24px;text-align:center}
.themes{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:0}
.themes li{border:1px solid var(--or-clair);border-radius:999px;padding:4px 15px;font-size:1rem;margin:0}

/* Témoignages */
.avis{background:var(--rose-pale)}
.faq{background:var(--carte)}
.avis .grille-avis{display:grid;gap:22px;margin-top:44px}
@media(min-width:960px){.avis .grille-avis{display:flex;flex-wrap:wrap;justify-content:center}.avis .grille-avis figure{flex:0 1 calc((100% - 44px)/3)}}
@media(max-width:959px){.avis .grille-avis{max-width:560px;margin-left:auto;margin-right:auto}}
.avis figure{margin:0;background:var(--carte);padding:28px 26px;border-radius:8px;box-shadow:inset 0 0 0 1px var(--or-clair)}
.avis blockquote{margin:0 0 12px;font-size:1.3rem;font-style:italic;color:var(--vert)}
.avis figcaption{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sauge)}
.logos{display:flex;flex-wrap:wrap;justify-content:center;gap:18px;margin-top:40px}
.logos div{width:200px;height:84px;display:grid;place-items:center;border:1px dashed var(--or);border-radius:6px;font-size:.85rem;color:var(--encre-douce);font-style:italic;text-align:center;padding:8px}

/* FAQ */
.faq .liste{max-width:760px;margin:40px auto 0}
.faq details{border-bottom:1px solid var(--or-clair);padding:16px 0}
.faq summary{cursor:pointer;font-size:1.35rem;color:var(--vert);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--or);font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:10px 0 0;color:var(--encre-douce)}

/* Final */
.final{text-align:center;color:var(--creme)}
.final .titre{color:var(--carte)}
.final .titre em{color:var(--or-clair)}
.final .deux-cta{display:grid;gap:18px}

.final .bloc{background:rgba(251,247,240,.94);color:var(--encre);border-radius:8px;padding:28px 22px}
.final .bloc p{font-style:italic;color:var(--encre-douce)}
footer{background:var(--vert);color:var(--or-clair);text-align:center;padding:44px 16px;font-size:1rem;letter-spacing:.06em}
footer .logo{color:var(--creme);display:inline-block;margin-bottom:8px}
footer .signature-pied svg{display:block;width:200px;height:auto;aspect-ratio:1727/582;margin:0 auto}
footer p{margin:4px 0}
footer .legal{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 26px;max-width:760px;margin:26px auto 0;padding-top:20px;border-top:1px solid rgba(216,199,162,.35);font-size:.78rem;letter-spacing:.04em;opacity:.75}
footer .legal a{color:inherit;text-decoration:none}
footer .legal a:hover{text-decoration:underline;text-underline-offset:3px}
footer .mention{max-width:640px;margin:16px auto 0;font-size:.88rem;letter-spacing:0;opacity:.8}


/* Typographie : Fraunces pour les titres, Sora pour les textes (modèle colineperrot.fr) */
h1,h2,h3,.titre,.citation,.promesse,.apport h3,.faq summary,.prix strong,.etape .n,.avis blockquote,.offre .titre,.apres-jeu p{font-family:var(--titre)}
.titre{font-family:"Cormorant Unicase",Georgia,serif;text-transform:none;letter-spacing:0;font-weight:400;line-height:1.1;font-size:clamp(2.3rem,5.4vw,3.6rem)}
.titre em{font-family:var(--titre)}
.titre em{font-family:var(--titre);font-weight:300;font-size:.6em;letter-spacing:-.01em;margin-top:.35em}
.offre .titre{font-size:1.9rem}
.anais .signature{margin:14px auto 0;color:var(--vert)}
.anais .signature svg{display:block;margin:0 auto;width:clamp(240px,34vw,360px);height:auto;aspect-ratio:1727/582}
.anais .qualite{font-family:var(--titre);font-weight:300;font-size:clamp(1.3rem,2.4vw,1.7rem);letter-spacing:-.01em;color:var(--sauge);margin:6px 0 0}
.final .titre{color:var(--carte)}
.surtitre{font-family:var(--serif);font-weight:600;font-size:.72rem;letter-spacing:.2em}
.btn{font-family:var(--serif);font-weight:500;font-size:.76rem;letter-spacing:.12em}
.barre .btn{font-size:.72rem;letter-spacing:.12em}
.hero .promesse{font-weight:300;font-size:clamp(1.3rem,2.6vw,1.75rem);letter-spacing:-.01em}
.cartouche .citation{text-wrap:balance;font-weight:400;font-size:7.9cqw;letter-spacing:-.01em}
.cartouche .temps{font-weight:600;font-size:2.5cqw;letter-spacing:.14em}
.principe .corps{font-size:1.15rem;line-height:1.8}
.principe .corps em{font-style:normal;font-weight:500}
.galerie .fr{font-size:.85rem}
.galerie .question{font-family:var(--titre);font-size:1rem}
.intro{font-size:1.05rem}
.apport h3{font-weight:400;font-size:1.5rem;font-style:normal}
.etape h3{font-family:var(--serif);font-weight:600;font-size:.8rem;letter-spacing:.18em}
.etape .n{font-weight:300;font-size:2.4rem}
.offre .chapeau{font-style:normal}
.offre h4{font-size:.72rem;letter-spacing:.18em}
.faq summary{font-weight:400;font-size:1.3rem}
.avis blockquote{font-weight:300;font-size:1.22rem;line-height:1.55;text-wrap:pretty}
.avis figure{padding:34px 30px;display:flex;flex-direction:column;justify-content:space-between}
.pour-qui{font-weight:600;font-size:.72rem;letter-spacing:.2em}
.a-completer{font-style:normal}
footer{font-size:.9rem;letter-spacing:.02em}
/* Fraunces jamais en italique */
.hero .promesse,.cartouche .citation,.avis blockquote,.apres-jeu p,.galerie .question,.final .bloc p,.logos div{font-style:normal}


/* Les 2 fiches : même structure, pied aligné */
.offres .deux{align-items:stretch}
.offres .offre{display:flex;flex-direction:column}
.fiche-tete{text-align:center}
.fiche-tete .surtitre{color:var(--sauge);margin-bottom:6px}
.fiche-tete h3{font-family:"Cormorant Unicase",Georgia,serif;font-weight:500;font-size:clamp(1.9rem,3vw,2.4rem);line-height:1.1;color:var(--vert);margin:0}
.fiche-tete .chapeau{font-size:1.02rem;color:var(--encre-douce);max-width:400px;margin:12px auto 0}
.fiche-tete .fleuron{margin:20px auto 4px}
.fiche-bloc{padding:20px 4px;border-top:1px dotted var(--or)}
.fiche-bloc:first-of-type{border-top:0}
.fiche-bloc h4{margin:0 0 12px}
.fiche-bloc p{margin:0 0 10px}
.fiche-bloc ul{list-style:none;padding:0;margin:0}
.fiche-bloc ul:not(.themes) li{position:relative;padding-left:22px;margin-bottom:8px}
.fiche-bloc ul:not(.themes) li::before{content:"";position:absolute;left:4px;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--or)}
.fiche-bloc .etapes{counter-reset:e;list-style:none;padding:0;margin:0}
.fiche-bloc .etapes li{counter-increment:e;position:relative;padding-left:40px;margin-bottom:12px}
.fiche-bloc .etapes li::before{content:counter(e,decimal-leading-zero);position:absolute;left:0;top:-.15em;font-family:var(--titre);font-weight:300;font-size:1.35rem;color:var(--or)}
.fiche-bloc .themes{margin-top:14px}
.fiche-bloc .lieu{margin-top:12px;font-size:.95rem;color:var(--encre-douce)}
.fiche-pied{margin-top:auto;text-align:center;padding-top:10px}
.tarif{display:flex;flex-direction:column;align-items:center;gap:4px;border-top:1px solid var(--or-clair);border-bottom:1px solid var(--or-clair);padding:16px 8px;margin:6px 0 22px}
.tarif-label{font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sauge)}
.tarif strong{font-family:var(--titre);font-weight:400;font-size:2.2rem;line-height:1.1;color:var(--vert)}
.tarif span:last-child{font-size:.92rem;color:var(--encre-douce)}
.fiche-pied .note{font-size:.85rem;line-height:1.55;color:var(--encre-douce);max-width:380px;margin:-8px auto 20px}
.fiche-bloc .formats li{padding-left:22px}
.fiche-bloc .formats strong{color:var(--vert);font-weight:500}
.fiche-pied .autres{font-size:.88rem;color:var(--encre-douce);margin:16px 0 0}

/* Petits écrans */
.final .wrap{min-width:0;width:100%}
.barre .btn{white-space:nowrap}
@media(max-width:480px){.barre .btn .long{display:none}.barre .btn{padding:11px 18px}}
@media(max-width:400px){.final.relief{padding-left:0;padding-right:0}.final .bloc{border-width:36px;border-image-width:36px}}

/* Mobile : univers d'entrée, respiration, cartes moins larges */
@media(max-width:760px){
  .hero{min-height:calc(100lvh + 40px);padding:96px 20px 90px;background-size:auto 128%;background-position:55% 0}
  .hero::before{background:radial-gradient(ellipse at center,rgba(92,52,40,.42),rgba(92,52,40,.18) 80%),linear-gradient(180deg,rgba(74,44,40,.3),transparent 25%)}
  .hero .nom-logo{margin:70px auto 56px}
  .hero .nom-logo img{width:290px}
  .hero .sous{font-size:2.6rem;line-height:1.08}
  .hero .fleuron{margin:30px auto}
  .hero .promesse{margin:0 auto 34px}
  .relief{padding:70px 0}
  .cartouche{width:80%}
  .principe .titre{margin-bottom:30px}
  .principe .corps.strophes{margin-top:56px}
  .etape{grid-template-columns:1fr;text-align:center;justify-items:center;gap:14px}
  .etape img{width:min(78vw,300px);height:auto;aspect-ratio:3/4}
  .frise{gap:52px}
  .apports{padding:200px 0}
  .apports .panneau{padding:46px 20px 36px}
  .apports .intro{font-size:.95rem}
  .apports .apport{padding:24px 18px}
  .apports .apport h3{font-size:1.4rem}
  .offres .wrap{padding-left:30px;padding-right:30px}
  .final .deux-cta{max-width:none;width:84%;margin:0 auto;gap:34px}
}
.logos div.partenaire{border:0;background:none;width:auto;height:auto;padding:0;font-style:normal;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2px}
.logos .partenaire strong{font-family:var(--titre);font-weight:400;font-size:1.15rem;color:var(--vert)}
.logos .partenaire span{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sauge)}
.anais .bio{max-width:760px;margin:30px auto 0;text-align:center}
@media(min-width:820px){.anais .bio p span{display:block;white-space:nowrap}}
.anais .bio h3{font-family:var(--titre);font-weight:400;font-size:clamp(.78rem,3.9vw,1.75rem);line-height:1.25;color:var(--vert);text-align:center;margin:0 0 20px;white-space:nowrap;width:max-content;max-width:none;position:relative;left:50%;transform:translateX(-50%)}
.anais .bio p{font-size:1rem;line-height:1.8;color:var(--encre);margin:0 0 14px}
.anais .bio .diplome{text-align:center;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sauge);margin-top:26px}

/* Témoignages : carrousel de cartes en arche */
.avis{overflow:hidden}
.carrousel{margin:46px calc(50% - 50vw) 0}
.piste{display:flex;gap:26px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 calc(50% - 190px);padding:20px calc(50% - 190px) 34px;scrollbar-width:none;-ms-overflow-style:none}
.piste::-webkit-scrollbar{display:none}
.avis .avis-carte{flex:0 0 380px;scroll-snap-align:center;margin:0;position:relative;background:var(--carte);border-radius:999px 999px 14px 14px;padding:48px 38px 34px;text-align:center;box-shadow:inset 0 0 0 8px var(--carte),inset 0 0 0 9px var(--or-clair),0 18px 40px rgba(140,80,70,.12);display:flex;flex-direction:column;align-items:center;transition:transform .5s,opacity .5s;opacity:.55;transform:scale(.94)}
.avis .avis-carte.active{opacity:1;transform:none}
.avis-carte img{height:120px;width:auto;margin:0 auto 4px}
.avis-carte .guillemet{font-family:"Cormorant Unicase",Georgia,serif;font-size:5rem;line-height:.6;color:var(--or);height:34px;margin:6px 0 4px}
.avis .avis-carte blockquote{font-family:var(--titre);font-weight:300;font-style:normal;font-size:1.12rem;line-height:1.6;color:var(--encre);margin:0 0 22px;text-wrap:pretty}
.avis-carte figcaption{margin-top:auto;font-size:.68rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--sauge)}
.avis-carte figcaption .fleuron{display:block;margin:0 auto 12px}
.nav-avis{display:flex;align-items:center;justify-content:center;gap:22px}
.fleche{width:46px;height:46px;border-radius:50%;border:1px solid var(--vert);background:none;color:var(--vert);font-size:1.1rem;cursor:pointer;transition:background .25s,color .25s}
.fleche:hover{background:var(--vert);color:var(--creme)}
.points{display:flex;gap:10px}
.points button{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--or-clair);cursor:pointer}
.points button.on{background:var(--vert);transform:scale(1.25)}
@media(max-width:560px){.piste{gap:14px;scroll-padding:0 7vw;padding:16px 7vw 28px}.avis .avis-carte{flex-basis:86vw;padding:42px 26px 30px}}

/* Formulaires */
.formulaire{border:0;padding:0;background:none;max-width:min(680px,calc(100vw - 24px));width:100%;max-height:calc(100dvh - 24px)}
.formulaire::backdrop{background:rgba(40,46,30,.55);backdrop-filter:blur(3px)}
.formulaire form{position:relative;background:var(--carte);border-radius:16px;padding:clamp(26px,5vw,46px);box-shadow:0 30px 70px rgba(20,24,14,.35);overflow:auto;max-height:calc(100dvh - 24px)}
.formulaire h2{font-family:"Cormorant Unicase",Georgia,serif;font-weight:400;font-size:clamp(1.9rem,4.5vw,2.5rem);color:var(--encre);margin:4px 0 8px}
.formulaire .intro-f{color:var(--encre-douce);font-size:.95rem;margin:0 0 22px}
.fermer{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid var(--or-clair);background:none;font-size:1.4rem;line-height:1;color:var(--vert);cursor:pointer}
.grille-f{display:grid;grid-template-columns:1fr 1fr;gap:14px 16px}
.grille-f .large,.grille-f .choix{grid-column:1/-1}
@media(max-width:560px){.grille-f{grid-template-columns:1fr}}
.formulaire label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:500;letter-spacing:.04em;color:var(--encre)}
.formulaire label em{font-style:normal;font-weight:300;color:var(--encre-douce)}
.formulaire input,.formulaire select,.formulaire textarea{font:inherit;font-size:.95rem;font-weight:300;letter-spacing:0;color:var(--encre);background:#fff;border:1px solid var(--or-clair);border-radius:10px;padding:11px 13px;width:100%}
.formulaire input:focus,.formulaire select:focus,.formulaire textarea:focus{outline:2px solid var(--sauge);outline-offset:1px;border-color:var(--sauge)}
.formulaire .choix{border:0;padding:0;margin:0;display:flex;gap:22px;flex-wrap:wrap}
.formulaire .choix legend{font-size:.78rem;font-weight:500;margin-bottom:8px;padding:0}
.formulaire .choix label{flex-direction:row;align-items:center;gap:8px;font-size:.95rem;font-weight:300}
.formulaire .choix input,.formulaire .consent input{width:auto;accent-color:var(--vert)}
.formulaire .si-presentiel{display:none}
.formulaire form.presentiel .si-presentiel{display:flex}
.formulaire .consent{flex-direction:row;align-items:flex-start;gap:10px;font-size:.82rem;font-weight:300;margin:20px 0 6px;letter-spacing:0}
.formulaire .consent a{color:var(--vert)}
.formulaire .piege{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.formulaire .etat{min-height:1.4em;font-size:.9rem;color:var(--vert);margin:8px 0 14px}
.formulaire .etat.erreur{color:#9a3d2e}
.formulaire [type=submit]{width:100%}
.formulaire .merci{text-align:center;padding:20px 0}
button.btn{font-family:var(--serif)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Pages intérieures : offres, carnet */
.page .barre .logo{color:var(--vert)}
.entete-page{position:relative;min-height:62svh;display:grid;place-items:center;text-align:center;color:#fff;padding:120px 16px 64px;background:#d9b3ad url(img/hero.webp) center 30%/cover no-repeat}
.entete-page::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(92,52,40,.55),rgba(92,52,40,.3) 75%)}
.entete-page>div{position:relative;max-width:880px}
.entete-page .surtitre{color:#F3E6C8}
.entete-page .titre{color:#fff;font-size:clamp(2.2rem,6vw,4rem)}
.entete-page .titre em{color:#F3E6C8}
.entete-page .fleuron{color:#fff;opacity:.85;margin:22px auto}
.entete-page .promesse{font-family:var(--titre);font-weight:300;font-style:normal;font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.4;margin:0 auto 28px}
.page-section{background:var(--carte)}
.colonne{max-width:760px}
.colonne>.titre{margin-bottom:34px}
.sous-titre{font-family:var(--serif);font-weight:600;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--sauge);margin:0 0 12px}
.page-section .fiche-bloc{font-size:1.05rem}
.page-section .fiche-pied{padding-top:26px}
.grille-avis-page{display:flex;flex-wrap:wrap;justify-content:center;gap:26px;margin-top:40px}
.grille-avis-page .avis-carte{flex:0 1 340px}
.final-page{position:relative;color:var(--creme);padding:90px 16px}
.final-page::before{content:"";position:absolute;inset:0;background:rgba(18,32,22,.45)}
.final-page>.wrap{position:relative}
.final-page .titre{color:#fff}
.final-page .titre em{color:#F3E6C8}
.final-page .intro{color:var(--creme);margin:18px auto 26px}
.final-page .autre-offre{margin-top:28px;font-size:.95rem}
.final-page .autre-offre a{color:#F3E6C8}
footer .liens-pied{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;margin:18px auto 0;font-size:.85rem}
footer .liens-pied a{color:var(--creme);text-decoration:none}
footer .liens-pied a:hover{text-decoration:underline;text-underline-offset:3px}

/* Le carnet */
.entete-carnet{min-height:46svh}
.carnet-liste{display:grid;gap:26px;margin-top:10px}
@media(min-width:760px){.carnet-liste{grid-template-columns:repeat(2,1fr)}}
.carte-article{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;background:var(--creme);border-radius:999px 999px 14px 14px;padding:42px 30px 30px;box-shadow:inset 0 0 0 7px var(--creme),inset 0 0 0 8px var(--or-clair);transition:transform .3s}
.carte-article:hover{transform:translateY(-3px)}
.carte-article img{height:130px;width:auto;margin-bottom:10px}
.carte-article .date{font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--sauge)}
.carte-article h2{font-family:var(--titre);font-weight:400;font-size:1.45rem;line-height:1.25;color:var(--vert);margin:8px 0 10px}
.carte-article p{font-size:.95rem;color:var(--encre-douce);margin:0}
.carnet-vide{text-align:center;color:var(--encre-douce);font-size:1.1rem}
.article .gravure{height:200px;width:auto;margin:0 auto 26px}
.article .chapeau{font-family:var(--titre);font-weight:300;font-size:1.3rem;line-height:1.55;color:var(--vert);text-align:center;margin:0 0 34px}
.article .texte{font-size:1.06rem;line-height:1.85}
.article .texte h2{font-family:var(--titre);font-weight:400;font-size:1.6rem;color:var(--vert);margin:38px 0 14px}
.article .texte ul{padding-left:1.2em}
.article .texte li::marker{color:var(--or)}
.article .mention-article{margin-top:40px;padding-top:18px;border-top:1px solid var(--or-clair);font-size:.85rem;color:var(--encre-douce)}
.article .retour{display:block;text-align:center;margin-top:30px;font-size:.9rem;color:var(--vert)}
