:root{--ink:#24202b;--cream:#fff9ef;--paper:#fffdf8;--coral:#f77b72;--pink:#f4a6c3;--yellow:#ffd64f;--turquoise:#59c8be;--violet:#8c70b7}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block}::selection{background:var(--yellow);color:var(--ink)}
.shell{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{padding:120px 0}.eyebrow{display:flex;align-items:center;gap:11px;margin:0 0 24px;font:700 12px/1 'DM Sans',sans-serif;letter-spacing:.16em;text-transform:uppercase}.eyebrow span{width:32px;height:2px;background:var(--coral)}.eyebrow.light{color:#ffffffb3}.eyebrow.light span{background:var(--yellow)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:'DM Sans',sans-serif;letter-spacing:-.055em}h1 em,h2 em{font-family:'Fraunces',Georgia,serif;font-weight:600}h2{font-size:clamp(48px,6vw,80px);line-height:.97;margin-bottom:0}.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:0 26px;border-radius:100px;font:700 14px 'DM Sans',sans-serif;transition:.2s}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--ink);color:#fff;box-shadow:0 10px 30px #24202b2e}.button-cream{background:var(--cream);color:var(--ink)}.button-outline{color:#fff;border:1px solid #ffffff73}.text-link{display:inline-flex;align-items:center;gap:10px;font:700 14px 'DM Sans',sans-serif;border-bottom:1px solid;padding-bottom:5px}
.site-header{position:fixed;inset:0 0 auto;z-index:50;background:#fff9efe6;border-bottom:1px solid #24202b14;backdrop-filter:blur(14px)}.header-inner{height:84px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:flex;align-items:center;gap:10px;font:500 20px/1 'DM Sans',sans-serif}.brand strong{font-family:'Fraunces',serif;color:#db4f76}.brand small{display:block;margin-top:5px;font:700 8px/1 'DM Sans',sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#777}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:50% 44% 53% 46%;background:var(--coral);color:#fff;font:600 italic 24px 'Fraunces',serif;transform:rotate(-7deg)}.main-nav{display:flex;gap:28px;font:600 13px 'DM Sans',sans-serif}.main-nav a{padding:10px 0}.main-nav a:hover{color:#d9526b}.header-cta{display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;padding:13px 20px;border-radius:30px;font:700 12px 'DM Sans',sans-serif}.header-cta span{color:var(--yellow);font-size:18px}.menu-button,.mobile-phone{display:none}
.hero{position:relative;min-height:860px;overflow:hidden;padding-top:84px;background:var(--cream)}.hero-content{min-height:714px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:52px;position:relative;z-index:2;padding-top:40px}.hero-copy{padding:56px 0 80px}.hero-copy h1{font-size:clamp(70px,8vw,116px);line-height:.79;margin:0 0 38px}.hero-copy h1 em{color:#d95075}.hero-lede{max-width:490px;margin-bottom:32px;font:500 clamp(17px,2vw,21px)/1.55 'DM Sans',sans-serif;color:#625c67}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap}.hero-proof{display:flex;gap:15px;align-items:center;margin-top:48px}.hero-proof p{margin:0;font:500 12px/1.55 'DM Sans',sans-serif;color:#6c6670}.hero-proof strong{color:var(--ink)}.avatars{display:flex}.avatars span{display:grid;place-items:center;width:36px;height:36px;margin-left:-8px;border:3px solid var(--cream);border-radius:50%;background:var(--pink);font-weight:bold}.avatars span:first-child{margin:0;background:var(--yellow)}.avatars span:last-child{background:var(--turquoise)}.hero-visual{position:relative;height:620px}.hero-photo-wrap{position:absolute;inset:38px 5% 20px 8%;border-radius:50% 45% 48% 46%;overflow:hidden;transform:rotate(2deg);box-shadow:0 30px 80px #3a2d3a2e}.hero-photo{object-fit:cover;object-position:center 42%;transform:scale(1.03) rotate(-2deg)}.sticker{position:absolute;display:grid;place-items:center;border:5px solid var(--ink);box-shadow:5px 6px 0 var(--ink);font-weight:900}.sticker-smile{width:82px;height:82px;border-radius:50%;left:1%;top:12%;background:var(--yellow);font-size:47px;transform:rotate(-12deg)}.sticker-flower{right:2%;bottom:14%;width:76px;height:76px;border-radius:48% 52% 47% 53%;background:var(--pink);font-size:40px;transform:rotate(13deg)}.hero-note{position:absolute;display:flex;gap:12px;align-items:center;left:0;bottom:50px;padding:16px 20px;border-radius:16px;background:#fff;box-shadow:0 12px 30px #24202b24;transform:rotate(-3deg);font:500 12px/1.45 'DM Sans',sans-serif}.hero-note svg{color:#d94e72}.hero-badge{position:absolute;top:72px;right:-2%;width:118px;height:118px;display:grid;place-content:center;text-align:center;border-radius:50%;background:var(--turquoise);border:2px solid var(--ink);font:700 10px/1.2 'DM Sans',sans-serif;text-transform:uppercase;transform:rotate(9deg)}.hero-badge span{font:700 34px/1 'Fraunces',serif}.hero-orbit{position:absolute;border:1px solid #24202b17;border-radius:50%}.orbit-one{width:620px;height:620px;right:-160px;top:50px}.orbit-two{width:280px;height:280px;left:-140px;bottom:60px}.marquee{overflow:hidden;padding:18px 0;background:var(--ink);color:#fff;transform:rotate(-1.4deg) scale(1.02)}.marquee div{width:max-content;font:700 18px 'DM Sans',sans-serif;letter-spacing:.08em;white-space:nowrap}.marquee i{margin:0 24px;color:var(--yellow)}
.needs{background:var(--paper)}.split-heading{display:grid;grid-template-columns:1.2fr .8fr;align-items:end;gap:80px;margin-bottom:62px}.split-heading>p{max-width:430px;margin:0 0 6px;color:#6f6872;font:500 18px/1.7 'DM Sans',sans-serif}.needs-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.need-card{min-height:355px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid var(--ink);border-radius:24px;transition:.25s}.need-card:hover{transform:translateY(-8px) rotate(-1deg);box-shadow:8px 9px 0 var(--ink)}.need-card.coral{background:#f58b7d}.need-card.violet{background:#b7a1d5}.need-card.pink{background:#f3b0c8}.need-card.turquoise{background:#73cec4}.need-top{display:flex;justify-content:space-between}.need-icon{width:55px;height:55px;display:grid;place-items:center;border-radius:50%;background:#ffffff8c}.need-number{font:700 12px 'DM Sans',sans-serif}.need-card h3{margin-bottom:12px;font:700 25px/1.1 'DM Sans',sans-serif;letter-spacing:-.04em}.need-card p{margin:0;max-width:210px;font:500 14px/1.55 'DM Sans',sans-serif}.round-arrow{align-self:flex-end;display:grid;place-items:center;width:40px;height:40px;margin-top:22px;border-radius:50%;background:var(--ink);color:#fff}.needs-more{text-align:center;margin:38px 0 0;color:#777079;font:500 13px 'DM Sans',sans-serif}
.about{background:var(--ink);color:#fff;overflow:hidden}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:110px}.about-gallery{position:relative;height:660px}.about-main-photo{position:absolute;inset:30px 10% 30px 5%;border-radius:48% 48% 28px 28px;overflow:hidden}.about-main-photo img{object-fit:cover;object-position:center 30%;filter:none}.about-small-photo{position:absolute;width:190px;height:220px;right:-2%;bottom:0;border:8px solid var(--cream);transform:rotate(5deg);overflow:hidden}.about-small-photo img{object-fit:cover}.about-word{position:absolute;left:-5%;bottom:30px;padding:10px 18px;background:var(--yellow);color:var(--ink);font:600 italic 28px 'Fraunces',serif;transform:rotate(-8deg)}.about-copy h2 em{color:var(--pink)}.about-lede{margin:36px 0 25px!important;color:#fff!important;font:600 21px/1.45 'DM Sans',sans-serif!important}.about-copy>p{max-width:530px;color:#c9c3cb;font:400 16px/1.75 'DM Sans',sans-serif}.about-values{display:flex;flex-wrap:wrap;gap:18px;margin:30px 0 38px}.about-values span{display:flex;align-items:center;gap:9px;font:600 12px 'DM Sans',sans-serif}.about-values svg{color:var(--yellow)}
.offers{background:#fffaf1}.centered{text-align:center;margin-bottom:62px}.centered .eyebrow{justify-content:center}.centered h2 em{color:#d65073}.offers-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.offer-featured{overflow:hidden;border-radius:28px;background:var(--coral);border:1px solid var(--ink)}.offer-photo{position:relative;height:390px;overflow:hidden}.offer-photo img{object-fit:cover}.offer-content{display:grid;grid-template-columns:auto 1fr auto;gap:24px;align-items:end;padding:30px}.offer-content h3,.offer-compact h3{font:700 29px/1.1 'DM Sans',sans-serif;letter-spacing:-.04em;margin-bottom:10px}.offer-content p,.offer-compact p{font:500 14px/1.55 'DM Sans',sans-serif;margin:0}.offer-index{align-self:start;font:700 12px 'DM Sans',sans-serif}.offer-audience{text-transform:uppercase;letter-spacing:.12em;font-size:10px!important;font-weight:700!important;margin-bottom:9px!important}.offer-content>a,.offer-compact>a{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff}.offer-stack{display:grid;gap:20px}.offer-compact{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr;gap:18px 20px;min-height:280px;padding:30px;border:1px solid var(--ink);border-radius:28px}.offer-compact>svg{grid-column:1}.offer-compact>div{grid-column:2}.offer-compact>a{grid-column:3;align-self:end}.offer-compact.kids{background:var(--yellow)}.offer-compact.groups{background:var(--turquoise)}
.process{background:#6f5797;color:#fff}.process .shell{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.process-heading{position:sticky;top:140px;align-self:start}.process-heading h2{font-size:clamp(45px,5vw,70px)}.process-heading h2 em{color:var(--yellow)}.process-heading>p:last-child{margin:28px 0 0;color:#ded5e9;font:400 16px/1.6 'DM Sans',sans-serif;max-width:380px}.steps{display:grid}.step{position:relative;display:grid;grid-template-columns:70px 1fr;gap:28px;padding:30px 0 54px}.step-number{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:var(--yellow);color:var(--ink);font:700 13px 'DM Sans',sans-serif}.step h3{margin:6px 0 10px;font:700 25px 'DM Sans',sans-serif}.step p{margin:0;color:#ded5e9;font:400 15px/1.65 'DM Sans',sans-serif}.step-line{position:absolute;left:28px;top:92px;bottom:0;border-left:2px dotted #ffffff59}
.testimonial{background:var(--paper)}.testimonial-box{position:relative;text-align:center;padding:70px 10%;border:1px solid var(--ink);border-radius:32px;background:#f8c5d7;box-shadow:10px 12px 0 var(--ink)}.quote-icon{position:absolute;top:-26px;left:8%;padding:11px;border-radius:50%;background:var(--yellow);border:1px solid var(--ink)}.stars{display:flex;justify-content:center;gap:5px;margin-bottom:25px;color:#d45172}.testimonial blockquote{max-width:850px;margin:0 auto 24px;font:600 italic clamp(26px,3.4vw,43px)/1.3 'Fraunces',serif}.testimonial-box>p{font:600 13px 'DM Sans',sans-serif}.testimonial-dots{display:flex;justify-content:center;gap:8px;margin-top:25px}.testimonial-dots span{width:7px;height:7px;border-radius:50%;background:#24202b4d}.testimonial-dots .active{width:24px;border-radius:8px;background:var(--ink)}
.place{background:#fffaf1}.place-grid{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:90px}.place-copy h2 em{color:#d45172}.place-copy>p:not(.eyebrow){margin:30px 0;color:#706a73;font:400 17px/1.7 'DM Sans',sans-serif}.place-details{display:grid;gap:16px;margin:30px 0 38px}.place-details span{display:flex;align-items:center;gap:13px;font:600 14px 'DM Sans',sans-serif}.place-details svg{color:#d45172}.place-gallery{position:relative;height:610px}.place-large{position:absolute;inset:0 8% 0 5%;overflow:hidden;border-radius:180px 180px 28px 28px}.place-large img,.place-small img{object-fit:cover}.place-small{position:absolute;right:-2%;top:60px;width:210px;height:250px;border:8px solid #fff;overflow:hidden;transform:rotate(5deg);box-shadow:0 18px 40px #24202b26}.place-stamp{position:absolute;left:-2%;bottom:30px;display:grid;place-content:center;text-align:center;width:138px;height:138px;border-radius:50%;background:var(--yellow);border:2px solid var(--ink);font:800 11px/1.25 'DM Sans',sans-serif;letter-spacing:.12em;transform:rotate(-10deg)}.place-stamp span{font-size:28px;line-height:1.3}
.cta{position:relative;overflow:hidden;background:#d65073;color:#fff;padding:110px 0}.cta-inner{position:relative;z-index:2;text-align:center}.cta .eyebrow{justify-content:center}.cta h2{font-size:clamp(65px,9vw,120px);line-height:.8}.cta h2 em{color:var(--yellow)}.cta-inner>p:not(.eyebrow){margin:35px auto 30px;font:500 18px 'DM Sans',sans-serif}.cta-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.cta-shape{position:absolute;width:500px;height:500px;left:-260px;top:-200px;border:80px solid #ffd64f38;border-radius:50%}footer{padding:70px 0 24px;background:var(--ink);color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr .8fr 1fr;gap:50px;padding-bottom:55px}.footer-brand{color:#fff}.footer-grid>p,.footer-contact{color:#aaa3ad;font:400 13px/1.7 'DM Sans',sans-serif}.footer-grid nav,.footer-contact{display:flex;flex-direction:column;gap:12px;font:600 13px 'DM Sans',sans-serif}.footer-contact strong{color:#fff}.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;border-top:1px solid #ffffff1f;color:#827d84;font:500 10px 'DM Sans',sans-serif;text-transform:uppercase;letter-spacing:.09em}.footer-bottom span{display:flex;align-items:center;gap:4px}.footer-bottom svg{color:var(--coral)}
@media(max-width:1000px){.main-nav{display:none}.header-cta{margin-left:auto}.menu-button{display:grid;place-items:center;background:none;border:0;padding:8px}.main-nav.open{display:flex;position:absolute;left:0;right:0;top:84px;flex-direction:column;gap:0;padding:20px 24px 28px;background:var(--cream);border-bottom:1px solid #ddd}.main-nav.open a{padding:14px 0;border-bottom:1px solid #e5ddd2}.mobile-phone{display:flex!important;align-items:center;gap:8px}.hero-content{grid-template-columns:1fr 1fr;gap:15px}.needs-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:55px}.offers-layout,.place-grid{grid-template-columns:1fr}.place-copy{max-width:650px}.footer-grid{grid-template-columns:1fr 1fr}.process .shell{gap:50px}}
@media(max-width:760px){.shell{width:min(100% - 30px,1180px)}.section{padding:82px 0}.header-inner{height:72px}.site-header .brand small{display:none}.header-cta{display:none}.main-nav.open{top:72px}.hero{padding-top:72px}.hero-content{display:flex;flex-direction:column;padding-top:15px}.hero-copy{padding:60px 0 15px;z-index:2}.hero-copy h1{font-size:clamp(66px,21vw,92px)}.hero-lede{font-size:17px}.hero-visual{width:100%;height:520px}.hero-photo-wrap{inset:20px 4%}.hero-note{left:2%;bottom:25px}.hero-badge{right:0;top:35px}.sticker-smile{left:-2%;top:9%}.sticker-flower{right:0}.split-heading{grid-template-columns:1fr;gap:28px;margin-bottom:42px}.needs-grid{grid-template-columns:1fr}.need-card{min-height:280px}.about-grid{grid-template-columns:1fr;gap:45px}.about-gallery{height:520px}.about-copy h2{font-size:55px}.offers-layout{grid-template-columns:1fr}.offer-content{grid-template-columns:auto 1fr}.offer-content>a{grid-column:2;justify-self:end}.offer-compact{grid-template-columns:auto 1fr}.offer-compact>a{grid-column:2}.process .shell{grid-template-columns:1fr;gap:40px}.process-heading{position:static}.step{grid-template-columns:58px 1fr;gap:18px}.testimonial-box{padding:60px 23px}.place-gallery{height:520px}.place-small{width:150px;height:190px}.place-stamp{width:110px;height:110px;font-size:9px}.footer-grid{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;gap:12px}.cta h2{font-size:66px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button,.need-card{transition:none}}

/* Les images sont de simples fichiers locaux, sans composant ni traitement serveur. */
.hero-photo,.about-main-photo img,.about-small-photo img,.offer-photo img,.place-large img,.place-small img{width:100%;height:100%;object-fit:cover}
.offer-compact>span:nth-child(2){grid-column:1;font-size:35px;line-height:1}

/* Palette des quatre besoins — version 3.2 */
.need-card.coral{background:#c7f3f4}
.need-card.violet{background:#f5abc0}
.need-card.pink{background:#d7dbfa}
.need-card.turquoise{background:#f4e99a}
.need-icon{overflow:hidden;padding:0}
.need-icon img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.need-card.coral .need-icon{border:2px solid #57bfc3}
.need-card.violet .need-icon{border:2px solid #c95f7d}
.need-card.pink .need-icon{border:2px solid #929bd0}
.need-card.turquoise .need-icon{border:2px solid #c2ad2c}
.need-card.coral{border:2px solid #57bfc3}
.need-card.violet{border:2px solid #c95f7d}
.need-card.pink{border:2px solid #929bd0}
.need-card.turquoise{border:2px solid #c2ad2c}

/* Palette globale SophroJolie — version 3.8 */
:root{--coral:#f5abc0;--pink:#f5abc0;--yellow:#f4e99a;--turquoise:#c7f3f4;--violet:#d7dbfa}
.hero-copy h1 em,.brand strong,.centered h2 em,.place-copy h2 em{color:#c95f7d}
.process{background:var(--violet);color:var(--ink)}
.process .eyebrow.light{color:var(--ink)}
.process .eyebrow.light span{background:var(--pink)}
.process-heading h2 em{color:#7d86c3}
.process-heading>p:last-child,.step p{color:#504d60}
.testimonial-box{background:var(--pink)}
.cta{background:var(--pink);color:var(--ink)}
.cta .eyebrow.light{color:var(--ink)}
.cta .eyebrow.light span{background:var(--turquoise)}
.cta h2 em{color:#9b8920}
.cta .button-outline{color:var(--ink);border-color:#24202b73}

/* Contours assortis aux quatre couleurs — version 3.9 */
.brand-mark,.sticker-flower,.testimonial-box{border:2px solid #c95f7d}
.sticker-smile,.about-word,.offer-compact.kids,.step-number,.quote-icon,.place-stamp{border:2px solid #c2ad2c}
.hero-badge,.offer-compact.groups{border:2px solid #57bfc3}
.offer-featured{border:2px solid #c95f7d}
.process{border-block:2px solid #929bd0}
.cta{border-block:2px solid #c95f7d}
.avatars span:first-child{border:2px solid #c2ad2c}
.avatars span:nth-child(2){border:2px solid #c95f7d}
.avatars span:last-child{border:2px solid #57bfc3}

/* Grands bandeaux sombres — version 4.0 */
.process,.cta{background:var(--ink);color:#fff;border-color:#3d3744}
.process .eyebrow.light,.cta .eyebrow.light{color:#fff}
.process-heading>p:last-child,.step p,.cta-inner>p:not(.eyebrow){color:#d7d1d9}
.process-heading h2 em{color:var(--violet)}
.cta h2 em{color:var(--yellow)}
.cta .button-outline{color:#fff;border-color:#ffffff73}
.brand small{text-transform:none}

/* Pastilles photo des accompagnements — version 4.6 */
.offer-mini-photo{display:block;width:58px;height:58px;overflow:hidden;border:2px solid #c95f7d;border-radius:50%;background:#fff}
.offer-mini-photo img{width:100%;height:100%;object-fit:cover}
.offer-photo>.offer-mini-photo{position:absolute;top:24px;left:24px;width:70px;height:70px;box-shadow:0 8px 20px #24202b35}
.offer-compact.kids .offer-mini-photo{border-color:#c2ad2c}
.offer-compact.groups .offer-mini-photo{border-color:#57bfc3}

/* Placement des pastilles sans numérotation — version 4.7 */
.offer-content{grid-template-columns:minmax(0,1fr) auto}
.offer-content>div{min-width:0}
.offer-content h3{overflow-wrap:anywhere}
.offer-compact>.offer-mini-photo{grid-column:1;grid-row:1;transform:translateX(-7px)}

/* Carte Sommeil recto-verso — version 4.9 */
.sleep-card{display:block;padding:0;border:0!important;background:transparent!important;perspective:1000px;cursor:pointer;text-align:left;color:var(--ink)}
.sleep-card-inner{position:relative;display:block;width:100%;height:392px;transition:transform .6s;transform-style:preserve-3d}
.sleep-card.is-flipped .sleep-card-inner{transform:rotateY(180deg)}
.sleep-card-face{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:28px;border:2px solid #c95f7d;border-radius:24px;background:var(--pink);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.sleep-card-back{align-items:center;justify-content:center;gap:30px;text-align:center;transform:rotateY(180deg);font:600 italic 28px/1.3 'Fraunces',serif}
.sleep-card-back .round-arrow{align-self:center;margin-top:0}
.need-title{display:block;margin-bottom:12px;font:700 25px/1.1 'DM Sans',sans-serif;letter-spacing:-.04em}
.need-copy{display:block;max-width:210px;font:500 14px/1.55 'DM Sans',sans-serif}
.sleep-card:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.sleep-card:hover{box-shadow:none}
.sleep-card .need-icon{width:68px;height:68px}
.sleep-card.coral .sleep-card-face{background:#c7f3f4;border-color:#57bfc3}
.sleep-card.violet .sleep-card-face{background:#f5abc0;border-color:#c95f7d}
.sleep-card.pink .sleep-card-face{background:#d7dbfa;border-color:#929bd0}
.sleep-card.turquoise .sleep-card-face{background:#f4e99a;border-color:#c2ad2c}
.sleep-card.coral .sleep-card-back,.sleep-card.violet .sleep-card-back,.sleep-card.pink .sleep-card-back{gap:12px}
.sleep-card.coral .sleep-card-back>span:nth-child(2),.sleep-card.violet .sleep-card-back>span:nth-child(2),.sleep-card.pink .sleep-card-back>span:nth-child(2){font:500 16px/1.35 'DM Sans',sans-serif}
@media(max-width:760px){.sleep-card-inner{height:392px}}
.sleep-card.turquoise .sleep-card-back{gap:12px}
.sleep-card.turquoise .sleep-card-back>span:nth-child(2){font:500 16px/1.35 'DM Sans',sans-serif}

/* Accompagnements recto-verso — version 5.5 */
.offer-flip-card{display:block;overflow:visible;border:0!important;background:transparent!important;perspective:1200px;cursor:pointer}
.offer-flip-inner{position:relative;width:100%;height:100%;transition:transform .6s;transform-style:preserve-3d}
.offer-flip-card.is-flipped .offer-flip-inner{transform:rotateY(180deg)}
.offer-flip-face{position:absolute;inset:0;overflow:hidden;border:2px solid;border-radius:28px;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.offer-flip-back{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;text-align:center;transform:rotateY(180deg);font:600 italic 30px/1.3 'Fraunces',serif}
.offer-featured.offer-flip-card{min-height:570px}
.offer-featured .offer-flip-inner{height:570px}
.offer-featured-front,.offer-featured .offer-flip-back{background:var(--pink);border-color:#c95f7d}
.offer-compact.offer-flip-card{display:block;min-height:280px;padding:0}
.offer-compact .offer-flip-inner{height:280px}
.offer-compact-front{display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto 1fr;gap:18px 20px;padding:30px}
.offer-compact-front>.offer-mini-photo{grid-column:1;grid-row:1;transform:translateX(-7px)}
.offer-compact-front>div{grid-column:2}
.offer-compact-front>.offer-action{grid-column:3;align-self:end}
.offer-compact.kids .offer-flip-face{background:var(--yellow);border-color:#c2ad2c}
.offer-compact.groups .offer-flip-face{background:var(--turquoise);border-color:#57bfc3}
.offer-action{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:var(--ink);color:#fff;font:400 16px/1 Arial,sans-serif}
.offer-flip-card:focus-visible{outline:3px solid var(--ink);outline-offset:4px}
.offer-flip-back .offer-mini-photo{transform:none}
.offer-featured .offer-flip-back{align-items:stretch;text-align:left;gap:18px;padding:36px;font:500 16px/1.5 'DM Sans',sans-serif}
.offer-back-copy{display:grid;gap:18px}
.offer-back-copy p{margin:0}
.offer-back-copy strong{display:block;margin-bottom:4px;font-weight:700}
.offer-prices{container-type:inline-size}
.offer-prices strong{white-space:nowrap;font-size:clamp(10px,5cqw,16px)}
.offer-featured .offer-flip-back .offer-action{align-self:flex-end;flex:none}
@media(max-width:760px){.offer-featured .offer-flip-back{padding:24px;gap:12px;font-size:15px;line-height:1.4}.offer-back-copy{gap:12px}}
.offer-compact.kids.offer-flip-card{min-height:590px}
.offer-compact.kids .offer-flip-inner{height:590px}
.offer-compact.kids .offer-flip-back{align-items:stretch;text-align:left;gap:12px;padding:28px;font:500 14px/1.4 'DM Sans',sans-serif}
.offer-compact.kids .offer-flip-back .offer-action{align-self:flex-end;flex:none}
.offer-compact.groups.offer-flip-card{min-height:590px}
.offer-compact.groups .offer-flip-inner{height:590px}
.offer-compact.groups .offer-flip-back{align-items:stretch;text-align:left;gap:12px;padding:28px;font:500 14px/1.4 'DM Sans',sans-serif}
.offer-compact.groups .offer-flip-back .offer-action{align-self:flex-end;flex:none}
@media(max-width:760px){
  .offer-compact.kids.offer-flip-card{min-height:690px}
  .offer-compact.kids .offer-flip-inner{height:690px}
  .offer-compact.kids .offer-flip-back{padding:24px;font-size:15px;line-height:1.4}
  .offer-compact.groups.offer-flip-card{min-height:690px}
  .offer-compact.groups .offer-flip-inner{height:690px}
  .offer-compact.groups .offer-flip-back{padding:24px;font-size:15px;line-height:1.4}
}
@media(max-width:760px){.offer-featured.offer-flip-card{min-height:570px}.offer-compact-front{grid-template-columns:auto 1fr}.offer-compact-front>.offer-action{grid-column:2;justify-self:end}}

/* Bande de transition oblique contenue dans son propre cadre : aucun texte coupé. */
.marquee{position:relative;z-index:3;display:flex;justify-content:center;overflow:hidden;margin-top:-10px;padding:30px 0;transform:none;clip-path:polygon(0 18%,100% 0,100% 82%,0 100%)}
.marquee div{flex:none;padding:0 2vw;line-height:1.2;text-align:center}
.brand-logo{display:block;flex:none;width:56px;height:64px;margin:0;object-fit:contain}
.brand{gap:12px}
.brand strong{font-family:inherit;font-weight:inherit}
.footer-brand .brand-logo{margin:0;background:transparent;filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}
@media(max-width:760px){
  .marquee{padding:22px 0}
  .marquee div{width:auto;max-width:100%;padding:0 18px;font-size:12px;line-height:1.7;white-space:normal}
  .marquee i{margin:0 8px}
  .marquee div span{display:block;white-space:nowrap}
  .marquee .marquee-middle{display:none}
  .header-inner{gap:8px}
  .site-header .brand{min-width:0;gap:8px;font-size:18px}
  .site-header .brand-mark{flex:none;width:38px;height:38px}
  .site-header .brand-logo{width:50px;height:60px;margin:0}
  .site-header .brand small{display:block;font-size:9px;letter-spacing:.03em;white-space:nowrap}
}

/* Ajustements tactiles et responsive — version 7.7 */
section[id]{scroll-margin-top:72px}
@media(max-width:760px){
  h2{font-size:clamp(42px,11.5vw,56px);line-height:1.02}
  .section{padding:70px 0}
  .menu-button{width:48px;height:48px;font-size:25px;cursor:pointer}
  .main-nav.open{max-height:calc(100dvh - 72px);overflow-y:auto;box-shadow:0 18px 28px #24202b24}
  .main-nav.open a{min-height:48px;display:flex;align-items:center}
  .hero{min-height:0}
  .hero-content{min-height:0;align-items:stretch}
  .hero-copy{width:100%;min-width:0;padding:45px 0 24px}
  .hero-copy h1{font-size:clamp(49px,14.5vw,76px);line-height:.88;margin-bottom:28px}
  .hero-lede{margin-bottom:25px}
  .hero-actions{gap:20px}
  .hero-proof{margin-top:34px}
  .hero-visual{height:clamp(360px,112vw,480px)}
  .hero-photo-wrap{inset:16px 7% 20px}
  .hero-badge{width:90px;height:90px;top:18px;right:0;font-size:8px}
  .hero-badge span{font-size:27px}
  .sticker-smile{width:60px;height:60px;font-size:34px;border-width:3px}
  .sticker-flower{width:58px;height:58px;font-size:30px;border-width:3px}
  .hero-note{max-width:80%;padding:11px 13px;font-size:11px}
  .about-gallery{height:clamp(380px,112vw,520px)}
  .about-copy h2{font-size:clamp(42px,11.5vw,55px)}
  .centered{margin-bottom:40px}
  .offer-featured.offer-flip-card{min-height:500px}
  .offer-featured .offer-flip-inner{height:500px}
  .offer-photo{height:clamp(200px,58vw,310px)}
  .offer-content{padding:24px;gap:12px}
  .offer-content{grid-template-columns:1fr}
  .offer-content>div{min-width:0}
  .offer-content>.offer-action{grid-column:1;justify-self:end}
  .offer-content h3,.offer-compact h3{font-size:clamp(24px,7vw,29px)}
  .offer-compact.offer-flip-card{min-height:390px}
  .offer-compact .offer-flip-inner{height:390px}
  .offer-compact-front{grid-template-columns:1fr;grid-template-rows:auto 1fr auto;gap:14px;padding:24px}
  .offer-compact-front>.offer-mini-photo,.offer-compact-front>div,.offer-compact-front>.offer-action{grid-column:1}
  .offer-compact-front>.offer-mini-photo{grid-row:1;transform:none}
  .offer-compact-front>div{grid-row:2;min-width:0}
  .offer-compact-front>.offer-action{grid-row:3;justify-self:end}
  .process-heading h2{font-size:clamp(40px,10.5vw,55px)}
  .place-gallery{height:clamp(380px,112vw,520px)}
  .cta h2{font-size:clamp(43px,12vw,58px);line-height:.95}
  .footer-contact a{overflow-wrap:anywhere}
}
@media(max-width:390px){
  .sleep-card-face{padding:22px}
  .offer-featured.offer-flip-card{min-height:520px}
  .offer-featured .offer-flip-inner{height:520px}
}
@media(max-width:760px){
  .sleep-card .need-copy{max-width:none;font-size:18px;line-height:1.45}
  .sleep-card .sleep-card-back>span:nth-child(2){font:500 18px/1.4 'DM Sans',sans-serif!important}
}

.place-details .practical-title{margin:0 0 4px;font:700 18px/1.4 'DM Sans',sans-serif}
.about-main-photo img{transform:scale(1.12);transform-origin:50% 40%}
.about-botanical{position:absolute;inset:30px 10% 30px 5%;color:var(--pink);pointer-events:none}
.about-botanical svg{width:100%;height:100%;overflow:visible}
.quote-icon.testimonial-heart{width:64px;height:64px;top:-32px;padding:0;border:0;border-radius:0;background:none;object-fit:contain}
.reviews-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab;touch-action:pan-x pan-y;min-width:0}
.reviews-track::-webkit-scrollbar{display:none}
.reviews-track.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.review-slide{flex:0 0 100%;min-width:0;scroll-snap-align:start;display:flex;flex-direction:column;justify-content:center;padding:4px 8px}
.review-slide>p{margin:0;font:600 14px/1.5 'DM Sans',sans-serif}
.testimonial .review-slide blockquote{font-size:18px;line-height:1.6}
.reviews-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:28px}
.reviews-controls>button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--ink);border-radius:50%;background:transparent;color:var(--ink);font-size:22px;cursor:pointer}
.reviews-controls>button:hover{background:#ffffff60}
.reviews-dots{display:flex;align-items:center;gap:0}
.reviews-dots button{position:relative;width:28px;height:44px;border:0;background:transparent;cursor:pointer;padding:0}
.reviews-dots button::after{content:"";position:absolute;left:10px;top:18px;width:8px;height:8px;border-radius:50%;background:#24202b55}
.reviews-dots button[aria-pressed="true"]::after{background:var(--ink);transform:scale(1.4)}
.reviews-track:focus-visible,.reviews-controls button:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.reviews-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:380px){.reviews-controls{gap:8px}.reviews-dots button{width:24px}.reviews-dots button::after{left:8px}}
.place-details .practical-item{display:grid;grid-template-columns:18px minmax(0,1fr);gap:13px;align-items:start;text-align:left;line-height:1.5}
.place-details .practical-icon{font-style:normal;text-align:center;line-height:21px}
.place-details .practical-item svg{color:#000;margin-top:2px}

/* Rameaux décoratifs, à distance des textes et des visages. */
.offers::before,.place::after{content:"";position:absolute;background:url('../res/rameau-vegetal.svg') center/contain no-repeat;pointer-events:none}
.hero-botanical{position:absolute;inset:38px 5% 20px 8%;transform:rotate(2deg);pointer-events:none;z-index:1}
.hero-botanical svg{width:100%;height:100%;overflow:visible}
.hero-note{z-index:2}
.offers,.place{position:relative;isolation:isolate}
.offers::before{width:125px;height:205px;left:12px;top:12px;transform:rotate(40deg);opacity:.42;z-index:-1}
.place::after{width:140px;height:230px;right:8px;bottom:10px;transform:rotate(-25deg);opacity:.42;z-index:-1}
@media(max-width:760px){
  .hero-botanical{inset:16px 7% 20px}
  .offers::before{width:65px;height:110px;left:0;top:2px;opacity:.28}
  .place::after{width:80px;height:135px;right:0;bottom:0;opacity:.28}
}

/* Trois accompagnements alignés, à dimensions identiques. */
.offers-layout{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.offer-stack{display:contents}
.offers-layout .offer-featured.offer-flip-card,
.offers-layout .offer-compact.offer-flip-card{height:640px;min-height:640px}
.offers-layout .offer-featured .offer-flip-inner,
.offers-layout .offer-compact .offer-flip-inner{height:100%}
.offer-featured-front{display:flex;flex-direction:column}
.offer-featured-front .offer-photo{height:auto;flex:1;min-height:0}
/* Keep the illustration space reserved until replacement artwork is ready. */
.offers-layout .offer-photo img{visibility:hidden}
.offers-layout .offer-content{min-height:202px;align-items:start}
.offers-layout .offer-content>.offer-action{align-self:end}
.offers-layout .offer-flip-card .offer-flip-back{padding-bottom:24px}
.offers-layout .offer-flip-back .offer-back-copy{margin-top:auto}
.offers-layout .offer-flip-back>.offer-action{margin-top:auto}
.offer-text-only{justify-content:center}
.offer-text-only .offer-content{width:100%}
.offer-compact-front{display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.offer-compact-front>.offer-action{align-self:flex-end}
@media(max-width:1000px){.offers-layout{grid-template-columns:1fr}}
@media(max-width:760px){
  .offers-layout .offer-featured.offer-flip-card,
  .offers-layout .offer-compact.offer-flip-card{height:690px;min-height:690px}
  .offers-layout .offer-content{min-height:260px}
}
