/* Polices hébergées sur le site (aucun appel à Google : pas de cookie, pas de bandeau) */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/fraunces.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400 600;font-display:swap;src:url(fonts/fraunces-italic.woff2) format('woff2')}
@font-face{font-family:'Nunito Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/nunito-sans.woff2) format('woff2')}
@font-face{font-family:'Kaushan Script';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/kaushan-script.woff2) format('woff2')}

/* ===== Charte Éveil & Vous v2.0 — piste A « prune » ===== */
:root{
  --creme:#FBF7F2; --lin:#F4E9E6; --rose:#EDD5D9; --taupe:#D6BEC2;
  --prune:#7B3F51; --brun:#54373D; --encre:#3A2E31; --gris:#786A6C;
  --texte:#5A4B4E; /* gris plus soutenu pour les paragraphes secondaires (lisibilité) */
  --serif:'Fraunces', 'Bitter', Georgia, serif;
  --sans:'Nunito Sans', system-ui, sans-serif;
  --script:'Kaushan Script', cursive; /* logo provisoire, en attendant le logo Railey */
  --w:1240px; --pad:clamp(20px,5vw,60px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{background:var(--creme);color:var(--encre);font:400 20px/1.65 var(--sans);text-align:left;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:var(--w);margin:0 auto;padding:0 var(--pad)}
h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.12;letter-spacing:-.01em}
h2{font-size:clamp(34px,4.4vw,56px);max-width:18ch}
h3{font-size:28px}
.kicker{font:700 15px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--prune);margin-bottom:20px}
.dark .kicker{color:var(--rose)}
.lead{font-size:22px;max-width:48ch;color:var(--texte);margin-top:22px}
.dark{background:var(--brun);color:var(--creme)}
.dark .lead{color:var(--rose)}
section{padding:clamp(80px,11vw,140px) 0}

/* Règle couleur : sur clair on souligne en prune, sur sombre en rose poudré */
.u{ text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:4px; text-decoration-color:var(--prune) }
.dark .u{ text-decoration-color:var(--rose) }

/* Signe unique : barre pleine à bouts arrondis sous UN mot — une seule sur tout le site */
.bar{position:relative;white-space:nowrap}
.bar::after{content:"";position:absolute;left:0;right:0;bottom:-.1em;height:.16em;border-radius:99px;background:var(--rose)}

/* Boutons : formes pleines, aucun contour */
.btn{display:inline-flex;align-items:center;gap:12px;font:700 19px/1 var(--sans);text-decoration:none;padding:22px 32px;border-radius:99px;background:var(--prune);color:var(--creme);transition:transform .2s, background .2s}
.btn:hover{transform:translateY(-2px);background:#6a3546}
.dark .btn{background:var(--rose);color:var(--brun)}
.dark .btn:hover{background:#f4e2e5}
.btn small{font-weight:600;opacity:.8;font-size:16px}


/* ===== Header ===== */
header{position:sticky;top:0;z-index:20;background:var(--brun);color:var(--creme)}
header .wrap{display:flex;align-items:center;gap:36px;height:84px}
.logo{font:400 34px/1 var(--script);text-decoration:none;color:var(--creme);margin-right:auto;white-space:nowrap}
nav{display:flex;gap:32px;font-weight:600;font-size:18px;white-space:nowrap}
nav a{text-decoration:none;color:var(--rose)}
nav a:hover{color:var(--creme)}
header .btn{padding:15px 24px;font-size:17px;white-space:nowrap}
@media (max-width:1180px){ nav{display:none} }
@media (max-width:520px){ header .btn small{display:none} .logo{font-size:27px} header .btn{padding:13px 18px;font-size:15px} }

/* ===== Hero (sombre) ===== */
.hero{padding:clamp(56px,8vw,110px) 0 clamp(80px,10vw,130px)}
.hero .wrap{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}
.hero h1{font-size:clamp(40px,5.6vw,72px);max-width:15ch;margin-bottom:30px}
.hero .who{font-size:21px;color:var(--rose);margin-bottom:42px;max-width:42ch}
.hero .who strong{color:var(--creme);font-weight:700}
.hero .meta{margin-top:24px;font-size:18px;color:var(--rose)}
.disc{aspect-ratio:1;border-radius:50%;background:url(img/melodie-portrait.jpg) center / cover no-repeat, var(--taupe);width:100%;max-width:480px}
@media (max-width:820px){ .hero .wrap{grid-template-columns:1fr} .hero .disc{order:-1;max-width:300px} }

/* ===== Trois temps ===== */
.pillars{padding:clamp(72px,9vw,110px) 0}
.pillars .intro{font:500 clamp(26px,2.8vw,36px)/1.3 var(--serif);max-width:30ch;margin-bottom:60px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,44px)}
.pillar .num{width:60px;height:60px;border-radius:50%;background:var(--rose);color:var(--brun);font:600 24px/1 var(--serif);display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.pillar h3{margin-bottom:10px}
.pillar p{color:var(--texte)}
@media (max-width:820px){ .grid3{grid-template-columns:1fr} }

/* ===== Vous vous sentez parfois ===== */
.feel{background:var(--lin)}
.feel .line{font:500 clamp(28px,3.6vw,48px)/1.25 var(--serif);margin:38px 0 20px}
.feel .sub{font-size:21px;color:var(--texte);max-width:58ch;margin-bottom:68px}
.feel .line span{color:var(--prune)}
.feel .line i{font-style:normal;color:var(--taupe);padding:0 .25em}
.domains{display:grid;grid-template-columns:auto 1fr;gap:14px 44px;align-items:baseline;max-width:900px}
.domains dt{font:700 15px/1.6 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--texte)}
.domains dd{font-size:22px}
.domains dd.main{font:500 29px/1.3 var(--serif)}
@media (max-width:640px){ .domains{grid-template-columns:1fr} .domains dd{margin-bottom:18px} }

/* ===== Accompagnements ===== */
.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:60px}
.offer{background:var(--lin);border-radius:30px;padding:40px 34px 44px;display:flex;flex-direction:column}
.offer.feat{background:var(--brun);color:var(--creme)}
.offer .tag{font:700 15px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--prune);margin-bottom:24px}
.offer.feat .tag{color:var(--rose)}
.offer h3{font-size:31px;margin-bottom:16px}
.offer p{color:var(--texte);margin-bottom:26px}
.offer.feat p{color:var(--rose)}
.offer ul{list-style:none;margin-bottom:30px;display:grid;gap:10px}
.offer li{padding-left:24px;position:relative}
.offer li::before{content:"";position:absolute;left:0;top:.62em;width:9px;height:9px;border-radius:50%;background:var(--prune)}
.offer.feat li::before{background:var(--rose)}
.offer .price{margin-top:auto;font:500 40px/1 var(--serif)}
.offer .price small{font:600 17px var(--sans);color:var(--texte)}
.offer .price s{font:600 17px var(--sans);color:var(--gris);margin-left:6px}
.offer.feat .price{color:var(--creme)}
.offer.feat .btn{margin-top:24px;align-self:flex-start;background:var(--rose);color:var(--brun)}
.where{margin-top:40px;font-size:20px;color:var(--texte);max-width:70ch}
.where strong{color:var(--encre)}
@media (max-width:1020px){ .offers{grid-template-columns:1fr} }

/* ===== Déroulement ===== */
.methode{background:var(--lin)}
.steps{list-style:none;margin-top:60px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;counter-reset:s}
.steps li{background:var(--creme);border-radius:30px;padding:32px 30px 36px;counter-increment:s}
.steps li::before{content:counter(s);display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--prune);color:var(--creme);font:600 22px/1 var(--serif);margin-bottom:22px}
.steps .when{font:700 15px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--prune);margin-bottom:12px}
.steps h3{font-size:25px;margin-bottom:10px}
.steps p{color:var(--texte);font-size:19px}
.promise{margin-top:44px;font:500 26px/1.4 var(--serif);max-width:44ch}
@media (max-width:1020px){ .steps{grid-template-columns:1fr 1fr} }
@media (max-width:560px){ .steps{grid-template-columns:1fr} }

/* ===== Qui suis-je (sombre) ===== */
.about .wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(32px,6vw,90px);align-items:center}
.about .disc{max-width:420px}
.about p{color:var(--rose);margin-top:22px;max-width:54ch;font-size:21px}
.about p strong{color:var(--creme)}
.about blockquote{font:400 italic clamp(26px,2.8vw,36px)/1.35 var(--serif);color:var(--creme);margin:36px 0 0;max-width:32ch}
.facts{display:flex;flex-wrap:wrap;gap:12px;margin-top:38px}
.facts span{background:#62434a;color:var(--creme);border-radius:99px;padding:12px 20px;font-size:17px;font-weight:600}
@media (max-width:820px){ .about .wrap{grid-template-columns:1fr} .about .disc{max-width:260px} }

/* ===== Avis ===== */
.avis{background:var(--lin)}
.quotes{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:60px}
.quote{background:var(--creme);border-radius:30px;padding:40px;display:flex;flex-direction:column}
.quote p{font:400 italic 23px/1.5 var(--serif)}
.quote cite{display:block;margin-top:auto;padding-top:24px;font:700 17px var(--sans);font-style:normal;color:var(--prune)}
@media (max-width:900px){ .quotes{grid-template-columns:1fr} }

/* ===== FAQ ===== */
.faq .wrap{display:grid;grid-template-columns:1fr 1.7fr;gap:clamp(32px,6vw,80px)}
details{background:var(--lin);border-radius:24px;margin-bottom:14px}
summary{list-style:none;cursor:pointer;padding:26px 30px;font:500 24px/1.3 var(--serif);display:flex;gap:18px;align-items:center}
summary::-webkit-details-marker{display:none}
summary::before{content:"+";flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--prune);color:var(--creme);font:600 22px/1 var(--sans)}
details[open] summary::before{content:"–"}
details p{padding:0 30px 28px 84px;color:var(--texte)}
@media (max-width:820px){ .faq .wrap{grid-template-columns:1fr} details p{padding-left:30px} }

/* ===== Contact (sombre) ===== */
.contact .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,80px);align-items:start}
.contact h2{font-size:clamp(42px,5.2vw,66px)}
.contact .ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:42px}
.btn.ghost{background:#62434a;color:var(--creme)}
.btn.ghost:hover{background:#6e4b53}
.coords{display:grid;gap:26px}
.coords .k{font:700 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--rose);margin-bottom:10px}
.coords .v{font:500 27px/1.3 var(--serif)}
.coords .v.big{font-size:42px}
.coords a{text-decoration:none}
.coords a:hover{color:var(--rose)}
.cal{background:#62434a;border-radius:28px;padding:30px;margin-top:14px;color:var(--rose);font-size:18px}
@media (max-width:820px){ .contact .wrap{grid-template-columns:1fr} }

/* ===== Footer (sombre) ===== */
footer{background:var(--encre);color:var(--taupe);padding:76px 0 44px;font-size:18px}
footer .top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px;margin-bottom:60px}
footer .brand{font:400 52px/1.1 var(--script);color:var(--creme);margin-bottom:16px}
footer h4{font:700 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--creme);margin-bottom:18px}
footer ul{list-style:none;display:grid;gap:10px}
footer a{text-decoration:none}
footer a:hover{color:var(--creme)}
footer .bottom{display:flex;flex-wrap:wrap;gap:24px;font-size:16px;align-items:center}
footer .bottom span:first-child{margin-right:auto}
@media (max-width:820px){ footer .top{grid-template-columns:1fr} }

/* Mobile : texte de base un peu plus compact */
@media (max-width:640px){ body{font-size:18px} .lead,.hero .who,.about p,.feel .sub{font-size:19px} .where{font-size:18px} }

/* ===== Pages simples (mentions légales) ===== */
.page-simple{padding:clamp(64px,9vw,120px) 0}
.page-simple .etroit{max-width:820px}
.page-simple h1{font-size:clamp(36px,4.6vw,56px);margin-bottom:40px}
.page-simple h2{font-size:28px;margin:44px 0 14px;max-width:none}
.page-simple p{color:var(--texte);margin-bottom:12px}
.page-simple a{text-decoration:underline;text-decoration-color:var(--prune);text-underline-offset:3px}
.page-simple .retour{margin-top:48px;font-weight:700}
