:root{
  --ivory:#F7F4EC;
  --sage:#7E8F6F;
  --sage-deep:#3D4B33;
  --sand:#E0D6C0;
  --bamboo:#A9B58E;
  --ink:#2A2B26;
  --muted:#7C8076;
  --rule:#D5CFBE;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--ivory);font-size:17px;line-height:1.85;-webkit-font-smoothing:antialiased}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}html{scroll-behavior:auto}}
a{color:var(--sage-deep);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{color:var(--sage)}
a:focus-visible,button:focus-visible{outline:2px solid var(--sage);outline-offset:3px}
.skip{position:absolute;left:-999px;top:0;background:var(--sage-deep);color:var(--ivory);padding:.5rem 1rem;z-index:99}
.skip:focus{left:0}

/* MONO-COLUMN NARROW LAYOUT — Template F signature */
.col{max-width:720px;margin:0 auto;padding:0 1.5rem}
.col-wide{max-width:980px;margin:0 auto;padding:0 1.5rem}

h1,h2,h3,h4{font-family:'Cormorant Infant','Georgia',serif;font-weight:400;line-height:1.05;margin:0;letter-spacing:-.005em;color:var(--sage-deep)}
h1{font-size:clamp(2.4rem,5.4vw,4.6rem)}
h2{font-size:clamp(2rem,4.2vw,3.4rem)}
h3{font-size:1.5rem}
.italic{font-style:italic;color:var(--sage)}
p{margin:0 0 1.2rem}

/* Section labels right-aligned (distinctive treatment) */
.right-label{display:flex;justify-content:flex-end;margin-bottom:1rem}
.right-label span{font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;color:var(--sage);padding-right:0;border-right:1px solid var(--sage);padding:.4rem 1rem .4rem 0}

/* Ornament dividers (CSS-only) */
.ornament{display:flex;align-items:center;justify-content:center;margin:5rem auto;max-width:160px;color:var(--sage)}
.ornament::before,.ornament::after{content:'';flex:1;height:1px;background:currentColor;opacity:.4}
.ornament .sym{margin:0 1rem;font-family:'Cormorant Infant',serif;font-style:italic;font-size:1.4rem}

/* Hero zen */
.hero{padding:7rem 0 5rem}
.hero h1{text-align:left;max-width:18ch}
.hero h1 em{font-style:italic;color:var(--sage)}
.hero .intro{font-family:'Cormorant Infant',serif;font-style:italic;font-size:clamp(1.3rem,2.2vw,1.7rem);color:var(--muted);margin-top:2rem;max-width:30ch;line-height:1.45}
.hero-meta{margin-top:3rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.hero-meta div{background:var(--ivory);padding:1.5rem 1rem;text-align:center}
.hero-meta .k{font-family:'Inter',sans-serif;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-bottom:.4rem}
.hero-meta .v{font-family:'Cormorant Infant',serif;font-style:italic;font-size:1.6rem;color:var(--sage-deep)}
@media (max-width:680px){.hero-meta{grid-template-columns:1fr}}

/* Manifeste — large breathing text */
.manifeste{padding:5rem 0}
.manifeste p{font-size:1.15rem;line-height:1.85;color:var(--ink)}
.manifeste p em{font-style:italic;color:var(--sage)}
.manifeste-tagline{font-family:'Cormorant Infant',serif;font-style:italic;font-size:clamp(1.4rem,2.8vw,2.2rem);text-align:center;color:var(--sage);margin:3rem 0;line-height:1.4;letter-spacing:-.005em}

/* Soins — listed as zen menu */
.soins{padding:5rem 0}
.soin-row{display:grid;grid-template-columns:1fr auto;gap:2rem;align-items:start;padding:2rem 0;border-bottom:1px solid var(--rule)}
.soin-row:first-of-type{border-top:1px solid var(--rule);margin-top:2rem}
.soin-row h3{font-size:1.65rem;margin-bottom:.4rem}
.soin-row h3 em{font-style:italic;color:var(--sage)}
.soin-row p{margin:0;color:var(--muted);max-width:55ch;font-size:1rem}
.soin-meta{font-family:'Cormorant Infant',serif;font-style:italic;text-align:right;line-height:1.3}
.soin-meta .duree{display:block;color:var(--sage);font-size:1.4rem}
.soin-meta .prix{display:block;color:var(--sage-deep);font-size:1.6rem;font-weight:600}
@media (max-width:680px){.soin-row{grid-template-columns:1fr;gap:.5rem}.soin-meta{text-align:left}}

/* Citation — full-width breakout */
.citation{padding:6rem 1.5rem;background:var(--sage-deep);color:var(--ivory);text-align:center}
.citation blockquote{font-family:'Cormorant Infant',serif;font-style:italic;font-size:clamp(1.6rem,3.4vw,2.6rem);color:var(--ivory);max-width:28ch;margin:0 auto;line-height:1.4;font-weight:400}
.citation cite{display:block;margin-top:2rem;font-style:normal;font-family:'Inter',sans-serif;font-size:.72rem;text-transform:uppercase;letter-spacing:.3em;color:var(--bamboo)}

/* Étapes — horizontal flow inside narrow column */
.etapes{padding:5rem 0}
.etapes-list{counter-reset:e;list-style:none;padding:0;margin:2rem 0 0}
.etapes-list li{display:grid;grid-template-columns:80px 1fr;gap:1.5rem;align-items:start;padding:1.5rem 0;border-bottom:1px solid var(--rule)}
.etapes-list li::before{counter-increment:e;content:counter(e,decimal-leading-zero);font-family:'Cormorant Infant',serif;font-style:italic;font-size:2.4rem;color:var(--sage);line-height:1}
.etapes-list h3{font-size:1.3rem;margin-bottom:.4rem}
.etapes-list p{margin:0;color:var(--muted);font-size:.98rem}
@media (max-width:680px){.etapes-list li{grid-template-columns:60px 1fr;gap:.8rem}}

/* Bienfaits — bullet-like signature */
.bienfaits{padding:5rem 0}
.bienfaits ul{list-style:none;padding:0;margin:2rem 0 0;display:grid;grid-template-columns:1fr 1fr;gap:1.2rem 3rem}
.bienfaits li{padding-left:1.5rem;position:relative;color:var(--ink);font-size:1.02rem;line-height:1.5}
.bienfaits li::before{content:'';position:absolute;left:0;top:.75rem;width:.6rem;height:.6rem;border:1px solid var(--sage);border-radius:50%}
.bienfaits li strong{font-family:'Cormorant Infant',serif;font-style:italic;font-weight:500;color:var(--sage-deep);font-size:1.15rem;display:block}
@media (max-width:680px){.bienfaits ul{grid-template-columns:1fr}}

/* Pratique inline */
.pratique{padding:5rem 0}
.pratique-rows{margin-top:2rem;border-top:1px solid var(--rule)}
.pratique-rows .r{display:grid;grid-template-columns:160px 1fr;gap:2rem;padding:1.2rem 0;border-bottom:1px solid var(--rule);align-items:baseline}
.pratique-rows .r .k{font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--sage);font-weight:600}
.pratique-rows .r .v{font-family:'Cormorant Infant',serif;font-size:1.25rem;color:var(--ink)}
.pratique-rows .r .v em{font-style:italic;color:var(--sage)}
@media (max-width:680px){.pratique-rows .r{grid-template-columns:1fr;gap:.3rem}}

/* FAQ */
.faq{padding:5rem 0}
.faq-item{border-bottom:1px solid var(--rule)}
.faq-item:first-child{border-top:1px solid var(--rule)}
.faq-item summary{padding:1.3rem 0;cursor:pointer;font-family:'Cormorant Infant',serif;font-size:1.35rem;color:var(--sage-deep);list-style:none;display:flex;justify-content:space-between;align-items:center}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'~';font-size:1.4rem;color:var(--sage);transition:transform .2s;font-family:'Cormorant Infant',serif;font-style:italic}
.faq-item[open] summary::after{transform:rotate(45deg)}
.faq-item p{padding:0 0 1.3rem;color:var(--muted);font-size:1rem}

/* CTA final */
.cta-final{padding:8rem 0;background:var(--sand);text-align:center}
.cta-final .pre{font-family:'Inter',sans-serif;text-transform:uppercase;letter-spacing:.32em;font-size:.72rem;color:var(--sage);margin-bottom:1.5rem}
.cta-final h2{font-size:clamp(2.4rem,5vw,4rem);max-width:18ch;margin:0 auto 2rem}
.cta-final h2 em{font-style:italic;color:var(--sage)}
.cta-final .phone-huge{display:block;font-family:'Cormorant Infant',serif;font-style:italic;font-size:clamp(2rem,5vw,3.4rem);color:var(--sage-deep);text-decoration:none;margin-top:2rem;padding:.5rem 0;border-top:1px solid var(--sage);border-bottom:1px solid var(--sage);max-width:520px;margin-left:auto;margin-right:auto}
.cta-final .phone-huge:hover{color:var(--sage);background:var(--ivory)}
.cta-final p.note{font-family:'Cormorant Infant',serif;font-style:italic;color:var(--muted);font-size:1.1rem;margin-top:1.5rem;max-width:32ch;margin-left:auto;margin-right:auto}

footer{padding:2rem 1.5rem;background:var(--ivory);color:var(--muted);font-size:.85rem;text-align:center;border-top:1px solid var(--rule);font-family:'Cormorant Infant',serif;font-style:italic}
