/* Une présentation éditoriale centrée sur l'expertise et la collaboration. */
.presentation-page .container { max-width:1280px; padding-inline:clamp(22px,4.5vw,60px) }
.presentation-page { --bg:#fbf9f3; --paper:#fff; --warm-line:#d6d8cd; --blush:#f5e5e9; --blush-line:#e9c6d4; background:var(--bg) }
.presentation-page nav { background:var(--bg); padding-block:22px }
.presentation-page .nav-links { gap:24px }
.presentation-page .nav-links a { font-size:12px; color:var(--ink-2); text-transform:none; letter-spacing:0 }
.presentation-page .nav-links a:hover { color:var(--accent) }
.presentation-page .nav-links a.nav-cta { color:white; border-radius:5px; padding:13px 18px }
.presentation-page .btn-primary,.presentation-page .btn-secondary { border-radius:5px; padding:15px 21px; font-size:13px; white-space:normal; line-height:1.4; min-height:48px }
.presentation-page .btn-primary { background:var(--accent); color:white }
.presentation-page .btn-primary:hover { background:#2b472b }
.presentation-page .btn-secondary { background:transparent; border:1px solid var(--warm-line) }
.presentation-page h1,.presentation-page h2,.presentation-page h3 { color:var(--accent) }
.presentation-page h1,.presentation-page h2 { font-family:'DM Serif Display',Georgia,serif; font-weight:400; letter-spacing:-.025em }
.presentation-page p { text-wrap:pretty }
.presentation-page .eyebrow { font-size:10px; text-transform:uppercase; letter-spacing:.16em; font-weight:600; color:var(--accent); margin:0 }
.presentation-page .text-link { display:inline-flex; align-items:center; gap:15px; font-size:13px; font-weight:500; color:var(--accent); text-decoration:none; text-underline-offset:5px; line-height:1.6 }
.presentation-page .text-link:hover { text-decoration:underline }
.presentation-page .text-link span { font-size:17px }
.presentation-page .hero { display:grid; grid-template-columns:1.15fr .85fr; gap:clamp(42px,6vw,90px); align-items:center; padding:78px 0 76px; min-height:620px }
.presentation-page .hero-copy { max-width:660px }
.presentation-page .hero h1 { font-size:clamp(47px,5vw,70px); line-height:1.08; max-width:650px; margin:27px 0 25px; font-weight:400 }
.presentation-page .hero h1 em { font-style:italic; color:var(--pink-ink) }
.presentation-page .hero h1::after { content:''; display:block; width:50px; height:3px; background:var(--pink); margin-top:28px }
.presentation-page .hero-sub { max-width:550px; font-size:16px; color:var(--ink-2); font-weight:400; line-height:1.85; margin-bottom:28px }
.presentation-page .hero-ctas { display:flex; gap:20px 26px; align-items:center; flex-wrap:wrap; margin:0 0 23px }
.presentation-page .hero-footnote { font-size:11px; color:var(--ink-2); line-height:1.8 }
.hero-offers { align-self:stretch; display:flex; flex-direction:column; justify-content:center; padding:36px; background:var(--blush); border:1px solid var(--blush-line); border-radius:8px; position:relative; overflow:hidden }
.hero-offers::before { content:''; position:absolute; width:160px; height:160px; border:1px solid #c1488350; border-radius:50%; right:-75px; top:-75px; pointer-events:none }
.hero-offers-label { color:var(--pink-ink); text-transform:uppercase; letter-spacing:.14em; font-size:10px; font-weight:600; margin:0 0 21px }
.presentation-page .hero-offers h2 { color:var(--accent); font-size:clamp(34px,3.1vw,44px); line-height:1.15; margin:0 0 19px }
.hero-offers h2 em { font-style:italic; color:var(--pink-ink) }
.hero-offers-intro { max-width:330px; font-size:13px; line-height:1.8; color:var(--ink-2); margin-bottom:28px }
.hero-offer-row { border-top:1px solid #d6bac5; padding:19px 3px; display:flex; justify-content:space-between; align-items:center; gap:12px; text-decoration:none; transition:background .28s ease,padding .28s ease,transform .28s ease }
.hero-offer-row:last-of-type { border-bottom:1px solid #d6bac5 }
.hero-offer-row:hover { background:#fff8; padding-inline:12px; transform:translateX(3px) }
.hero-offer-row > span:first-child { display:grid; gap:4px }
.hero-offer-row strong { color:var(--accent); font-size:17px; font-weight:600 }
.hero-offer-row small { font-size:11px; color:var(--ink-2) }
.hero-offer-action { color:var(--accent); font-size:12px; font-weight:600; white-space:nowrap }
.hero-offer-action b { font-size:18px; font-weight:400; margin-left:6px; display:inline-block; transition:transform .28s ease }
.hero-offer-row:hover b { transform:translate(3px,-3px) }
.hero-offers-note { margin:22px 0 0; color:var(--ink-2); font-size:10px; line-height:1.6 }
.positioning-strip { margin-inline:calc(-1 * clamp(22px,4.5vw,60px)); background:var(--pink); color:#fff; overflow:hidden; border-block:1px solid var(--pink); padding:17px 0 }
.positioning-track { display:flex; width:max-content; animation:service-marquee 36s linear infinite }
.positioning-set { display:flex; flex:none; gap:27px; align-items:center; padding-right:27px }
.positioning-set span { color:#fff; font-size:12px; letter-spacing:.015em; white-space:nowrap }
.positioning-set i { font-style:normal; font-size:11px; color:#f1dce6 }
.positioning-strip:hover .positioning-track { animation-play-state:paused }
.page-section { padding:86px 0 0; scroll-margin-top:80px }
.section-topline { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:23px; border-top:1px solid var(--warm-line); margin-bottom:28px }
.section-topline > span { font-size:10px; color:var(--ink-3); letter-spacing:.025em }
.section-heading-row { display:grid; grid-template-columns:1fr; gap:14px; align-items:start; margin-bottom:34px }
.presentation-page .section-heading-row h2 { font-size:clamp(32px,3.3vw,43px); line-height:1.16; font-weight:400; margin:0; text-wrap:balance }
.presentation-page .section-heading-row h2 em { font-style:normal; color:var(--accent) }
.section-heading-row > p { font-size:13px; color:var(--ink-2); line-height:1.75; max-width:620px }
.sector-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px }
.sector-grid article { padding:30px 26px 30px; border:1px solid var(--blush-line); border-radius:8px; background:var(--blush); box-shadow:0 5px 16px #c1488312 }
.sector-grid h3 { font-family:'DM Serif Display',Georgia,serif; font-size:27px; line-height:1.12; font-weight:400; letter-spacing:-.02em; margin-bottom:16px; min-height:61px }
.sector-grid article > p { font-family:'DM Serif Display',Georgia,serif; font-style:italic; font-size:17px; line-height:1.45; color:var(--pink-ink); min-height:75px; margin-bottom:22px; padding-bottom:20px; border-bottom:1px solid var(--blush-line) }
.sector-grid ul { list-style:none; display:grid; gap:10px }
.sector-grid li { font-size:13px; line-height:1.65; color:var(--ink-2); padding-left:16px; position:relative }
.sector-grid li::before { content:'✦'; font-size:8px; color:var(--pink); position:absolute; left:0; top:6px }
.section-footnote { font-size:11px; color:var(--ink-2); line-height:1.8; margin-top:20px; max-width:900px }
.anchor-alias { display:block; scroll-margin-top:110px }
.collaboration-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:22px }
.collaboration-group-label { color:var(--pink-ink); font-size:11px; text-transform:uppercase; letter-spacing:.11em; margin-bottom:16px; font-weight:600 }
.ponctuel-label { margin-top:36px }
.collaboration-footnote { margin-top:25px }
.collaboration-card { padding:30px 28px; border:1px solid var(--warm-line); border-radius:7px; background:var(--paper); display:flex; flex-direction:column; position:relative }
.collaboration-card .card-bottom a::after { content:''; position:absolute; inset:0 }
.collaboration-card:focus-within { outline:3px solid var(--pink-ink); outline-offset:3px }
.presentation-page .card-kicker { font-size:10px; letter-spacing:.1em; text-transform:uppercase; line-height:1.6; color:var(--ink-2); font-weight:500 }
.collaboration-card h3 { font-family:'DM Serif Display',serif; font-size:29px; font-weight:400; line-height:1.18; margin:22px 0 }
.collaboration-card > p:not(.card-kicker) { font-size:13px; line-height:1.8; color:var(--ink-2); margin-bottom:24px }
.collaboration-card dl { border-top:1px solid var(--warm-line); padding-top:20px; margin-top:auto }
.collaboration-card dl div + div { margin-top:17px }
.collaboration-card dt { font-size:10px; text-transform:uppercase; letter-spacing:.07em; color:var(--ink-3); margin-bottom:5px }
.collaboration-card dd { font-size:12px; line-height:1.7; color:var(--ink-2) }
.card-bottom { margin-top:26px; border-top:1px solid var(--warm-line); padding-top:24px }
.card-bottom > p { color:var(--ink-2); font-size:12px; margin-bottom:22px }
.card-bottom strong { font-family:'DM Serif Display',serif; color:var(--accent); font-size:34px; font-weight:400 }
.monthly-card { padding:33px 34px; min-height:390px }
.monthly-card h3 { font-size:36px; margin:13px 0 8px }
.monthly-card .monthly-summary { font-family:'DM Serif Display',serif; color:var(--accent)!important; font-size:22px!important; line-height:1.35!important; margin-bottom:16px!important }
.monthly-card.featured { background:var(--blush); border-color:var(--blush-line) }
.monthly-card .card-bottom { display:flex; align-items:center; justify-content:space-between; gap:20px }
.monthly-card .card-bottom .text-link { white-space:nowrap }
.ponctuel-grid-home .collaboration-card { min-height:325px }
.ponctuel-grid-home .collaboration-card h3 { margin-bottom:13px }
.expertise-section { background:var(--accent); color:#f9f7ed; border-radius:8px; padding:42px 46px 46px; margin-top:86px }
.expertise-section .section-topline { border-color:#81927e; padding-top:0; border-top:0 }
.presentation-page .expertise-section .eyebrow,.expertise-section .section-topline > span,.presentation-page .expertise-section h2,.presentation-page .expertise-section h3 { color:#f9f7ed }
.expertise-section .section-heading-row > p,.expertise-section .expertise-grid p,.expertise-section .section-footnote { color:#e0e8db }
.expertise-grid { display:grid; grid-template-columns:repeat(3,1fr); column-gap:42px; row-gap:32px }
.expertise-grid article { position:relative; padding:22px 0 0 35px; border-top:1px solid var(--warm-line) }
.expertise-section .expertise-grid article { border-color:#81927e }
.expertise-grid article > span { font-size:11px; color:#f5bdcd; position:absolute; left:0; top:25px }
.expertise-grid h3 { font-size:17px; font-weight:500; margin-bottom:12px; line-height:1.35 }
.expertise-grid p { font-size:13px; line-height:1.85; color:var(--ink-2) }
.method-layout { display:grid; grid-template-columns:1.15fr .85fr; gap:70px; align-items:start }
.method-list { list-style:none }
.method-list li { display:flex; gap:24px; padding:24px 0; border-top:1px solid var(--warm-line) }
.method-list li:first-child { padding-top:0; border-top:0 }
.step-index { font-size:12px; padding-top:5px; color:var(--pink-ink) }
.method-list h3 { font-size:18px; font-weight:500; margin-bottom:10px }
.method-list p { font-size:13px; color:var(--ink-2); line-height:1.8; margin-bottom:10px }
.method-list small { display:block; font-size:11px; line-height:1.7; color:var(--ink-3) }
.workspace-panel { background:var(--cream); border:1px solid var(--warm-line); padding:32px; border-radius:7px; position:sticky; top:116px }
.workspace-panel h3 { font-family:'DM Serif Display',serif; font-size:30px; font-weight:400; line-height:1.2; margin:20px 0 28px }
.workspace-panel ul { list-style:none; margin-bottom:26px }
.workspace-panel li { padding:14px 0; border-top:1px solid #b7bfac; font-size:12px; color:var(--accent); display:flex; gap:15px }
.workspace-panel li > span { font-size:10px; color:var(--ink-3) }
.workspace-panel > p:not(.card-kicker) { font-size:12px; line-height:1.85; margin-bottom:22px; color:var(--ink-2) }
.results-section { background:var(--blush); color:var(--accent); border-radius:8px; padding:44px 45px; margin-top:86px; border:1px solid var(--blush-line) }
.results-section .section-topline { border-color:#d6bac5; padding-top:0; border-top:0 }
.presentation-page .results-section .eyebrow,.results-section .section-topline > span,.presentation-page .results-section h2,.presentation-page .results-section h3,.results-section .section-heading-row > p,.presentation-page .results-section .card-kicker,.presentation-page .results-section .text-link { color:var(--accent) }
.results-section .section-heading-row { gap:14px; grid-template-columns:1fr }
.result-metrics { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; align-content:start; border-block:1px solid #d6bac5; padding:37px 0 }
.result-metrics div { display:flex; flex-direction:column-reverse; gap:10px }
.result-metrics div + div { border-left:1px solid #d6bac5; padding-left:28px }
.result-metrics dd { font-family:'DM Serif Display',serif; font-size:clamp(37px,4.1vw,62px); line-height:1; font-variant-numeric:tabular-nums; color:var(--accent) }
.result-metrics dt { font-size:12px; color:var(--ink-2); line-height:1.6 }
.results-links { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-top:24px }
.results-links > div { display:grid; gap:3px; margin-right:auto }
.results-links strong { font-size:16px; color:var(--accent) }
.results-links span { font-size:11px; color:var(--ink-2) }
.results-links .text-link { font-size:12px }
.results-note { font-size:10px; line-height:1.8; color:var(--ink-2); margin-top:28px }
/* Accueil : l'audit gratuit annoncé juste sous les boutons. */
.hero-audit { display:flex; gap:9px; align-items:flex-start; max-width:540px; margin:-4px 0 16px; padding:12px 15px; font-size:13px; line-height:1.65; color:var(--ink-2); background:var(--blush); border:1px solid var(--blush-line); border-radius:7px }
.hero-audit-icon { color:var(--pink); font-size:12px; line-height:22px }
.hero-audit strong { color:var(--pink-ink); font-weight:600 }
/* Accompagnements : audit de départ, bilan à 90 jours et contenu des rapports. */
.follow-grid,.report-compare { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px }
.follow-card,.report-card { background:#fff; border:1px solid var(--warm-line); border-radius:7px; padding:28px 30px }
.follow-card-strong { background:var(--blush); border-color:var(--blush-line) }
.follow-step,.report-tier { font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:600; color:var(--pink-ink); margin-bottom:10px }
.offers-page .follow-card h3,.offers-page .report-card h3 { font-family:'DM Serif Display',serif; font-weight:400; font-size:25px; line-height:1.2; margin-bottom:12px }
.follow-card > p:not(.follow-step) { font-size:13.5px; line-height:1.8; color:var(--ink-2) }
.follow-card strong { color:var(--accent); font-weight:600 }
.report-card-full { border-color:var(--pink); box-shadow:0 10px 28px #c1488314 }
.report-list { list-style:none; counter-reset:report; margin:0; padding:0 }
.report-list li { counter-increment:report; display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:start; gap:4px 12px; padding:12px 0; border-top:1px solid var(--warm-line) }
.report-list li::before { content:counter(report); display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--accent-light); color:var(--accent); font-size:11px; font-weight:600; flex:none }
.report-item { display:flex; flex-direction:column; gap:3px; font-size:13.5px; font-weight:500; color:var(--ink) }
.report-item small { font-size:12px; font-weight:400; line-height:1.5; color:var(--ink-3) }
.report-list li.is-plus .report-item { color:var(--pink-ink); font-weight:600 }
.report-list li.is-plus::before { background:var(--pink); color:#fff }
.report-badge { margin-top:1px; white-space:nowrap; font-size:9.5px; text-transform:uppercase; letter-spacing:.08em; font-weight:600; color:#fff; background:var(--pink); border-radius:99px; padding:3px 8px }
.report-note { font-size:12px; color:var(--ink-2); margin-top:14px }
.report-note a,.offers-page .offer-list a,.offers-page .offer-note a { color:var(--accent); text-underline-offset:3px }
@media(max-width:640px) { .follow-card,.report-card { padding:22px 20px }.offers-page .follow-card h3,.offers-page .report-card h3 { font-size:22px }.hero-audit { font-size:12.5px } }
/* Qui suis-je : la photo se fond dans le fond rose au lieu d'occuper un cadre. */
.about-card { position:relative; overflow:hidden; display:grid; grid-template-columns:67% minmax(0,1fr); min-height:0; background:var(--blush); border:1px solid var(--blush-line); border-radius:8px }
.about-portrait { position:absolute; right:0; top:0; width:38%; height:100%; object-fit:cover; object-position:center 22%; mix-blend-mode:multiply; opacity:.9; -webkit-mask-image:linear-gradient(to right,transparent 0,#000 55%); mask-image:linear-gradient(to right,transparent 0,#000 55%) }
.about-copy { position:relative; padding:46px 0 46px 46px; max-width:none }
.presentation-page .about-copy h2 { font-size:clamp(32px,3.3vw,43px); line-height:1.15; margin:20px 0 22px }
.presentation-page .about-copy h2 em { font-style:italic; color:var(--pink-ink) }
.about-copy > p:not(.eyebrow):not(.about-label) { font-size:14px; line-height:1.85; color:var(--ink-2); margin-bottom:22px }
.about-label { font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:600; color:var(--pink-ink); margin-bottom:12px }
.about-instagram { font-weight:600 }
/* Avis clients : les trois retours visibles d'un coup. */
.testimonial-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(270px,1fr)); gap:20px; align-items:stretch }
.testimonial-card { display:flex }
.testimonial-inner { position:relative; display:flex; flex-direction:column; width:100%; padding:34px 30px 26px; border:1px solid var(--blush-line); border-radius:8px; background:var(--blush); overflow:hidden; transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease,background .45s ease }
.testimonial-mark { position:absolute; top:-14px; right:18px; font-family:'DM Serif Display',serif; font-size:120px; line-height:1; color:#c1488326; pointer-events:none; transition:transform .6s cubic-bezier(.2,.75,.25,1),color .45s ease }
.review-stars { color:var(--pink-ink); font-size:15px; letter-spacing:.17em; margin-bottom:18px }
.testimonial-card blockquote { position:relative; font-family:'DM Sans',sans-serif; font-weight:400; font-size:14.5px; line-height:1.8; color:var(--ink-2); margin:0 0 24px; flex:1; transition:transform .45s cubic-bezier(.2,.75,.25,1) }
.review-author { display:flex; flex-wrap:wrap; gap:4px 14px; align-items:baseline; padding-top:15px; border-top:1px solid #d6bac5 }
.review-author strong { font-size:14px; color:var(--accent) }
.review-author span { font-size:11px; color:var(--ink-2) }
.discovery-section { margin-top:86px; padding:46px; background:var(--accent); border-radius:8px; display:grid; grid-template-columns:1fr 1.1fr; gap:60px; color:white; position:relative }
.discovery-section > .anchor-alias { position:absolute; top:0; left:0; width:1px; height:1px; pointer-events:none }
.discovery-intro,.discovery-form { min-width:0; align-self:start }
.presentation-page .discovery-intro .eyebrow { color:#e6e9df }
.presentation-page .discovery-intro h2 { color:#f5f4eb; font-size:40px; line-height:1.15; margin:22px 0 }
.discovery-intro > p:not(.eyebrow) { font-size:14px; line-height:1.85; color:#f5f4eb }
.discovery-intro ol { margin:25px 0 0; padding-left:18px; font-size:12px; line-height:2.2; color:#f5f4eb }
.discovery-intro .direct-contact { margin-top:32px; font-size:12px!important }
.direct-contact a { color:#f5f4eb; text-underline-offset:4px }
.presentation-page .field label { font-size:11px; font-weight:400; opacity:1; text-transform:none; letter-spacing:0 }
.presentation-page .field input,.presentation-page .field select,.presentation-page .field textarea { border-radius:4px; background:#ffffff0a; border-color:#9cab91; padding:12px; font-size:13px; color:white }
.presentation-page .field input::placeholder,.presentation-page .field textarea::placeholder { color:#d8dfd1 }
.presentation-page .field select option { color:var(--ink); background:white }
.presentation-page .field input:focus,.presentation-page .field textarea:focus,.presentation-page .field select:focus { outline:2px solid #efd0dd; outline-offset:2px }
.presentation-page .lead-form .btn-submit { background:#f5f4eb; color:var(--accent); border-radius:5px; font-size:13px; text-transform:none; letter-spacing:0; min-height:49px }
.presentation-page .consent { font-size:11px; font-weight:400; opacity:1; line-height:1.7 }
.booking-explanation { font-size:10px; line-height:1.8; color:#e6e9df; margin-top:18px }
.presentation-page .faq-section h2 { font-size:26px; line-height:1.2; margin-bottom:18px }
.presentation-page .faq { max-width:900px }
.presentation-page .faq-item summary { font-size:13px; padding-block:13px; font-weight:400; color:var(--ink-2) }
.presentation-page .faq-item p { font-size:12px; font-weight:400; line-height:1.75; max-width:720px; color:var(--ink-3) }
.faq-item p + p { margin-top:-6px }
.faq-item a { color:var(--accent); text-underline-offset:3px }
.presentation-page footer { margin-top:70px; padding-block:28px 40px }
.presentation-page .foot-inner { align-items:flex-start }
.presentation-page .foot-copy { font-size:10px; max-width:280px; line-height:1.8 }
.presentation-page .foot-links { gap:14px 20px }
.presentation-page .foot-links a { font-size:11px }
.presentation-page .mobile-cta { background:var(--bg); backdrop-filter:none }
.presentation-page .mobile-cta a { font-size:12px; padding:12px 14px; min-height:43px }
/* Page de détail des prestations, liée aux trois modes de collaboration. */
.offers-intro { padding:65px 0 30px; max-width:800px }
.offers-intro h1 { font-size:clamp(39px,4.5vw,60px); line-height:1.12; margin:24px 0 }
.offers-intro > p:not(.eyebrow) { font-size:16px; line-height:1.8; color:var(--ink-2); max-width:700px; margin-bottom:26px }
.offers-page .section-label { margin:60px 0 25px }
.offers-page .section-label span { color:var(--accent); font-size:11px; letter-spacing:.12em; white-space:normal }
.offers-page .offer-grid { gap:24px }
.offers-page .offer-card { background:white; border:1px solid var(--warm-line); border-radius:7px; padding:34px; box-shadow:none; scroll-margin-top:140px }
.offers-page .offer-card.featured { border:1px solid var(--accent); background:white }
.offers-page .offer-tier { background:var(--cream); border-radius:3px; font-size:10px; letter-spacing:.06em; padding:7px 10px }
.offers-page .offer-reco { display:none }
.offers-page .offer-price-lg { font-size:52px; margin-top:10px; font-weight:400 }
.offers-page .offer-price-lg > span { font-size:14px }
.offers-page .offer-formula { font-family:'DM Serif Display',serif; font-weight:400; font-size:26px; margin-top:15px }
.offers-page .offer-lead { font-size:14px; line-height:1.8; color:var(--ink-2); margin-bottom:24px }
.offers-page .offer-list { gap:12px; border-top:1px solid var(--warm-line); padding-top:24px; margin-bottom:24px }
.offers-page .offer-list li { display:block; padding-left:16px; position:relative; font-size:13px; line-height:1.8; font-weight:400 }
.offers-page .offer-list li::before { content:'·'; position:absolute; left:0; color:var(--accent) }
.offers-page .offer-note { margin-top:auto; font-size:12px; line-height:1.75; color:var(--ink-2); font-style:normal }
.offers-page .offer-cta { margin-top:10px; width:100% }
/* Ce que la formule Intégrale ajoute à Essentiel. */
.offers-page .offer-plus { background:var(--blush); border:1px solid var(--blush-line); border-radius:6px; padding:18px 20px 17px; margin:-6px 0 24px }
.offer-plus-label { font-size:10px; text-transform:uppercase; letter-spacing:.12em; font-weight:600; color:var(--pink-ink); margin-bottom:13px }
.offer-plus ul { list-style:none; display:grid; gap:10px }
.offer-plus li { position:relative; padding-left:25px; font-size:13px; line-height:1.75; color:var(--ink-2) }
.offer-plus li::before { content:'+'; position:absolute; left:0; top:4px; width:16px; height:16px; border-radius:50%; background:var(--pink); color:#fff; font-size:12px; font-weight:600; line-height:16px; text-align:center }
.offer-plus strong { color:var(--pink-ink); font-weight:600 }
.offer-terms { font-size:11px; line-height:1.8; color:var(--ink-2); margin:20px 0 25px }
.offers-page .options-strip { border-radius:7px; background:var(--warm-line) }
.offers-page .option-item { background:var(--cream); padding:23px 26px }
.offers-page .opt-desc { font-size:12px; line-height:1.7; color:var(--ink-2); margin-top:6px }
.offers-page .opt-price { margin-top:8px }
.offers-page .note-box { border:0; border-radius:0; background:transparent; padding:15px 0 }
.offers-page .note-box h4 { font-size:14px; text-transform:none; letter-spacing:0; color:var(--accent) }
.offers-page .note-box li { font-size:12px; font-weight:400; line-height:1.8 }
.offers-page .note-box li::before { content:'·'; color:var(--accent) }
.offers-page .section-intro { font-size:14px; line-height:1.8; max-width:750px; margin-top:0 }
.offers-page .ponctuel-card,.offers-page .booking-card { background:white; border:1px solid var(--warm-line); border-radius:7px; padding:30px; scroll-margin-top:140px }
.offers-page .ponctuel-card .offer-list { border-top:0; padding-top:0 }
.offers-page .ponctuel-card .btn-primary { align-self:flex-start }
.offers-page .offer-name { font-size:23px }
.offers-page .offer-price { font-size:27px }
.offers-page .offer-top { flex-wrap:wrap }
.offers-page .timeline { display:grid; grid-template-columns:repeat(4,1fr); gap:30px; padding-left:0 }
.offers-page .timeline::before { display:none }
.offers-page .step { padding:40px 0 0 }
.offers-page .step::before { left:0; top:0; background:transparent; border-radius:3px; border:1px solid var(--warm-line); color:var(--accent) }
.offers-page .step-desc { font-size:12px; line-height:1.8 }
.offers-page .booking-card h3 { font-size:23px; font-weight:400 }
.offers-page .booking-card .booking-price { margin:10px 0 20px }
.offer-contact { display:flex; justify-content:space-between; align-items:center; gap:40px; margin-top:65px; padding:35px 0; border-block:1px solid var(--warm-line) }
.offer-contact h2 { font-size:31px; margin:16px 0 }
.offer-contact p:not(.eyebrow) { font-size:14px; color:var(--ink-2); line-height:1.8; max-width:600px }
@media(max-width:1100px) {
 .presentation-page .hero { gap:40px; grid-template-columns:1.2fr .8fr }.presentation-page .hero h1 { font-size:56px }
 .hero-offers { padding:28px }
 .collaboration-card { padding:27px 23px }.collaboration-card h3 { font-size:26px }
 .sector-grid { grid-template-columns:repeat(2,1fr) }
 .sector-grid h3,.sector-grid article > p { min-height:0 }.sector-grid article > p { max-width:400px }
 .method-layout { gap:40px }.results-section { padding:38px }
 .discovery-section { gap:40px; padding:38px }
}
@media(max-width:1050px) {
 .presentation-page .burger { display:block; z-index:60; min-width:44px; min-height:44px }
 .presentation-page .nav-links { display:none; position:absolute; inset:100% 0 auto; max-width:none; width:100%; transform:none; box-shadow:none; border-left:0; flex-direction:column; align-items:stretch; padding:18px 24px; gap:0; background:var(--bg); border-bottom:1px solid var(--warm-line) }
 .presentation-page .nav-links.open { display:flex }.presentation-page .nav-links a { display:block; font-size:15px; padding:13px 0 }.presentation-page .nav-links a.nav-cta { text-align:center; margin-top:12px }
}
@media(max-width:850px) {
 .presentation-page .hero { gap:30px; min-height:0 }.presentation-page .hero h1 { font-size:46px }.presentation-page .hero-sub { font-size:14px }
 .hero-offers { padding:25px }.hero-offer-row { align-items:flex-start; flex-direction:column; gap:8px }
 .section-heading-row,.results-section .section-heading-row { grid-template-columns:1fr; gap:12px }
 .collaboration-grid { grid-template-columns:1fr 1fr }.monthly-card { padding:27px 23px }.monthly-card .card-bottom { display:block }.monthly-card .card-bottom > p { margin-bottom:13px }
 .expertise-grid { grid-template-columns:1fr 1fr; gap:28px }.method-layout { grid-template-columns:1fr }.workspace-panel { position:static; max-width:none }
 .result-metrics { gap:18px }.result-metrics div + div { padding-left:18px }
 .discovery-section { grid-template-columns:1fr; gap:35px }.discovery-intro > p { max-width:650px }.discovery-intro ol { display:none }
 .offers-page .timeline { grid-template-columns:1fr 1fr }
}
@media(max-width:640px) {
 .presentation-page .container { padding-inline:22px }.presentation-page nav { padding-block:16px }
 .presentation-page .hero { grid-template-columns:1fr; padding:38px 0 38px; gap:32px }.presentation-page .hero h1 { font-size:clamp(38px,10.5vw,55px); margin:23px 0 22px; line-height:1.1 }
 .presentation-page .hero .eyebrow { font-size:9px; max-width:270px; line-height:1.9 }.presentation-page .hero h1::after { margin-top:22px }
 .presentation-page .hero-sub { font-size:14px; line-height:1.8; margin-bottom:24px }.presentation-page .hero-ctas { gap:17px; align-items:flex-start; flex-direction:column }
 .presentation-page .hero-footnote { font-size:10px }.hero-offers { width:100%; padding:28px 24px }.hero-offer-row { align-items:center; flex-direction:row; gap:8px }
 .positioning-strip { padding:14px 0 }.positioning-set { gap:18px; padding-right:18px }.positioning-set span { font-size:11px }
 .page-section { padding-top:54px }.section-topline { margin-bottom:24px; padding-top:18px; gap:12px }.section-topline > span { font-size:9px }
 .presentation-page .section-heading-row h2 { font-size:31px; line-height:1.18 }.section-heading-row { margin-bottom:27px }.section-heading-row > p { font-size:12.5px; line-height:1.7 }
 .sector-grid { grid-template-columns:1fr; gap:13px }.sector-grid article { padding:26px 23px }.sector-grid h3 { font-size:25px; margin-bottom:12px }
 .sector-grid article > p { font-size:16px; margin-bottom:16px; padding-bottom:16px }.sector-grid ul { gap:7px }.section-footnote { font-size:10px }
 .collaboration-grid { grid-template-columns:1fr; gap:17px }.collaboration-card { padding:27px 24px }.collaboration-card h3 { font-size:28px }.monthly-card { min-height:0 }.monthly-card .card-bottom { display:flex }.monthly-card .card-bottom > p { margin:0 }.monthly-card .card-bottom .text-link { white-space:normal }
 .expertise-section { margin-top:54px; padding:28px 23px }.expertise-grid { grid-template-columns:1fr; row-gap:24px }.expertise-grid article { padding-top:19px }.expertise-grid article > span { top:22px }.expertise-grid h3 { font-size:18px }
 .method-list li { gap:17px }.method-list h3 { font-size:18px }.workspace-panel { padding:27px 24px }.workspace-panel h3 { font-size:28px }
 .results-section { margin-top:54px; padding:28px 23px }.results-section .section-topline { align-items:start }.results-section .section-topline > span { max-width:94px; text-align:right }
 .result-metrics { grid-template-columns:1fr; gap:0; padding:10px 0 }.result-metrics div { gap:6px; padding:18px 0 }.result-metrics div + div { border-left:0; border-top:1px solid #d6bac5; padding-left:0 }
 .result-metrics dd { font-size:clamp(36px,10vw,48px) }.result-metrics dt { font-size:11px }
 .results-links { flex-wrap:wrap; align-items:flex-start; gap:12px 18px }.results-links > div { width:100% }.results-links .text-link { font-size:12px }.results-note { font-size:9px }

 .testimonial-grid { grid-template-columns:1fr; gap:14px }.testimonial-inner { padding:28px 23px 22px }.testimonial-card blockquote { font-size:13.5px }.testimonial-mark { font-size:96px }
 .discovery-section { margin-top:54px; padding:29px 23px; gap:30px }.presentation-page .discovery-intro h2 { font-size:31px }.discovery-intro > p:not(.eyebrow) { font-size:13px }.discovery-intro .direct-contact { margin-top:24px }
 .presentation-page .lead-form { grid-template-columns:1fr; gap:16px }.booking-explanation { font-size:10px }.presentation-page .field label { font-size:12px }
 .presentation-page .faq-section h2 { font-size:22px }.presentation-page .faq-item summary { font-size:12.5px; line-height:1.55 }.presentation-page .faq-item p { font-size:11.5px }
 .presentation-page footer { margin-top:48px }.presentation-page .foot-inner { gap:24px }.presentation-page .foot-links { gap:14px 18px }
 .offers-intro { padding-top:38px }.offers-intro h1 { font-size:37px }.offers-intro > p:not(.eyebrow) { font-size:14px }
 .offers-page .offer-card,.offers-page .ponctuel-card,.offers-page .booking-card { padding:27px 23px }.offers-page .offer-grid { gap:20px }
 .offers-page .offer-price-lg { font-size:47px }.offers-page .offer-formula { font-size:26px }.offers-page .offer-tier { font-size:9px }
 .offers-page .offer-list { gap:12px }.offers-page .offer-list li { font-size:12px }.offers-page .offer-top { flex-direction:column; gap:8px }
 .offers-page .section-heading-row h2 { font-size:31px }.offers-page .section-label { margin-top:48px }.offers-page .timeline { grid-template-columns:1fr }
 .offer-contact { flex-direction:column; align-items:flex-start; gap:24px }.offer-contact h2 { font-size:30px }
}
@keyframes service-marquee { to { transform:translateX(-50%) } }
@keyframes hero-rise { from { opacity:0; transform:translateY(20px) } to { opacity:1; transform:translateY(0) } }
@media (prefers-reduced-motion:no-preference) {
 .home-page .hero-copy > * { animation:hero-rise .8s both cubic-bezier(.2,.75,.25,1) }
 .home-page .hero-copy > :nth-child(2) { animation-delay:.1s }
 .home-page .hero-copy > :nth-child(3) { animation-delay:.2s }
 .home-page .hero-copy > :nth-child(4) { animation-delay:.3s }
 .home-page .hero-copy > :nth-child(5) { animation-delay:.38s }
 .home-page .hero-copy > :nth-child(6) { animation-delay:.45s }
 .home-page .hero-offers { animation:hero-rise .9s .25s both cubic-bezier(.2,.75,.25,1) }
 .presentation-page.motion-ready .motion-reveal { opacity:0; transform:translateY(25px); transition:opacity .7s cubic-bezier(.2,.75,.25,1),transform .7s cubic-bezier(.2,.75,.25,1); transition-delay:var(--reveal-delay,0ms) }
 .presentation-page.motion-ready .motion-reveal.is-visible { opacity:1; transform:translateY(0) }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .collaboration-card,.sector-grid article,.offers-page .offer-card { transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease,background .35s ease }
 .collaboration-card:hover,.sector-grid article:hover,.offers-page .offer-card:hover { transform:translateY(-5px); box-shadow:0 18px 36px #29382a16; border-color:#c1488370 }
 .presentation-page .btn-primary,.presentation-page .btn-secondary { transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease }
 .presentation-page .btn-primary:hover,.presentation-page .btn-secondary:hover { transform:translateY(-2px); box-shadow:0 9px 18px #29382a24 }
 .presentation-page .text-link span { display:inline-block; transition:transform .25s ease }
 .presentation-page .text-link:hover span { transform:translate(4px,-2px) }
}
/* Fiches côte à côte : celle choisie depuis l'accueil (#essentiel…) ou survolée passe devant, l'autre recule. */
.offers-page :is(.offer-grid,.ponctuel-grid) > * { transform-origin:center top; transition:transform .45s cubic-bezier(.2,.75,.25,1),box-shadow .45s ease,opacity .45s ease,border-color .45s ease }
@media(min-width:641px) {
 .offers-page :is(.offer-grid,.ponctuel-grid):has(> :target) > :target { transform:scale(1.04); box-shadow:0 22px 44px #29382a1f; border-color:var(--pink); position:relative; z-index:1 }
 .offers-page :is(.offer-grid,.ponctuel-grid):has(> :target) > :not(:target) { transform:scale(.96); opacity:.75 }
}
@media(min-width:641px) and (hover:hover) {
 .offers-page :is(.offer-grid,.ponctuel-grid):has(> :hover) > :hover { transform:scale(1.04); box-shadow:0 22px 44px #29382a1f; border-color:var(--pink); opacity:1; position:relative; z-index:1 }
 .offers-page :is(.offer-grid,.ponctuel-grid):has(> :hover) > :not(:hover) { transform:scale(.96); opacity:.75; box-shadow:none; border-color:var(--warm-line) }
}
@media(max-width:640px) { .offer-plus li { font-size:12px } }
/* Avis : guillemet qui flotte doucement, carte et texte qui réagissent au survol. */
@keyframes quote-float { 0%,100% { transform:translateY(0) rotate(0) } 50% { transform:translateY(8px) rotate(-6deg) } }
@media (prefers-reduced-motion:no-preference) {
 .testimonial-mark { animation:quote-float 6s ease-in-out infinite }
 .testimonial-card:nth-child(2) .testimonial-mark { animation-delay:-2s }
 .testimonial-card:nth-child(3) .testimonial-mark { animation-delay:-4s }
}
@media (hover:hover) {
 .testimonial-card:hover .testimonial-inner { transform:translateY(-8px); box-shadow:0 22px 40px #c148832b; background:#f9ebef }
 .testimonial-card:hover .testimonial-mark { color:#c1488359; animation-play-state:paused }
 .testimonial-card:hover blockquote { transform:translateX(4px) }
}
/* Petits écrans d'ordinateur : le bloc s'allonge et la photo est recadrée, le texte s'arrête plus tôt. */
@media(min-width:851px) and (max-width:1100px) {
 .about-card { grid-template-columns:66% minmax(0,1fr) }
 .about-portrait { object-position:38% 22% }
}
/* Qui suis-je sur tablette et téléphone : la photo passe au-dessus et se fond vers le texte. */
@media(max-width:850px) {
 .about-card { display:block; min-height:0 }
 .about-portrait { position:relative; display:block; width:100%; height:240px; object-position:center 25%; -webkit-mask-image:linear-gradient(to bottom,#000 70%,transparent); mask-image:linear-gradient(to bottom,#000 70%,transparent) }
 .about-copy { margin-top:0; padding:20px 34px 34px; max-width:none }
}
@media(max-width:640px) {
 .about-portrait { height:190px }
 .about-copy { margin-top:0; padding:16px 23px 28px }
 .presentation-page .about-copy h2 { font-size:31px; margin:14px 0 16px }
 .about-copy > p:not(.eyebrow):not(.about-label) { font-size:13px; line-height:1.8 }
}
/* Téléphone uniquement : sections en cartes à glisser, plus compactes et plus vivantes. */
@keyframes line-grow { from { width:0 } }
@media(max-width:640px) {
 .page-section { padding-top:46px }
 .section-heading-row { margin-bottom:20px }
 .presentation-page .hero h1::after { animation:line-grow .9s .6s both cubic-bezier(.2,.75,.25,1) }
 .expertise-grid.m-carousel { margin-inline:-23px!important; padding-inline:23px!important; scroll-padding-inline:23px }
 .expertise-grid.m-carousel article { border:1px solid #81927e; border-radius:8px; background:#ffffff0d; padding:20px 18px 20px 48px }
 .expertise-grid.m-carousel article > span { left:18px; top:23px }
 .expertise-section .m-count { color:#e0e8db }
 .expertise-section .m-dots button::before { background:#f5bdcd55 }
 .expertise-section .m-dots button[aria-current="true"]::before { background:#f5bdcd }
 .method-list.m-carousel li { display:block; background:#fff; border:1px solid var(--warm-line); border-radius:8px; padding:22px 20px }
 .method-list.m-carousel .step-index { display:inline-block; margin-bottom:8px; font-size:13px; padding-top:0 }
 .testimonial-grid.m-carousel > *,.offers-page .offer-grid.m-carousel > * { flex-basis:87%!important }
 .result-metrics { grid-template-columns:1fr 1fr }
 .result-metrics div:first-child { grid-column:1/-1 }
 .result-metrics div:nth-child(3) { border-left:1px solid #d6bac5; padding-left:16px }
 .result-metrics div:nth-child(n+2) dd { font-size:30px }
 .offers-page .timeline.m-carousel .step { background:#fff; border:1px solid var(--warm-line); border-radius:7px; padding:54px 18px 20px!important }
 .offers-page .timeline.m-carousel .step::before { left:18px; top:16px }

}
@media(prefers-reduced-motion:reduce) { .presentation-page *, .presentation-page *::before,.presentation-page *::after { scroll-behavior:auto!important; transition:none!important; animation:none!important } }

/* Qui suis-je : citation courte et attribuée d'un client */
.about-quote { margin:0 0 22px; padding:16px 20px; border-left:3px solid var(--pink); background:#fff; border-radius:0 8px 8px 0 }
.about-quote blockquote { font-family:'DM Serif Display',serif; font-size:16px; line-height:1.45; color:var(--accent); margin:0 0 8px }
.about-quote figcaption { font-size:12px; line-height:1.6; color:var(--ink-2) }
.about-quote figcaption strong { color:var(--ink); font-weight:600 }
.about-quote a { color:var(--pink-ink) }
@media(max-width:640px) { .about-quote blockquote { font-size:15px } }

/* Pour qui : une icône par type de commerce */
.sector-icon { display:grid; place-items:center; width:52px; height:52px; margin-bottom:18px; border:1px solid var(--blush-line); border-radius:50%; background:#fff; color:var(--pink-ink) }
.sector-icon svg { width:26px; height:26px }
@media(max-width:640px) { .sector-icon { width:46px; height:46px; margin-bottom:14px }.sector-icon svg { width:23px; height:23px } }
/* FAQ : renvoi vers la page des accompagnements, source unique des conditions */
.faq-more { margin-top:22px; font-size:13px; line-height:1.7; color:var(--ink-2) }
.faq-more a { color:var(--pink-ink) }
/* Méthode : durée ou coût de chaque étape */
.method-list .step-meta { font-size:11px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--pink-ink); margin:-4px 0 10px }
