:root {
  --white: #FCF8F7;
  --card: #FFFDFB;
  --ivory: #F7F1EB;
  --ink: #3A3134;
  --terracotta: #9A6657;
  --plum: #7B4C60;
  --border: #E5DDD6;
  --muted: #6F6669;
  --gold: #C8A04D;
  --sans: Karla, Inter, Arial, sans-serif;
  --serif: "Cormorant Garamond", Georgia, serif;
  --shell: 1180px;
  --radius-sm: 14px;
  --radius-md: 22px;
  --radius-lg: 30px;
  --soft-shadow: 0 14px 38px rgba(58,49,52,.06);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--white); color: var(--ink); font-family: var(--sans); font-size: 17px; line-height: 1.68; }
a { color: inherit; }
img { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; }

.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 1000; background: var(--ink); color: white; padding: .7rem 1rem; }
.skip-link:focus { top: 1rem; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.shell { width: min(var(--shell), calc(100% - 2rem)); margin-inline: auto; }

.site-header { position: sticky; top: 0; z-index: 100; background: rgba(252,248,247,.96); border-bottom: 1px solid transparent; backdrop-filter: blur(12px); }
.site-header.scrolled { border-color: var(--border); }
.header-inner { min-height: 78px; display: flex; align-items: center; gap: 1.5rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; text-decoration: none; line-height: 1; margin-right: auto; }
.site-header .brand { gap: 0; min-width: max-content; }
.brand-text { display: inline-flex; flex-direction: column; }
.brand-name { font-family: var(--serif); font-size: 1.85rem; font-weight: 650; letter-spacing: -.02em; }
.site-header .brand-name { letter-spacing: .01em; }
.brand-mark { width: 34px; height: auto; flex: 0 0 auto; }
.brand small { margin-top: .45rem; color: var(--terracotta); font-size: .61rem; font-weight: 700; letter-spacing: .24em; text-transform: uppercase; }
.main-nav { display: none; align-items: center; gap: 2rem; }
.main-nav a { font-size: .9rem; text-decoration: none; }
.main-nav a:hover { color: var(--plum); }
.menu-toggle { width: 44px; height: 44px; padding: 10px; background: transparent; border: 0; cursor: pointer; }
.menu-toggle span:not(.sr-only) { display: block; height: 1px; background: var(--ink); margin: 6px 0; }
.header-cta { display: none !important; }

.button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: .75rem 1.15rem; background: var(--plum); color: white; border: 1px solid var(--plum); border-radius: var(--radius-sm); text-decoration: none; font-size: .88rem; font-weight: 700; transition: transform .18s ease, background-color .18s ease, border-color .18s ease; }
.button:hover { background: var(--ink); border-color: var(--ink); transform: translateY(-1px); }
.button-small { min-height: 44px; padding-inline: 1rem; }
.text-link { display: inline-flex; gap: .55rem; align-items: center; color: var(--plum); font-size: .9rem; font-weight: 700; text-decoration: none; }
.text-link:hover { text-decoration: underline; text-underline-offset: .25em; }
.disabled-link { opacity: .8; cursor: default; }
.eyebrow { margin: 0 0 .9rem; color: var(--terracotta); font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { letter-spacing: -.035em; }
h1 { font-size: clamp(1.95rem, 4vw, 3.35rem); line-height: 1.05; font-weight: 500; margin-bottom: 1.05rem; }
h2 { font-size: clamp(1.95rem, 3.7vw, 3.1rem); line-height: 1.06; font-weight: 500; margin-bottom: 1rem; }
h3 { font-size: clamp(1.25rem, 2.2vw, 1.82rem); line-height: 1.15; font-weight: 500; margin-bottom: .6rem; }

.hero { padding: 1rem 0 4.5rem; }
.hero-shell { display: grid; }
.hero-image { min-height: 58svh; background-image: linear-gradient(0deg, rgba(46,36,40,.04), rgba(46,36,40,.01)), url('assets/images/hero-famille.webp'); background-size: cover; background-position: 62% center; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--soft-shadow); }
.hero-card { width: calc(100% - 1rem); margin: -3.5rem 0 0 auto; padding: 1.55rem; background: rgba(255,250,248,.96); position: relative; z-index: 2; border: 1px solid rgba(229,221,214,.84); border-radius: var(--radius-md); box-shadow: var(--soft-shadow); }
.hero-card h1 { max-width: 21ch; }
.hero-intro { max-width: 44rem; margin-bottom: 1.4rem; color: var(--muted); }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.3rem; }

.marquee { overflow: hidden; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); background: var(--ivory); }
.marquee-track { width: max-content; display: flex; align-items: center; gap: 1.4rem; padding: .85rem 0; animation: marquee 32s linear infinite; }
.marquee-track span { font-family: var(--serif); font-size: 1.25rem; white-space: nowrap; }
.marquee-track i { color: var(--terracotta); font-style: normal; }
@keyframes marquee { to { transform: translateX(-50%); } }

.intro-section { padding: clamp(4.5rem, 9vw, 8rem) 0; }
.about-grid { display: grid; gap: 2.4rem; align-items: center; }
.about-photo { min-height: 480px; background-image: url('assets/images/baria-portrait.webp'); background-size: cover; background-position: center 24%; border-radius: var(--radius-lg); box-shadow: var(--soft-shadow); }
.about-copy { max-width: 44rem; }
.about-copy h2 { max-width: 15ch; }

.offers { padding: clamp(4rem, 8vw, 7rem) 0; background: var(--ivory); }
.section-topline { display: flex; flex-direction: column; gap: .3rem; margin-bottom: 2rem; }
.section-topline h2 { max-width: 17ch; }
.offer-list { display: grid; gap: 1rem; }
.offer-row { display: grid; grid-template-columns: 2.3rem 1fr; gap: .75rem 1rem; padding: 1.5rem; background: rgba(255,253,251,.92); border: 1px solid rgba(222,214,207,.9); border-radius: var(--radius-md); box-shadow: 0 8px 24px rgba(46,36,40,.035); }
.offer-number { color: var(--terracotta); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.offer-content p { max-width: 48rem; margin-bottom: 0; color: var(--muted); }
.offer-row .text-link { grid-column: 2; }

.domains { padding: clamp(4.5rem, 9vw, 8rem) 0; }
.domains-grid { display: grid; gap: 2.5rem; }
.domains-heading h2 { max-width: 15ch; }
.domain-list { padding: .2rem 1.3rem; background: var(--ivory); border: 1px solid var(--border); border-radius: var(--radius-md); }
.domain-list article { display: grid; grid-template-columns: 2.2rem 1fr; gap: 1rem; padding: 1.55rem 0; border-bottom: 1px solid var(--border); }
.domain-list article:last-child { border-bottom: 0; }
.domain-list article > span { color: var(--terracotta); font-size: .72rem; font-weight: 700; letter-spacing: .12em; padding-top: .25rem; }
.domain-list h3 { margin-bottom: .35rem; }
.domain-list p { margin-bottom: 0; color: var(--muted); }

.reviews { padding: clamp(4rem, 8vw, 6.5rem) 0; background: var(--white); border-top: 1px solid var(--border); }
.reviews-grid { display: grid; gap: 2.4rem; }
.reviews-heading { max-width: 34rem; }
.reviews-note { color: var(--muted); font-size: .9rem; }
.review-carousel { min-width: 0; }
.review-viewport { min-height: 330px; }
.review-slide { min-height: 330px; margin: 0; padding: clamp(1.45rem, 3.8vw, 2.2rem); background: rgba(255,253,251,.90); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: 0 10px 26px rgba(58,49,52,.04); }
.review-slide blockquote { margin: 0 0 1.25rem; font-family: var(--serif); font-size: clamp(1.2rem, 2.5vw, 1.75rem); line-height: 1.35; }
.review-author { margin: 0; font-weight: 700; color: var(--plum); }
.review-author span { display: block; margin-top: .2rem; color: var(--muted); font-weight: 400; font-size: .78rem; }
.review-meta { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.review-stars { color: var(--gold); letter-spacing: .08em; font-size: 1rem; }
.review-badge { display: inline-flex; align-items: center; padding: .28rem .55rem; border-radius: 999px; background: #F5EEE7; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .04em; }
.review-controls { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 1rem; }
.review-button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--border); background: rgba(255,253,251,.92); color: var(--plum); cursor: pointer; }
.review-button:hover { border-color: var(--plum); }
.review-dots { display: flex; gap: .4rem; }
.review-dots span { width: 7px; height: 7px; border-radius: 50%; background: #d9cfd2; }
.review-dots span.is-active { background: var(--plum); }

.resources { padding: clamp(4.5rem, 9vw, 8rem) 0; background: var(--ivory); }
.resources-heading { max-width: 48rem; margin-bottom: 2rem; }
.resources-heading h2 { max-width: 17ch; }
.resource-grid { display: grid; gap: 1rem; }
.resource-card { display: flex; flex-direction: column; padding: 1.6rem; background: rgba(255,253,251,.94); border: 1px solid rgba(222,214,207,.9); border-radius: var(--radius-md); box-shadow: 0 8px 24px rgba(46,36,40,.035); }
.resource-card h3 { margin-bottom: .75rem; }
.resource-card > p:not(.resource-type) { flex: 1; color: var(--muted); }
.resource-type { margin-bottom: .5rem; color: var(--terracotta); font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }

.contact { padding: clamp(4rem, 8vw, 7rem) 0; }
.contact-grid { display: grid; gap: 2rem; align-items: start; padding: clamp(2rem, 5vw, 3.5rem); background: var(--ivory); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: 0 8px 24px rgba(46,36,40,.035); }
.contact-grid h2 { max-width: 16ch; }
.contact-copy { max-width: 34rem; }
.contact-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.2rem; align-items: center; margin-top: 1.4rem; }

.site-footer { padding: 4rem 0 1.5rem; background: var(--ink); color: white; }
.footer-grid { display: grid; gap: 2.3rem; }
.footer-brand { margin-right: 0; }
.footer-brand .brand-name { color: white; }
.footer-brand-mark { width: 54px; height: 54px; object-fit: contain; padding: 0; background: transparent; border-radius: 0; }
.footer-brand-block p { max-width: 23rem; color: #e3dadd; }
.site-footer nav { display: grid; align-content: start; gap: .55rem; }
.site-footer nav h2 { margin: 0 0 .45rem; font-family: var(--sans); font-size: .68rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.site-footer nav a { color: white; font-size: .9rem; text-decoration: none; }
.site-footer nav a:hover { color: #f0cfc8; }
.footer-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; margin-top: 3rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.18); color: #d9d0d2; font-size: .78rem; }
.footer-bottom p { margin: 0; }

.main-nav.open { position: absolute; top: 78px; left: .75rem; right: .75rem; display: grid; gap: 0; padding: 1rem; background: rgba(252,248,247,.99); border: 1px solid var(--border); border-radius: 0 0 var(--radius-md) var(--radius-md); box-shadow: var(--soft-shadow); }
.main-nav.open a { padding: .8rem 0; border-bottom: 1px solid #eee8e3; }

@media (min-width: 720px) {
  .shell { width: min(var(--shell), calc(100% - 4rem)); }
  .hero-card { width: 82%; padding: 2.5rem; }
  .about-grid { grid-template-columns: .78fr 1.22fr; gap: 4rem; }
  .offer-row { grid-template-columns: 3rem 1fr auto; align-items: start; padding: 2rem; }
  .offer-row .text-link { grid-column: 3; }
  .domains-grid { grid-template-columns: .8fr 1.2fr; gap: 5rem; align-items: start; }
  .domains-heading { position: sticky; top: 120px; }
  .reviews-grid { grid-template-columns: .8fr 1.2fr; gap: 5rem; align-items: center; }
  .resource-grid { grid-template-columns: repeat(3, 1fr); }
  .contact-grid { grid-template-columns: 1fr .9fr; gap: 5rem; }
  .footer-grid { grid-template-columns: 1.4fr repeat(3, 1fr); }
}

@media (min-width: 980px) {
  .header-inner { min-height: 88px; }
  .main-nav { display: flex; }
  .menu-toggle { display: none; }
  .header-cta { display: inline-flex !important; }

  .hero { padding: 1.3rem 0 5rem; }
  .hero-shell { position: relative; min-height: 700px; }
  .hero-image { min-height: 700px; width: 82%; margin-left: auto; background-position: 64% center; }
  .hero-card { position: absolute; left: 0; bottom: 3.2rem; width: min(625px, 52%); margin: 0; padding: 2.7rem; box-shadow: 0 20px 55px rgba(46,36,40,.09); }
  .hero-card h1 { font-size: clamp(2.4rem, 3.15vw, 3.45rem); }

  .about-photo { min-height: 620px; }
  .about-copy { padding-right: 3rem; }

  .section-topline { flex-direction: row; justify-content: space-between; align-items: end; }
  .section-topline h2 { margin: 0; text-align: right; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .marquee-track { animation: none; }
  *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


.about-copy p, .resources-heading p, .contact-copy p { color: var(--muted); }
.main-nav a { color: var(--ink); }
.button { box-shadow: 0 10px 24px rgba(123,76,96,.12); }
.button:hover { background: #6F4557; border-color: #6F4557; transform: translateY(-1px); }

@media (max-width: 420px) { .brand-name { font-size: 1.55rem; } .brand-mark { width: 30px; } }


/* ---------- Pages intérieures ---------- */
.inner-page { background: var(--white); }
.page-hero { padding: clamp(3.5rem, 7vw, 6rem) 0 clamp(3rem, 6vw, 5rem); }
.compact-hero { border-bottom: 1px solid var(--border); }
.page-hero-grid { display: grid; gap: 2rem; align-items: start; }
.page-hero h1 { max-width: 18ch; }
.lede { max-width: 50rem; color: var(--muted); font-size: clamp(1.05rem, 1.6vw, 1.25rem); line-height: 1.7; }
.narrow-lede { max-width: 44rem; }
.page-actions { display: flex; flex-wrap: wrap; gap: 1rem 1.2rem; align-items: center; margin-top: 1.4rem; }
.soft-card, .notice-card { padding: clamp(1.4rem, 3vw, 2rem); border-radius: var(--radius-md); }
.soft-card { background: var(--ivory); border: 1px solid var(--border); box-shadow: 0 8px 24px rgba(46,36,40,.03); }
.notice-card { background: rgba(122,67,88,.07); border: 1px solid rgba(122,67,88,.16); }
.soft-card p:last-child, .notice-card p:last-child { margin-bottom: 0; }
.page-summary { max-width: 34rem; }
.content-section { padding: clamp(4rem, 8vw, 7rem) 0; }
.alt-section { background: var(--ivory); }
.content-grid { display: grid; gap: 2.4rem; align-items: start; }
.content-grid h2 { max-width: 17ch; }
.content-grid p { max-width: 48rem; }
.price-card { align-self: stretch; }
.price-line { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; padding: 1rem 0; border-bottom: 1px solid var(--border); }
.price-line:first-of-type { border-top: 1px solid var(--border); }
.price-line strong { color: var(--plum); font-family: var(--serif); font-size: 1.7rem; font-weight: 600; white-space: nowrap; }
.clean-list { margin: 0; padding-left: 1.2rem; }
.clean-list li { margin-bottom: .65rem; }
.button-quiet { background: transparent; color: var(--plum); border-color: var(--plum); box-shadow: none; }
.button-quiet:hover { background: var(--plum); color: white; border-color: var(--plum); }
.three-card-grid { display: grid; gap: 1rem; }
.card-index { display: inline-block; margin-bottom: .8rem; color: var(--terracotta); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.card-title { font-size: clamp(1.6rem, 2.5vw, 2.3rem); max-width: 15ch; }
.big-resource-grid .resource-card { min-height: 100%; }
.faq-layout { display: grid; gap: 2.5rem; align-items: start; }
.faq-stack { display: grid; gap: .75rem; }
.faq-stack details { background: var(--ivory); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 1rem 1.2rem; }
.faq-stack summary { cursor: pointer; font-weight: 700; color: var(--ink); }
.faq-stack details p { margin: .8rem 0 0; color: var(--muted); }
.large-link { font-size: 1.15rem; }
.about-page-photo { min-height: 440px; background-image: url('assets/images/baria-portrait.webp'); background-size: cover; background-position: center 24%; border-radius: var(--radius-lg); box-shadow: var(--soft-shadow); }
.cookie-settings-link { opacity: .95; }
.compact-contact { padding-top: 1.5rem; }

@media (min-width: 760px) {
  .page-hero-grid { grid-template-columns: 1.25fr .75fr; gap: 4rem; }
  .two-columns { grid-template-columns: 1fr 1fr; gap: 5rem; }
  .three-card-grid { grid-template-columns: repeat(3, 1fr); }
  .faq-layout { grid-template-columns: .7fr 1.3fr; gap: 5rem; }
  .big-resource-grid { grid-template-columns: repeat(3, 1fr); }
  .about-page-hero { grid-template-columns: 1fr .72fr; align-items: center; }
}


/* ---------- Tarifs consultations ---------- */
.section-intro { max-width: 52rem; margin-bottom: 2rem; }
.consult-price-grid { display:grid; gap:1rem; }
.consult-price { display:flex; flex-direction:column; min-height:100%; align-items:stretch; }
.consult-price h3 { margin-bottom:.7rem; min-height:4.8rem; }
.consult-price > p:not(.eyebrow) { color:var(--muted); min-height:11rem; margin-bottom:1rem; }
.consult-price > .eyebrow { min-height:2.7rem; margin-bottom:.6rem; }
.consult-price .standalone-price { margin-top:auto; margin-bottom:1rem; }
.consult-price .text-link, .consult-price .inline-links { margin-top:0; min-height:2rem; align-items:flex-start; }
.standalone-price { margin:.35rem 0 1rem; color:var(--plum); font-family:var(--serif); font-size:clamp(2.2rem,4vw,3.1rem); font-weight:600; line-height:1; }
.inline-links { display:flex; flex-wrap:wrap; gap:.75rem 1.2rem; }
.small-note { color:var(--muted); font-size:.92rem; }

/* ---------- Accompagnement Famille ---------- */
.family-hero { border-bottom:1px solid var(--border); }
.family-hero-grid { display:grid; gap:2.5rem; align-items:center; }
.family-hero h1 { max-width:19ch; }
.family-hero-photo { min-height:420px; border-radius:var(--radius-lg); background-image:linear-gradient(0deg,rgba(58,49,52,.035),rgba(58,49,52,.01)),url('assets/images/hero-famille.webp'); background-size:cover; background-position:62% center; box-shadow:var(--soft-shadow); }
.family-pills { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:1.4rem; }
.family-pills span { padding:.48rem .72rem; border:1px solid var(--border); border-radius:999px; background:rgba(255,255,255,.64); color:var(--muted); font-size:.8rem; }
.family-story-stack { display:grid; gap:.8rem; }
.family-story-stack .soft-card p { margin:.35rem 0 0; color:var(--muted); }
.credit-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; }
.credit-card { padding:1.25rem; }
.credit-card strong { display:block; color:var(--plum); font-family:var(--serif); font-size:1.8rem; font-weight:600; line-height:1.1; }
.credit-card span { display:block; margin-top:.25rem; color:var(--muted); font-size:.9rem; }
.family-welcome { margin-top:1.3rem; }
.family-welcome h3 { font-size:1.45rem; }
.family-pricing-heading { max-width:52rem; margin:0 auto 2.2rem; text-align:center; }
.family-pricing-heading h2 { max-width:none; }
.family-pricing-grid { display:grid; gap:1rem; }
.family-plan { position:relative; display:flex; flex-direction:column; padding:1.55rem; border:1px solid var(--border); border-radius:var(--radius-md); background:rgba(255,255,255,.78); box-shadow:0 9px 28px rgba(58,49,52,.035); }
.family-plan h3 { margin-bottom:.35rem; }
.featured-plan { border-color:rgba(123,76,96,.42); box-shadow:0 12px 30px rgba(123,76,96,.07); }
.plan-label { position:absolute; top:1rem; right:1rem; padding:.3rem .55rem; border-radius:999px; background:rgba(123,76,96,.1); color:var(--plum); font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.family-price { margin:.4rem 0 .2rem; color:var(--plum); font-family:var(--serif); font-size:2.65rem; font-weight:600; line-height:1; }
.family-price small { font-family:var(--sans); font-size:.84rem; font-weight:500; color:var(--muted); }
.family-after { margin:1rem 0 1.2rem; padding:.9rem 1rem; border-radius:var(--radius-sm); background:var(--ivory); color:var(--muted); }
.family-cash { margin-top:auto; padding-top:1.15rem; border-top:1px solid var(--border); text-align:center; }
.family-cash span,.family-cash small { display:block; color:var(--muted); font-size:.8rem; }
.family-cash strong { display:block; margin:.25rem 0; color:var(--ink); font-family:var(--serif); font-size:2rem; font-weight:600; }
.family-renfort { max-width:720px; margin:1.25rem auto 0; text-align:center; }
.family-renfort p { margin:.4rem 0 0; color:var(--muted); }
.family-fit-grid { display:grid; gap:1rem; margin-top:1.5rem; }
.family-orientation { align-items:center; }
.family-portrait { min-height:430px; border-radius:var(--radius-lg); background-image:url('assets/images/baria-portrait.webp'); background-size:cover; background-position:center 24%; box-shadow:var(--soft-shadow); }
.family-faq { padding-top:clamp(3rem,6vw,5rem); }

@media (min-width:720px) {
  .consult-price-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .family-hero-grid { grid-template-columns:1.05fr .95fr; gap:4rem; }
  .family-pricing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); align-items:stretch; }
  .family-fit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (min-width:980px) {
  .consult-price-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .family-hero-photo { min-height:610px; }
}
@media (max-width:520px) {
  .credit-card-grid { grid-template-columns:1fr; }
  .family-pills span { width:100%; text-align:center; }
}


/* ---------- À vos côtés / liste d’attente ---------- */
.offer-status { margin: 0 0 .25rem; color: var(--terracotta); font-size: .68rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.waitlist-hero-grid { display: grid; gap: 2rem; align-items: start; }
.waitlist-summary h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); max-width: 13ch; }
.waitlist-summary li { color: var(--muted); }
.waitlist-benefits .soft-card p { color: var(--muted); margin-bottom: 0; }
.waitlist-grid { display: grid; gap: 2.5rem; align-items: start; }
.waitlist-grid > div > h2 { max-width: 15ch; }
.waitlist-form { padding: clamp(1.5rem, 3.5vw, 2.3rem); background: var(--ivory); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: 0 10px 28px rgba(58,49,52,.04); }
.form-field { display: grid; gap: .45rem; margin-bottom: 1rem; }
.form-field label, .choice-group legend { color: var(--ink); font-weight: 700; }
.form-field input { width: 100%; min-height: 48px; padding: .72rem .85rem; border: 1px solid var(--border); border-radius: 12px; background: rgba(255,253,251,.94); color: var(--ink); outline: none; }
.form-field input:focus { border-color: var(--plum); box-shadow: 0 0 0 3px rgba(123,76,96,.09); }
.choice-group { display: grid; gap: .7rem; margin: 1.4rem 0 1.5rem; padding: 0; border: 0; }
.choice-group legend { margin-bottom: .7rem; }
.choice-group legend span { color: var(--muted); font-weight: 400; font-size: .9rem; }
.choice-group label { display: flex; gap: .65rem; align-items: flex-start; color: var(--muted); cursor: pointer; }
.choice-group input { margin-top: .3rem; accent-color: var(--plum); }
.waitlist-form .button { width: 100%; }
.form-note { margin: .9rem 0 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.form-note a { color: var(--plum); }
.thank-you-page { min-height: 100svh; display: grid; align-items: center; }
.thank-you-card { max-width: 760px; margin-inline: auto; text-align: center; }
.thank-you-card h1 { max-width: 18ch; margin-inline: auto; }
.thank-you-card .lede { margin-inline: auto; }
@media (min-width: 760px) { .waitlist-hero-grid { grid-template-columns: 1.2fr .8fr; gap: 4.5rem; } .waitlist-grid { grid-template-columns: .85fr 1.15fr; gap: 5rem; } }


/* ---------- Visuels éditoriaux ---------- */
.visual-stories { padding: clamp(4rem, 8vw, 7rem) 0; background: var(--white); }
.visual-story-grid { display: grid; gap: 1rem; }
.visual-story-card { display: flex; flex-direction: column; overflow: hidden; background: rgba(255,253,251,.94); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: 0 10px 26px rgba(58,49,52,.04); }
.visual-story-photo { aspect-ratio: 4 / 3; background-size: cover; background-position: center; }
.visual-story-copy { padding: 1.35rem 1.35rem 1.45rem; }
.visual-story-copy p { margin-bottom: 0; color: var(--muted); }
.photo-grossesse { background-image: linear-gradient(0deg, rgba(255,248,243,.10), rgba(255,248,243,.10)), url('assets/images/visual-grossesse.webp'); background-position: center center; }
.photo-bebe { background-image: linear-gradient(0deg, rgba(255,248,243,.10), rgba(255,248,243,.10)), url('assets/images/visual-bebe.webp'); background-position: center 30%; }
.photo-bebe-enfant { background-image: linear-gradient(0deg, rgba(255,248,243,.07), rgba(255,248,243,.07)), url('assets/images/homepage-bebe-enfant.webp'); background-position: center center; }
.photo-famille { background-image: linear-gradient(0deg, rgba(255,248,243,.08), rgba(255,248,243,.08)), url('assets/images/visual-famille.webp'); background-position: center center; }

.waitlist-visuals-section { padding-top: 0; }
.waitlist-visual-grid { display: grid; gap: 1rem; }
.waitlist-visual-card { display: flex; flex-direction: column; overflow: hidden; background: rgba(255,253,251,.94); border: 1px solid var(--border); border-radius: var(--radius-md); box-shadow: 0 10px 26px rgba(58,49,52,.04); }
.waitlist-visual-photo { aspect-ratio: 4 / 3; background-size: cover; background-position: center; }
.waitlist-visual-card h3 { padding: 1.2rem 1.2rem .35rem; }
.waitlist-visual-card p { padding: 0 1.2rem 1.3rem; margin-bottom: 0; color: var(--muted); }
.avc-photo-parentalite { background-image: linear-gradient(0deg, rgba(255,248,243,.10), rgba(255,248,243,.10)), url('assets/images/avc-parentalite.webp'); background-position: center center; }
.avc-photo-enfant { background-image: linear-gradient(0deg, rgba(255,248,243,.10), rgba(255,248,243,.10)), url('assets/images/avc-enfant.webp'); background-position: center center; }
.avc-photo-fratrie { background-image: linear-gradient(0deg, rgba(255,248,243,.06), rgba(255,248,243,.06)), url('assets/images/avc-fratrie.webp'); background-position: center center; }

@media (min-width: 760px) {
  .visual-story-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .waitlist-visual-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}


/* ---------- V14 : pages & formulaires ---------- */
.hero-photo-stack { display:grid; gap:1rem; }
.inner-hero-photo { min-height:300px; border-radius:var(--radius-md); background-size:cover; background-position:center; box-shadow:var(--soft-shadow); border:1px solid var(--border); }
.baby-kid-hero-photo { background-image:linear-gradient(0deg,rgba(255,248,243,.08),rgba(255,248,243,.08)),url('assets/images/visual-bebe.webp'); background-position:center 30%; }
.grossesse-hero-photo { background-image:linear-gradient(0deg,rgba(255,248,243,.08),rgba(255,248,243,.08)),url('assets/images/grossesse-page.webp'); background-position:center center; }
.about-page-photo-new { background-image:url('assets/images/baria-about.webp'); background-position:center 28%; }
.resource-hub-stack { display:grid; gap:1rem; }
.resource-hub-card { display:grid; gap:1.25rem; align-items:center; padding:clamp(1.5rem,3vw,2.2rem); background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:0 8px 24px rgba(58,49,52,.035); }
.resource-hub-card h2 { max-width:18ch; font-size:clamp(1.8rem,3vw,2.5rem); }
.resource-hub-card p { max-width:52rem; color:var(--muted); }
.resource-hub-action { display:grid; gap:.85rem; align-content:center; }
.resource-hub-action span { color:var(--terracotta); font-size:.82rem; font-weight:700; }
.contact-form-grid { display:grid; gap:2.5rem; align-items:start; }
.contact-netlify-form { padding:clamp(1.4rem,3vw,2rem); background:var(--card); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:0 10px 28px rgba(58,49,52,.04); }
.form-two-columns { display:grid; gap:0 1rem; }
.form-field select,.form-field textarea { width:100%; padding:.72rem .85rem; border:1px solid var(--border); border-radius:12px; background:rgba(255,253,251,.98); color:var(--ink); outline:none; }
.form-field select { min-height:48px; }
.form-field textarea { resize:vertical; min-height:150px; }
.form-field select:focus,.form-field textarea:focus { border-color:var(--plum); box-shadow:0 0 0 3px rgba(123,76,96,.09); }
.contact-netlify-form .button { width:100%; }
@media (min-width:760px){ .resource-hub-card{grid-template-columns:1.35fr .65fr;} .contact-form-grid{grid-template-columns:.72fr 1.28fr;gap:5rem;} .form-two-columns{grid-template-columns:1fr 1fr;} }

.visual-story-card { height: 100%; }
.visual-story-photo { aspect-ratio: 16 / 10; min-height: 0; }
.visual-story-copy { display: flex; flex-direction: column; flex: 1; }
.visual-story-copy h3 { min-height: 2.4rem; }
.visual-story-copy p { flex: 1; }
.photo-sante-feminine { background-image: linear-gradient(0deg, rgba(255,248,243,.10), rgba(255,248,243,.10)), url('assets/images/photo-secondaire-femme.webp'); background-position: center 34%; }
.approach-grid { display:grid; gap:1rem; }
.approach-card { height:100%; }
.approach-card p:not(.eyebrow) { color:var(--muted); }
@media (min-width:760px) { .approach-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }


/* ---------- V16 corrections ---------- */
@media (min-width:980px) {
  .consult-price-grid { align-items: stretch; }
  .consult-price { height: 100%; }
  .consult-price > .eyebrow { min-height: 2.7rem; margin-bottom: .6rem; }
  .consult-price h3 { min-height: 4.4rem; display:flex; align-items:flex-start; }
  .consult-price > p:not(.eyebrow) { min-height: 10.2rem; margin-bottom: 1rem; }
  .consult-price .standalone-price { margin-top: auto; margin-bottom: 1rem; }
  .consult-price > .text-link, .consult-price > .inline-links { min-height: 2rem; align-items:flex-start; }
}
.video-embed { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--radius-md); border: 1px solid var(--border); box-shadow: var(--soft-shadow); background: var(--ink); }
.video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.leaa-use-grid { grid-template-columns: 1fr; }
.hypnonatal-note { margin-top: 1.25rem; }
@media (min-width:760px) { .leaa-use-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (min-width:1100px) { .leaa-use-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }


/* ---------- Navigation déroulante ---------- */
.nav-dropdown { position: relative; }
.nav-dropdown summary { list-style: none; cursor: pointer; font-size: .9rem; color: var(--ink); }
.nav-dropdown summary::-webkit-details-marker { display: none; }
.nav-dropdown summary::after { content: "⌄"; display:inline-block; margin-left:.35rem; color:var(--terracotta); font-size:.8em; transform:translateY(-1px); }
.nav-submenu { display:grid; gap:.15rem; min-width:250px; padding:.65rem; background:rgba(253,251,248,.99); border:1px solid var(--border); border-radius:14px; box-shadow:0 16px 36px rgba(58,49,52,.10); }
.nav-submenu a { display:block; padding:.58rem .72rem; border-radius:9px; font-size:.84rem; white-space:nowrap; }
.nav-submenu a:hover { background:var(--ivory); text-decoration:none; }
@media (min-width:980px) {
  .nav-dropdown .nav-submenu { position:absolute; top:calc(100% + .7rem); left:-.7rem; opacity:0; visibility:hidden; transform:translateY(-5px); pointer-events:none; transition:opacity .15s ease, transform .15s ease, visibility .15s ease; }
  .nav-dropdown[open] .nav-submenu, .nav-dropdown:hover .nav-submenu, .nav-dropdown:focus-within .nav-submenu { opacity:1; visibility:visible; transform:translateY(0); pointer-events:auto; }
}
@media (max-width:979px) {
  .main-nav.open .nav-dropdown { border-bottom:1px solid #eee8e3; }
  .main-nav.open .nav-dropdown summary { padding:.8rem 0; font-size:.9rem; }
  .main-nav.open .nav-submenu { margin:0 0 .65rem; box-shadow:none; background:var(--ivory); }
  .main-nav.open .nav-submenu a { padding:.62rem .72rem; border-bottom:0; }
}

/* ---------- Tarifs : alignement verrouillé ---------- */
@media (min-width:980px) {
  .consult-price-grid { align-items:stretch; }
  .consult-price { display:flex; flex-direction:column; height:100%; }
  .consult-price > .eyebrow { min-height:2.9rem; margin-bottom:.7rem; }
  .consult-price h3 { min-height:4.9rem; margin-bottom:.75rem; }
  .consult-price > p:not(.eyebrow) { min-height:11.25rem; margin-bottom:1rem; }
  .consult-price .standalone-price { margin-top:auto; margin-bottom:1rem; }
  .consult-price > .text-link { min-height:2rem; }
}

/* ---------- Vidéo LEAA ---------- */
.leaa-video-section { padding-top:clamp(2.5rem,5vw,4rem); }
.leaa-video-grid { display:grid; gap:2rem; align-items:start; }
.video-embed { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; margin-top:1.2rem; border-radius:var(--radius-md); background:#111; box-shadow:var(--soft-shadow); }
.video-embed iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.leaa-official-card { align-self:start; }
@media (min-width:860px) { .leaa-video-grid { grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr); gap:3rem; } }


.video-local-preview { position:absolute; inset:0; display:grid; place-items:center; align-content:center; gap:.8rem; padding:2rem; text-align:center; background:linear-gradient(135deg,#2f2429,#4a2b3a); color:#fff; }
.video-local-preview[hidden] { display:none; }
.video-local-icon { display:grid; place-items:center; width:64px; height:64px; border-radius:50%; background:rgba(255,255,255,.14); font-size:1.45rem; padding-left:.18rem; }
.video-local-preview p { max-width:28rem; margin:0; color:rgba(255,255,255,.88); }
#bilan-equilibre-global, #eft-hypnose-hypnonatal, #quiz-fatigue, #mode-survie, #ttja { scroll-margin-top:110px; }


/* ---------- Blog & articles ---------- */
.blog-grid { display:grid; gap:1.2rem; }
.blog-card { overflow:hidden; background:rgba(255,253,251,.94); border:1px solid var(--border); border-radius:var(--radius-md); box-shadow:0 10px 28px rgba(58,49,52,.04); }
.blog-card-image { display:block; aspect-ratio:16/10; background-size:cover; background-position:center; }
.blog-fatigue-image { background-image:linear-gradient(0deg,rgba(255,248,243,.08),rgba(255,248,243,.08)),url('assets/images/blog-fatigue-new.webp'); background-position:center 32%; }
.blog-rgo-image { background-image:linear-gradient(0deg,rgba(255,248,243,.08),rgba(255,248,243,.08)),url('assets/images/blog-rgo-new.webp'); background-position:center 28%; }
.blog-card-copy { padding:clamp(1.35rem,3vw,2rem); }
.blog-card-copy h2 { font-size:clamp(1.7rem,2.8vw,2.35rem); max-width:20ch; }
.blog-card-copy p:not(.resource-type) { color:var(--muted); }
.article-hero { padding:clamp(3.5rem,7vw,6rem) 0 clamp(3rem,6vw,5rem); border-bottom:1px solid var(--border); }
.article-hero-grid { display:grid; gap:2.3rem; align-items:center; }
.article-hero h1 { max-width:18ch; }
.article-hero-image { min-height:360px; border-radius:var(--radius-lg); background-size:cover; background-position:center; box-shadow:var(--soft-shadow); }
.article-fatigue-image { background-image:linear-gradient(0deg,rgba(255,248,243,.08),rgba(255,248,243,.08)),url('assets/images/article-fatigue-detail.webp'); background-position:center 38%; }
.article-rgo-image { background-image:linear-gradient(0deg,rgba(255,248,243,.08),rgba(255,248,243,.08)),url('assets/images/article-rgo-detail.webp'); background-position:center 34%; }
.article-meta { margin:.75rem 0 0; color:var(--muted); font-size:.88rem; }
.article-layout { display:grid; gap:3rem; padding-top:clamp(3rem,6vw,5rem); padding-bottom:clamp(4rem,8vw,7rem); }
.article-content { max-width:760px; }
.article-content h2 { margin-top:2.5rem; font-size:clamp(1.8rem,3vw,2.65rem); max-width:22ch; }
.article-content h3 { margin-top:1.7rem; font-size:clamp(1.3rem,2vw,1.65rem); }
.article-content p, .article-content li { color:#5f5559; }
.article-content a { color:var(--plum); text-underline-offset:.2em; }
.article-note { margin-bottom:2rem; padding:1.15rem 1.25rem; border:1px solid rgba(123,76,96,.18); border-radius:var(--radius-sm); background:rgba(123,76,96,.06); color:#5d5055; }
.article-aside { align-self:start; }
.article-aside .soft-card { display:grid; gap:.9rem; }
.article-aside .soft-card h2 { font-size:clamp(1.55rem,2.5vw,2.05rem); }
.article-aside .button { width:100%; }
@media (min-width:760px){ .blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .article-hero-grid{grid-template-columns:1.1fr .9fr;gap:4rem;} .article-layout{grid-template-columns:minmax(0,1fr) 300px;gap:5rem;} .article-aside{position:sticky;top:120px;} }

.dialogue-bebe-hero-photo{background-image:linear-gradient(0deg,rgba(255,248,243,.08),rgba(255,248,243,.08)),url('assets/images/dialogue-bebe.webp');background-size:cover;background-position:center 46%;}

/* V22: spacing for the detailed energy-care section */
.energy-care-followup{margin-top:1.4rem;}

/* ---------- Soins énergétiques : photo ---------- */
.energy-care-photo{max-width:760px;margin:1.8rem auto 2rem;}
.energy-care-photo img{display:block;width:100%;height:auto;max-height:520px;object-fit:cover;object-position:center;border-radius:24px;box-shadow:0 16px 38px rgba(72,49,57,.10);}
@media (max-width:760px){.energy-care-photo{max-width:100%;margin:1.25rem auto 1.5rem}.energy-care-photo img{border-radius:18px;max-height:none}}

/* V24 · Parcours Grossesse en Confiance */
.parcours-hero-image { margin:0; overflow:hidden; border-radius:var(--radius-lg); min-height:320px; background:var(--ivory); box-shadow:0 14px 40px rgba(46,36,40,.08); }
.parcours-hero-image img { width:100%; height:100%; min-height:320px; max-height:480px; object-fit:cover; display:block; }
.journey-price-card { display:flex; flex-direction:column; justify-content:center; }
.journey-price { font-family:var(--serif); color:var(--plum); font-size:clamp(3rem,6vw,4.4rem); line-height:1; margin:.3rem 0 1rem; }
.journey-value { color:var(--muted); }
.journey-value span { font-size:.92rem; }
.journey-payment { margin:1.1rem 0 1.4rem; padding-top:1rem; border-top:1px solid var(--border); }
.journey-step { position:relative; }
.parcours-inline-card { display:grid; gap:1.5rem; align-items:center; background:linear-gradient(135deg, rgba(255,253,251,.98), rgba(247,239,235,.9)); }
.parcours-inline-card h2 { margin-bottom:.7rem; }
.parcours-inline-price { display:flex; flex-direction:column; align-items:flex-start; gap:.45rem; }
.parcours-inline-price > span { color:var(--terracotta); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.parcours-inline-price > strong { font-family:var(--serif); color:var(--plum); font-size:clamp(2.6rem,5vw,3.8rem); line-height:1; }
.parcours-inline-price > small { color:var(--muted); line-height:1.5; margin-bottom:.55rem; }
.parcours-medical-note { margin-top:1.25rem; max-width:48rem; }
@media (min-width:760px) { .parcours-inline-card { grid-template-columns:minmax(0,1.6fr) minmax(220px,.7fr); padding:clamp(1.8rem,4vw,2.7rem); } .journey-steps { align-items:stretch; } .journey-step { height:100%; } }


/* V24 bis · Parcours plus incarné */
.parcours-sales-page .narrow-shell{max-width:900px;margin-inline:auto}.parcours-sales-hero{padding-bottom:clamp(2.5rem,6vw,5rem)}.parcours-sales-hero .lede{font-size:clamp(1.2rem,2.2vw,1.52rem)}.parcours-photo-stack{align-self:start}.parcours-hero-summary{margin-top:-1.5rem;position:relative;z-index:2;margin-left:clamp(.75rem,5vw,3rem);margin-right:clamp(.75rem,3vw,1.5rem)}.parcours-price-mini{display:flex;flex-wrap:wrap;gap:.45rem .7rem;align-items:baseline}.parcours-price-mini strong{font-family:var(--serif);font-size:2rem;color:var(--plum)}.parcours-price-mini span{color:var(--muted);font-size:.92rem}.prose-large{font-size:1.06rem;line-height:1.8;max-width:840px}.parcours-recognition h2{max-width:900px}.parcours-bilan-card,.parcours-hypno-card,.parcours-continuity-note{align-self:center}.parcours-couple-image{margin:0;border-radius:var(--radius-lg);overflow:hidden;box-shadow:0 14px 40px rgba(46,36,40,.08);background:var(--ivory)}.parcours-couple-image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.parcours-offer-wrap{max-width:980px}.parcours-offer-card{display:grid;gap:1.6rem;align-items:center;padding:clamp(1.6rem,4vw,2.6rem);background:linear-gradient(135deg,rgba(255,253,251,.98),rgba(247,239,235,.92))}.parcours-offer-price{display:flex;flex-direction:column;align-items:flex-start;gap:.45rem}.parcours-offer-price>strong{font-family:var(--serif);font-size:clamp(3rem,6vw,4.5rem);line-height:1;color:var(--plum)}.parcours-offer-price>span{color:var(--muted);font-size:.94rem;line-height:1.45}.parcours-offer-price p{margin:.4rem 0 .8rem}.parcours-medical-note{text-align:center;max-width:760px;margin:1.2rem auto 0}.consult-prep-note{margin:1.25rem 0 1.6rem}.consult-prep-note h3{margin-bottom:.45rem}.parcours-inline-card-warm{background:linear-gradient(135deg,rgba(255,253,251,.99),rgba(248,239,235,.88))}
@media (min-width:760px){.parcours-offer-card{grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr)}.parcours-coparent-grid{align-items:center}.parcours-hero-grid{align-items:center}}

.contextual-button { width: fit-content; margin-top: .35rem; }

/* CTA system V26: primary booking buttons and secondary discovery buttons */
.approach-card .contextual-button, .content-grid .contextual-button, .contact-actions .contextual-button { margin-top: .55rem; }
.consult-price .button { margin-top: 0; align-self: flex-start; }
.price-card .page-actions { align-items: center; flex-wrap: wrap; }


/* ---------- V29 : parcours d'accueil & navigation rapide ---------- */
.visual-story-copy .visual-story-link { margin-top: .85rem; }

.quiz-bridge { padding: 0 0 clamp(4rem, 8vw, 7rem); }
.quiz-bridge-card { display: grid; gap: 1.4rem; align-items: center; padding: clamp(1.6rem, 4vw, 2.6rem); background: var(--ivory); border: 1px solid var(--border); border-radius: var(--radius-lg); box-shadow: 0 8px 24px rgba(46,36,40,.035); }
.quiz-bridge-copy h2 { max-width: 16ch; margin-bottom: .7rem; }
.quiz-bridge-copy > p:last-child { max-width: 46rem; margin-bottom: 0; color: var(--muted); }
.quiz-bridge-action { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; }
.quiz-bridge-action > span { color: var(--terracotta); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.review-context { margin: 0 0 .55rem; color: var(--terracotta); font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }

.quick-nav { position: sticky; top: 78px; z-index: 80; padding: .6rem 0; background: rgba(252,248,247,.96); border-bottom: 1px solid var(--border); backdrop-filter: blur(12px); }
.quick-nav-inner { display: flex; flex-direction: column; gap: .55rem; }
.quick-nav-label { color: var(--muted); font-size: .74rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.quick-nav-links { display: flex; gap: .55rem; overflow-x: auto; padding-bottom: .2rem; scrollbar-width: thin; }
.quick-nav-links a { flex: 0 0 auto; padding: .48rem .7rem; background: var(--ivory); border: 1px solid var(--border); border-radius: 999px; color: var(--ink); font-size: .82rem; font-weight: 700; line-height: 1.2; text-decoration: none; }
.quick-nav-links a:hover { border-color: var(--plum); color: var(--plum); }

@media (min-width: 720px) {
  .quiz-bridge-card { grid-template-columns: 1.35fr .65fr; gap: 3rem; }
  .quiz-bridge-action { align-items: flex-end; text-align: right; }
  .quick-nav-inner { flex-direction: row; align-items: center; }
  .quick-nav-label { flex: 0 0 auto; }
}

@media (min-width: 980px) {
  .quick-nav { top: 88px; }
}

/* V29 : petits ajustements mobile et ancres */
@media (max-width: 759px) {
  .visual-story-photo { aspect-ratio: 16 / 9; }
}
#domaines, #accompagnements, #ressources, #contact { scroll-margin-top: 110px; }
#tarifs-consultations, #sante-feminine, #parcours-grossesse-en-confiance, #approches-complementaires, #bebes-enfants, #soins-energetiques, #bilan-equilibre-global { scroll-margin-top: 175px; }
