:root{--silk:#F3E9E0;--silk2:#EBDDD0;--taupe:#C9B3A6;--latte:#A38670;--cocoa:#7A5A46;--esp:#57392A;--esp2:#462E22;--pink:#F7D3DA;--rose:#C9788C;--ink:#4A3226;--muted:#7E6454;--line:#E0CDBF;--disp:'Unbounded',sans-serif;--body:'Hanken Grotesk',sans-serif;--r:28px}
*{box-sizing:border-box;min-width:0}
html,body{max-width:100%;overflow-x:clip}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--silk);color:var(--ink);font:400 17px/1.6 var(--body);padding-bottom:0}
img,video,svg,canvas{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--disp);font-weight:560;letter-spacing:-.02em;line-height:1.08;margin:0 0 .5em}
h1{font-size:clamp(2.3rem,6.2vw,5.4rem)}
h2{font-size:clamp(1.8rem,4.4vw,3.6rem)}
h3{font-size:clamp(1.2rem,2.2vw,1.6rem)}
p{margin:0 0 1em;max-width:62ch}
.wrap{width:min(1240px,100% - 48px);margin:0 auto}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 30px;border-radius:999px;background:var(--esp);color:var(--pink);font:600 1rem var(--body);text-decoration:none;border:0;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 30px -14px rgba(87,57,42,.6)}
.btn.pink{background:var(--pink);color:var(--esp)}
.btn.line{background:transparent;color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.sec{padding:clamp(72px,11vw,150px) 0}
.lede{font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--muted)}
.small{font-size:.85rem;color:var(--muted)}
.rx{font-size:.8rem;color:var(--muted)}

/* header */
.hdr{position:fixed;top:0;left:0;right:0;z-index:800;transition:background .35s,box-shadow .35s}
.hdr .in{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:76px;width:min(1320px,100% - 40px);margin:0 auto}
.hdr nav{display:flex;gap:26px;font-weight:500;font-size:.95rem}
.hdr nav.r{justify-content:flex-end;align-items:center}
.hdr nav a{text-decoration:none;padding:8px 0}
.hdr .logo img{height:26px;width:auto}
.hdr .logo .dk{display:none}
.hdr.solid{background:rgba(243,233,224,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.hdr.solid .logo .lt{display:none}.hdr.solid .logo .dk{display:block}
.hdr.onimg{color:#FFF6F2}.hdr.onimg.solid{color:var(--ink)}
.hdr .btn{min-height:44px;padding:0 20px;font-size:.92rem}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--pink);color:var(--esp);font-size:20px;justify-self:end}
.drawer{position:fixed;inset:0;z-index:850;background:var(--silk);padding:100px 28px 40px;display:flex;flex-direction:column;gap:6px;transform:translateY(-102%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
.drawer.on{transform:none}
.drawer a{font:560 1.6rem var(--disp);text-decoration:none;padding:10px 0;border-bottom:1px solid var(--line)}
.drawer .x{position:absolute;top:18px;right:20px;width:46px;height:46px;border-radius:50%;border:0;background:var(--silk2);font-size:22px;color:var(--ink)}
@media(max-width:900px){.hdr nav{display:none}.burger{display:block}.hdr .in{grid-template-columns:46px 1fr 46px}.hdr .logo{justify-self:center}.hdr .logo img{height:22px}}

/* announcement */
.ann{background:var(--esp);color:var(--pink);font-size:.88rem;overflow:hidden;white-space:nowrap;position:relative;z-index:801}
.ann .trk{display:inline-flex;gap:60px;padding:9px 0;animation:mq 38s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}

/* HERO FILM */
.film{position:relative;height:340vh;background:var(--taupe)}
.film .pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.film canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.film .veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(74,50,38,.52) 0%,rgba(74,50,38,.18) 45%,rgba(74,50,38,0) 70%)}
.film .ch{position:absolute;left:max(24px,calc((100vw - 1240px)/2));bottom:14vh;width:min(620px,calc(100% - 48px));color:#FFF6F2;opacity:0;transform:translateY(30px);transition:opacity .6s,transform .8s cubic-bezier(.2,.8,.2,1);pointer-events:none;text-shadow:0 2px 30px rgba(58,37,27,.35)}
.film .ch.on{opacity:1;transform:none;pointer-events:auto}
.film .ch h1{color:#FFF6F2}
.film .ch h1 .p{color:var(--pink)}
.film .ch p{color:#F6E9E2;font-size:1.15rem}
.film .scrollcue{position:absolute;right:28px;bottom:28px;color:#FFF6F2;font-size:.85rem;display:flex;align-items:center;gap:10px}
.film .scrollcue i{display:block;width:1.5px;height:44px;background:linear-gradient(#FFF6F2,transparent);animation:cue 1.8s infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.film .prog{position:absolute;left:0;bottom:0;height:3px;background:var(--pink);width:0}
@media(max-width:700px){.film .veil{background:linear-gradient(0deg,rgba(74,50,38,.7) 0%,rgba(74,50,38,.25) 55%,rgba(74,50,38,.05) 100%)}.film .ch{bottom:13vh}.film .ch p{font-size:1rem}.film .scrollcue{display:none}}

/* WORDMARK MASK */
.mask{position:relative;height:260vh;background:var(--esp)}
.mask .pin{position:sticky;top:0;height:100vh;height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center;padding:0 20px}
.mask .word{font:600 clamp(3.4rem,17vw,17rem)/.9 var(--disp);letter-spacing:-.04em;background-size:cover;background-position:center 30%;-webkit-background-clip:text;background-clip:text;color:transparent;will-change:transform;white-space:nowrap}
.mask .sub{color:var(--pink);max-width:34ch;font-size:clamp(1.05rem,2vw,1.4rem);margin-top:3vh;opacity:0;transition:opacity .6s}
.mask .sub.on{opacity:1}

/* PLINTH LINEUP */
.plinth{position:relative;background:var(--silk)}
.plinth .pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:96px 0 120px;transition:background-color .6s}
.plinth .head{text-align:center;padding:0 24px;margin-bottom:2vh}
.plinth .head h2{margin-bottom:.2em}
.plinth .row{display:flex;align-items:flex-end;gap:clamp(14px,3vw,46px);padding:0 50vw;will-change:transform;transition:transform .7s cubic-bezier(.2,.8,.2,1)}
.plinth .pl{flex:0 0 auto;width:clamp(120px,15vw,210px);display:flex;flex-direction:column;align-items:center;cursor:pointer;opacity:.45;transition:opacity .5s}
.plinth .pl.on{opacity:1}
.plinth .pl img{height:clamp(150px,26vh,290px);width:auto;object-fit:contain;filter:drop-shadow(0 26px 22px rgba(74,50,38,.28));transform:translateY(10px) scale(.86);transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.plinth .pl.on img{transform:translateY(-26px) scale(1.08);animation:bob 4.5s ease-in-out infinite}
@keyframes bob{50%{translate:0 -10px}}
.cube{width:100%;position:relative;margin-top:8px}
.cube .top{height:clamp(18px,2.4vw,30px);background:linear-gradient(180deg,#FFFFFF,#F4ECE6);clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)}
.cube .front{height:clamp(70px,11vh,130px);background:linear-gradient(90deg,#EFE6DF,#FFFFFF 40%,#F2E9E3);box-shadow:0 30px 40px -20px rgba(74,50,38,.35)}
.plinth .pl:nth-child(odd) .front{height:clamp(90px,14vh,160px)}
.plinth .info{position:relative;height:150px;margin:3vh auto 0;width:min(560px,calc(100% - 40px))}
.plinth .info>div{position:absolute;inset:0;text-align:center;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .6s;pointer-events:none}
.plinth .info>div.on{opacity:1;transform:none;pointer-events:auto}
.plinth .info h3{margin-bottom:.25em}
.plinth .info p{margin:0 auto .7em;color:var(--muted);font-size:.98rem}
.plinth .info .btn{min-height:46px;padding:0 22px;font-size:.95rem}
.plinth .dots{display:flex;justify-content:center;gap:8px;margin-top:10px}
.plinth .dots i{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.25;transition:opacity .3s,width .3s}
.plinth .dots i.on{opacity:1;width:22px;border-radius:6px}
@media(max-width:700px){.plinth .pin{padding:84px 0 118px}.plinth .pl{width:118px}.plinth .pl img{height:24vh}.plinth .info{height:170px}}
@media(max-height:700px){.plinth .pin{padding:72px 0 104px}.plinth .pl img{height:20vh}.cube .front{height:60px!important}.plinth .head p{display:none}}

/* GILT PROGRAMS */
.gilt{position:relative;background:var(--taupe)}
.gilt .pin{position:sticky;top:0;height:100vh;height:100svh;display:grid;grid-template-columns:1fr minmax(0,440px) 1fr;gap:clamp(20px,4vw,70px);align-items:center;padding:96px max(24px,calc((100vw - 1280px)/2)) 120px;transition:background-color .6s;overflow:hidden}
.gilt ol{list-style:none;margin:0;padding:0;counter-reset:g}
.gilt li{font:560 clamp(1.1rem,2vw,1.7rem)/1.2 var(--disp);padding:10px 0;color:rgba(74,50,38,.38);cursor:pointer;transition:color .4s,transform .4s;display:flex;align-items:center;gap:12px}
.gilt li::before{content:"";width:0;height:2px;background:var(--esp);transition:width .4s}
.gilt li.on{color:var(--esp);transform:translateX(4px)}
.gilt li.on::before{width:28px}
.frame{position:relative;aspect-ratio:4/5;max-height:min(64vh,600px);width:100%;margin:0 auto;padding:clamp(14px,1.8vw,22px);border-radius:6px;background:linear-gradient(135deg,#7A5A26,#E9CF86 18%,#A67C2E 36%,#F4E1A0 52%,#9A7128 70%,#E2C27A 86%,#6F4F1F);box-shadow:0 40px 70px -30px rgba(58,37,27,.6),inset 0 0 0 2px rgba(255,240,200,.4)}
.frame::after{content:"";position:absolute;inset:clamp(8px,1vw,12px);border:1.5px solid rgba(90,64,24,.55);border-radius:3px;pointer-events:none}
.frame .imgs{position:relative;width:100%;height:100%;overflow:hidden;border-radius:2px;box-shadow:inset 0 0 18px rgba(58,37,27,.5)}
.frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.08);transition:opacity .8s,transform 1.4s}
.frame img.on{opacity:1;transform:none}
.gilt .copy{position:relative;height:260px}
.gilt .copy>div{position:absolute;inset:0;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .6s;pointer-events:none;display:flex;flex-direction:column;justify-content:center}
.gilt .copy>div.on{opacity:1;transform:none;pointer-events:auto}
.gilt .copy .price{font:560 1.1rem var(--disp);margin-bottom:.8em}
.gilt .bar{position:absolute;left:0;bottom:0;height:3px;background:var(--esp);width:0}
@media(max-width:900px){
 .gilt .pin{grid-template-columns:1fr;grid-template-rows:auto auto auto;gap:14px;padding:86px 20px 122px;align-content:center}
 .gilt ol{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;order:1;padding-bottom:4px}
 .gilt ol::-webkit-scrollbar{display:none}
 .gilt li{flex:0 0 auto;font-size:.9rem;padding:9px 14px;border-radius:999px;background:rgba(255,246,242,.35);transform:none!important}
 .gilt li::before{display:none}.gilt li.on{background:var(--esp);color:var(--pink)}
 .frame{order:0;max-height:38vh;width:auto;aspect-ratio:4/5}
 .gilt .copy{order:2;height:190px;text-align:center}.gilt .copy p{margin:0 auto .6em;font-size:.95rem}
 .gilt .copy .btn{align-self:center;min-height:46px}
}
@media(max-width:900px) and (max-height:700px){.frame{max-height:30vh}.gilt .copy p{display:none}.gilt .copy{height:120px}}

/* STEPS STACK */
.steps{background:var(--silk)}
.steps .intro{text-align:center;margin-bottom:6vh}
.steps .intro p{margin:0 auto}
.stack{position:relative}
.card{position:sticky;top:calc(96px + var(--i)*22px);margin:0 auto 6vh;width:min(1100px,calc(100% - 32px));min-height:min(560px,72vh);border-radius:36px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:30px;padding:clamp(28px,5vw,64px);box-shadow:0 -20px 50px -30px rgba(74,50,38,.45);overflow:visible}
.card:nth-child(1){background:#FFFFFF}.card:nth-child(2){background:var(--pink)}.card:nth-child(3){background:var(--silk2)}.card:nth-child(4){background:var(--taupe)}
.card .n{font:560 .95rem var(--disp);display:inline-flex;width:44px;height:44px;border-radius:50%;align-items:center;justify-content:center;background:var(--esp);color:var(--pink);margin-bottom:18px}
.phone{position:relative;justify-self:center;width:min(270px,70vw);aspect-ratio:9/18.5;border-radius:42px;background:#2E1F17;padding:10px;box-shadow:0 40px 60px -30px rgba(58,37,27,.7)}
.phone .scr{position:relative;width:100%;height:100%;border-radius:33px;background:#FBF6F1;overflow:hidden;padding:44px 14px 14px;font-size:.78rem}
.phone .scr::before{content:"";position:absolute;top:10px;left:50%;width:84px;height:24px;border-radius:14px;background:#2E1F17;transform:translateX(-50%)}
.phone .ttl{font:560 .95rem var(--disp);margin:6px 0 10px}
.phone .o{border:1.3px solid #E2CFC2;border-radius:12px;padding:10px 11px;margin-bottom:7px;background:#fff}
.phone .o.on{background:var(--pink);border-color:var(--rose)}
.phone .bubble{background:#fff;border-radius:14px 14px 14px 4px;padding:10px 11px;margin:0 20px 8px 0;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.phone .bubble.me{background:var(--esp);color:var(--pink);border-radius:14px 14px 4px 14px;margin:0 0 8px 20px}
.phone .who{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.phone .who i{width:30px;height:30px;border-radius:50%;background:linear-gradient(135deg,var(--latte),var(--taupe))}
.phone .trk{display:grid;gap:10px;margin-top:8px}
.phone .trk div{display:flex;gap:10px;align-items:flex-start}
.phone .trk b{width:14px;height:14px;border-radius:50%;background:var(--rose);flex:0 0 auto;margin-top:2px}
.phone .trk div.off b{background:#E2CFC2}
.phone .bar2{height:6px;border-radius:6px;background:#EBDDD0;overflow:hidden;margin:6px 0 12px}.phone .bar2 i{display:block;height:100%;width:62%;background:var(--rose)}
.phone .popout{position:absolute;right:-34%;bottom:-6%;width:62%;filter:drop-shadow(0 24px 18px rgba(58,37,27,.35));animation:bob 5s ease-in-out infinite}
@media(max-width:800px){.card{grid-template-columns:1fr;min-height:0;top:calc(84px + var(--i)*14px);gap:18px;padding:28px 22px 40px;border-radius:28px}.phone{width:min(210px,58vw)}.phone .popout{right:-28%;width:56%}}

/* BMI */
.bmi{background:var(--latte);color:#FFF6F2}
.bmi .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}
.bmi h2{color:#FFF6F2}.bmi p{color:#F3E4DC}
.calc{background:#FBF6F1;color:var(--ink);border-radius:var(--r);padding:clamp(22px,4vw,40px);box-shadow:0 40px 60px -35px rgba(58,37,27,.6)}
.calc .flds{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.calc label{font-size:.85rem;color:var(--muted);display:block}
.calc input{width:100%;font:500 16px var(--body);padding:13px 14px;border-radius:14px;border:1.5px solid var(--line);background:#fff;color:var(--ink);margin-top:4px}
.calc .out{margin-top:18px;padding:18px;border-radius:18px;background:var(--silk2);min-height:120px}
.calc .num{font:600 2.4rem var(--disp)}
.scale{position:relative;height:10px;border-radius:10px;background:linear-gradient(90deg,#D9C9E8 0 18%,#F7D3DA 18% 50%,#E9B9A4 50% 70%,#C9788C 70%);margin:12px 0 6px}
.scale i{position:absolute;top:-5px;width:4px;height:20px;border-radius:3px;background:var(--esp);left:0;transition:left .5s}
.scale+div{display:flex;justify-content:space-between;font-size:.72rem;color:var(--muted)}
@media(max-width:800px){.bmi .grid{grid-template-columns:1fr}}

/* EVIDENCE */
.ev{background:var(--silk2)}
.ev .stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.ev .st{background:#FBF6F1;border-radius:var(--r);padding:30px}
.ev .st b{display:block;font:600 clamp(2.4rem,5vw,3.8rem)/1 var(--disp);color:var(--rose);margin-bottom:12px}
@media(max-width:800px){.ev .stats{grid-template-columns:1fr}}

/* FILM WITH SOUND */
.reel{background:var(--esp);color:#FFF6F2}
.reel h2{color:#FFF6F2}
.reel .v{position:relative;border-radius:36px;overflow:hidden;margin-top:40px;aspect-ratio:16/9;background:#3E281D}
.reel video{width:100%;height:100%;object-fit:cover}
.snd{position:absolute;right:18px;bottom:18px;min-height:48px;padding:0 20px;border-radius:999px;border:0;background:var(--pink);color:var(--esp);font:600 .95rem var(--body);cursor:pointer}

/* MARQUEE */
.mq{background:var(--pink);color:var(--esp);overflow:hidden;white-space:nowrap}
.mq .trk{display:inline-flex;gap:56px;padding:22px 0;font:560 clamp(1rem,2vw,1.4rem) var(--disp);animation:mq 34s linear infinite}

/* CLOSER RING */
.closer{position:relative;background:var(--taupe);overflow:hidden;padding:clamp(80px,10vw,130px) 0 0}
.closer .in{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:20px}
.closer .txt{padding-bottom:clamp(60px,10vw,120px)}
.closer .stage{position:relative;height:clamp(420px,52vw,640px)}
.ring{position:absolute;left:50%;top:48%;width:115%;aspect-ratio:1;transform:translate(-50%,-50%);animation:spin 40s linear infinite}
.ring2{width:88%;animation-duration:60s;animation-direction:reverse}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
.closer .person{position:absolute;left:50%;bottom:0;height:100%;width:auto;max-width:none;transform:translateX(-50%);filter:drop-shadow(0 30px 30px rgba(58,37,27,.35))}
@media(max-width:800px){.closer .in{grid-template-columns:1fr}.closer .txt{padding-bottom:10px;text-align:center}.closer .txt p{margin:0 auto 1em}.closer .stage{height:110vw}}

/* PAGE HERO (inner pages) */
.phero{position:relative;padding:150px 0 80px;background:var(--silk2);overflow:hidden}
.phero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.phero .img{position:relative;border-radius:36px;overflow:hidden;aspect-ratio:4/5;max-height:620px}
.phero .img img{width:100%;height:100%;object-fit:cover}
.phero .float{position:absolute;right:-4%;bottom:-6%;width:44%;filter:drop-shadow(0 30px 24px rgba(58,37,27,.4));animation:bob 5s ease-in-out infinite}
@media(max-width:860px){.phero{padding:118px 0 56px}.phero .grid{grid-template-columns:1fr}.phero .float{right:2%;width:36%}}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 22px}
.chips span{padding:7px 14px;border-radius:999px;background:#FBF6F1;font-size:.88rem}

/* SKU CARDS */
.skus{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.sku{position:relative;background:#FBF6F1;border-radius:var(--r);padding:26px;display:flex;flex-direction:column}
.sku .pic{height:230px;display:flex;align-items:flex-end;justify-content:center;background:radial-gradient(circle at 50% 70%,var(--pink),transparent 62%);border-radius:20px;margin-bottom:16px}
.sku .pic img{height:210px;width:auto;filter:drop-shadow(0 20px 16px rgba(58,37,27,.28));transition:transform .5s}
.sku:hover .pic img{transform:translateY(-8px) rotate(-2deg)}
.sku .tag{position:absolute;top:18px;left:18px;font-size:.78rem;font-weight:600;background:var(--esp);color:var(--pink);padding:5px 11px;border-radius:999px}
.sku dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:.9rem;margin:10px 0 16px}
.sku dt{color:var(--muted)}.sku dd{margin:0}
.sku .price{font:560 1.35rem var(--disp);margin-bottom:12px}
.sku .btn{margin-top:auto}
.note{background:#FBF6F1;border-left:4px solid var(--rose);border-radius:16px;padding:18px 22px;font-size:.92rem;color:var(--muted)}

/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:18px 0}
.faq summary{font:560 1.05rem var(--disp);cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
.faq summary::after{content:"+";font-size:1.4rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{margin:12px 0 0;color:var(--muted)}

/* LEGAL / PROSE */
.prose{max-width:760px}
.prose h2{font-size:1.4rem;margin-top:1.6em}
.prose li{margin-bottom:.4em}

/* FOOTER */
.ftr{background:linear-gradient(160deg,var(--esp),#6B4838);color:#F3E4DC;padding:80px 0 40px}
.ftr .top{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:40px}
.ftr img{height:30px;width:auto;margin-bottom:18px}
.ftr h4{font:560 .95rem var(--disp);color:var(--pink);margin-bottom:14px}
.ftr ul{list-style:none;margin:0;padding:0}
.ftr li{margin-bottom:9px}.ftr a{text-decoration:none;opacity:.9}.ftr a:hover{opacity:1;text-decoration:underline}
.ftr .comp{margin-top:50px;padding-top:30px;border-top:1px solid rgba(247,211,218,.2);display:grid;grid-template-columns:auto 1fr;gap:24px;font-size:.82rem;line-height:1.6}
.badges{display:flex;flex-direction:column;gap:8px}
.badge{border:1px solid rgba(247,211,218,.35);border-radius:12px;padding:8px 12px;font-size:.78rem;white-space:nowrap}
@media(max-width:860px){.ftr .top{grid-template-columns:1fr 1fr}.ftr .top>div:first-child{grid-column:1/-1}.ftr .comp{grid-template-columns:1fr}}
@media(max-width:520px){.ftr .top{grid-template-columns:1fr}}

/* STICKY CTA */
.sticky{position:fixed;left:50%;bottom:16px;z-index:700;transform:translate(-50%,160%);transition:transform .5s cubic-bezier(.2,.8,.2,1);display:flex;align-items:center;gap:14px;padding:8px 8px 8px 22px;border-radius:999px;background:rgba(251,246,241,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 40px -18px rgba(58,37,27,.5);width:max-content;max-width:calc(100% - 24px)}
.sticky.on{transform:translate(-50%,0)}
.sticky span{font-weight:600;font-size:.95rem}
@media(max-width:520px){.sticky span{display:none}.sticky{padding:8px}}

/* POPUP */
.pop{position:fixed;inset:0;z-index:8000;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(74,50,38,.4);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.pop[hidden]{display:none}
.pop .box{position:relative;width:min(760px,100%);display:grid;grid-template-columns:.9fr 1.1fr;border-radius:32px;background:var(--pink);overflow:visible;animation:tgIn .5s cubic-bezier(.2,.8,.2,1)}
.pop .art{position:relative;background:var(--latte);border-radius:32px 0 0 32px;min-height:380px}
.pop .art img{position:absolute;left:50%;bottom:8%;height:112%;width:auto;max-width:none;transform:translateX(-50%) rotate(-8deg);filter:drop-shadow(0 30px 26px rgba(58,37,27,.45));animation:bob 5s ease-in-out infinite}
.pop .form{padding:44px 36px 36px}
.pop h3{font-size:clamp(1.4rem,3vw,2rem)}
.pop input{width:100%;font:500 16px var(--body);padding:15px 16px;border-radius:16px;border:0;margin:10px 0}
.pop .x{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.7);font-size:20px;color:var(--esp);z-index:2;cursor:pointer}
@media(max-width:640px){.pop .box{grid-template-columns:1fr}.pop .art{min-height:170px;border-radius:32px 32px 0 0}.pop .art img{height:150%;bottom:4%}.pop .form{padding:26px 22px 24px}}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s,transform 1s cubic-bezier(.2,.8,.2,1)}
.reveal.on{opacity:1;transform:none}
:focus-visible{outline:3px solid var(--rose);outline-offset:3px}
.mob-sp{display:none}
@media(max-width:900px){.mob-sp{display:block;width:46px}}
/* PINK LOGO ON NUDE — everywhere the wordmark appears */
.hdr.solid,.hdr:not(.onimg){background:rgba(163,134,112,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:none;color:#FFF6F2}
.hdr .logo .dk{display:none!important}.hdr .logo .lt{display:block!important}
.hdr:not(.onimg) .logo .dk{display:block!important}
.hdr .btn{background:var(--pink);color:var(--esp)}
.drawer{background:var(--latte)}.drawer a{color:#FFF6F2;border-color:rgba(247,211,218,.3)}.drawer .x{background:var(--pink);color:var(--esp)}
.ann{background:var(--cocoa)}
.mask{background:var(--latte)}
.ftr{background:linear-gradient(160deg,#A38670,#8E7160)}
.ftr .comp{border-color:rgba(247,211,218,.35)}
.tg-top{background:#A38670;padding:14px 16px;margin-bottom:14px}
.tg-back,.tg-x{background:rgba(247,211,218,.9);color:#57392A}
.mask .sub{color:#FFF6F2}
.hdr .ann{position:relative}
.hdr:not(.solid).onimg .ann{background:rgba(122,90,70,.55)}
.plinth .row{padding:0}
.plinth .info>div,.gilt .copy>div{transition:opacity .22s,transform .3s}
.plinth .info>div.on,.gilt .copy>div.on{transition:opacity .5s .18s,transform .6s .18s}
.phero{padding-top:170px}
@media(max-width:860px){.phero{padding-top:140px}}
@media(max-width:700px){.plinth .info p{display:none}.plinth .info{height:118px}.plinth .info .pr{display:block!important}.plinth .rx{font-size:.7rem}}
.plinth .info .pr{display:none;font:560 1rem var(--disp);margin:0 0 .6em}
@media(max-width:900px){.frame{height:min(36vh,420px);max-height:none;width:auto;justify-self:center;aspect-ratio:4/5}}
@media(max-width:900px) and (max-height:700px){.frame{height:28vh}}
.film .pin,.mask .pin{padding-top:0}
.plinth .pin,.gilt .pin{padding-top:118px}
@media(max-width:700px){.plinth .pin,.gilt .pin{padding-top:108px}}
/* 360 PEN */
.round{background:var(--silk2)}
.round .grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,70px);align-items:center}
.round .stage{position:relative;height:min(78vh,640px);border-radius:36px;background:radial-gradient(circle at 50% 58%,var(--pink) 0,rgba(247,211,218,.35) 34%,transparent 62%),var(--latte);overflow:hidden;cursor:grab;touch-action:pan-y}
.round .stage:active{cursor:grabbing}
.spin360{position:absolute;left:50%;top:50%;height:82%;transform:translate(-50%,-50%);background-repeat:no-repeat;filter:drop-shadow(0 34px 26px rgba(58,37,27,.35))}
.round .hint{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:#FFF6F2;font-size:.85rem;background:rgba(122,90,70,.45);padding:7px 14px;border-radius:999px;white-space:nowrap}
@media(max-width:800px){.round .grid{grid-template-columns:1fr}.round .stage{height:62vh}}
