:root{--linen:#f2f1ef;--violet:#49369e;--lav:#a9a7db;--blush:#ec9bad;--ash:#a09c97;--char:#333;--mauve:#c9a7c7;--peach:#f4c5a8;}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{background:var(--linen);color:var(--char);font-family:'Inter',system-ui,sans-serif;font-weight:300;font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
:focus-visible{outline:2px solid var(--violet);outline-offset:3px;}
.serif{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;}
.cbar{position:sticky;top:0;z-index:300;background:#000;color:#fff;font:500 12px/1 'Inter',system-ui,sans-serif;padding:11px 20px;display:flex;justify-content:space-between;gap:16px;}
.cbar .cb-l{display:flex;gap:18px;flex-shrink:0;white-space:nowrap;}
.cbar a{text-decoration:underline;text-underline-offset:3px;}
.cbar .cb-home{font-weight:700;}
.ann{background:var(--ash);color:#fff;text-align:center;font-size:13px;font-weight:400;padding:4px 12px;}
.wrap{max-width:1440px;margin:0 auto;padding:0 40px;}

/* nav */
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;max-width:1440px;margin:0 auto;padding:22px 40px;font-size:13px;font-weight:400;}
.nav .l,.nav .r{display:flex;gap:22px;flex-wrap:wrap;}
.nav .r{justify-content:flex-end;align-items:center;}
.nav a:hover{color:var(--violet);}
.nav a[aria-current]{color:var(--violet);font-weight:700;}
.brand{font-family:'Cormorant Garamond',Georgia,serif;font-size:26px;letter-spacing:.22em;text-transform:uppercase;text-align:center;color:#000;}
.cart{display:inline-flex;align-items:center;gap:8px;}
.badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--violet);color:#fff;font-size:11px;font-weight:700;}
@media (max-width:860px){.nav{grid-template-columns:1fr;text-align:center;padding:16px 20px;gap:10px;}.nav .l,.nav .r{justify-content:center;}.brand{order:-1;}.wrap{padding:0 20px;}}

/* buttons */
.btn{display:inline-block;background:transparent;color:var(--violet);border:1px solid var(--violet);border-radius:3px;padding:12px 18px;font:400 14px/1.2 'Inter',sans-serif;cursor:pointer;transition:background .2s,color .2s;}
.btn:hover{background:var(--violet);color:#fff;}
.btn.sm{padding:9px 14px;font-size:13px;}

/* stages */
.stage{position:relative;overflow:hidden;display:grid;place-items:center;}
.stage h1,.stage h2{position:absolute;left:40px;top:44px;color:#fff;max-width:11ch;font-size:clamp(44px,7vw,80px);line-height:1.1;}
.stage .btn{position:absolute;left:40px;bottom:36px;background:transparent;}
.stage.hero{background:var(--blush);min-height:680px;}
.stage.mauve{background:var(--mauve);min-height:560px;}
.stage.peach{background:var(--peach);min-height:520px;}
.stage svg.big{width:min(30vw,250px);height:auto;color:var(--violet);margin-top:60px;}
.stage .side{position:absolute;right:40px;bottom:36px;max-width:30ch;color:#2a2a2a;font-size:15px;line-height:1.6;font-weight:400;}
@media (max-width:860px){.stage h1,.stage h2{left:20px;top:28px;}.stage .btn{left:20px;bottom:24px;}.stage .side{display:none;}.stage svg.big{width:150px;margin-top:100px;}.stage.hero{min-height:560px;}}

/* sections */
section{padding:80px 0;}
h2.t{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(30px,4vw,44px);line-height:1.2;color:#000;margin-bottom:12px;}
.lead{max-width:56ch;font-size:16px;}
.chips{display:flex;gap:10px;flex-wrap:wrap;margin:26px 0 8px;}
.chips button{font:400 13px/1.2 'Inter',sans-serif;color:var(--violet);background:transparent;border:1px solid var(--violet);border-radius:3px;padding:9px 14px;cursor:pointer;}
.chips button[aria-pressed=true]{background:var(--violet);color:#fff;}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px;}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;}
@media (max-width:1000px){.grid4{grid-template-columns:repeat(2,1fr);}.grid3{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.grid4,.grid3{grid-template-columns:1fr;}}
.card{background:#fff;border:1px solid var(--lav);border-radius:30px;padding:24px;display:flex;flex-direction:column;}
.card[hidden]{display:none;}
.card .pic{background:var(--linen);border-radius:20px;aspect-ratio:1;display:grid;place-items:center;margin-bottom:18px;}
.card .pic svg{width:34%;height:auto;}
.card .pic svg.jar{width:52%;}
.card h3{font-size:20px;font-weight:400;line-height:1.3;color:#000;}
.card p{font-size:14px;margin:6px 0 14px;flex:1;}
.card .foot{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.price{font-size:16px;font-weight:400;color:#000;}

/* treatments */
.list{border-top:1px solid var(--lav);margin-top:30px;}
.list .row{display:grid;grid-template-columns:1.1fr 1.5fr auto auto;gap:16px 30px;align-items:center;padding:22px 0;border-bottom:1px solid var(--lav);}
.list h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:26px;color:#000;}
.list .dur{font-size:14px;}
@media (max-width:860px){.list .row{grid-template-columns:1fr auto;}.list .row p{grid-column:1/-1;}}

/* steps (rituel) */
.rit{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:30px;}
@media (max-width:860px){.rit{grid-template-columns:1fr;gap:22px;}}
.rit b{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:28px;color:var(--violet);display:block;}

/* form */
.two{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:start;}
@media (max-width:860px){.two{grid-template-columns:1fr;gap:34px;}}
label{display:block;font-size:13px;font-weight:400;margin-bottom:6px;}
input,select,textarea{width:100%;font:300 16px/1.4 'Inter',sans-serif;color:var(--char);background:transparent;border:0;border-bottom:1px solid var(--lav);border-radius:0;padding:10px 2px;}
textarea{min-height:90px;resize:vertical;}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:#524eb7;}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px;}
@media (max-width:560px){.row2{grid-template-columns:1fr;}}
.slots{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;}
.slots label{margin:0;}
.slots input{position:absolute;opacity:0;width:0;}
.slots span{display:inline-block;border:1px solid var(--violet);color:var(--violet);border-radius:3px;padding:9px 14px;font-size:14px;cursor:pointer;}
.slots input:checked+span{background:var(--violet);color:#fff;}
.slots input:focus-visible+span{outline:2px solid var(--violet);outline-offset:3px;}
.note{margin-top:16px;min-height:26px;color:var(--violet);font-weight:400;}
.aside{background:#fff;border:1px solid var(--lav);border-radius:30px;padding:28px;}
.aside h3{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:26px;color:#000;margin-bottom:10px;}
.aside p{font-size:15px;margin-bottom:10px;}
details{border-bottom:1px solid var(--lav);}
summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:18px 0;font-size:16px;font-weight:400;color:#000;}
summary::-webkit-details-marker{display:none;}
summary::after{content:'+';font-size:22px;font-weight:300;color:var(--violet);}
details[open] summary::after{content:'\2212';}
details p{padding:0 0 18px;max-width:60ch;}

footer{padding:60px 0 40px;font-size:13px;font-weight:400;}
.fcols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
@media (max-width:860px){.fcols{grid-template-columns:1fr 1fr;}}
.fcols b{display:block;margin-bottom:10px;font-weight:700;font-size:14px;}
.fcols a{display:block;margin-bottom:8px;}
.copy{margin-top:34px;color:#555;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
