:root{--noir:#141013;--plum:#2b1b24;--plum2:#3a2530;--blush:#e8a9b8;--blush2:#f3cdd6;--champ:#efe3d6;--cream:#f8f0e8;--ink:#1e1519;--muted:#8a7a80;--line:rgba(239,227,214,.14);--lineD:rgba(30,21,25,.12);
--display:'VSDash','Italiana',Georgia,serif;--sans:'Manrope',system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--noir);color:var(--champ);font-family:var(--sans);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
html,body{overflow-x:clip}
html.lenis,html.lenis body{height:auto}
img{display:block;max-width:100%}a{color:inherit}
em{font-style:normal;color:var(--blush)}
.eyebrow{font-size:.76rem;letter-spacing:.32em;text-transform:uppercase;font-weight:600;color:var(--blush);margin-bottom:1.4rem}
.eyebrow.center{text-align:center}
.h2{font-family:var(--display);font-weight:400;font-size:clamp(2.6rem,5vw,4.8rem);line-height:1.02;letter-spacing:.01em}
.muted{color:var(--muted);max-width:34em}
.btn{display:inline-flex;align-items:center;gap:.6em;background:var(--blush);color:var(--noir);text-decoration:none;padding:1.05em 1.8em;border-radius:999px;font-weight:700;font-size:.92rem;letter-spacing:.02em;transition:background .35s,color .35s,transform .35s}
.btn:hover{background:var(--champ);transform:translateY(-2px)}
.btn-line{background:transparent;color:var(--champ);box-shadow:inset 0 0 0 1px rgba(239,227,214,.45)}
.btn-line:hover{background:var(--champ);color:var(--noir)}
.btn-small{padding:.72em 1.3em;font-size:.84rem}
.btn-xl{font-size:1.15rem;padding:1.3em 2.4em}

/* intro */
.intro{position:fixed;inset:0;z-index:100;pointer-events:none}
.curtain{position:absolute;left:0;right:0;height:50.5%;background:var(--plum)}
.c1{top:0}.c2{bottom:0}
.intro-core{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.2rem}
.intro-flower{width:120px;height:120px;overflow:visible}
.intro-flower path{fill:var(--blush);fill-opacity:0;stroke:var(--blush);stroke-width:1.2}
.intro-word{font-family:var(--display);font-size:clamp(3rem,8vw,7rem);line-height:1;color:var(--champ)}
.intro-sub{font-size:.72rem;letter-spacing:.4em;text-transform:uppercase;color:var(--blush)}
html:not(.js) .intro{display:none}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:flex-start;gap:3.5rem;align-items:center;padding:1.2rem 3.4vw;transition:.4s}
.nav.is-scrolled{background:rgba(20,16,19,.78);backdrop-filter:blur(14px);padding:.75rem 3.4vw;box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--display);font-size:1.7rem}
.brand-flower{width:30px;height:30px;fill:var(--blush)}
.nav-links{display:flex;gap:2.1rem;margin-right:auto}.nav-links a{text-decoration:none;font-size:.88rem;letter-spacing:.04em;opacity:.8;transition:opacity .3s}.nav-links a:hover{opacity:1;color:var(--blush)}

/* hero */
.hero{min-height:100vh;display:grid;grid-template-columns:1.1fr .9fr;align-items:stretch;position:relative}
.hero-copy{padding:10rem 4vw 5rem 6vw;display:flex;flex-direction:column;justify-content:center}
.hero-title{font-family:var(--display);font-weight:400;font-size:clamp(3.6rem,7.4vw,7.6rem);line-height:.98;letter-spacing:-.005em}
.ht-line{display:block}
.hero-lead{max-width:30em;margin:2rem 0 2.4rem;color:rgba(239,227,214,.72);font-size:1.08rem}
.hero-cta{display:flex;gap:1rem;flex-wrap:wrap}
.hero-facts{list-style:none;display:flex;gap:3rem;margin-top:3.4rem;font-size:.82rem;color:var(--muted)}
.hero-facts b{display:block;font-family:var(--display);font-weight:400;font-size:2rem;color:var(--champ);line-height:1.1}
.hero-visual{position:relative;overflow:hidden;cursor:crosshair}
.hero-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hv-base{filter:grayscale(1) contrast(1.05) brightness(.78)}
.hv-tint{filter:grayscale(1) sepia(.35) hue-rotate(300deg) saturate(1.6) brightness(1.18) contrast(1.05);clip-path:circle(0px at 50% 50%)}
.hv-ring{position:absolute;left:0;top:0;width:380px;height:380px;margin:-190px 0 0 -190px;border-radius:50%;border:1px solid rgba(243,205,214,.8);pointer-events:none;opacity:0;box-shadow:0 0 60px rgba(232,169,184,.25)}
.hv-cap{position:absolute;left:1.6rem;bottom:1.4rem;font-size:.72rem;letter-spacing:.3em;text-transform:uppercase;color:var(--champ);mix-blend-mode:difference}
.hero-scroll{position:absolute;left:6vw;bottom:2rem;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:.8rem}
.hero-scroll span{width:60px;height:1px;background:var(--muted);position:relative;overflow:hidden}
.hero-scroll span::after{content:'';position:absolute;inset:0;background:var(--blush);animation:sl 2.2s infinite}
@keyframes sl{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* ticker */
.ticker{border-block:1px solid var(--line);overflow:hidden;padding:1.3rem 0}
.ticker-track{display:flex;gap:2.6rem;width:max-content;align-items:center;white-space:nowrap;font-family:var(--display);font-size:1.6rem}
.ticker-track i{width:9px;height:9px;border-radius:50%;background:var(--blush)}

/* statement */
.intro-text{padding:11rem 8vw}
.big-statement{font-family:var(--display);font-size:clamp(2.2rem,4.2vw,4.1rem);line-height:1.18;max-width:20em;margin:0 auto;text-align:center}

/* horizontal treatments */
.treat{background:var(--cream);color:var(--ink)}
.treat-pin{height:100vh;display:flex;align-items:center;overflow:hidden;position:relative}
.treat-head{flex:none;width:36vw;padding:0 4vw 0 6vw;position:relative;z-index:3;align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(90deg,var(--cream) 82%,rgba(248,240,232,0))}
.treat-head .muted{color:#86767c}
.treat-progress{height:2px;background:var(--lineD);margin-top:2.4rem;max-width:280px}
.treat-progress span{display:block;height:100%;background:var(--ink);transform-origin:left;transform:scaleX(0)}
.treat .eyebrow{color:#b5677c}.treat em{color:#b5677c}
.treat-track{display:flex;gap:2rem;padding-right:8vw;will-change:transform;position:relative;z-index:1}
.tcard{flex:none;width:340px;background:#fff;border-radius:26px;padding:1rem 1rem 1.6rem;position:relative;box-shadow:0 30px 60px -40px rgba(30,21,25,.4)}
.tcard:nth-child(even){margin-top:5rem}
.tcard figure{height:300px;border-radius:18px;overflow:hidden}
.tcard img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .6s}
.tcard:hover img{transform:scale(1.06);filter:grayscale(.2) sepia(.3) hue-rotate(295deg) saturate(1.6)}
.tno{position:absolute;top:1.7rem;left:1.7rem;font-family:var(--sans);font-weight:700;font-size:.75rem;letter-spacing:.1em;color:var(--ink);background:var(--cream);padding:.35em .8em;border-radius:999px}
.tcard h3{font-family:var(--display);font-weight:400;font-size:1.75rem;line-height:1.1;margin:1.2rem .4rem .6rem}
.tcard p{font-size:.92rem;color:#6e5f65;margin:0 .4rem}
.tcard b{display:inline-block;margin:1.1rem .4rem 0;font-size:.85rem;background:var(--ink);color:var(--champ);padding:.45em 1em;border-radius:999px}

/* sqt */
.sqt{display:grid;grid-template-columns:1fr 1fr;gap:7vw;padding:11rem 6vw;align-items:center;background:radial-gradient(60vw 60vw at 80% 40%,rgba(232,169,184,.12),transparent 60%)}
.sqt-steps{list-style:none;counter-reset:s;margin-top:2.4rem;display:grid;gap:1rem}
.sqt-steps li{display:flex;gap:1.2rem;align-items:baseline;border-top:1px solid var(--line);padding-top:1rem;color:var(--muted)}
.sqt-steps b{font-family:var(--display);font-weight:400;font-size:1.5rem;color:var(--champ);min-width:6.5rem}
.days{display:flex;align-items:flex-end;gap:1.4rem}
.days-num{font-family:var(--display);font-size:clamp(10rem,20vw,18rem);line-height:.8;color:var(--blush)}
.days-label{font-family:var(--display);font-size:2.6rem;line-height:1}.days-label small{font-family:var(--sans);font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.days-note{margin:2rem 0;color:var(--muted);max-width:28em}
.sqt-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.sqt-prices div{border:1px solid var(--line);border-radius:18px;padding:1.2rem}
.sqt-prices span{display:block;font-size:.8rem;color:var(--muted);letter-spacing:.06em}
.sqt-prices b{font-family:var(--display);font-weight:400;font-size:1.6rem}

/* prices */
.prices{background:var(--cream);color:var(--ink);padding:10rem 6vw 8rem}
.prices .eyebrow{color:#b5677c}.prices em{color:#b5677c}
.prices-head{margin-bottom:4rem}
.pgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.pcol{background:#fff;border-radius:24px;padding:2rem 1.6rem;border:1px solid var(--lineD)}
.pcol h3{font-family:var(--display);font-weight:400;font-size:1.8rem;margin-bottom:1rem;line-height:1.1}
.pcol p{display:flex;justify-content:space-between;gap:.8rem;padding:.75rem 0;border-top:1px solid var(--lineD);font-size:.9rem}
.pcol b{white-space:nowrap;font-weight:700}
.pnote{margin-top:2rem;font-size:.85rem;color:#86767c}

/* rahel */
.rahel{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw;padding:11rem 6vw;align-items:center}
.rahel-img{height:720px;border-radius:300px 300px 24px 24px;overflow:hidden}
.rahel-img img{width:100%;height:100%;object-fit:cover;filter:grayscale(.15) contrast(1.02)}
.rahel blockquote{font-family:var(--display);font-size:1.9rem;line-height:1.3;margin:2rem 0;color:var(--champ)}
.rahel-tl{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.4rem 0}
.rahel-tl li{border-left:1px solid var(--blush);padding-left:1rem;font-size:.85rem;color:var(--muted)}
.rahel-tl b{display:block;font-family:var(--display);font-weight:400;font-size:1.7rem;color:var(--champ)}

/* voices */
.voices{padding:8rem 6vw 10rem;border-top:1px solid var(--line)}
.voices-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}
.voice{border:1px solid var(--line);border-radius:28px;padding:2.4rem;background:linear-gradient(160deg,rgba(232,169,184,.08),transparent 60%)}
.voice:nth-child(2){transform:translateY(3rem)}
.voice blockquote{font-family:var(--display);font-size:1.55rem;line-height:1.35}
.voice figcaption{margin-top:1.6rem;font-size:.8rem;letter-spacing:.06em;color:var(--blush)}

/* faq */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:6vw;padding:9rem 6vw;background:var(--plum)}
.faq-head{position:sticky;top:8rem;align-self:start}
.faq-list details{border-bottom:1px solid var(--line);padding:1.6rem 0}
.faq-list summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:1rem;font-family:var(--display);font-size:1.7rem;line-height:1.2}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary i{flex:none;width:14px;height:14px;margin-top:.5rem;border-right:1.5px solid var(--blush);border-bottom:1.5px solid var(--blush);transform:rotate(45deg);transition:transform .4s}
.faq-list details[open] summary i{transform:rotate(-135deg)}
.faq-list p{color:rgba(239,227,214,.7);padding-top:1rem;max-width:40em}

/* contact */
.contact{padding:11rem 6vw 8rem;text-align:center}
.contact-big{font-family:var(--display);font-size:clamp(3.4rem,8vw,8.4rem);line-height:.98}
.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin:5rem auto 4rem;max-width:1100px;text-align:left;border-top:1px solid var(--line);padding-top:2.6rem}
.contact-grid h3{font-size:.75rem;letter-spacing:.3em;text-transform:uppercase;color:var(--blush);font-weight:600;margin-bottom:1rem}
.ul{text-decoration:none;border-bottom:1px solid rgba(239,227,214,.3)}
.hours td{padding:.15rem 1.4rem .15rem 0}
.footer{display:flex;justify-content:space-between;gap:2rem;padding:2rem 6vw;border-top:1px solid var(--line);font-size:.84rem;color:var(--muted)}
.footer nav{display:flex;gap:1.6rem}.footer a{text-decoration:none}.footer a:hover{color:var(--blush)}

/* legal */
.legal-page{background:var(--cream);color:var(--ink)}
.legal-head{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 6vw;background:var(--noir);color:var(--champ)}
.legal-brand{text-decoration:none;font-family:var(--display);font-size:1.6rem}.legal-back{text-decoration:none;color:var(--blush)}
.legal{max-width:820px;margin:0 auto;padding:5rem 6vw}
.legal-kicker{font-size:.76rem;letter-spacing:.3em;text-transform:uppercase;color:#b5677c;font-weight:700}
.legal h1{font-family:var(--display);font-weight:400;font-size:3.6rem;margin:.5rem 0 2rem}
.legal h2{font-family:var(--display);font-weight:400;font-size:1.7rem;margin:2.4rem 0 .6rem}
.legal p,.legal li{color:#4d3f44}.legal-list{padding-left:1.2rem}
.legal-foot{display:flex;gap:2rem;justify-content:center;padding:2rem;border-top:1px solid var(--lineD);font-size:.85rem}.legal-foot a{text-decoration:none}
.js [data-rise]{opacity:0;transform:translateY(50px)}
.js [data-clip]{clip-path:inset(0 0 100% 0)}
@media(max-width:900px){.hero,.sqt,.rahel,.faq{grid-template-columns:1fr}.hero-visual{height:70vh}.nav-links{display:none}.pgrid,.voices-row,.contact-grid{grid-template-columns:1fr}.treat-pin{height:auto;flex-direction:column;padding:6rem 0}.treat-head{width:100%}.treat-track{flex-wrap:wrap;padding:2rem 6vw}.tcard:nth-child(even){margin-top:0}}
