
@font-face{font-family:"Cormorant";src:url(fonts/CormorantGaramond-500.woff2) format("woff2");font-weight:300 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(fonts/CormorantGaramond-500i.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Jost";src:url(fonts/Jost-400.woff2) format("woff2");font-weight:300 600;font-style:normal;font-display:swap}

:root{
  --ivory:#F8F3F0; --cream:#EFE4DF; --blush:#EADAD5; --plum:#926667; --plum-2:#7E5556;
  --ink:#4B3131; --muted:#7B6363; --rose:#C9A5A0; --mauve:#926667; --label:#926667; --gold:#BC8365;
  --rule:rgba(75,49,49,.16); --rule-l:rgba(246,241,234,.22);
  --serif:"Cormorant","Cormorant Garamond",Georgia,"Times New Roman",serif;
  --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --pad:clamp(22px,6vw,88px); --max:1320px;
  --ease:cubic-bezier(.22,.61,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:350;font-size:16px;line-height:1.7;letter-spacing:.005em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.04;letter-spacing:-.01em;margin:0}
h1 em,h2 em,h3 em{font-style:italic;font-weight:400}
p{margin:0 0 1.1em}
figure{margin:0}
.skip{position:absolute;left:-999px;top:0}
.skip:focus{left:12px;top:12px;z-index:99;background:var(--ivory);padding:8px 14px}
:focus-visible{outline:1px solid var(--gold);outline-offset:4px}

.label{font-family:var(--sans);font-size:11px;font-weight:450;letter-spacing:.26em;text-transform:uppercase;color:var(--label);margin:0 0 22px;display:flex;align-items:center;gap:14px}
.label::before{content:"";width:28px;height:1px;background:currentColor;opacity:.55}
.label-light{color:rgba(246,241,234,.86)}
.lede{font-size:17px;color:var(--muted);max-width:34em}

/* buttons */
.btn{white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 30px;font:500 11.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;border-radius:0;transition:background .4s var(--ease),color .4s var(--ease),border-color .4s var(--ease)}
.btn-ivory{background:var(--ivory);color:var(--plum)}
.btn-ivory:hover{background:transparent;color:var(--ivory);border-color:var(--ivory)}
.btn-plum{background:var(--plum);color:var(--ivory)}
.btn-plum:hover{background:transparent;color:var(--plum);border-color:var(--plum)}
.tlink{white-space:nowrap;display:inline-flex;align-items:center;gap:12px;font:500 11.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding:12px 0;border-bottom:1px solid var(--rule);transition:border-color .4s,gap .4s var(--ease)}
.tlink:hover{border-color:currentColor;gap:18px}
.tlink-light{color:var(--ivory);border-color:var(--rule-l)}
.arr{width:22px;height:10px;flex:none}

/* header */
.hdr{position:fixed;inset:0 0 auto;z-index:40;color:var(--ivory);transition:background .5s var(--ease),color .5s,box-shadow .5s}
.hdr-in{max-width:1600px;margin:0 auto;height:68px;padding:0 var(--pad);display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.brand{grid-column:2;display:block;width:132px}
.brand img{width:100%}
.brand-dark{display:none}
.hdr.solid{background:rgba(246,241,234,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--plum);box-shadow:0 1px 0 var(--rule)}
.hdr.solid .brand-light,body.menu-open .brand-light{display:none}
.hdr.solid .brand-dark,body.menu-open .brand-dark{display:block}
.menu-btn{grid-column:1;grid-row:1;justify-self:start;display:flex;align-items:center;gap:12px;background:none;border:0;padding:10px 0;color:inherit;font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;cursor:pointer}
.menu-lines{width:22px;height:7px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;transition:transform .4s}
.menu-word{display:none}
.hdr-nav{display:none}
.hdr-book{grid-column:3;grid-row:1;justify-self:end;font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:10px 0;border-bottom:1px solid currentColor}
body.menu-open .hdr{background:var(--ivory);color:var(--plum)}
body.menu-open{overflow:hidden}

.menu[hidden]{display:none}
.menu{position:fixed;inset:0;z-index:35;background:var(--ivory);padding:110px var(--pad) 40px;display:flex;flex-direction:column;justify-content:space-between}
.menu nav{display:flex;flex-direction:column}
.menu nav a{font-family:var(--serif);font-size:34px;line-height:1.1;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--rule);display:flex;align-items:baseline;gap:18px}
.menu nav a span{font:400 11px/1 var(--sans);letter-spacing:.2em;color:var(--label)}
.menu-foot .btn{width:100%}
.menu-meta{margin:18px 0 0;text-align:center;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted)}

/* hero */
.hero{position:relative;height:100vh;height:100svh;min-height:600px;color:var(--ivory);overflow:hidden;display:flex;align-items:flex-end}
.hero-img,.hero-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.hero-img img{animation:heroZoom 14s var(--ease) both}
@keyframes heroZoom{from{transform:scale(1.07)}to{transform:scale(1)}}
.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(60,36,36,.42) 0%,rgba(60,36,36,0) 26%,rgba(60,36,36,0) 42%,rgba(60,36,36,.62) 100%)}
.hero-copy{position:relative;width:100%;max-width:1600px;margin:0 auto;padding:0 var(--pad) 104px}
.hero h1{font-size:clamp(44px,11.6vw,104px);line-height:.98;margin:0 0 34px;max-width:11em}
.hero h1 em{color:#EADAD5}
.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.hero-actions .btn{width:100%}
.hero-foot{display:none}
.fade{opacity:0;transform:translateY(16px);animation:fadeUp 1.2s var(--ease) forwards}
.hero .label.fade{animation-delay:.25s}.hero h1.fade{animation-delay:.4s}.hero-actions.fade{animation-delay:.6s}
@keyframes fadeUp{to{opacity:1;transform:none}}

/* intro */
.intro{max-width:980px;margin:0 auto;padding:110px var(--pad) 100px;text-align:center}
.intro .label{justify-content:center}
.intro .label::after{content:"";width:28px;height:1px;background:currentColor;opacity:.55}
.intro-statement{font-family:var(--serif);font-size:clamp(28px,6.6vw,48px);line-height:1.22;font-weight:400;margin:0 auto 52px;max-width:19em;color:var(--plum)}
.facts{list-style:none;padding:26px 0 0;margin:0 auto;border-top:1px solid var(--rule);display:flex;justify-content:center;font-size:10.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);max-width:620px}
.facts li{display:flex;align-items:center}
.facts li+li::before{content:"";width:4px;height:4px;border-radius:50%;background:var(--gold);margin:0 clamp(14px,4.5vw,44px)}

/* house */
.house{max-width:var(--max);margin:0 auto;padding:0 var(--pad) 120px;display:grid;gap:44px}
.house-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.house-img figcaption{margin-top:12px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.house h2,.treat h2,.feature h2,.bar h2,.gift h2,.visit h2{font-size:clamp(40px,10vw,72px);margin:0 0 28px}
.house-copy p{color:var(--muted);max-width:32em}
.house-copy .tlink{margin-top:14px}

/* treatments */
.treat{background:var(--cream);padding:110px var(--pad) 120px}
.treat-head,.treat-body,.treat-foot{max-width:var(--max);margin:0 auto}
.treat-head{margin-bottom:56px}
.treat-img{display:none}
.menu-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}
.mi{display:grid;grid-template-columns:38px 1fr;column-gap:10px;padding:24px 0 22px;border-bottom:1px solid var(--rule)}
.mi-n{font:400 11px/2.6 var(--sans);letter-spacing:.14em;color:var(--label)}
.mi-name{font-size:30px;line-height:1.1;margin:0 0 6px;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.mi-tag{font:500 9.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold);padding:5px 0 3px;border-bottom:1px solid currentColor;transform:translateY(-4px)}
.mi-text{grid-column:2;font-size:15px;line-height:1.6;color:var(--muted);margin:0 0 10px;max-width:34em}
.mi-book{grid-column:2;justify-self:start;font:500 10.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:10px;padding:6px 0;color:var(--plum);transition:gap .4s var(--ease),color .3s}
.mi-book:hover{gap:16px;color:var(--label)}
.mi-book .arr{width:18px}
.treat-foot{margin-top:52px}
.treat-foot .btn{width:100%}

/* feature */
.feature{position:relative;padding:0 0 110px}
.feature-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.feature-card{position:relative;margin:-90px var(--pad) 0;background:var(--ivory);padding:44px 26px 36px}
.feature h2{font-size:clamp(36px,9vw,58px)}
.feature-inset{width:46%;max-width:240px;aspect-ratio:1;object-fit:cover;margin:0 0 34px}
.fi{padding:22px 0;border-top:1px solid var(--rule)}
.fi h3{font-size:26px;margin-bottom:8px}
.fi p{font-size:15px;color:var(--muted);margin-bottom:12px}

/* beauty bar */
.bar{background:var(--blush);padding:110px var(--pad) 110px}
.bar-top,.products,.brands{max-width:var(--max);margin-left:auto;margin-right:auto}
.bar-top{display:grid;gap:48px}
.bar-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
.bar-points{list-style:none;margin:30px 0 36px;padding:0;border-top:1px solid var(--rule)}
.bar-points li{padding:16px 0 16px 28px;border-bottom:1px solid var(--rule);position:relative;font-size:15px;color:var(--muted)}
.bar-points li::before{content:"";position:absolute;left:2px;top:28px;width:12px;height:1px;background:var(--gold)}
.bar-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.bar-actions .btn{width:100%}
.products{list-style:none;padding:0;margin-top:80px;margin-bottom:0;display:grid;gap:0;border-top:1px solid var(--rule)}
.pr{padding:30px 0;border-bottom:1px solid var(--rule)}
.pr-n{font:italic 400 20px/1 var(--serif);color:var(--gold);display:block;margin-bottom:14px}
.pr h3{font-size:30px;margin-bottom:10px}
.pr p{font-size:15px;color:var(--muted);margin:0;max-width:28em}
.brands{margin-top:64px;text-align:center}
.brands .label{justify-content:center}
.brands .label::after{content:"";width:28px;height:1px;background:currentColor;opacity:.55}
.brands ul{list-style:none;margin:0 auto;padding:0;max-width:900px;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 34px;font-family:var(--serif);font-size:22px;line-height:1.5;color:var(--plum)}
.brands li{display:flex;align-items:center}


/* gift */
.gift{max-width:var(--max);margin:0 auto;padding:120px var(--pad);display:grid;gap:44px;align-items:center}
.gift-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.gift-copy p{color:var(--muted);max-width:30em}
.gift-actions{flex-wrap:wrap;display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:30px}
.gift-actions .btn{width:100%}

/* visit */
.visit{background:var(--plum);color:var(--ivory);padding:110px var(--pad) 120px}
.visit-head,.locs{max-width:var(--max);margin:0 auto}
.visit-head{margin-bottom:60px}
.locs{display:grid;gap:72px}
.loc h3{font-size:44px;margin-bottom:6px}
.loc-place{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:#C9B4B1;margin-bottom:22px}
.loc address{font-style:normal;font-size:16px;line-height:1.7;margin-bottom:6px;color:rgba(246,241,234,.86)}
.loc-phone{display:inline-block;font-family:var(--serif);font-size:26px;text-decoration:none;margin-bottom:28px;border-bottom:1px solid var(--rule-l)}
.hours{width:100%;border-collapse:collapse;font-size:14.5px;margin-bottom:10px}
.hours caption{text-align:left;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;color:rgba(246,241,234,.62);padding-bottom:12px}
.hours th,.hours td{padding:11px 0;border-top:1px solid var(--rule-l);font-weight:350;text-align:left}
.hours td{text-align:right;color:rgba(246,241,234,.86)}
.hours tr:last-child th,.hours tr:last-child td{border-bottom:1px solid var(--rule-l)}
.hours-note{font-size:13px;color:rgba(246,241,234,.6);margin:12px 0 0}
.loc-links{display:flex;flex-wrap:wrap;gap:6px 28px;margin:30px 0 34px}
.loc-links a{font:500 10.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding:10px 0;border-bottom:1px solid var(--rule-l);transition:border-color .3s}
.loc-links a:hover{border-color:var(--ivory)}
.loc-links .primary{color:#EADAD5;border-color:#C9A5A0}
.map{width:100%;aspect-ratio:16/10;border:0;display:block;filter:grayscale(1) sepia(.25) contrast(.92) brightness(.98);opacity:.9}

/* footer */
.ftr{background:#6F4B4C;color:rgba(246,241,234,.78);padding:90px var(--pad) 120px}
.ftr-in{max-width:var(--max);margin:0 auto;text-align:center}
.ftr-logo{width:150px;margin:0 auto 44px}
.ftr-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 28px;padding:26px 0;border-top:1px solid var(--rule-l);border-bottom:1px solid var(--rule-l);margin-bottom:40px}
.ftr-nav a{font:500 10.5px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:6px 0}
.ftr-nav a:hover{color:var(--ivory)}
.ftr-contact{display:grid;gap:22px;font-size:14px;line-height:1.75;margin-bottom:48px}
.ftr-contact strong{display:block;font:400 22px/1.3 var(--serif);color:var(--ivory);margin-bottom:2px}
.ftr-contact a{text-decoration:none;border-bottom:1px solid var(--rule-l)}
.ftr-base{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(246,241,234,.45)}
.ftr-base p{margin:0 0 6px}

/* mobile dock */
.dock{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:30;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(75,49,49,.9);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border:1px solid rgba(246,241,234,.12);box-shadow:0 12px 34px rgba(60,36,36,.22);transform:translateY(140%);transition:transform .6s var(--ease)}
.dock.show{transform:none}
.dock a,.dock button{display:flex;align-items:center;justify-content:center;gap:9px;height:54px;background:none;border:0;color:var(--ivory);font:500 10.5px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.dock>*+*{border-left:1px solid rgba(246,241,234,.14)}
.dock .dock-book{background:var(--plum);color:#fff}
.dock svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linejoin:round;stroke-linecap:round}
.sheet{position:fixed;inset:0;z-index:60;background:rgba(60,36,36,.42);display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .3s}
.sheet[hidden]{display:none}
@keyframes fadeIn{from{opacity:0}}
.sheet-box{width:100%;max-width:520px;background:var(--ivory);padding:30px 26px calc(26px + env(safe-area-inset-bottom));animation:up .45s var(--ease)}
@keyframes up{from{transform:translateY(100%)}}
.sheet-box a{display:flex;justify-content:space-between;align-items:baseline;padding:18px 0;border-top:1px solid var(--rule);text-decoration:none}
.sheet-box a span{font:400 26px/1.1 var(--serif)}
.sheet-box a strong{font-weight:400;font-size:14px;letter-spacing:.06em;color:var(--muted)}

/* reveal */
.js .reveal{opacity:0;transform:translateY(26px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .reveal,.fade{opacity:1;transform:none;animation:none;transition:none}.hero-img img{animation:none}html{scroll-behavior:auto}}

/* ---------- tablet / desktop ---------- */
@media (min-width:760px){
  .hero-actions{flex-direction:row;align-items:center;gap:36px}
  .hero-actions .btn,.treat-foot .btn,.bar-actions .btn,.gift-actions .btn{width:auto}
  .bar-actions,.gift-actions{flex-direction:row;align-items:center;gap:34px}
  .feature-card{margin:-160px 0 0 auto;width:min(620px,70%);padding:60px 56px 44px;margin-right:var(--pad)}
  .products{grid-template-columns:repeat(3,1fr);border-top:0;gap:0 48px}
  .pr{border-top:1px solid var(--rule);border-bottom:0}
  .locs{grid-template-columns:1fr 1fr;gap:64px}
}
@media (min-width:1024px){
  body{font-size:17px}
  .hdr-in{height:84px;grid-template-columns:1fr auto 1fr}
  .brand{width:156px}
  .menu-btn{display:none}
  .hdr-nav{display:flex;gap:40px;grid-column:1;grid-row:1}
  .hdr-nav a,.hdr-book{font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-decoration:none;padding:8px 0;position:relative}
  .hdr-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:currentColor;transition:right .5s var(--ease)}
  .hdr-nav a:hover::after{right:0}
  .hdr-nav-r{display:none}
  .hdr-book{border:1px solid currentColor;padding:13px 26px;transition:background .4s,color .4s}
  .hdr.solid .hdr-book:hover{background:var(--plum);color:var(--ivory)}
  .hero-copy{padding-bottom:110px}
  .hero-foot{display:block;position:absolute;right:var(--pad);bottom:110px;margin:0;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl;color:rgba(246,241,234,.7)}
  .hero-foot::after{content:"";display:inline-block;width:1px;height:60px;background:currentColor;margin-top:16px;opacity:.6}
  .intro{padding:170px var(--pad) 150px}
  .house{grid-template-columns:5fr 1fr 5fr;align-items:center;padding-bottom:170px}
  .house-img{grid-column:1}
  .house-copy{grid-column:3}
  .house-img img{aspect-ratio:4/5}
  .treat{padding:150px var(--pad) 160px}
  .treat-head{display:grid;grid-template-columns:5fr 7fr;align-items:end;column-gap:60px;margin-bottom:80px}
  .treat-head .label{grid-column:1/-1}
  .treat-head .lede{margin:0 0 10px}
  .treat-head h2{margin:0}
  .treat-body{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:start}
  .treat-img{display:block;position:sticky;top:120px}
  .treat-img img{width:100%;aspect-ratio:4/5;object-fit:cover}
  .mi{grid-template-columns:56px 1fr auto;column-gap:20px;padding:30px 0}
  .mi-name{font-size:34px}
  .mi-text{grid-column:2;margin:0}
  .mi-book{grid-column:3;grid-row:1/span 2;align-self:center;opacity:.75}
  .mi:hover .mi-book{opacity:1}
  .treat-foot{margin-top:70px;text-align:right}
  .feature{display:grid;grid-template-columns:repeat(12,1fr);padding:150px var(--pad) 170px;max-width:1600px;margin:0 auto;align-items:center}
  .feature-img{grid-column:1/8;grid-row:1}
  .feature-img img{aspect-ratio:5/6}
  .feature-card{grid-column:7/13;grid-row:1;margin:0;width:auto;padding:70px 64px 56px;box-shadow:0 30px 60px rgba(75,49,49,.06)}
  .bar{padding:160px var(--pad)}
  .bar-top{grid-template-columns:6fr 1fr 5fr;align-items:center}
  .bar-copy{grid-column:1}
  .bar-img{grid-column:3}
  .bar-img img{aspect-ratio:4/5}
  .products{margin-top:120px}
  .brands{margin-top:100px}
  .brands ul{font-size:26px}
  .gift{grid-template-columns:7fr 1fr 5fr;padding:170px var(--pad)}
  .gift-copy{grid-column:3}
  .visit{padding:150px var(--pad) 170px}
  .visit-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:90px}
  .visit-head h2{margin:0}
  .locs{gap:96px}
  .loc h3{font-size:56px}
  .dock{display:none}
  .ftr{padding:110px var(--pad) 70px}
  .ftr-contact{grid-template-columns:1fr 1fr 1fr;text-align:center}
  .menu{display:none!important}
}
@media (min-width:1440px){.hero h1{font-size:118px}}

.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* v4: hero = Mauve's own reception photo */
.hero-img img{object-position:94% 50%}
.hero-shade{background:linear-gradient(180deg,rgba(70,40,42,.45) 0%,rgba(70,40,42,.08) 18%,rgba(70,40,42,0) 34%,rgba(84,50,52,.5) 56%,rgba(74,44,46,.86) 100%)}
.hero h1{max-width:9em}
.hero h1 em{color:#F3E4E0}
.intro-statement{max-width:16em}
.gift-img img{aspect-ratio:4/5}
@media (min-width:960px){
  .hero{display:grid;grid-template-columns:minmax(0,45fr) minmax(0,55fr);align-items:stretch;background:var(--mauve)}
  .hero-img{position:relative;grid-column:2;grid-row:1;inset:auto;overflow:hidden}
  .hero-img img{object-position:62% 45%}
  .hero-shade{grid-column:2;grid-row:1;position:relative;inset:auto;background:linear-gradient(180deg,rgba(70,40,42,.42) 0%,rgba(70,40,42,0) 22%),linear-gradient(90deg,rgba(146,102,103,.35) 0%,rgba(146,102,103,0) 22%)}
  .hero-copy{grid-column:1;grid-row:1;align-self:center;max-width:none;padding:120px clamp(40px,4.5vw,88px) 60px var(--pad)}
  .hero h1{font-size:clamp(58px,5.7vw,96px);line-height:1;margin-bottom:44px}
  .hero-foot{bottom:60px}
  .gift-img img{aspect-ratio:1/1;object-position:50% 62%}
}
@media (min-width:1440px){.hero h1{font-size:96px}}

/* inside mauve (real spa footage) */
.inside{max-width:var(--max);margin:0 auto;padding:0 var(--pad) 120px}
.inside-head{margin-bottom:40px}
.inside h2{font-size:clamp(40px,10vw,72px);margin:0 0 20px}
.inside-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.in-frame{position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--blush);border-radius:2px}
.in-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(234,218,213,.10),rgba(146,102,103,.14));mix-blend-mode:multiply;box-shadow:inset 0 0 0 1px rgba(75,49,49,.06)}
.in-vid{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.92) sepia(.06)}
.in-card figcaption{margin-top:12px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
@media (min-width:760px){.inside-grid{gap:20px}}
@media (min-width:1024px){.inside{padding-bottom:170px}.inside-head{display:grid;grid-template-columns:5fr 1fr 6fr;align-items:end;margin-bottom:56px}.inside-head .label,.inside-head h2{grid-column:1}.inside-head h2{margin:0}.inside-head .lede{grid-column:3;grid-row:2;margin:0}.inside-grid{grid-template-columns:repeat(4,1fr);gap:22px}.in-card:nth-child(even){margin-top:56px}}

/* Beauty Bar: Shabbos Makeup shop link */
.shop-cta{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:62px;padding:0 24px;background:var(--plum);color:var(--ivory);text-decoration:none;font:600 16px/1.2 var(--sans);letter-spacing:.02em;border:1px solid var(--plum);box-shadow:0 14px 30px rgba(110,70,72,.18);transition:background .4s var(--ease),color .4s var(--ease)}
.shop-cta strong{font-weight:700;color:#fff}
.shop-cta .arr{width:26px;flex:none}
.shop-cta:hover{background:transparent;color:var(--plum)}
.shop-cta:hover strong{color:var(--plum)}
@media (min-width:760px){.shop-cta{width:auto;min-width:340px}}

.dock a,.dock button{gap:6px;letter-spacing:.12em;font-size:10px}
.dock svg{flex:none}

.btn-line-light{background:transparent;color:var(--ivory);border-color:rgba(246,241,234,.85)}
.btn-line-light:hover{background:var(--ivory);color:var(--plum)}

/* polish pass 2026-11-08 */
.facts{font-size:12px}
.dock a,.dock button{font-size:11px}
@media (min-width:760px){.products{grid-template-columns:repeat(2,1fr);gap:0 64px}}
.shop-cta{font:500 11.5px/1.2 var(--sans);letter-spacing:.24em;text-transform:uppercase;min-height:56px;padding:0 28px}
.shop-cta strong{font-weight:500}
@media (min-width:960px){
  .hero-actions{display:grid;grid-template-columns:auto auto;justify-content:start;align-items:center;column-gap:20px;row-gap:28px}
  .hero-actions .tlink{grid-column:1/-1;justify-self:start}
}
@media (min-width:960px) and (max-width:1359px){
  .hero-actions{grid-template-columns:auto}
  .hero-actions .btn{min-width:260px}
}
.hdr-nav a{white-space:nowrap}
@media (min-width:1024px) and (max-width:1599px){
  .hdr-nav{gap:clamp(18px,2vw,32px)}
  .hdr-nav a{letter-spacing:.16em}
}
@media (min-width:1024px) and (max-width:1199px){
  .hdr-nav a[href="#visit"]{display:none}
}
