/* spa — repris du <style> de spa.html.
   Genere par _tools/build-pagecss.py : ne pas modifier a la main. */
.spa-hero{position:relative;background:var(--ink);color:var(--ivory);overflow:hidden;padding:clamp(110px,17vw,190px) clamp(20px,4vw,52px) clamp(64px,9vw,110px)}
.spa-hero .zellige{position:absolute;right:-8%;top:50%;transform:translateY(-50%);width:min(660px,74vw);opacity:.15;pointer-events:none}
.spa-hero .in{position:relative;max-width:1240px;margin:0 auto}
.spa-hero h1{font-family:var(--serif);font-weight:300;font-size:var(--step-4);line-height:.98;letter-spacing:.005em;max-width:14ch;margin:18px 0 24px}
.spa-hero h1 em{font-style:italic;color:var(--gold-bright)}
.spa-hero p{max-width:48ch;opacity:.86}
.ritual{max-width:940px;margin:0 auto;padding:var(--s6) clamp(20px,4vw,52px)}
.step{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3.4vw,44px);padding:clamp(26px,3.6vw,40px) 0;border-top:1px solid var(--line);align-items:start}
.step:last-child{border-bottom:1px solid var(--line)}
.step .n{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--gold);padding-top:9px;min-width:34px}
.step h3{font-family:var(--serif);font-weight:400;font-size:var(--step-1);color:var(--pine);margin-bottom:10px}
.step p{max-width:54ch}
.care{background:var(--cream);padding:var(--s6) clamp(20px,4vw,52px)}
.care .in{max-width:1240px;margin:0 auto}
.care-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:clamp(18px,2.2vw,28px);margin-top:var(--s4)}
.care-card{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:30px 26px;display:flex;flex-direction:column;gap:11px}
.care-card h3{font-family:var(--serif);font-weight:400;font-size:var(--step-1);color:var(--pine)}
.care-card p{font-size:.95rem}
.care-card .meta{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.imgband{margin:0;width:100%;aspect-ratio:16/6;overflow:hidden;background:var(--cream)}
.imgband img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s var(--ease)}
.imgband:hover img{transform:scale(1.04)}
@media(max-width:760px){.imgband{aspect-ratio:3/2}}
section.faq{max-width:900px;margin:0 auto;padding:var(--s6) clamp(20px,4vw,52px)}
section.faq details{border-top:1px solid var(--line);padding:20px 0}
section.faq details:last-of-type{border-bottom:1px solid var(--line)}
section.faq summary{font-family:var(--serif);font-size:var(--step-1);color:var(--pine);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:16px}
section.faq summary::-webkit-details-marker{display:none}
section.faq summary::after{content:"+";font-family:var(--mono);font-size:1.1rem;color:var(--gold);transition:transform .3s var(--ease)}
section.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{margin-top:14px;max-width:58ch}
