*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;overflow-x:hidden}img,svg{max-width:100%;display:block}
a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}
.skip{position:absolute;left:-999px;top:0;z-index:999;padding:.6rem 1rem;background:#000;color:#fff}.skip:focus{left:8px;top:8px}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}
.js .rv.in{opacity:1;transform:none}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}
:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.js .rv{opacity:1;transform:none}}

:root{--blush:#f7ece9;--mauve:#dbbbd6;--rose:#c9707f;--plum:#3b1f33;--ink:#2b1a26;--cream:#fffaf7;--c:#c9707f}
body{font-family:Manrope,system-ui,sans-serif;background:var(--cream);color:var(--ink);font-size:16.5px;line-height:1.65}
h1,h2,h3,.brand{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;line-height:1;margin:0 0 .4em}
h1{font-size:clamp(3rem,7vw,6.2rem);letter-spacing:-.02em}h1 em,h2 em{color:var(--rose);font-style:italic}h2{font-size:clamp(2.4rem,4.6vw,4rem)}h3{font-size:2rem;font-style:italic}
.eyebrow{font-size:.75rem;letter-spacing:.24em;text-transform:uppercase;color:#7a4e67;margin:0 0 1rem;font-weight:700}
.top{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:1rem clamp(1rem,4vw,3rem);background:rgba(255,250,247,.9);backdrop-filter:blur(8px)}
.brand{font-size:2rem;text-decoration:none;display:flex;flex-direction:column;line-height:.9;font-style:italic}.brand small{font-family:Manrope;font-style:normal;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:#7a4e67;margin-top:.3rem}
.nav-links{display:flex;gap:1.8rem;align-items:center}.nav-links a{text-decoration:none;font-weight:500;font-size:.95rem;position:relative}
.nav-links a:not(.book)::after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:1px;background:var(--rose);transition:right .35s}.nav-links a:hover::after{right:0}
.book{background:var(--plum);color:#fff;padding:.6rem 1.2rem;border-radius:99px}
.nav-toggle{display:none;background:none;border:1px solid var(--plum);border-radius:99px;padding:.5rem 1rem;cursor:pointer}
.btn{display:inline-block;background:var(--plum);color:#fff;text-decoration:none;padding:1rem 1.6rem;border-radius:99px;border:0;cursor:pointer;font-weight:700;transition:background .3s,transform .3s}.btn:hover{background:var(--rose);transform:translateY(-2px)}
.link{color:var(--plum);font-weight:700;text-underline-offset:5px}
section{padding:clamp(4rem,8vw,7rem) clamp(1.2rem,5vw,4rem)}
.hero{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;max-width:1340px;margin:0 auto;padding-top:2rem}
.tag{font-family:"Cormorant Garamond",serif;font-size:1.5rem;color:#6d4a5f;margin:0 0 1.8rem}.cta{display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.swatches{display:flex;gap:.6rem;align-items:center;margin-top:2.2rem;flex-wrap:wrap}.sw{width:30px;height:30px;border-radius:50% 50% 50% 8px;background:var(--c);border:2px solid #fff;box-shadow:0 0 0 1px rgba(59,31,51,.2);cursor:pointer;transition:transform .3s}
.sw:hover,.sw[aria-pressed=true]{transform:translateY(-4px) rotate(-12deg)}.sw-l{font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.2rem;color:#7a4e67;margin-left:.4rem}
.hero-img{position:relative;height:min(640px,75vw)}.hero-img figure{position:absolute;margin:0;overflow:hidden}.hero-img img{width:100%;height:100%;object-fit:cover}
.a1{left:0;top:0;width:58%;height:78%;border-radius:999px 999px 24px 24px}.a2{right:0;bottom:0;width:48%;height:58%;border-radius:24px 24px 999px 999px;border:8px solid var(--cream)}
.bottle{position:absolute;left:52%;top:4%;width:70px;transform:rotate(12deg)}.cap{fill:var(--plum)}.glass{fill:rgba(255,255,255,.7);stroke:var(--plum);stroke-width:2}.fill{fill:var(--c);transition:fill .6s}.shine{stroke:#fff;stroke-width:4;fill:none;stroke-linecap:round;opacity:.8}
.rating{position:absolute;left:4%;bottom:4%;background:var(--cream);border-radius:20px;padding:1rem 1.2rem;box-shadow:0 20px 40px -20px rgba(59,31,51,.4);display:grid}.rating b{font-family:"Cormorant Garamond";font-size:2.6rem;line-height:1}.rating span{color:var(--rose);letter-spacing:.1em}.rating small{font-size:.75rem}
.marquee{overflow:hidden;background:var(--plum);color:var(--mauve);padding:1rem 0;font-family:"Cormorant Garamond",serif;font-style:italic;font-size:1.6rem;white-space:nowrap}.marquee div{display:inline-block;animation:mq 45s linear infinite;padding-left:0}
@keyframes mq{to{transform:translateX(-50%)}}
.menu{background:var(--blush)}.menu header{text-align:center;max-width:640px;margin:0 auto 3rem}.note{font-size:.9rem;color:#6d4a5f}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;max-width:1200px;margin:0 auto}
.col{background:var(--cream);border-radius:200px 200px 24px 24px;padding:3.5rem 2rem 2rem;text-align:center;border:1px solid #ecd7dd}.col ul{list-style:none;padding:0;margin:1.4rem 0 0;text-align:left}
.col li{display:flex;align-items:baseline;gap:.5rem;padding:.45rem 0}.col li i{flex:1;border-bottom:1px dotted #b892a8;transform:translateY(-4px)}.col li b{font-weight:700;color:var(--plum)}
.col li:hover span{color:var(--rose)}
.salon{display:grid;grid-template-columns:.9fr 1.1fr;gap:4rem;max-width:1240px;margin:0 auto;align-items:center}
.tall{margin:0;border-radius:24px;overflow:hidden;aspect-ratio:4/5}.tall img{width:100%;height:100%;object-fit:cover}
.perks{list-style:none;padding:0;margin:1.6rem 0 0}.perks li{padding:.8rem 0 .8rem 2rem;border-bottom:1px solid #ecd7dd;position:relative}.perks li::before{content:"";position:absolute;left:0;top:1.15rem;width:12px;height:12px;border-radius:50% 50% 50% 3px;background:var(--rose);transform:rotate(-45deg)}
.strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.strip figure{margin:0;aspect-ratio:1;border-radius:18px;overflow:hidden}.strip img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.strip figure:hover img{transform:scale(1.06)}
.words{text-align:center;background:var(--plum);color:var(--blush)}.words .eyebrow{color:var(--mauve)}.q{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:1200px;margin:1rem auto 0}
blockquote{margin:0;font-family:"Cormorant Garamond",serif;font-size:1.7rem;font-style:italic;line-height:1.25}cite{display:block;font-family:Manrope;font-style:normal;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;margin-top:1rem;color:var(--mauve)}
.src{font-size:.8rem;opacity:.75;margin-top:2.5rem}
.visit{display:grid;grid-template-columns:1fr 1fr;gap:3rem;max-width:1240px;margin:0 auto;align-items:start}
.card a{color:var(--rose);font-weight:700}.hours{border-collapse:collapse;margin:1.5rem 0 .5rem;font-size:1.05rem}.hours th{text-align:left;font-weight:700;padding:.5rem 2rem .5rem 0}.hours td{padding:.5rem 0}.hours tr{border-bottom:1px solid #ecd7dd}
.small{font-size:.85rem;color:#6d4a5f}.store{margin:1.5rem 0 0;border-radius:20px;overflow:hidden;aspect-ratio:16/10}.store img{width:100%;height:100%;object-fit:cover}
.form{background:var(--blush);border-radius:28px;padding:2.2rem;display:grid;gap:1rem}.form h2{font-size:2.6rem;margin:0}.form label{display:grid;gap:.3rem;font-weight:700;font-size:.85rem}
.form input,.form select{border:1px solid #d9bccb;background:var(--cream);border-radius:14px;padding:.8rem}.form input:focus,.form select:focus{outline:2px solid var(--rose)}.form .btn{justify-self:start}.form-status{margin:0}
.faq{max-width:860px;margin:0 auto}details{border-bottom:1px solid #ecd7dd;padding:1.1rem 0}summary{cursor:pointer;font-family:"Cormorant Garamond",serif;font-size:1.6rem;list-style:none;display:flex;justify-content:space-between}summary::after{content:"✦";color:var(--rose);font-size:1rem;transition:transform .4s}details[open] summary::after{transform:rotate(180deg)}summary::-webkit-details-marker{display:none}
.foot{text-align:center;padding:3rem 1.2rem 6rem;border-top:1px solid #ecd7dd}.foot .brand{align-items:center}.foot a{color:var(--rose)}
.callbar{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:60;background:var(--rose);color:#fff;text-decoration:none;padding:.9rem 1.6rem;border-radius:99px;font-weight:700;box-shadow:0 14px 30px -12px rgba(59,31,51,.6);white-space:nowrap}
@media (max-width:920px){.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;padding:1.2rem 1.4rem;background:var(--cream)}.nav-links.open{display:flex}
.hero,.salon,.visit{grid-template-columns:1fr}.cols,.q{grid-template-columns:1fr}.strip{grid-template-columns:1fr 1fr}.hero-img{height:110vw;max-height:560px}.col{border-radius:140px 140px 24px 24px}}
