@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/cormorant-garamond-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/cormorant-garamond-latin-400-italic.woff2") format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:500;font-display:swap;src:url("fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2")}
@font-face{font-family:"Mulish";font-style:normal;font-weight:300;font-display:swap;src:url("fonts/mulish-latin-300-normal.woff2") format("woff2")}
@font-face{font-family:"Mulish";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/mulish-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Mulish";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/mulish-latin-600-normal.woff2") format("woff2")}
img{max-width:100%}
html{scroll-behavior:smooth}
/* Layout : une colonne de lecture étroite, la lumière de l'image thème descend du haut de page ; les soins en trois colonnes séparées par de fins filets */
:root{
  --bg:#f6f5fc; --surface:#ffffff; --fg:#231a5c; --muted:#5d5690;
  --indigo:#2a1fa8; --violet:#7a3fd0; --glow:#8fe9f2; --line:#d9d5f0;
  --night:#1a1273; --on-night:#f1f0ff; --on-night-muted:#c9c8f5;
  --display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --body:"Mulish","Segoe UI",Helvetica,Arial,sans-serif;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0f0b3a; --surface:#18125a; --fg:#eceaff; --muted:#b3aee6;
  --indigo:#a9a4ff; --violet:#c7a2ff; --glow:#8fe9f2; --line:#322a85;
  --night:#0a0730; --on-night:#f1f0ff; --on-night-muted:#c9c8f5; color-scheme:dark } }
:root[data-theme="dark"]{
  --bg:#0f0b3a; --surface:#18125a; --fg:#eceaff; --muted:#b3aee6;
  --indigo:#a9a4ff; --violet:#c7a2ff; --glow:#8fe9f2; --line:#322a85;
  --night:#0a0730; --on-night:#f1f0ff; --on-night-muted:#c9c8f5; color-scheme:dark }

*{box-sizing:border-box}
body{background:var(--bg);color:var(--fg);font-family:var(--body);font-weight:300;font-size:1.0625rem;line-height:1.75;margin:0}
h1,h2,h3{font-family:var(--display);font-weight:500;line-height:1.15;text-wrap:balance;margin:0}
p{margin:0}
a{color:inherit}
a:focus-visible{outline:2px solid var(--glow);outline-offset:3px}
.wrap{max-width:62rem;margin-inline:auto;padding-inline:1.25rem}
.eyebrow{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;font-weight:600}

/* Hero */
.hero{background:radial-gradient(ellipse 34% 60% at 50% 0%,rgba(190,250,255,.85),rgba(120,220,245,.35) 45%,transparent 75%),radial-gradient(ellipse 60% 55% at 12% 30%,rgba(150,70,225,.75),transparent 70%),radial-gradient(ellipse 60% 55% at 88% 30%,rgba(150,70,225,.75),transparent 70%),radial-gradient(ellipse 90% 60% at 50% 100%,#1418c8,transparent 75%),linear-gradient(to bottom,#3d6fe8,#3a22c4 45%,#1a1273);background-color:var(--night);overflow:hidden;color:var(--on-night);text-align:center;position:relative}
.hero::after{content:"";position:absolute;inset:auto 0 0 0;height:7rem;background:linear-gradient(to bottom,transparent,var(--bg))}
.waves{position:absolute;left:0;right:0;bottom:4.5rem;width:100%;height:9rem;display:block}
.hero .wrap{position:relative;z-index:1;padding-block:1.5rem 11rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem}
nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.75rem;margin-bottom:3.5rem}
nav a{text-decoration:none;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;font-weight:400;color:var(--on-night)}
nav a:hover{color:var(--glow)}
.hero .eyebrow{color:var(--glow)}
.hero h1{font-size:clamp(2.6rem,7vw,4.6rem);font-weight:400;max-width:14ch;text-shadow:0 2px 24px rgba(20,10,110,.55)}
.hero h1 em{font-style:italic}
.hero p.lead{max-width:34rem;font-size:1.15rem;color:var(--on-night);text-shadow:0 1px 14px rgba(20,10,110,.7)}
.btn{display:inline-block;margin-top:.75rem;padding:.8rem 1.9rem;border:1px solid var(--glow);border-radius:999px;text-decoration:none;font-size:.82rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--on-night);background:rgba(20,12,110,.35)}
.btn:hover{background:var(--glow);color:var(--night)}

section{padding-block:4rem}
section h2{font-size:clamp(2rem,4.5vw,2.9rem);color:var(--indigo)}
section .eyebrow{color:var(--violet);margin-bottom:.6rem}

/* À propos */
.about{display:grid;grid-template-columns:minmax(0,17rem) minmax(0,1fr);gap:3rem;align-items:start;padding-top:0;margin-top:-5rem;position:relative;z-index:2}
.portrait{width:100%;max-width:17rem;aspect-ratio:1;border-radius:50%;object-fit:cover;display:block;margin-inline:auto;border:6px solid var(--bg);box-shadow:0 0 0 1px var(--line),0 18px 50px rgba(60,40,190,.28)}
.about-text{display:flex;flex-direction:column;gap:1.1rem;padding-top:6rem;min-width:0;max-width:38rem}
.about-text .first{font-family:var(--display);font-size:1.75rem;line-height:1.3;font-style:italic;color:var(--indigo)}
.parcours{display:flex;flex-wrap:wrap;gap:.5rem 2rem;padding:0;margin:.4rem 0 0;list-style:none;font-size:.92rem;color:var(--muted)}
.parcours b{font-family:var(--display);font-size:1.3rem;font-weight:600;color:var(--violet);margin-right:.4rem;font-variant-numeric:tabular-nums}

/* Pourquoi */
.why{background:var(--surface);border-block:1px solid var(--line)}
.why .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:3rem}
.why .intro{display:flex;flex-direction:column;gap:1rem;min-width:0}
.benefits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;min-width:0}
.benefits li{font-family:var(--display);font-size:1.45rem;line-height:1.3;padding-block:1rem;border-bottom:1px solid var(--line);display:flex;gap:1rem;align-items:baseline}
.benefits li:first-child{border-top:1px solid var(--line)}
.benefits li::before{content:"";flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--glow);box-shadow:0 0 0 4px color-mix(in srgb,var(--glow) 30%,transparent);transform:translateY(-.2rem)}
.note{color:var(--muted)}

/* Soins */
.soins-head{text-align:center;margin-bottom:2.5rem}
.soins{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.soin{padding:.5rem 2rem;display:flex;flex-direction:column;gap:1rem;border-left:1px solid var(--line);min-width:0}
.soin:first-child{border-left:0;padding-left:0}
.soin:last-child{padding-right:0}
.soin h3{font-size:2rem;color:var(--indigo)}
.soin .full{font-size:.85rem;color:var(--violet);font-weight:600;margin-top:-.6rem}
.soin p.desc{flex:1}
.duree{font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--muted);padding-top:.9rem;border-top:1px solid var(--line)}
.duree span{display:block;font-family:var(--display);font-size:1.5rem;letter-spacing:0;text-transform:none;font-weight:500;color:var(--fg)}

/* Contact */
.contact{background:radial-gradient(ellipse 50% 90% at 50% 100%,rgba(140,230,245,.35),transparent 70%),radial-gradient(ellipse 60% 80% at 10% 0%,rgba(150,70,225,.6),transparent 70%),radial-gradient(ellipse 60% 80% at 90% 0%,rgba(150,70,225,.6),transparent 70%),linear-gradient(to bottom,#2a1fb4,#1a1273);background-color:var(--night);color:var(--on-night);text-align:center}
.contact .wrap{padding-block:4.5rem;display:flex;flex-direction:column;align-items:center;gap:1.25rem}
.contact h2{color:var(--on-night);font-size:clamp(2rem,4.5vw,2.9rem)}
.contact .eyebrow{color:var(--glow)}
.coords{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem 3rem;margin-top:.5rem}
.coords div{display:flex;flex-direction:column;min-width:0}
.coords dt{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--on-night-muted);font-weight:600}
.coords dd{margin:0;font-family:var(--display);font-size:1.5rem;user-select:all}
footer{padding-block:2rem;font-size:.85rem;color:var(--muted);text-align:center}
footer p{max-width:40rem;margin-inline:auto}

@media (max-width:760px){
  .about{grid-template-columns:minmax(0,1fr);gap:1.5rem}
  .about-text{padding-top:0}
  .why .wrap{grid-template-columns:minmax(0,1fr);gap:2rem}
  .soins{grid-template-columns:minmax(0,1fr)}
  .soin,.soin:first-child,.soin:last-child{border-left:0;padding:2rem 0;border-top:1px solid var(--line)}
  .soin:first-child{border-top:0;padding-top:0}
  nav{margin-bottom:2rem}
  section{padding-block:3rem}
}
footer{display:flex;flex-direction:column;gap:.75rem}
footer a{color:var(--indigo)}
/* Page mentions légales */
.legal-head{background:linear-gradient(to bottom,#3a22c4,#1a1273);background-color:var(--night);color:var(--on-night);text-align:center}
.legal-head .wrap{padding-block:1.5rem 3rem}
.legal-head nav{margin-bottom:2rem}
.legal-head h1{font-size:clamp(2.2rem,5vw,3.2rem);font-weight:400}
.legal{max-width:44rem;padding-block:3rem;display:flex;flex-direction:column;gap:2.25rem}
.legal section{padding-block:0;display:flex;flex-direction:column;gap:.75rem}
.legal h2{font-size:1.75rem}
.legal dl{margin:0;display:grid;grid-template-columns:minmax(0,12rem) minmax(0,1fr);gap:.35rem 1.5rem}
.legal dt{color:var(--muted);font-weight:400}
.legal dd{margin:0}
@media (max-width:560px){.legal dl{grid-template-columns:minmax(0,1fr);gap:0}.legal dd{margin-bottom:.6rem}}

