/* Mallowmere · luxe layer (19 Oct 2026). Loaded after skincare.css. Soft luxe neutrals, Instrument Serif + Manrope,
   one spacing scale, restrained motion. All motion is CSS + IntersectionObserver; content is visible without JS. */
@font-face{font-family:"Instrument Serif";font-style:normal;font-weight:400;font-display:swap;src:url(/websites/demo/skincare/fonts/instrument-serif.woff2) format("woff2")}
@font-face{font-family:"Instrument Serif";font-style:italic;font-weight:400;font-display:swap;src:url(/websites/demo/skincare/fonts/instrument-serif-italic.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-style:normal;font-weight:300 600;font-display:swap;src:url(/websites/demo/skincare/fonts/manrope.woff2) format("woff2")}
/* metric-matched fallbacks keep the swap from shifting layout */
@font-face{font-family:"LX Serif Fallback";src:local("Georgia"),local("Times New Roman");size-adjust:88%;ascent-override:100%;descent-override:26%}
@font-face{font-family:"LX Sans Fallback";src:local("Arial"),local("Helvetica");size-adjust:103%;ascent-override:104%;descent-override:29%}
:root{
  --paper:#f7f3ee;--paper2:#efe8df;--sand:#e6dccf;--stone:#d9cdbd;--ink:#26211d;--mut:#6e645b;--line:#e3d9cd;--plum:#7b5c63;--deep:#221d1a;--deep2:#2d2622;--gold:#b49a7c;
  --blush:#efe2dc;--lilac:#e9e3e6;--mint:#e3e7df;--peach:#f1e4d8;--blue:#e2e6e6;--butter:#efe9da;
  --serif:"Instrument Serif","LX Serif Fallback",Georgia,serif;--sans:"Manrope","LX Sans Fallback",system-ui,sans-serif;
  --ease:cubic-bezier(.22,.61,.24,1);--ease-out:cubic-bezier(.16,1,.3,1);
  /* spacing scale (4-based) */
  --s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--s10:128px;
  --sec:clamp(80px,9vw,136px);--gut:clamp(20px,4vw,56px);--wrap:1360px;--r:2px;
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .15 0 0 0 0 .12 0 0 0 0 .1 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
body{font-family:var(--sans);font-weight:400;font-size:16px;line-height:1.7;letter-spacing:.005em;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.015em;line-height:1;text-wrap:balance}
h1 em,h2 em{color:var(--plum);font-style:italic}
p{text-wrap:pretty}
.d-wrap{max-width:var(--wrap);padding-inline:var(--gut)}
.d-wrap.s-section{padding-inline:var(--gut)}
.s-section{padding-block:var(--sec)}
.s-kicker{font:600 11px/1.4 var(--sans);letter-spacing:.28em;color:var(--mut);margin:0 0 var(--s5);display:flex;align-items:center;gap:var(--s3)}
.s-kicker:before{content:"";width:28px;height:1px;background:currentColor;opacity:.55;flex:none}
.s-ingr .s-kicker{color:#c9b8a6}
::selection{background:#e6d6cc}
/* buttons + links */
.s-btn{font:600 11.5px/1 var(--sans);letter-spacing:.2em;padding:19px 34px;border-radius:0;background:var(--ink);border-color:var(--ink);position:relative;overflow:hidden;isolation:isolate;transition:color .45s var(--ease),border-color .45s var(--ease)}
.s-btn:before{content:"";position:absolute;inset:0;background:var(--plum);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease-out);z-index:-1}
.s-btn:hover{background:var(--ink);border-color:var(--plum)}.s-btn:hover:before{transform:none}
.s-btn-line{background:transparent;color:var(--ink);border-color:rgba(38,33,29,.35)}.s-btn-line:before{background:var(--ink)}.s-btn-line:hover{background:transparent;color:#fff;border-color:var(--ink)}
.s-btn[disabled]:before{display:none}
.s-link{font:600 11.5px var(--sans);letter-spacing:.18em;text-transform:uppercase;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:100% 1px;background-position:0 100%;background-repeat:no-repeat;padding-bottom:4px;transition:background-size .45s var(--ease)}
.s-link:hover{background-size:0 1px;background-position:100% 100%}
:focus-visible{outline:1.5px solid var(--ink);outline-offset:3px}
.s-stars{color:var(--gold);letter-spacing:3px;font-size:12px}
/* announcement: separators drawn in CSS so a wrapped line never ends in a stray dot */
.s-announce{background:var(--deep);color:#e9e1d8;font:500 11px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase}
.s-announce-in{list-style:none;margin:0 auto;padding:11px var(--gut);display:flex;justify-content:center;flex-wrap:wrap;gap:6px 0;max-width:var(--wrap)}
.s-announce-in li{display:flex;align-items:center}
.s-announce-in li+li:before{content:"";width:3px;height:3px;border-radius:50%;background:var(--gold);margin:0 22px}
/* header */
.d-header{background:rgba(247,243,238,.82);border-bottom:1px solid transparent;transition:background .5s var(--ease),border-color .5s var(--ease),box-shadow .5s var(--ease)}
.d-header.is-scrolled{background:rgba(247,243,238,.94);border-bottom-color:var(--line);box-shadow:0 14px 40px -30px rgba(38,33,29,.35)}
.d-header-in{height:84px}
.d-nav{gap:var(--s6)}.d-nav a,.d-menu nav a,.s-act{font:600 11px/1 var(--sans);letter-spacing:.2em}
.d-nav a:after{height:1px;bottom:-2px}
.s-logo{display:inline-block;font:400 30px/1 var(--serif);letter-spacing:.42em;padding-left:.42em;transition:transform .5s var(--ease);transform-origin:center}
.d-header.is-scrolled .s-logo{transform:scale(.88)}
.s-bag-n{background:var(--ink);font:600 9.5px/18px var(--sans)}
.d-menu nav{background:var(--paper)!important;border-radius:0;border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(38,33,29,.35);padding:var(--s4)}
.d-menu nav a{padding:14px 12px;border-bottom:1px solid var(--line);border-radius:0}.d-menu nav a:last-child{border-bottom:0}
/* ── hero: full-bleed atmosphere, layered plate + inset, floating product cards ── */
.s-hero.lx-hero{position:relative;display:block;min-height:0;overflow:hidden;background:var(--paper) url(/websites/demo/skincare/img/mm-lx-atmos.webp) center/cover no-repeat;isolation:isolate}
.lx-hero:after{content:"";position:absolute;inset:0;background:var(--grain);pointer-events:none;z-index:-1;opacity:.9}
.lx-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;gap:var(--s8);min-height:min(calc(100svh - 140px),820px);padding-block:var(--s9)}
.lx-hero .s-hero-copy{padding:0;display:block}
.lx-hero .s-hero-copy>div{max-width:540px;animation:none}
.lx-hero h1{font-size:clamp(56px,7.4vw,118px);line-height:.92;letter-spacing:-.025em;margin:0 0 var(--s6)}
.lx-hero h1 em{display:inline-block;padding-right:.06em}
.lx-hero .s-lede{font-size:17px;line-height:1.75;color:#564c45;max-width:430px;margin:0 0 var(--s7)}
.lx-hero .s-ctas{gap:var(--s3)}
.lx-hero .s-hero-proof{margin:var(--s7) 0 0;padding-top:var(--s5);border-top:1px solid rgba(38,33,29,.14);max-width:430px;font-size:12.5px;letter-spacing:.04em;display:flex;align-items:center;gap:var(--s3)}
.lx-hero .s-hero-media{order:0;position:relative;background:none;overflow:visible;aspect-ratio:auto;height:100%;min-height:560px}
.lx-plate{position:absolute;top:0;right:0;bottom:0;left:9%;overflow:hidden;border-radius:240px 240px var(--r) var(--r);background:var(--blush);box-shadow:0 60px 120px -60px rgba(60,40,35,.45);will-change:transform}
.lx-plate picture,.lx-plate .s-hero-img{width:100%;height:100%}
.lx-hero .s-hero-img{object-fit:cover;object-position:44% 50%;animation:none;filter:saturate(.74) sepia(.05) contrast(.98)}
.lx-hero .s-hotspot{left:39%!important;top:58%!important}.lx-hero .s-hotspot.s-hot-2{left:74%!important;top:34%!important}
.lx-plate:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,243,238,0) 55%,rgba(38,33,29,.18));pointer-events:none}
.lx-inset{position:absolute;left:0;bottom:-6%;width:34%;aspect-ratio:4/5;margin:0;overflow:hidden;border:10px solid var(--paper);box-shadow:0 40px 80px -40px rgba(60,40,35,.5);z-index:2;will-change:transform}
.lx-inset img{width:100%;height:100%;object-fit:cover;filter:saturate(.66) sepia(.07)}
.lx-tag{position:absolute;right:var(--s5);bottom:var(--s5);z-index:2;margin:0;color:#fff;font:500 10.5px/1.5 var(--sans);letter-spacing:.24em;text-transform:uppercase;text-align:right;text-shadow:0 1px 12px rgba(0,0,0,.25)}
.lx-tag b{display:block;font:italic 400 22px/1.1 var(--serif);letter-spacing:0;text-transform:none}
.lx-hero .s-hotspot{z-index:3}
.lx-hero .s-dot{width:12px;height:12px;box-shadow:0 0 0 5px rgba(255,255,255,.35)}
.lx-hero .s-hot-card{border-radius:0;background:rgba(247,243,238,.94);padding:12px 18px;font:500 11px/1.5 var(--sans);letter-spacing:.06em;box-shadow:0 24px 50px -24px rgba(38,33,29,.45)}
.lx-hero .s-hot-card b{font:400 19px/1.1 var(--serif);letter-spacing:0;margin-bottom:2px}
.lx-scroll{position:absolute;left:50%;bottom:var(--s5);transform:translateX(-50%);width:1px;height:48px;background:rgba(38,33,29,.18);overflow:hidden}
.lx-scroll:after{content:"";position:absolute;left:0;top:-50%;width:1px;height:50%;background:var(--ink)}
/* hero entrance (JS-gated so the no-JS page is static and complete) */
@media (prefers-reduced-motion:no-preference){
  .js .lx-hero .s-kicker,.js .lx-hero h1,.js .lx-hero .s-lede,.js .lx-hero .s-ctas,.js .lx-hero .s-hero-proof{animation:lx-rise 1.1s var(--ease-out) both}
  .js .lx-hero h1{animation-delay:.08s}.js .lx-hero .s-lede{animation-delay:.22s}.js .lx-hero .s-ctas{animation-delay:.32s}.js .lx-hero .s-hero-proof{animation-delay:.42s}
  .js .lx-plate{animation:lx-unveil 1.5s var(--ease-out) both}
  .js .lx-plate .s-hero-img{animation:lx-settle 2.4s var(--ease-out) both}
  .js .lx-inset{animation:lx-rise 1.3s .45s var(--ease-out) backwards}
  .js .lx-tag,.js .lx-hero .s-hotspot{animation:lx-fade 1s .9s var(--ease) both}
  .lx-scroll:after{animation:lx-line 2.4s 1.4s var(--ease) infinite}
}
@keyframes lx-rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes lx-fade{from{opacity:0}to{opacity:1}}
@keyframes lx-unveil{from{clip-path:inset(18% 0 0 0 round 240px 240px 2px 2px);opacity:.2}to{clip-path:inset(0 0 0 0 round 240px 240px 2px 2px);opacity:1}}
@keyframes lx-settle{from{transform:scale(1.12)}to{transform:scale(1)}}
@keyframes lx-line{0%{top:-50%}60%,100%{top:110%}}
/* press */
.s-press{background:var(--paper);border-block:1px solid var(--line)}
.s-press-in{padding-block:var(--s6);gap:var(--s7)}
.s-press-k{font:600 10.5px var(--sans);letter-spacing:.28em}
.s-press ul{gap:var(--s7)}.s-press li{font:italic 400 24px var(--serif);color:#7a6f66;transition:color .4s}.s-press li:hover{color:var(--ink)}
.s-press li:nth-child(even){font:600 11px var(--sans);letter-spacing:.32em;padding-top:7px}
.s-press-note{font-size:10.5px;letter-spacing:.06em}
/* section heads */
.s-head{margin-bottom:var(--s8);gap:var(--s6)}
.s-head h2,.s-story h2,.s-news h2{font-size:clamp(42px,5.2vw,76px);line-height:.98}
.s-arrow{width:52px;height:52px;border-color:rgba(38,33,29,.3);font-size:15px;transition:background .35s var(--ease),color .35s,border-color .35s}
.s-track{gap:var(--s5);padding-bottom:var(--s5);grid-auto-columns:calc((min(100vw,var(--wrap)) - 2*var(--gut) - 72px)/4);padding-inline:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)));scroll-padding-inline:max(var(--gut),calc((100vw - var(--wrap))/2 + var(--gut)))}
.s-demo-strip{font-size:11px;letter-spacing:.08em;margin-top:var(--s6)}
/* product cards: one soft stage for every product, graded imagery, quiet hover */
.s-card-media,.s-tone-lilac .s-card-media,.s-tone-peach .s-card-media,.s-tone-mint .s-card-media,.s-tone-blue .s-card-media,.s-tone-butter .s-card-media{background:var(--sand);border-radius:var(--r)}
.s-card-media img,.s-tile-img img,.s-ingr-img img,.s-story-img img,.s-ugc-i img,.s-ritual-img img,.s-gal-track img,.s-gal-thumbs img,.s-line-img img,.s-about-img,.s-shop-hero-img{filter:saturate(.66) sepia(.07) contrast(.97) brightness(1.02)}
.s-card-media:after,.s-tile-img:after,.s-ritual-img:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(230,220,207,.12),rgba(38,33,29,.06));mix-blend-mode:multiply;pointer-events:none}
.s-tile-img,.s-ritual-img{position:relative}
.s-card-media img{transition:opacity .8s var(--ease),transform 1.6s var(--ease-out)}
.s-card:hover .s-card-media img{transform:scale(1.06)}
.s-card-top{transition:box-shadow .6s var(--ease)}.s-card:hover .s-card-top{box-shadow:0 40px 60px -42px rgba(38,33,29,.45)}
.s-badge{border-radius:0;background:rgba(247,243,238,.92);font:600 9.5px var(--sans);letter-spacing:.22em;padding:7px 11px;top:var(--s4);left:var(--s4)}
.s-badge-out{background:var(--ink);color:#f3ece4}
.s-quick{border-radius:0;background:rgba(247,243,238,.95);font:600 10.5px var(--sans);letter-spacing:.2em;padding:15px 18px;left:var(--s3);right:var(--s3);bottom:var(--s3);transition:opacity .45s var(--ease),transform .45s var(--ease-out),background .3s,color .3s}
.s-card-body{padding-top:var(--s5)}
.s-card h3{font-size:26px;letter-spacing:-.01em;margin-bottom:var(--s1)}
.s-card-tag{font-size:13px;color:var(--mut)}
.s-card-meta{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--line)}
.s-price{font:500 14px var(--sans);letter-spacing:.06em}
/* step tiles */
.s-tiles{gap:var(--s5)}
.s-tile-img{border-radius:var(--r);margin-bottom:var(--s5);aspect-ratio:3/4}
.s-tile-img img{transition:transform 1.6s var(--ease-out)}
.s-tile-n{font:italic 400 18px var(--serif);letter-spacing:0;color:var(--gold);margin-bottom:var(--s2)}
.s-tile h3{font-size:34px}
.s-tiles .s-tile:nth-child(even){margin-top:var(--s8)}
/* ingredients: deep espresso editorial band */
.s-ingr{background:var(--deep) var(--grain);color:#efe7de;padding-block:var(--sec)}
.s-ingr h2 em{color:#d8bfae}.s-ingr-head{margin-bottom:var(--s8)}.s-ingr-head p,.s-ingr article p{color:#bdb1a5}
.s-ingr-grid{gap:var(--s6)}.s-ingr-img{border-radius:var(--r);margin-bottom:var(--s5);aspect-ratio:4/5}
.s-ingr h3{font-size:34px}
.s-claims{border-top-color:rgba(239,231,222,.14);margin-top:var(--s8);padding-top:var(--s7)}
.s-claims li{font:600 10.5px/1.5 var(--sans);letter-spacing:.22em;color:#bdb1a5}.s-claims b{font:400 54px/1 var(--serif);color:#f7f1ea;margin-bottom:var(--s2)}
/* story */
.s-story{gap:clamp(48px,8vw,128px)}
.s-story-img{border-radius:var(--r);position:relative}
.js .s-story-img[data-reveal] img{transform:scale(1.1);transition:transform 1.8s var(--ease-out)}
.js .s-story-img[data-reveal].is-in img{transform:none}
.s-story-copy p{font-size:17px;line-height:1.8;color:#564c45;margin-bottom:var(--s6)}
/* reviews */
.s-revs{background:var(--paper2);padding-block:var(--sec)}
.s-rev-grid{gap:var(--s5)}
.s-quote{border-radius:0;background:var(--paper);padding:var(--s7) var(--s6);gap:var(--s4);border:1px solid var(--line);transition:transform .6s var(--ease-out),box-shadow .6s var(--ease)}
.s-quote:hover{transform:translateY(-4px);box-shadow:0 40px 60px -45px rgba(38,33,29,.4)}
.s-quote-h{font:italic 400 30px/1.12 var(--serif)}
.s-ava{background:var(--sand);color:var(--ink);font-family:var(--sans)}
.s-rev-score b{font-family:var(--serif)}
.s-ugc{gap:var(--s3);margin-top:var(--s8)}.s-ugc-i{border-radius:var(--r)}
.s-ugc-cap{font-size:11px;letter-spacing:.2em;text-transform:uppercase;margin-top:var(--s5)}
/* values */
.s-values{padding-block:var(--s9);gap:var(--s6)}
.s-ico{border-color:var(--stone);color:var(--gold);width:60px;height:60px;margin-bottom:var(--s4)}
.s-values b{font:400 26px var(--serif)}
/* newsletter */
.s-news{background:var(--sand) var(--grain);padding-block:var(--sec)}
.s-news p{color:#564c45}
.s-news-form input,.s-news-mini input{border-radius:0;font-family:var(--sans);background:rgba(247,243,238,.7);border-color:rgba(38,33,29,.22);padding:18px 22px;transition:border-color .3s,background .3s}
.s-news-form input:focus,.s-news-mini input:focus{outline:0;border-color:var(--ink);background:var(--paper)}
/* footer */
.d-footer{background:var(--deep);color:#bdb1a5;padding:var(--s9) 0 var(--s6)}
.d-footer a{color:#e9e1d8}.d-footer a:hover{text-decoration:none;color:#fff}
.s-foot{gap:var(--s7);padding-bottom:var(--s8);border-bottom-color:rgba(239,231,222,.12)}
.s-foot>div:not(.s-foot-news){gap:var(--s3)}
.s-foot-brand{font:400 32px var(--serif);letter-spacing:.42em}
.s-foot-h{font:600 10.5px var(--sans);letter-spacing:.26em;color:#8f8378;margin-bottom:var(--s3)}
.s-news-mini input{background:rgba(255,255,255,.05);border-color:rgba(239,231,222,.2);color:#fff}
.s-news-mini .s-btn{background:#f3ece4;color:var(--ink);border-color:#f3ece4}.s-news-mini .s-btn:hover{color:#fff}
.s-foot-base{padding-top:var(--s6);color:#8f8378;font-size:11.5px;letter-spacing:.03em}
.d-example{color:#8f8378}
/* shop: editorial header + overflow-safe toolbar */
.s-shop-hero{background:var(--paper2) var(--grain)}
.s-shop-hero-in{min-height:400px;gap:var(--s8);padding-block:var(--s7)}
.s-shop-hero h1{font-size:clamp(56px,7vw,104px);letter-spacing:-.025em}
.s-shop-hero p{color:#564c45;font-size:16.5px}
.s-shop-hero-img{height:320px;border-radius:200px 200px var(--r) var(--r);object-position:50% 40%}
.s-crumbs{font:500 11px var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:var(--s4)}
.s-shop{padding-top:var(--s8)}
.s-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s4) var(--s6);margin-bottom:var(--s7);padding-bottom:var(--s5)}
.s-filters{min-width:0}
.s-filters button{border-radius:0;border-color:transparent;padding:10px 4px;margin-right:var(--s4);font:600 11px var(--sans);letter-spacing:.2em;text-transform:uppercase;position:relative;color:var(--mut)}
.s-filters button:after{content:"";position:absolute;left:4px;right:4px;bottom:4px;height:1px;background:var(--ink);transform:scaleX(0);transition:transform .4s var(--ease)}
.s-filters button:hover{border-color:transparent;color:var(--ink)}.s-filters button[aria-pressed=true]{background:none;color:var(--ink);border-color:transparent}.s-filters button[aria-pressed=true]:after,.s-filters button:hover:after{transform:none}
.s-tool-r{font-size:12px;letter-spacing:.06em;gap:var(--s5)}
.s-sort select{border-radius:0;font:600 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;padding:12px 38px 12px 16px;border-color:var(--line)}
.s-grid{gap:var(--s8) var(--s5)}
.s-grid>[data-reveal]:nth-child(3n+2){transition-delay:.1s}.s-grid>[data-reveal]:nth-child(3n){transition-delay:.2s}
.js [data-reveal]{transform:translateY(26px);transition:opacity 1s var(--ease-out),transform 1.1s var(--ease-out)}
/* product page */
.s-pdp-wrap{padding-top:var(--s6)}
.s-pdp{gap:clamp(40px,6vw,96px);grid-template-columns:minmax(0,1.15fr) minmax(0,1fr)}
.s-gal{top:108px;grid-template-columns:72px 1fr;gap:var(--s4)}
.s-gal-track,.s-tone-lilac .s-gal-track,.s-tone-mint .s-gal-track,.s-tone-peach .s-gal-track,.s-tone-blue .s-gal-track,.s-tone-butter .s-gal-track{background:var(--sand);border-radius:var(--r)}
.s-gal-thumbs button{border-radius:0;opacity:.55;transition:opacity .35s,border-color .35s}.s-gal-thumbs button:hover{opacity:.85}
.s-buy{padding-top:var(--s4)}
.s-buy h1{font-size:clamp(48px,5vw,76px);letter-spacing:-.02em;margin-bottom:var(--s3)}
.s-buy-tag{font:italic 400 21px var(--serif);color:var(--mut);margin-bottom:var(--s4)}
.s-rate{font-size:12px;letter-spacing:.04em;margin-bottom:var(--s5)}
.s-buy-price{font:500 22px var(--sans);letter-spacing:.04em;margin-bottom:var(--s5);padding-bottom:var(--s5);border-bottom:1px solid var(--line)}
.s-desc p{color:#564c45;line-height:1.8}
.s-variants{margin:var(--s6) 0}.s-variants legend{font:600 10.5px var(--sans);letter-spacing:.22em}
.s-variants label span{border-radius:0;padding:14px 18px;transition:border-color .3s,box-shadow .3s}
.s-buy-row{margin-top:var(--s5);gap:var(--s3)}.s-btn-add{padding:21px 30px}
.s-step{border-radius:0;border-color:var(--stone)}
.s-demo-note{background:var(--paper2);border-radius:0;border-left:2px solid var(--gold);font-weight:500;font-size:12.5px}
.s-perks{margin:var(--s6) 0;gap:var(--s2);font-size:13.5px}.s-perks li:before{content:"—";color:var(--gold);font-weight:400}
.s-acc summary{font:600 11px var(--sans);letter-spacing:.22em;padding:var(--s5) 0}
.s-acc details>*:not(summary){color:#564c45;line-height:1.8}
.s-acc details[open]>*:not(summary){animation:lx-fade .5s var(--ease) both}
.s-ing b{font:400 22px var(--serif)}
.s-reviews{margin-top:var(--s10);padding-top:var(--s9);gap:clamp(40px,6vw,96px)}
.s-rev-sum h2{font-size:84px}.s-bars i b{background:var(--ink)}
.s-rev{border-radius:0;background:var(--paper2);padding:var(--s6)}.s-rev header b{font:400 24px var(--serif)}
.s-related{margin-top:var(--s10)}
.s-sticky{background:rgba(247,243,238,.95)}.s-sticky-in b{font:400 22px var(--serif)}
/* cart drawer */
.s-drawer-veil{background:rgba(34,29,26,.32);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transition:opacity .5s var(--ease)}
.s-drawer-panel{width:min(460px,100%);background:var(--paper);transition:transform .65s var(--ease-out);box-shadow:-40px 0 80px -40px rgba(34,29,26,.45)}
.s-drawer header{padding:var(--s5) var(--s6);border-bottom-color:var(--line)}
.s-drawer h2{font-size:32px}
.s-x{border-radius:0;background:transparent;border:1px solid var(--line);font-size:22px;transition:background .3s,transform .4s var(--ease)}.s-x:hover{background:var(--paper2);transform:rotate(90deg)}
.s-drawer-body{padding:var(--s2) var(--s6) var(--s6)}
.s-drawer.is-open .s-line{animation:lx-rise .7s var(--ease-out) both}.s-drawer.is-open .s-line:nth-child(2){animation-delay:.06s}.s-drawer.is-open .s-line:nth-child(3){animation-delay:.12s}.s-drawer.is-open .s-line:nth-child(n+4){animation-delay:.18s}
.s-line{gap:var(--s4);padding:var(--s5) 0}
.s-line-img{border-radius:var(--r);background:var(--sand)}
.s-line-info strong{font:400 22px/1.1 var(--serif)}
.s-line-price{font:500 14px var(--sans);letter-spacing:.04em}
.s-ship-bar{height:2px}.s-ship-bar i{background:var(--ink)}
.s-total{border-top:1px solid var(--line);padding-top:var(--s5)}
.s-empty>p:first-child{font:italic 400 32px var(--serif)}
/* cart page, about */
.s-page-head{padding:var(--s8) var(--gut) 0}.s-page-head h1{font-size:clamp(56px,7vw,104px);letter-spacing:-.025em}
.s-cart{gap:clamp(40px,6vw,96px)}.s-cart-sum{border-radius:0;background:var(--paper2);padding:var(--s6);top:110px}.s-cart-sum h2{font-size:34px}
.s-about-hero{background:var(--paper2) url(/websites/demo/skincare/img/mm-lx-atmos.webp) center/cover}
.s-about-in{gap:clamp(48px,7vw,112px);padding-block:var(--s9)}.s-about-in h1{font-size:clamp(58px,7.4vw,112px);letter-spacing:-.025em}
.s-about-img{border-radius:240px 240px var(--r) var(--r);aspect-ratio:4/5;box-shadow:0 60px 120px -60px rgba(60,40,35,.45)}
.s-ritual-list{gap:var(--s5)}.s-ritual-img{border-radius:var(--r);margin-bottom:var(--s4)}
.s-ritual-list span{font:italic 400 18px var(--serif);letter-spacing:0;text-transform:none;color:var(--gold)}.s-ritual-list h3{font-size:34px}
.s-faq summary{font:400 26px var(--serif);letter-spacing:-.005em}
.s-fine{font-size:11.5px}
/* responsive */
@media (max-width:1100px){.s-track{grid-auto-columns:calc((100vw - 2*var(--gut) - 48px)/3)}.lx-hero-in{gap:var(--s7)}.s-tiles .s-tile:nth-child(even){margin-top:0}}
@media (max-width:980px){
  .d-header-in{height:68px}.s-logo{font-size:22px;letter-spacing:.34em;padding-left:.34em}
  .lx-hero-in{grid-template-columns:minmax(0,1fr);min-height:0;padding-block:var(--s5) var(--s8);gap:var(--s7)}
  .lx-hero .s-hero-media{order:-1;min-height:0;aspect-ratio:1/1.02;height:auto}
  .lx-plate{left:0;border-radius:180px 180px var(--r) var(--r)}
  .lx-inset{width:30%;left:var(--s4);bottom:-5%;border-width:6px}
  .lx-hero .s-hero-copy>div{max-width:none}.lx-scroll{display:none}
  .s-toolbar{grid-template-columns:minmax(0,1fr)}
  .s-pdp{grid-template-columns:minmax(0,1fr)}.s-gal{top:0;grid-template-columns:minmax(0,1fr)}
}
@media (max-width:700px){
  :root{--gut:20px}
  .s-announce{font-size:10px;letter-spacing:.16em}
  .lx-hero{background-image:url(/websites/demo/skincare/img/mm-lx-atmos-m.webp)}
  .lx-hero .s-hero-media{aspect-ratio:10/9}.lx-plate{border-radius:150px 150px var(--r) var(--r)}
  .lx-hero h1{font-size:clamp(50px,14vw,64px);margin-bottom:var(--s5)}
  .lx-hero .s-lede{font-size:16px;margin-bottom:var(--s6)}
  .lx-hero .s-hero-proof{margin-top:var(--s6)}
  .lx-tag{right:var(--s4);bottom:var(--s4);font-size:0;letter-spacing:0}.lx-tag b{font-size:20px}.lx-inset{width:28%;bottom:-4%}
  .s-hero-img{object-position:50% 50%}
  .s-press-in{gap:var(--s4)}.s-press ul{gap:var(--s3) var(--s5)}.s-press li{font-size:20px}.s-ugc{gap:var(--s2);margin-top:var(--s7)}
  .s-head{margin-bottom:var(--s6)}.s-head h2,.s-story h2,.s-news h2{font-size:42px}
  .s-track{grid-auto-columns:76%;gap:var(--s4);padding-inline:var(--gut);scroll-padding-inline:var(--gut)}
  .s-quick{border-radius:50%;padding:0;left:auto;right:var(--s3);bottom:var(--s3)}
  .s-tile h3{font-size:27px}.s-tile-img{margin-bottom:var(--s4)}
  .s-ingr-img{aspect-ratio:16/11}.s-claims b{font-size:42px}
  .s-quote{padding:var(--s6) var(--s5)}.s-quote-h{font-size:26px}
  .s-values{padding-block:var(--s8);gap:var(--s7) var(--s4)}
  .s-foot{gap:var(--s7) var(--s5)}.d-footer{padding:var(--s8) 0 110px}
  .s-shop-hero-in{gap:var(--s5);padding-block:var(--s6);min-height:0}.s-shop-hero h1{font-size:56px}.s-shop-hero-img{height:220px;border-radius:140px 140px var(--r) var(--r)}
  /* shop toolbar: filters scroll inside their own strip; the page never scrolls sideways */
  .s-toolbar{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s3)}
  .s-filters{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;margin-inline:calc(-1*var(--gut));padding-inline:var(--gut);max-width:calc(100% + 2*var(--gut));scroll-snap-type:x proximity;scroll-padding-inline:var(--gut);-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
  .s-filters button{flex:none;scroll-snap-align:start;margin-right:var(--s3)}
  .s-tool-r{justify-content:space-between;min-width:0}.s-sort{min-width:0}.s-sort select{max-width:100%}
  .s-grid,.s-grid-3{gap:var(--s7) var(--s3)}
  .s-card h3{font-size:22px}.s-card-meta{flex-wrap:wrap;gap:var(--s1)}
  .s-buy h1{font-size:48px}.s-pdp-wrap{padding-top:var(--s3)}
  .s-reviews{margin-top:var(--s8);padding-top:var(--s7)}.s-related{margin-top:var(--s8)}.s-rev-sum h2{font-size:64px}
  .s-drawer header,.s-drawer-body{padding-inline:var(--s5)}
  .s-page-head{padding-top:var(--s7)}.s-about-in{padding-block:var(--s7)}.s-about-img{border-radius:160px 160px var(--r) var(--r)}
  .s-faq summary{font-size:22px}
}
/* below 1100px the three offers would wrap (and a separator could dangle), so they take turns in one line */
@media (max-width:1100px){
  .s-announce-in{display:grid;justify-items:center;padding-block:10px}
  .s-announce-in li{grid-area:1/1;opacity:0;text-align:center}.s-announce-in li:first-child{opacity:1}
  .s-announce-in li+li:before{display:none}
}
@media (max-width:1100px) and (prefers-reduced-motion:no-preference){
  .s-announce-in li{animation:lx-rot 13.5s var(--ease) infinite both}
  .s-announce-in li:nth-child(2){animation-delay:4.5s}.s-announce-in li:nth-child(3){animation-delay:9s}
}
@keyframes lx-rot{0%{opacity:0;transform:translateY(6px)}4%,30%{opacity:1;transform:none}34%,100%{opacity:0;transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.lx-plate,.lx-inset{transform:none!important}.s-quote:hover{transform:none}}
