/* Meet Cosmetics — home v2 */


/* hero */
.hero{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:center;padding:150px 0 90px}
.blobs i{position:absolute;border-radius:50%;pointer-events:none}
.blobs i:nth-child(1){width:60vw;aspect-ratio:1;right:-18vw;top:-20vw;background:radial-gradient(closest-side,rgba(233,167,154,.55),transparent);animation:drift 18s ease-in-out infinite alternate}
.blobs i:nth-child(2){width:45vw;aspect-ratio:1;left:-15vw;bottom:-18vw;background:radial-gradient(closest-side,rgba(247,220,212,.9),transparent);animation:drift 22s ease-in-out infinite alternate-reverse}
.blobs i:nth-child(3){width:30vw;aspect-ratio:1;left:38%;top:10%;background:radial-gradient(closest-side,rgba(185,138,91,.18),transparent);animation:drift 26s ease-in-out infinite alternate}
@keyframes drift{to{transform:translate(6vw,4vw) scale(1.15)}}
.hin{position:relative;z-index:2;display:grid;gap:56px;align-items:center}
.ht{margin:22px 0 18px;font-weight:400}.ht>span{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ht>span>span{display:inline-block;transform:translateY(110%);transition:transform 1.5s var(--ease)}
.ready .ht>span>span{transform:none}.ready .ht .l2>span{transition-delay:.12s}.ready .ht .l3>span{transition-delay:.24s}
.ht .l1{font:italic 300 clamp(28px,4vw,54px)/1.1 var(--display);color:var(--plum)}
.ht .l2,.ht .l3{font:400 clamp(46px,7.4vw,124px)/.92 var(--display);letter-spacing:-.045em}
.ht .l3{font-style:italic;font-weight:300}.ht .l3 em{color:var(--rose);font-style:normal}
.hk,.guj,.spill,.hcta{opacity:0;translate:0 24px;transition:opacity 1.1s var(--ease),translate 1.1s var(--ease)}
.ready .hk,.ready .guj,.ready .spill,.ready .hcta{opacity:1;translate:none}.ready .guj{transition-delay:.5s}.ready .spill{transition-delay:.62s}.ready .hcta{transition-delay:.74s}
.guj{font:500 16px var(--guj);color:var(--ink2);max-width:30em}
.spill{display:flex;align-items:center;gap:12px;width:min(440px,100%);height:58px;margin:26px 0 16px;padding:0 22px;border-radius:99px;background:rgba(255,255,255,.7);border:1px solid rgba(255,255,255,.95);box-shadow:0 14px 34px -22px rgba(58,18,38,.35);color:var(--ink2);text-align:left;font-weight:600;transition:opacity 1.1s var(--ease),translate 1.1s var(--ease),box-shadow .4s}
.spill:hover{box-shadow:0 18px 40px -18px rgba(58,18,38,.45)}.spill i{width:1.5px;height:18px;background:var(--plum);animation:bl 1s steps(1) infinite;margin-left:-8px}@keyframes bl{50%{opacity:0}}
.hcta{display:flex;gap:10px;flex-wrap:wrap}.hcta .btn{flex:1 1 auto}
.hvis{position:relative;width:min(100%,480px);margin:0 auto}
.arch{position:relative;aspect-ratio:3/4;border-radius:999px 999px 40px 40px;overflow:hidden;background:var(--blush);box-shadow:0 50px 90px -40px rgba(58,18,38,.55);clip-path:inset(100% 0 0 0 round 999px 999px 40px 40px);transition:clip-path 1.6s var(--ease2) .1s}
.ready .arch{clip-path:inset(0 0 0 0 round 999px 999px 40px 40px)}
.hv{width:100%;height:100%;object-fit:cover;transform:scale(1.35);transition:transform 2.4s var(--ease) .1s}.ready .hv{transform:scale(1.08)}
.ring{position:absolute;z-index:2;left:-34px;bottom:30px;width:190px;height:190px;opacity:0;transform:scale(.5) rotate(-60deg);transition:opacity 1s .6s,transform 1.6s var(--ease) .6s}.ready .ring{opacity:1;transform:none}
.ring svg{width:100%;height:100%;animation:spin 24s linear infinite}.ring text{fill:var(--ink);stroke:none;font:800 13px var(--sans);letter-spacing:.22em}@keyframes spin{to{transform:rotate(360deg)}}
.rd{position:absolute;inset:40px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 20px 40px -14px rgba(58,18,38,.45)}
.rd img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),opacity .8s}.rd img.o{opacity:0;transform:rotate(90deg) scale(.5)}
.hchip{position:absolute;z-index:2;display:grid;padding:14px 18px;border-radius:22px;background:rgba(255,250,246,.82);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.9);box-shadow:0 20px 40px -22px rgba(58,18,38,.45);opacity:0;scale:.7;transition:opacity .9s var(--ease),scale 1.1s var(--ease)}
.hchip b{font:400 30px/1 var(--display);color:var(--plum)}.hchip span{font:700 11px var(--sans);color:var(--ink2);margin-top:4px}
.hchip.c1{right:-18px;top:16%;animation:bob 6s ease-in-out infinite}.hchip.c2{right:10%;bottom:-24px;animation:bob 7s ease-in-out infinite reverse}
.ready .hchip{opacity:1;scale:1}.ready .hchip.c1{transition-delay:.9s}.ready .hchip.c2{transition-delay:1.05s}@keyframes bob{50%{transform:translateY(-12px)}}
.scue{position:absolute;z-index:2;left:50%;bottom:24px;translate:-50% 0;display:none;flex-direction:column;align-items:center;gap:10px;font:800 9.5px var(--sans);letter-spacing:.34em;text-transform:uppercase;color:var(--mut)}
.scue i{position:relative;width:22px;height:36px;border-radius:12px;border:1.5px solid var(--line2)}
.scue i:after{content:'';position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--plum);animation:wheel 1.8s var(--ease) infinite}
@keyframes wheel{0%{opacity:0;transform:translateY(-3px)}30%{opacity:1}100%{opacity:0;transform:translateY(13px)}}
@media(min-width:960px){.hin{grid-template-columns:1.25fr .85fr;gap:40px}.hvis{margin:0 0 0 auto}.ring{left:-80px;width:220px;height:220px}.rd{inset:46px}.scue{display:flex}}
@media(max-width:959px){.hero{padding:140px 0 70px}.hvis{width:min(84%,420px)}.hchip.c1{right:-12px}}

/* brand marquee — two rows, speed follows scroll */
.bmq{position:relative;display:grid;gap:14px;padding:48px 0;overflow:hidden;background:var(--bg2);border-block:1px solid var(--line)}
.bmq:before,.bmq:after{content:'';position:absolute;z-index:2;top:0;bottom:0;width:14vw;pointer-events:none}
.bmq:before{left:0;background:linear-gradient(90deg,var(--bg2),transparent)}.bmq:after{right:0;background:linear-gradient(-90deg,var(--bg2),transparent)}
.bmq .row{display:flex;align-items:center;width:max-content;white-space:nowrap;font:400 clamp(26px,3.8vw,54px)/1.25 var(--display);letter-spacing:-.02em;will-change:transform}
.bmq .row span{transition:color .4s}.bmq .row span:hover{color:var(--plum)}
.bmq .row.rev{font-style:italic;font-weight:300;color:var(--plum)}.bmq .row.rev span:hover{color:var(--ink)}
.bmq i{font-style:normal;color:var(--rose);font-size:.36em;margin:0 1.3em}

/* counters — bento on desktop, swipe rail on mobile */
.cats{padding:140px 0 90px}
.shd{display:flex;justify-content:space-between;align-items:flex-end;gap:24px 40px;flex-wrap:wrap;margin-bottom:48px}.shd .h2{margin-top:18px}.shd .sub{color:var(--ink2);max-width:28em;font-size:16px}
.crail{display:grid;grid-auto-flow:column;grid-auto-columns:min(72vw,300px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 20px 26px;scrollbar-width:none}.crail::-webkit-scrollbar{display:none}
.ct{position:relative;scroll-snap-align:start;aspect-ratio:3/4;border-radius:32px;overflow:hidden;background:var(--c);padding:24px;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate;transition:transform .9s var(--ease)}
.ct:before{content:'';position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 60% at 85% 95%,rgba(255,255,255,.7),transparent 70%)}
.ct:hover{transform:translateY(-6px)}
.ct h3{font:400 clamp(30px,3vw,44px)/.95 var(--display);letter-spacing:-.03em;color:var(--ink)}.ct .n{display:block;margin-top:10px;font:800 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:rgba(34,21,27,.6)}
.ct .cimg{position:absolute;z-index:-1;width:60%;aspect-ratio:1;right:-5%;bottom:-5%;border-radius:50%;object-fit:cover;box-shadow:0 30px 50px -20px rgba(34,21,27,.4);transition:transform 1.3s var(--ease)}
.ct:hover .cimg{transform:rotate(-10deg) scale(1.08) translate(-5%,-5%)}
.ct .go{width:50px;height:50px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;transition:transform .7s var(--ease),background .3s,translate .7s var(--ease)}.ct:hover .go{transform:rotate(-45deg);background:var(--plum)}
@media(min-width:1000px){.crail{width:min(1320px,100% - 40px);margin:auto;padding:0;overflow:visible;grid-auto-flow:row;grid-template-columns:repeat(4,1fr);grid-auto-rows:270px;gap:16px}
.ct{aspect-ratio:auto}.ct:first-child{grid-column:span 2;grid-row:span 2}.ct:first-child h3{font-size:clamp(48px,5.4vw,84px)}.ct:first-child .cimg{width:58%}
.ct:nth-child(2){grid-column:span 2}.ct:nth-child(2) .cimg,.ct:last-child:nth-child(7) .cimg{width:42%}.ct:last-child:nth-child(7){grid-column:span 2}}

/* stacked panels — rounded cards that stack and sink */
.stack{position:relative;padding:10px 0 40px}
.panel{position:sticky;top:12px;height:calc(100svh - 24px);margin:0 12px 12px;border-radius:40px;overflow:hidden;background:var(--a);display:flex;align-items:flex-end;transform-origin:50% 0;will-change:transform}
.panel video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.panel:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,var(--a) 12%,color-mix(in srgb,var(--a) 45%,transparent) 55%,transparent);pointer-events:none}
.panel .dim{position:absolute;inset:0;z-index:4;background:var(--wine);opacity:0;pointer-events:none}
.pin{position:relative;z-index:3;padding:0 24px 150px;max-width:660px}
.pn{display:inline-flex;font:800 10.5px var(--sans);letter-spacing:.2em;padding:8px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.35);margin-bottom:22px;backdrop-filter:blur(6px)}
.pin h3{font:300 clamp(48px,7.4vw,124px)/.9 var(--display);letter-spacing:-.045em;margin:18px 0 18px}.pin h3 em{display:block;font-style:italic;color:var(--rose)}
.pin p:not(.eyebrow){color:rgba(255,255,255,.82);margin-bottom:28px;max-width:28em;font-size:16px}
.pstrip{position:absolute;z-index:3;left:0;right:0;bottom:24px;display:flex;gap:10px;padding:0 24px;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}
.pstrip a{flex:none;display:flex;align-items:center;gap:12px;padding:6px 18px 6px 6px;border-radius:99px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:12px;max-width:260px;transition:background .3s,transform .6s var(--ease)}
.pstrip a:hover{background:rgba(255,255,255,.28);transform:translateY(-5px)}.pstrip img{width:48px;height:48px;border-radius:50%;flex:none;object-fit:cover}.pstrip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(min-width:900px){.panel{align-items:center}.panel:after{background:linear-gradient(90deg,var(--a) 20%,color-mix(in srgb,var(--a) 55%,transparent) 48%,transparent 78%)}.pin{padding:0 0 70px 6vw}.pstrip{padding-inline:6vw}}

/* two-tone scroll fill + tabs */
.era{padding:150px 0 70px}
.era-hd{display:grid;gap:30px;align-items:center;margin-bottom:56px}
.tone{font:400 clamp(58px,10vw,170px)/.86 var(--display);letter-spacing:-.05em}
/* luxury product fan beside the headline */
.fan{position:relative;height:clamp(320px,32vw,470px)}
.fan a{position:absolute;top:50%;left:50%;width:clamp(170px,16vw,240px);aspect-ratio:4/5;margin:calc(clamp(170px,16vw,240px)*-.625) 0 0 calc(clamp(170px,16vw,240px)*-.5);border-radius:30px;background:linear-gradient(160deg,#fff,var(--peach));border:1px solid rgba(255,255,255,.9);box-shadow:0 40px 70px -35px rgba(58,18,38,.55);display:grid;place-items:center;transition:transform 1.1s var(--ease),z-index 0s .3s}
.fan a img{width:76%;aspect-ratio:1;object-fit:cover;border-radius:22px;animation:bob 7s ease-in-out infinite}
.fan a:nth-child(2) img{animation-delay:-2.3s}.fan a:nth-child(3) img{animation-delay:-4.6s}
.fan a b{position:absolute;left:14px;bottom:12px;right:14px;font:800 9.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fan a:nth-child(1){transform:translateX(-62%) rotate(-11deg)}.fan a:nth-child(2){z-index:2;transform:translateY(-6%)}.fan a:nth-child(3){transform:translateX(62%) rotate(11deg)}
.fan:hover a:nth-child(1){transform:translateX(-80%) rotate(-16deg)}.fan:hover a:nth-child(3){transform:translateX(80%) rotate(16deg)}.fan a:hover{z-index:3;transform:translateY(-12%) scale(1.04)!important;transition:transform 1.1s var(--ease),z-index 0s}
.fan .cap{position:absolute;z-index:4;left:50%;bottom:0;translate:-50% 0;white-space:nowrap;font:800 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;background:var(--ink);color:#fff;padding:10px 16px;border-radius:99px;box-shadow:var(--shadow)}
@media(min-width:900px){.era-hd{grid-template-columns:1.2fr .8fr;gap:20px}}
@media(max-width:899px){.fan{height:280px}.fan a{width:132px;margin:-83px 0 0 -66px;border-radius:24px}
.fan a:nth-child(1){transform:translateX(-52%) rotate(-8deg)}.fan a:nth-child(3){transform:translateX(52%) rotate(8deg)}
.fan:hover a:nth-child(1){transform:translateX(-58%) rotate(-10deg)}.fan:hover a:nth-child(3){transform:translateX(58%) rotate(10deg)}}
.tone span{display:block;width:fit-content;background:linear-gradient(90deg,var(--ink) 50%,rgba(34,21,27,.1) 50%) 100% 0/200% 100% no-repeat;-webkit-background-clip:text;background-clip:text;color:transparent}
.tone .it{font-weight:300;background-image:linear-gradient(90deg,var(--plum) 50%,rgba(90,30,59,.12) 50%)}
.ebar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:40px}
.tabs{position:relative;display:inline-flex;gap:2px;padding:5px;border-radius:99px;background:var(--bg2);max-width:100%;overflow-x:auto;scrollbar-width:none}
.tabs .chip{position:relative;z-index:1;border:0;height:44px}.tabs .chip.on{background:none;color:#fff}
.tabs .ind{position:absolute;z-index:0;top:5px;left:0;height:44px;border-radius:99px;background:var(--ink);transition:transform .7s var(--ease),width .7s var(--ease)}

/* statement — words light up as you scroll */
.scr{position:relative;margin:0 12px;padding:clamp(80px,9vw,130px) 0;background:radial-gradient(110% 90% at 100% 0%,#4b1731,var(--wine) 58%);border-radius:48px;overflow:hidden;isolation:isolate}
.scr:before{content:'';position:absolute;z-index:-1;width:60vw;aspect-ratio:1;left:-24vw;bottom:-38vw;border-radius:50%;background:radial-gradient(closest-side,rgba(233,167,154,.2),transparent)}
.scr:after{content:'';position:absolute;z-index:-1;inset:0;background-image:radial-gradient(rgba(247,220,212,.09) 1px,transparent 1.2px);background-size:24px 24px;-webkit-mask-image:radial-gradient(70% 70% at 75% 40%,#000,transparent);mask-image:radial-gradient(70% 70% at 75% 40%,#000,transparent)}
.scg{display:grid;gap:56px;align-items:center}
.scr .eyebrow{margin-bottom:28px}
.sc{font:400 clamp(30px,3.9vw,60px)/1.06 var(--display);letter-spacing:-.025em;text-wrap:balance}
.sc.o{font-style:italic;font-weight:300;color:var(--rose);margin:.12em 0}
.sc .wd{display:inline-block;opacity:0;translate:0 .55em;filter:blur(6px);transition:opacity .9s var(--ease),translate 1.1s var(--ease),filter .9s var(--ease);transition-delay:calc(var(--d,0)*55ms)}
.sct.in .wd{opacity:1;translate:none;filter:none}
.pts{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.pts li{display:inline-flex;align-items:center;gap:10px;padding:12px 18px;border-radius:99px;background:rgba(255,255,255,.06);border:1px solid rgba(247,220,212,.16);font:700 13px var(--sans);color:rgba(255,255,255,.88);opacity:0;translate:0 14px;transition:opacity .8s var(--ease),translate .9s var(--ease),background .3s,border-color .3s;transition-delay:calc(var(--d,0)*55ms)}
.sct.in .pts li{opacity:1;translate:none}.pts li:hover{background:rgba(233,167,154,.14);border-color:rgba(233,167,154,.45);transition-delay:0s}
.pts i{font-style:normal;color:var(--rose);font-size:12px}
/* the "100% original" seal */
.seal{position:relative;width:min(100%,420px);aspect-ratio:1;margin:0 auto}
.seal:before,.seal:after{content:'';position:absolute;border-radius:50%;pointer-events:none}
.seal:before{inset:14%;border:1px dashed rgba(247,220,212,.28);animation:spin 60s linear infinite}
.seal:after{inset:-4%;border:1px solid rgba(247,220,212,.08)}
.seal .rt{position:absolute;inset:0;width:100%;height:100%;animation:spin 32s linear infinite}
.seal text{fill:rgba(247,220,212,.78);stroke:none;font:800 11.5px var(--sans);letter-spacing:.34em}
.seal .core{position:absolute;inset:24%;border-radius:50%;display:grid;place-content:center;text-align:center;background:radial-gradient(circle at 32% 26%,#f4c2b5,var(--rose) 28%,var(--plum) 78%);box-shadow:0 40px 80px -30px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,.18),inset 0 -20px 40px rgba(42,13,27,.35);animation:breathe 6s ease-in-out infinite}
.seal .core b{font:300 clamp(46px,5.4vw,80px)/.9 var(--display);letter-spacing:-.05em;color:#fff}
.seal .core span{font:italic 300 clamp(18px,1.8vw,24px)/1.2 var(--display);color:var(--blush)}
@keyframes breathe{50%{transform:scale(1.035)}}
.orb{position:absolute;inset:0;animation:spin 26s linear infinite}
.orb span{position:absolute;left:39%;top:39%;width:22%;aspect-ratio:1;transform:rotate(var(--a)) translateY(-164%) rotate(calc(-1*var(--a)))}
.orb img{width:100%;height:100%;border-radius:50%;object-fit:cover;background:#fff;border:3px solid var(--wine);box-shadow:0 18px 30px -12px rgba(0,0,0,.6);animation:spin 26s linear infinite reverse}
@media(min-width:960px){.scg{grid-template-columns:1.25fr .75fr;gap:40px}}
@media(max-width:959px){.seal{width:min(80%,320px)}}

/* horizontal machinery rail */
.hz{position:relative}.hzs{position:sticky;top:0;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;gap:40px}
.hzh{padding:0 20px;max-width:640px}.hzh .h2{margin:18px 0 16px}.hzh p:not(.eyebrow){color:var(--ink2);font-size:16px}
.hzp{height:3px;border-radius:3px;background:var(--line);margin-top:28px;max-width:340px;overflow:hidden}.hzp i{display:block;height:100%;background:linear-gradient(90deg,var(--rose),var(--plum));transform-origin:0;transform:scaleX(0)}
.hzt{display:flex;gap:20px;padding-left:20px;width:max-content;will-change:transform}
.mt{width:min(68vw,320px);flex:none}
.mt .ph{position:relative;aspect-ratio:4/5;border-radius:30px;background:linear-gradient(160deg,#fff,var(--peach));border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.mt .ph img{width:76%;aspect-ratio:1;object-fit:cover;border-radius:26px;box-shadow:0 30px 50px -26px rgba(58,18,38,.5);transition:transform 1.1s var(--ease)}.mt:hover .ph img{transform:scale(1.07) rotate(3deg)}
.mt .no{position:absolute;right:18px;bottom:8px;font:italic 300 64px/1 var(--display);color:rgba(90,30,59,.13)}
.mt .wty{position:absolute;top:14px;left:14px;font:800 9.5px var(--sans);letter-spacing:.14em;text-transform:uppercase;background:var(--plum);color:#fff;padding:8px 11px;border-radius:99px}
.mt h4{font:400 19px/1.25 var(--display);margin:16px 0 4px}
@media(min-width:900px){.hzs{flex-direction:row;align-items:center}.hzh{position:relative;z-index:2;align-self:stretch;display:flex;flex-direction:column;justify-content:center;flex:0 0 calc(470px + max(20px,(100vw - 1320px)/2));padding:0 40px 0 max(20px,calc((100vw - 1320px)/2));background:linear-gradient(90deg,var(--bg) 82%,transparent)}.hzh .eyebrow{align-self:flex-start}}

/* reels + story viewer */
.reels{padding:150px 0 80px}
.stories{display:flex;gap:18px;overflow-x:auto;padding:0 20px 34px;scrollbar-width:none}
.st{flex:none;width:86px;text-align:center;font:700 11px var(--sans);color:var(--ink2)}
.st i{display:block;width:86px;height:86px;border-radius:50%;padding:3px;background:conic-gradient(var(--plum),var(--rose),var(--gold),var(--plum));margin-bottom:8px;transition:transform .6s var(--ease)}.st:hover i{transform:scale(1.07)}
.st img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--bg)}
.rrail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 20px 40px;scrollbar-width:none}
.rc{flex:0 0 min(62vw,280px);scroll-snap-align:center;aspect-ratio:9/16;border-radius:34px;overflow:hidden;position:relative;background:var(--bg2);color:#fff;text-align:left;transition:scale .8s var(--ease),box-shadow .8s var(--ease)}
.rc:nth-child(even){margin-top:34px}.rc:hover{scale:1.03;box-shadow:var(--shadow)}
.rc img,.rc video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.rc video{opacity:0;transition:opacity .5s}.rc.playing video{opacity:1}
.rc .rl{position:absolute;inset:auto 0 0;padding:70px 18px 20px;background:linear-gradient(transparent,rgba(42,13,27,.92));font:700 12px var(--sans)}.rc .rl b{display:block;font:400 25px/1.05 var(--display);margin-bottom:10px}
.rc .lk{position:absolute;top:14px;left:14px;font:800 10px var(--sans);letter-spacing:.12em;text-transform:uppercase;background:rgba(255,255,255,.92);color:var(--plum);padding:7px 11px;border-radius:99px}
.rc .pl{position:absolute;top:12px;right:12px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.22);backdrop-filter:blur(8px);display:grid;place-items:center;font-size:13px}
.rc .pl:before{content:'';position:absolute;inset:0;border-radius:50%;border:1px solid rgba(255,255,255,.6);animation:ping 2s var(--ease) infinite}@keyframes ping{to{transform:scale(1.6);opacity:0}}
@media(min-width:1100px){.stories,.rrail{padding-inline:max(20px,calc((100vw - 1320px)/2))}}
.rv-view{position:fixed;inset:0;z-index:90;background:rgba(20,6,13,.97);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .5s}.rv-view.on{opacity:1;pointer-events:auto}
.rv-view video{max-height:100%;width:100%;max-width:520px;height:100%;object-fit:cover;scale:.92;transition:scale .7s var(--ease)}.rv-view.on video{scale:1}
@media(min-width:700px){.rv-view video{height:calc(100% - 40px);border-radius:30px}}
.rbars{position:absolute;z-index:3;top:calc(14px + env(safe-area-inset-top));left:14px;right:14px;display:flex;gap:4px;max-width:500px;margin:auto}.rbars i{flex:1;height:3px;border-radius:3px;background:rgba(255,255,255,.3);overflow:hidden}.rbars i b{display:block;height:100%;width:0;background:#fff}
.rx{position:absolute;z-index:4;top:calc(30px + env(safe-area-inset-top));right:18px;width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:18px;transition:transform .5s var(--ease)}.rx:hover{transform:rotate(90deg)}
.rnav{position:absolute;z-index:2;top:0;bottom:0;width:40%}.rnav.p{left:0}.rnav.n{right:0}
.rcap{position:absolute;z-index:3;left:0;right:0;bottom:0;max-width:520px;margin:auto;padding:80px 20px calc(28px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(20,6,13,.95));color:#fff}
.rcap .eyebrow{color:var(--rose)}.rcap b{display:block;font:400 30px/1.1 var(--display);margin:12px 0 16px}.rcap .btn.fill{background:#fff;color:var(--ink)}

/* beauty finder */
.finder{padding:80px 0}
.fbox{position:relative;border-radius:48px;background:linear-gradient(150deg,var(--blush),var(--peach) 55%,#fff);padding:50px 22px;overflow:hidden;isolation:isolate}
.fbox:before{content:'';position:absolute;z-index:-1;width:420px;aspect-ratio:1;right:-140px;top:-160px;border-radius:50%;border:1px solid rgba(90,30,59,.15);box-shadow:0 0 0 60px rgba(255,255,255,.25),0 0 0 120px rgba(255,255,255,.15)}
.fhd{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.fstep{font:800 11px var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--ink2);background:rgba(255,255,255,.7);padding:8px 14px;border-radius:99px}
.fbox .h2{font-size:clamp(40px,6vw,88px);margin:20px 0 32px;transition:opacity .4s}
.fopts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fo{position:relative;padding:22px 44px 22px 20px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid #fff;text-align:left;font:700 16px var(--sans);transition:transform .6s var(--ease),background .35s,color .35s,box-shadow .6s;animation:pop .8s var(--ease) both}
.fo:after{content:'→';position:absolute;right:20px;top:50%;translate:-6px -50%;opacity:0;transition:.5s var(--ease)}
.fo:hover{background:var(--ink);color:#fff;transform:translateY(-4px);box-shadow:var(--shadow)}.fo:hover:after{opacity:1;translate:0 -50%}
.fo small{display:block;color:var(--mut);font:600 12.5px var(--sans);margin-top:4px;transition:color .35s}.fo:hover small{color:rgba(255,255,255,.6)}
.fbar{height:5px;border-radius:5px;background:rgba(90,30,59,.1);margin:32px 0}.fbar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--rose),var(--plum));transition:width .9s var(--ease)}
.fbox .card .ph{background:#fff}
@media(min-width:760px){.fbox{padding:72px}.fopts{grid-template-columns:repeat(3,1fr)}}

/* numbers */
.num{display:grid;grid-template-columns:1fr 1fr;margin-block:70px 90px;border-radius:40px;background:linear-gradient(160deg,#fff,var(--card) 60%,var(--peach));border:1px solid var(--line);box-shadow:0 40px 80px -60px rgba(58,18,38,.45);overflow:hidden}
.num>div{position:relative;padding:clamp(30px,4vw,52px) 14px;text-align:center}
.num>div:nth-child(odd){border-right:1px solid var(--line)}.num>div:nth-child(n+3){border-top:1px solid var(--line)}
.num b{display:inline-flex;align-items:flex-start;font:400 clamp(46px,6vw,92px)/1 var(--display);font-optical-sizing:none;font-variation-settings:'opsz' 30;letter-spacing:-.035em;color:var(--plum);font-variant-numeric:lining-nums}
.num b sup{font:700 .38em/1 var(--sans);color:var(--rose);margin:.12em 0 0 .1em}
.num span{display:block;margin-top:14px;font:800 10.5px var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
@media(min-width:900px){.num{grid-template-columns:repeat(4,1fr)}.num>div{border:0!important}.num>div+div{border-left:1px solid var(--line)!important}}

/* visit */
.visit{display:grid;gap:56px;padding:60px 0 140px;align-items:center}
.vimg{position:relative;width:100%;max-width:540px;aspect-ratio:4/5;border-radius:999px 999px 44px 44px;overflow:hidden;background:var(--blush);box-shadow:0 50px 90px -40px rgba(58,18,38,.5)}
.vimg video{width:100%;height:100%;object-fit:cover;scale:1.15}
.badge{position:absolute;left:50%;bottom:22px;translate:-50% 0;white-space:nowrap;background:#fff;color:var(--plum);font:800 12px var(--sans);padding:12px 18px;border-radius:99px;box-shadow:var(--shadow)}
.addr{font:400 clamp(26px,2.6vw,34px)/1.25 var(--display);letter-spacing:-.015em;margin:30px 0 16px}
.hrs{display:flex;align-items:center;gap:10px;color:var(--ink2);font-weight:700;margin-bottom:30px}
.dot{width:9px;height:9px;border-radius:50%;background:#2fbf6a;animation:pu 2s infinite}@keyframes pu{0%{box-shadow:0 0 0 0 rgba(47,191,106,.5)}70%,100%{box-shadow:0 0 0 12px transparent}}
@media(min-width:900px){.visit{grid-template-columns:1fr 1fr;gap:100px}}
