:root{
  --sage:#D4DDB8;--butter:#FDF1B5;--wine:#800020;--maroon:#5C0E1E;--pink:#FFA0C3;--blush:#FFD5DE;--hot:#FF5DB1;--cream:#FFF8EE;
  --ink:#3a0912;--muted:#7a4a52;
  --serif:"Fraunces",Georgia,serif;--sans:"Manrope",system-ui,sans-serif;
  --r:28px;--ease:cubic-bezier(.2,.8,.2,1);
  --pad:clamp(20px,5vw,64px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.6;font-size:16px;overflow-x:hidden;-webkit-font-smoothing:antialiased}
body.is-loading{overflow:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:1180px;margin:0 auto;padding:0 var(--pad)}
::selection{background:var(--hot);color:#fff}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* loader */
.loader{position:fixed;inset:0;z-index:100;background:var(--blush);display:grid;place-content:center;justify-items:center;gap:18px;transition:clip-path 1s var(--ease);clip-path:inset(0 0 0 0)}
.loader.done{clip-path:inset(0 0 100% 0)}
.loader__face{width:110px;animation:bob 1.2s ease-in-out infinite}
.loader__txt{font-family:var(--serif);font-style:italic;color:var(--wine);font-size:18px}
.dots i{font-style:normal;animation:blink 1.2s infinite}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}
.loader__bar{width:160px;height:3px;background:#fff8;border-radius:3px;overflow:hidden}
.loader__bar span{display:block;height:100%;width:0;background:var(--wine);transition:width .3s}
@keyframes bob{50%{transform:translateY(-8px) rotate(-4deg)}}
@keyframes blink{50%{opacity:.2}}

/* cursor */
.cursor{position:fixed;top:0;left:0;width:14px;height:14px;border-radius:50%;background:var(--hot);pointer-events:none;z-index:95;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),opacity .3s;mix-blend-mode:multiply;opacity:0}
.cursor.big{width:56px;height:56px;opacity:.35}
@media (hover:none){.cursor{display:none}}

/* nav */
.nav{position:fixed;top:12px;left:50%;transform:translateX(-50%);z-index:50;width:calc(100% - 24px);max-width:1120px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 8px 8px 12px;border-radius:999px;background:rgba(255,248,238,.72);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);border:1px solid rgba(92,14,30,.08);transition:transform .5s var(--ease)}
.nav.hide{transform:translate(-50%,-140%)}
.nav__brand{display:flex;align-items:center;gap:8px;font-family:var(--serif);font-weight:700;color:var(--wine);font-size:17px}
.nav__brand img{width:36px;height:36px;object-fit:contain}
.nav__brand em{font-weight:400}
.nav__links{display:none;gap:28px;font-size:14px;font-weight:600}
.nav__links a{position:relative;color:var(--muted)}
.nav__links a::after{content:"";position:absolute;left:0;bottom:-4px;height:1.5px;width:100%;background:var(--wine);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav__links a:hover{color:var(--wine)}.nav__links a:hover::after{transform:scaleX(1);transform-origin:left}
@media(min-width:860px){.nav__links{display:flex}}

/* buttons */
.btn{--bg:var(--wine);--fg:var(--cream);position:relative;display:inline-flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;background:var(--bg);color:var(--fg);font-weight:700;font-size:15px;overflow:hidden;isolation:isolate;box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 10px 24px -12px rgba(92,14,30,.6);transition:box-shadow .4s}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--hot);border-radius:inherit;transform:translateY(101%);transition:transform .5s var(--ease)}
.btn:hover::before{transform:translateY(0)}
.btn span,.btn svg{position:relative;pointer-events:none}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .4s var(--ease)}
.btn:hover svg{transform:translateX(4px)}
.btn--lg{padding:18px 28px;font-size:16px}
.btn--sm{padding:10px 18px;font-size:14px}
.btn--butter{--bg:var(--butter);--fg:var(--maroon)}
.btn--butter::before{background:#fff}
.btn--pink{--bg:var(--pink);--fg:var(--maroon)}
.btn--pink::before{background:var(--butter)}
.link-u{font-weight:600;color:var(--wine);border-bottom:1.5px solid currentColor;padding-bottom:2px}

.eyebrow{font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:700;color:var(--hot);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.eyebrow::before{content:"";width:22px;height:1.5px;background:currentColor}
.eyebrow--light{color:var(--pink)}
.h2{font-family:var(--serif);font-weight:600;font-size:clamp(34px,6.4vw,68px);line-height:1.02;letter-spacing:-.025em;color:var(--maroon);margin-bottom:22px;font-variation-settings:"opsz" 144}
.h2 em,.bf__title em{font-style:italic;font-weight:400;color:var(--hot)}
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
.split .w>span{display:inline-block}

/* hero */
.hero{position:relative;min-height:100svh;display:grid;place-items:center;padding:110px var(--pad) 70px;overflow:hidden;background:var(--blush)}
.hero__bg{position:absolute;inset:-10% -5%;background:url(assets/wave-pink.webp) center/cover;opacity:.35;mask-image:radial-gradient(ellipse at center,transparent 25%,#000 75%);-webkit-mask-image:radial-gradient(ellipse at center,transparent 25%,#000 75%)}
.hero__inner{position:relative;text-align:center;max-width:760px;display:flex;flex-direction:column;align-items:center}
.hero .eyebrow{justify-content:center;color:var(--wine)}
.hero .eyebrow::after{content:"";width:22px;height:1.5px;background:currentColor}
.hero__logo{width:min(88vw,520px);height:auto;margin:-6px 0 6px;filter:drop-shadow(0 24px 30px rgba(128,0,32,.18));will-change:transform}
.hero__lead{font-size:clamp(16px,2.2vw,19px);color:var(--muted);max-width:520px;margin-bottom:28px}
.hero__lead strong{color:var(--wine)}
.hero__cta{display:flex;flex-direction:column;align-items:center;gap:18px}
@media(min-width:560px){.hero__cta{flex-direction:row;gap:28px}}
.spark{position:absolute;color:var(--hot);font-size:22px;animation:twinkle 3s ease-in-out infinite}
.s1{top:18%;left:10%}.s2{top:26%;right:12%;font-size:30px;animation-delay:.8s;color:var(--wine)}.s3{bottom:22%;left:14%;font-size:28px;animation-delay:1.4s}.s4{bottom:16%;right:16%;animation-delay:2s}
@keyframes twinkle{50%{transform:scale(.6) rotate(25deg);opacity:.4}}

.countdown{margin-top:40px;padding:16px 18px 14px;background:rgba(255,248,238,.7);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(128,0,32,.1);border-radius:22px}
.countdown__label{font-size:13px;color:var(--muted);margin-bottom:8px}
.countdown__label strong{color:var(--wine)}
.countdown__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.countdown__grid div{min-width:64px;display:flex;flex-direction:column;align-items:center}
.countdown__grid div+div{border-left:1px solid rgba(128,0,32,.12)}
.countdown__grid b{font-family:var(--serif);font-size:clamp(28px,6vw,40px);font-weight:600;color:var(--maroon);line-height:1.1;font-variant-numeric:tabular-nums}
.countdown__grid span{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.scroll-hint{position:absolute;bottom:22px;left:50%;width:22px;height:36px;margin-left:-11px;border:1.5px solid var(--wine);border-radius:12px;opacity:.5}
.scroll-hint span{position:absolute;top:7px;left:50%;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:var(--wine);animation:sh 1.8s infinite}
@keyframes sh{70%{transform:translateY(10px);opacity:0}100%{opacity:0}}
@media(max-height:760px) and (max-width:600px){.scroll-hint{display:none}}

/* marquee */
.marquee{background:var(--wine);color:var(--butter);overflow:hidden;padding:16px 0;border-block:2px solid var(--maroon)}
.marquee__track{display:flex;width:max-content;gap:28px;align-items:center;animation:mq 26s linear infinite}
.marquee__track--rev{animation-direction:reverse}
.marquee span{font-family:var(--serif);font-style:italic;font-size:clamp(22px,3.4vw,34px);white-space:nowrap}
.marquee i{font-style:normal;color:var(--pink)}
@keyframes mq{to{transform:translateX(-50%)}}

/* about */
section{position:relative}
.about,.how,.finds,.social,.faq{padding:clamp(80px,12vw,150px) 0}
.about__grid{display:grid;gap:48px;align-items:center}
@media(min-width:900px){.about__grid{grid-template-columns:1fr 1.1fr;gap:80px}}
.about__face{position:relative;max-width:420px;margin:0 auto;width:100%}
.about__blob{position:absolute;inset:6%;background:var(--sage);border-radius:47% 53% 41% 59%/55% 44% 56% 45%;animation:blob 12s ease-in-out infinite}
@keyframes blob{50%{border-radius:58% 42% 55% 45%/42% 58% 42% 58%;transform:rotate(8deg)}}
.about__face img{position:relative;width:100%;filter:drop-shadow(0 20px 24px rgba(92,14,30,.18))}
.tag{position:absolute;background:var(--butter);color:var(--maroon);font-family:var(--serif);font-style:italic;padding:8px 16px;border-radius:999px;border:1.5px solid var(--maroon);box-shadow:3px 3px 0 var(--maroon);font-size:15px}
.tag--a{bottom:8%;right:0;transform:rotate(-6deg)}
.about__txt p:not(.eyebrow){color:var(--muted);font-size:17px;margin-bottom:14px;max-width:520px}
.pills{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.pills li{padding:8px 16px;border-radius:999px;border:1.5px solid rgba(128,0,32,.2);font-weight:600;font-size:14px;color:var(--wine);transition:background .3s,color .3s}
.pills li:hover{background:var(--wine);color:var(--cream)}

/* how */
.how{background:var(--sage)}
.how .eyebrow{color:var(--wine)}
.steps{list-style:none;display:grid;gap:16px;margin-top:40px}
@media(min-width:820px){.steps{grid-template-columns:repeat(3,1fr);gap:20px}}
.step{background:var(--cream);border-radius:var(--r);padding:30px 26px 32px;transition:transform .5s var(--ease),box-shadow .5s;border:1px solid rgba(92,14,30,.06)}
.step:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 30px 40px -28px rgba(92,14,30,.45)}
.step__n{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--blush);font-family:var(--serif);font-style:italic;font-size:20px;color:var(--wine);margin-bottom:26px}
.step h3{font-family:var(--serif);font-size:26px;font-weight:600;color:var(--maroon);margin-bottom:8px;letter-spacing:-.01em}
.step p{color:var(--muted)}

/* finds */
.finds__head{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
@media(min-width:900px){.finds__head{flex-direction:row;justify-content:space-between;align-items:flex-end}}
.filters{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin:0 calc(var(--pad)*-1);padding-inline:var(--pad)}
@media(min-width:900px){.filters{margin:0;padding-inline:0}}
.filters button{flex:none;font:600 14px var(--sans);padding:9px 18px;border-radius:999px;border:1.5px solid rgba(128,0,32,.18);background:transparent;color:var(--wine);cursor:pointer;transition:all .3s}
.filters button[aria-selected=true]{background:var(--wine);color:var(--cream);border-color:var(--wine)}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
@media(min-width:760px){.grid{grid-template-columns:repeat(3,1fr);gap:20px}}
.card{position:relative;display:flex;flex-direction:column;background:#fff;border-radius:22px;overflow:hidden;border:1px solid rgba(92,14,30,.07);transition:transform .5s var(--ease),box-shadow .5s}
.card:hover{transform:translateY(-6px);box-shadow:0 30px 40px -26px rgba(92,14,30,.4)}
.card__media{aspect-ratio:1;display:grid;place-items:center;font-size:clamp(48px,10vw,76px);position:relative;overflow:hidden}
.card:nth-child(4n+1) .card__media{background:var(--blush)}.card:nth-child(4n+2) .card__media{background:var(--butter)}.card:nth-child(4n+3) .card__media{background:var(--sage)}.card:nth-child(4n+4) .card__media{background:#ffe3ec}
.card__media span,.card__media img{transition:transform .7s var(--ease)}
.card__media img{width:100%;height:100%;object-fit:cover}
.card:hover .card__media span{transform:scale(1.15) rotate(-8deg)}.card:hover .card__media img{transform:scale(1.06)}
.badge{position:absolute;top:10px;left:10px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:var(--maroon);color:var(--butter)}
.card__store{position:absolute;top:10px;right:10px;font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.85);color:var(--wine)}
.card__body{padding:14px 14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.card__cat{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--hot);font-weight:700}
.card__name{font-family:var(--serif);font-weight:600;font-size:clamp(16px,2.4vw,20px);line-height:1.2;color:var(--maroon)}
.card__price{display:flex;gap:8px;align-items:baseline;margin-top:auto;padding-top:6px}
.card__price b{font-size:18px;color:var(--wine)}.card__price s{font-size:13px;color:var(--muted)}
.card__soon{font-size:13px;color:var(--muted);font-style:italic}
.card__go{margin-top:8px;font-weight:700;font-size:14px;color:var(--wine);display:flex;align-items:center;gap:6px}
.card__go::after{content:"→";transition:transform .4s var(--ease)}.card:hover .card__go::after{transform:translateX(5px)}
.finds__note{font-size:13px;color:var(--muted);margin-top:24px;text-align:center}

/* bf */
.bf{background:var(--maroon);color:var(--cream);overflow:hidden;padding-top:clamp(90px,13vw,160px)}
.bf__bg{position:absolute;inset:-15% 0;background:url(assets/wave-wine.webp) center/cover;opacity:.22}
.bf__inner{position:relative;text-align:center;display:flex;flex-direction:column;align-items:center;padding-bottom:clamp(80px,11vw,130px)}
.bf .eyebrow{justify-content:center}
.bf__title{font-family:var(--serif);font-weight:700;font-size:clamp(64px,16vw,190px);line-height:.9;letter-spacing:-.04em;color:var(--butter);margin-bottom:24px}
.bf__title em{color:var(--pink)}
.bf__lead{max-width:540px;color:#f5dbe1;font-size:17px;margin-bottom:32px}
.marquee--bf{background:var(--hot);color:var(--maroon);border-color:var(--maroon);transform:rotate(-2deg);margin:0 -20px 40px}
.marquee--bf i{color:var(--butter)}

/* social */
.social{text-align:left}
.social__cards{display:grid;gap:14px;margin-top:36px}
@media(min-width:760px){.social__cards{grid-template-columns:1fr 1fr;gap:20px}}
.scard{position:relative;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto auto;column-gap:16px;align-items:center;padding:26px;border-radius:var(--r);background:var(--blush);overflow:hidden;isolation:isolate}
.scard--alt{background:var(--butter)}
.scard::before{content:"";position:absolute;inset:0;background:var(--wine);z-index:-1;transform:scale(0);border-radius:50%;transition:transform .7s var(--ease)}
.scard:hover::before{transform:scale(2.2)}
.scard:hover{color:var(--cream)}.scard:hover .scard__k{color:var(--pink)}
.scard svg{grid-row:span 2;width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.scard svg .fill{fill:currentColor;stroke:none}
.scard__k{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;color:var(--wine);transition:color .4s}
.scard__h{font-family:var(--serif);font-size:clamp(20px,3vw,28px);font-weight:600;word-break:break-all;line-height:1.2}
.scard__go{grid-row:1/span 2;grid-column:3;font-size:26px;transition:transform .5s var(--ease)}
.scard:hover .scard__go{transform:rotate(45deg)}

/* faq */
.faq{background:var(--blush)}
.faq__grid{display:grid;gap:30px}
@media(min-width:900px){.faq__grid{grid-template-columns:1fr 1.3fr;gap:80px}}
.faq__list details{border-bottom:1.5px solid rgba(128,0,32,.15)}
.faq__list summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 0;font-family:var(--serif);font-size:clamp(19px,2.4vw,23px);font-weight:600;color:var(--maroon)}
.faq__list summary::-webkit-details-marker{display:none}
.faq__list summary i{flex:none;position:relative;width:32px;height:32px;border-radius:50%;background:var(--cream);transition:background .3s,transform .5s var(--ease)}
.faq__list summary i::before,.faq__list summary i::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.8px;background:var(--wine);transform:translate(-50%,-50%)}
.faq__list summary i::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .4s var(--ease)}
.faq__list details[open] summary i{background:var(--hot);transform:rotate(180deg)}
.faq__list details[open] summary i::after{transform:translate(-50%,-50%) rotate(0)}
.faq__list details p{color:var(--muted);padding:0 40px 22px 0;max-width:560px}

/* footer */
.foot{background:var(--wine);color:#f6dbe2;padding:90px 0 40px;text-align:center}
.foot .wrap{display:flex;flex-direction:column;align-items:center;gap:28px}
.foot__logo{width:min(70vw,300px)}
.foot__social{display:flex;gap:24px;font-weight:600}
.foot__social a{border-bottom:1.5px solid transparent;transition:border-color .3s}.foot__social a:hover{border-color:currentColor}
.foot__disc{max-width:640px;font-size:13px;opacity:.75;line-height:1.7}
.foot__c{font-size:12px;opacity:.55}

/* reveal fallbacks */
.js .reveal{opacity:0;transform:translateY(28px)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.js .reveal{opacity:1;transform:none}}

/* polish */
.hero__logo{width:min(86vw,440px)}
@media(min-width:900px){.hero{padding-top:96px}.countdown{margin-top:28px}}
.card__store{top:auto;bottom:10px;right:10px}
.foot__logo{width:min(56vw,240px)}
.hero .eyebrow{font-size:11px;letter-spacing:.16em}

/* ===== v2 refinement ===== */
:root{--serif:"Instrument Serif",Georgia,serif;--sans:"Inter Tight",system-ui,sans-serif;
  --s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:48px;--s6:64px;--section:clamp(88px,11vw,144px);--maxw:1200px}
img{height:auto}
body{font-size:16px;line-height:1.6;letter-spacing:-.005em}
.wrap{max-width:var(--maxw)}
.cursor{display:none}
.about,.how,.finds,.social,.faq{padding:var(--section) 0}
.h2{font-weight:400;font-size:clamp(40px,6.2vw,76px);line-height:1;letter-spacing:-.02em;margin-bottom:var(--s3);max-width:16ch}
.h2 em,.bf__title em{font-weight:400}
.eyebrow{font-size:12px;letter-spacing:.14em;margin-bottom:var(--s2)}
.nav__brand{font-size:20px;font-weight:400}
.btn{font-weight:600;letter-spacing:-.01em}
.hero{padding:112px var(--pad) 80px}
.hero__logo-wrap{will-change:transform;margin:0 0 var(--s3)}
.hero__logo{width:min(84vw,440px);margin:0 auto;filter:drop-shadow(0 24px 30px rgba(128,0,32,.16))}
.hero__lead{font-size:clamp(17px,2vw,19px);max-width:34ch;margin-bottom:var(--s4)}
.countdown{margin-top:var(--s5)}
.countdown__label strong,.bf__lead strong{font-weight:700;color:var(--hot)}
.countdown__grid b{font-weight:400;font-size:clamp(34px,6vw,46px);line-height:1}
.countdown__grid span{margin-top:4px}
.marquee span{font-size:clamp(26px,3.6vw,40px)}
/* about */
.about__grid{gap:var(--s5)}
@media(min-width:900px){.about__grid{grid-template-columns:5fr 7fr;gap:96px}}
.about__face{max-width:380px;aspect-ratio:734/594}
.about__face img{width:100%;height:100%;object-fit:contain}
.about__blob{inset:2% 8%}
.tag{font-weight:400;font-size:17px}
.about__txt p:not(.eyebrow){max-width:48ch;margin-bottom:var(--s2)}
.pills{margin-top:var(--s3)}
/* steps */
.steps{margin-top:var(--s5);gap:var(--s2)}
@media(min-width:820px){.steps{gap:var(--s3)}}
.step{padding:var(--s4)}
.step__n{width:48px;height:48px;font-size:22px;margin-bottom:var(--s4)}
.step h3{font-weight:400;font-size:30px;line-height:1.1}
.step:hover{transform:translateY(-4px)}
/* finds */
.finds__head{margin-bottom:var(--s5);gap:var(--s3)}
.finds__head .h2{margin-bottom:0}
.card__name{font-weight:400;font-size:clamp(19px,2.4vw,24px);line-height:1.15}
.card__price b{font-size:20px;font-weight:700;color:var(--hot)}
.card__body{padding:var(--s2) var(--s2) 20px}
.card:hover .card__media span{transform:scale(1.08)}
/* bf */
.bf__title{font-weight:400;font-size:clamp(76px,17vw,210px);letter-spacing:-.03em;line-height:.88}
.bf__lead{max-width:44ch;margin-bottom:var(--s4)}
/* social */
.social__cards{margin-top:var(--s5)}
.scard{padding:var(--s4)}
.scard__h{font-weight:400;font-size:clamp(24px,3vw,32px)}
/* faq */
.faq__list summary{font-weight:400;font-size:clamp(21px,2.4vw,26px);padding:var(--s3) 0}
/* footer */
.foot{padding:var(--section) 0 var(--s5)}
.foot .wrap{gap:var(--s4)}
.foot__logo{width:min(64vw,280px);height:auto;aspect-ratio:753/664;object-fit:contain;margin:0 auto}
.foot__social{gap:var(--s4)}
.foot__disc{max-width:60ch;padding-top:var(--s4);border-top:1px solid rgba(255,213,222,.18)}
.step.reveal:nth-child(2){transition-delay:.08s}.step{transition:transform .6s cubic-bezier(.16,1,.3,1),box-shadow .6s}

/* ===== v3 ===== */
:root{--serif:"Gambetta",Georgia,serif;--sans:"Satoshi",system-ui,sans-serif;--expo:cubic-bezier(.16,1,.3,1)}
body{font-size:16.5px;letter-spacing:0}
.h2{font-family:var(--serif);font-weight:500;letter-spacing:-.035em;line-height:.98;max-width:none;text-wrap:balance;font-size:clamp(40px,6vw,80px)}
.h2 em,.bf__title em{font-weight:400;font-style:italic;letter-spacing:-.03em}
.step h3,.card__name,.scard__h,.faq__list summary,.tag,.nav__brand,.countdown__grid b,.marquee span{font-family:var(--serif)}
.step h3{font-weight:500;letter-spacing:-.02em}
.faq__list summary{font-weight:500;letter-spacing:-.015em}
.card__name{font-weight:500;letter-spacing:-.015em}
.scard__h{font-weight:500}
.countdown__grid b{font-weight:500;letter-spacing:-.03em}
.btn{font-weight:700;letter-spacing:0}
@media(min-width:900px){.how .h2,.social .h2{max-width:22ch}}
.about__txt .h2{max-width:14ch}
.faq .h2{max-width:11ch}

/* floaters */
.floaters,.bf__float{position:absolute;inset:0;pointer-events:none;z-index:0}
.fl{position:absolute;width:var(--w,84px);height:var(--w,84px);filter:drop-shadow(0 18px 18px rgba(92,14,30,.18));will-change:transform}
.fl>use{animation:drift var(--t,7s) ease-in-out infinite alternate}
@keyframes drift{from{transform:translateY(-6px) rotate(-4deg)}to{transform:translateY(8px) rotate(4deg)}}
.fl1{--w:76px;top:16%;left:6%}
.fl2{--w:64px;top:58%;left:3%;--t:9s}
.fl3{--w:56px;top:12%;right:7%;--t:8s;--pt:#FDF1B5;--pl:#D4DDB8;--pr:#9fb07a}
.fl4{--w:88px;bottom:12%;right:5%;--t:10s}
@media(max-width:700px){.fl1{--w:48px;top:13%;left:3%}.fl2{--w:42px;top:auto;bottom:24%;left:2%}.fl3{--w:40px;top:11%;right:4%}.fl4{--w:52px;bottom:8%;right:3%}}
.hero__inner{z-index:1}

/* crossing marquees */
.xband{position:relative;height:clamp(150px,20vw,230px);overflow:hidden;background:var(--cream);display:grid;place-items:center}
.mq{position:absolute;left:-5%;width:110%;padding:clamp(12px,1.6vw,18px) 0;overflow:hidden;border-block:2px solid var(--maroon)}
.mq--a{background:var(--wine);color:var(--butter);transform:rotate(-3deg);z-index:2;box-shadow:0 14px 30px -14px rgba(92,14,30,.5)}
.mq--b{background:var(--pink);color:var(--maroon);transform:rotate(2.5deg)}
.mq__track{display:flex;width:max-content;align-items:center;gap:clamp(18px,2.4vw,32px);will-change:transform}
.mq__track span{font-family:var(--serif);font-weight:500;font-size:clamp(30px,5vw,60px);letter-spacing:-.03em;line-height:1;white-space:nowrap}
.mq__track span.it{font-style:italic;font-weight:400}
.mq__track img{width:clamp(36px,4.6vw,56px);height:auto;flex:none}
.mq__track svg{width:clamp(34px,4.4vw,52px);height:clamp(34px,4.4vw,52px);flex:none}
.xband--bf{background:transparent;margin-top:var(--s5)}
.xband--bf .mq--a{background:var(--hot);color:var(--maroon)}
.xband--bf .mq--b{background:var(--butter);color:var(--wine)}

/* steps v3 */
.how .wrap{display:block}
.steps{position:relative;display:grid;gap:var(--s2);margin-top:var(--s5)}
@media(min-width:820px){.steps{grid-template-columns:repeat(3,1fr);gap:var(--s3)}}
.steps__line{list-style:none;position:absolute;z-index:0;background:rgba(92,14,30,.12);border-radius:2px;left:56px;top:0;bottom:0;width:2px}
.steps__line span{position:absolute;inset:0;background:var(--wine);transform-origin:top;transform:scaleY(0)}
@media(min-width:820px){.steps__line{left:0;right:0;top:56px;bottom:auto;width:auto;height:2px}.steps__line span{transform-origin:left;transform:scaleX(0)}}
.step{position:relative;z-index:1;overflow:hidden;min-height:260px;display:flex;flex-direction:column;background:var(--cream);transition:transform .7s var(--expo),box-shadow .7s var(--expo),background .5s}
.step::after{content:"";position:absolute;inset:auto -20% -60% auto;width:220px;height:220px;border-radius:50%;background:var(--blush);transform:scale(0);transition:transform .8s var(--expo);z-index:-1}
.step:hover::after,.step.is-on::after{transform:scale(1.6)}
.step__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:auto;padding-bottom:var(--s5)}
.step__n{width:auto;height:auto;background:none;border-radius:0;margin:0;font-family:var(--serif);font-style:normal;font-weight:500;font-size:clamp(56px,6vw,80px);letter-spacing:-.05em;line-height:.8;color:transparent;-webkit-text-stroke:1.5px var(--wine);transition:color .6s var(--expo)}
.step:hover .step__n,.step.is-on .step__n{color:var(--wine)}
.step__ic{width:48px;height:48px;fill:none;stroke:var(--wine);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .7s var(--expo)}
.step:hover .step__ic{transform:rotate(-10deg) scale(1.12)}
.step p{max-width:32ch}
.step:hover{transform:translateY(-6px);box-shadow:0 34px 50px -30px rgba(92,14,30,.5)}

/* card tilt */
.grid{perspective:1000px}
.card{transform-style:preserve-3d;transition:transform .6s var(--expo),box-shadow .6s var(--expo)}
.card:hover{transform:none}
.card__media span{transform:translateZ(30px)}

/* BF v3 */
.bf{padding-top:var(--section);isolation:isolate}
.bf__bg{inset:0;opacity:.18}
.bf__glow{position:absolute;left:50%;top:38%;width:min(90vw,900px);aspect-ratio:1;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,93,177,.45),transparent 60%);filter:blur(30px);z-index:-1;animation:pulse 5s ease-in-out infinite}
@keyframes pulse{50%{opacity:.6;transform:translate(-50%,-50%) scale(.9)}}
.bf__inner{z-index:1;padding-bottom:0}
.bf__title{display:flex;flex-direction:column;align-items:center;font-weight:500;font-size:clamp(84px,19vw,280px);line-height:.82;letter-spacing:-.06em;margin-bottom:var(--s4)}
.bf__l1,.bf__l2{display:block;will-change:transform}
.bf__l2 em{color:var(--pink);padding-right:.05em}
.bf__title{text-shadow:0 0 60px rgba(255,93,177,.35)}
.bf__cd{display:flex;align-items:flex-start;gap:clamp(8px,2vw,18px);margin-bottom:var(--s4)}
.bf__cd div{display:flex;flex-direction:column;align-items:center;min-width:clamp(58px,9vw,90px);padding:12px 8px;border:1px solid rgba(255,160,195,.35);border-radius:18px;background:rgba(255,255,255,.04);box-shadow:0 0 30px -6px rgba(255,93,177,.5),inset 0 0 20px rgba(255,93,177,.12)}
.bf__cd b{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5vw,56px);line-height:1;color:var(--butter);text-shadow:0 0 18px rgba(253,241,181,.6);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.bf__cd span{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--pink);margin-top:6px}
.bf__cd i{font-style:normal;color:var(--pink);font-size:28px;padding-top:14px;opacity:.6}
@media(max-width:480px){.bf__cd i{display:none}}
.bf .fl{filter:drop-shadow(0 24px 24px rgba(0,0,0,.35))}
.b1{--w:110px;top:8%;left:6%}.b2{--w:80px;top:14%;right:8%;--t:9s}.b3{--w:70px;top:52%;left:10%;--t:8s;--pt:#FFA0C3;--pl:#FF5DB1;--pr:#d94a95}.b4{--w:96px;top:48%;right:6%;--t:11s;--pt:#FDF1B5;--pl:#D4DDB8;--pr:#9fb07a}.b5{--w:60px;top:30%;left:42%;--t:7s;opacity:.5}
@media(max-width:700px){.b1{--w:60px;top:4%;left:3%}.b2{--w:52px;top:6%;right:4%}.b3{--w:46px;top:auto;bottom:32%;left:2%}.b4{--w:56px;top:auto;bottom:30%;right:2%}.b5{display:none}}
.dtag{position:absolute;padding:8px 14px 8px 22px;background:var(--butter);color:var(--maroon);font-weight:700;font-size:13px;border-radius:6px 999px 999px 6px;border:1.5px solid var(--maroon);box-shadow:3px 3px 0 var(--maroon);animation:swing 4s ease-in-out infinite;transform-origin:0 50%}
.dtag::before{content:"";position:absolute;left:8px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--maroon)}
.t1{top:28%;left:14%;rotate:-12deg}.t2{top:30%;right:13%;rotate:10deg;animation-delay:-1.5s;background:var(--pink)}.t3{top:66%;left:20%;rotate:6deg;animation-delay:-3s}
@keyframes swing{50%{transform:rotate(6deg)}}
@media(max-width:700px){.dtag{font-size:11px}.t1{top:20%;left:4%}.t2{top:21%;right:4%}.t3{display:none}}
.confetti{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:3}

/* buddy */
.buddy{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;align-items:flex-end;gap:10px;transform:translateY(140%);transition:transform .9s var(--expo)}
.buddy.in{transform:none}
.buddy__btn{border:0;background:var(--blush);width:68px;height:68px;border-radius:50%;cursor:pointer;display:grid;place-items:center;box-shadow:0 14px 30px -12px rgba(92,14,30,.55),0 0 0 3px var(--cream),0 0 0 4.5px var(--maroon);animation:bobb 3.2s ease-in-out infinite;padding:0}
.buddy__btn img{width:84%;height:auto;transition:transform .5s var(--expo)}
.buddy__btn:hover img{transform:rotate(-10deg) scale(1.08)}
.buddy.blink .buddy__btn img{transform:scaleY(.92)}
@keyframes bobb{50%{transform:translateY(-6px)}}
.buddy__bubble{position:relative;max-width:210px;padding:12px 16px;background:var(--cream);color:var(--maroon);border:1.5px solid var(--maroon);border-radius:18px 18px 4px 18px;box-shadow:3px 3px 0 var(--maroon);font-weight:700;font-size:14px;line-height:1.35;opacity:0;transform:translateY(8px) scale(.9);transform-origin:bottom right;transition:opacity .4s,transform .6s var(--expo);pointer-events:none;margin-bottom:34px}
.buddy.talk .buddy__bubble{opacity:1;transform:none}
@media(max-width:600px){.buddy__btn{width:58px;height:58px}.buddy{right:12px;bottom:12px}}
@media (prefers-reduced-motion:reduce){.buddy{transform:none}}

/* ===== v4 photos ===== */
.arch{position:relative;overflow:hidden;border-radius:999px 999px 28px 28px;aspect-ratio:3/4;background:var(--blush);box-shadow:0 40px 60px -40px rgba(92,14,30,.55),0 0 0 6px var(--cream),0 0 0 7.5px var(--maroon)}
.arch img{width:100%;height:110%;object-fit:cover;object-position:50% 20%}
/* hero */
.hero__inner{max-width:var(--maxw);width:100%;display:grid;grid-template-columns:1fr;justify-items:center;text-align:center}
.hero__photo{position:relative;width:min(64vw,280px);margin:0 0 var(--s4)}
.hero__logo-wrap{margin-bottom:var(--s2)}
.hero__logo{width:min(78vw,360px)}
.tag--hero{position:absolute;left:-10%;bottom:12%;transform:rotate(-6deg);z-index:2}
@media(min-width:960px){
  .hero{padding-top:100px}
  .hero__inner{grid-template-columns:1.05fr .95fr;grid-template-areas:"eb ph" "lg ph" "ld ph" "ct ph" "cd ph";column-gap:clamp(48px,6vw,96px);justify-items:start;text-align:left;align-content:center}
  .hero__inner>.eyebrow{grid-area:eb;justify-content:flex-start}
  .hero__inner>.eyebrow::after{display:none}
  .hero__logo-wrap{grid-area:lg;margin-left:-14px}
  .hero__logo{width:min(36vw,440px);margin:0}
  .hero__photo{grid-area:ph;width:min(34vw,440px);margin:0;align-self:center;justify-self:end}
  .hero__lead{grid-area:ld}
  .hero__cta{grid-area:ct}
  .countdown{grid-area:cd;margin-top:var(--s4)}
}
/* about: sala de fundo + sticker */
.about__face{aspect-ratio:4/5;max-width:440px}
.about__room{position:absolute;inset:0 0 12% 0;border-radius:200px 200px 28px 28px;overflow:hidden;box-shadow:0 40px 60px -40px rgba(92,14,30,.5)}
.about__room img{width:100%;height:100%;object-fit:cover;object-position:40% 50%}
.about__room::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(255,213,222,.55))}
.about__face>img{position:absolute;width:78%;height:auto;left:11%;bottom:0;object-fit:contain}
.about__face .tag--a{bottom:auto;top:10%;right:-4%}
/* BF photo */
.bf__photo{width:min(78vw,340px);margin:0 0 var(--s5);padding:12px 12px 16px;background:var(--cream);border-radius:10px;transform:rotate(-3deg);box-shadow:0 40px 60px -30px rgba(0,0,0,.6)}
.bf__photo img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:50% 30%;border-radius:4px}
.bf__photo figcaption{font-family:var(--serif);font-style:italic;color:var(--maroon);font-size:18px;margin-top:10px;text-align:center}
/* social */
.social__grid{display:grid;gap:var(--s5);align-items:center}
.social__photo{width:min(80vw,380px);margin:0 auto}
.arch--sm img{object-position:50% 15%}
.social__side .h2{max-width:14ch}
@media(min-width:900px){.social__grid{grid-template-columns:5fr 7fr;gap:96px}.social__photo{width:100%;max-width:420px}.social__cards{grid-template-columns:1fr}}
@media(max-width:700px){.t1{top:1.5%;left:30%}.t2{top:1.5%;right:4%}.hero__photo{width:min(54vw,240px);margin-bottom:var(--s3)}.hero__logo{width:min(70vw,320px)}}
@media(max-width:700px){.dtag{display:none}}

/* ===== v6: barra de anúncio ===== */
:root{--abar:34px}
.abar{position:fixed;top:0;left:0;right:0;height:var(--abar);z-index:70;display:flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;background:var(--hot);color:#fff;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;letter-spacing:.01em;transition:background .4s}
.abar b{font-weight:700}
.abar__cd{font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:.02em}
.abar__sep{opacity:.6}
.abar__go{font-weight:700;border-bottom:1px solid rgba(255,255,255,.6);transition:border-color .3s}
.abar:hover .abar__go{border-color:#fff}
.abar__dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 0 rgba(255,255,255,.7);animation:ping 1.8s infinite;flex:none}
@keyframes ping{70%{box-shadow:0 0 0 7px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@media(max-width:420px){.abar{font-size:12px;gap:6px;padding:0 10px}.abar__dot{display:none}}
@media(max-width:360px){.abar__t{display:none}.abar__sep:first-of-type{display:none}}
.nav{top:calc(var(--abar) + 10px)}
.nav.hide{transform:translate(-50%,-180%)}
.hero{padding-top:calc(112px + var(--abar))}
@media(min-width:960px){.hero{padding-top:calc(100px + var(--abar))}}

/* filtros: linhas organizadas no mobile */
.filters{flex-wrap:wrap;overflow:visible;margin:0;padding:0;gap:8px}

/* ===== v7: Black Friday retrô-pop ===== */
.bfp{position:relative;overflow:hidden;isolation:isolate;background:var(--butter);padding:clamp(80px,10vw,128px) 0 0}
.bfp__rays{position:absolute;left:50%;top:50%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;z-index:-1;background:repeating-conic-gradient(from 0deg,#FFE58F 0 7.5deg,var(--butter) 7.5deg 15deg);opacity:.9;animation:rays 60s linear infinite;mask-image:radial-gradient(circle,#000 10%,transparent 45%);-webkit-mask-image:radial-gradient(circle,#000 10%,transparent 45%)}
@keyframes rays{to{rotate:360deg}}
.bfp__grid{display:grid;gap:var(--s5);align-items:center;padding-bottom:clamp(64px,8vw,104px)}
@media(min-width:960px){.bfp__grid{grid-template-columns:1.1fr .9fr;gap:clamp(40px,5vw,80px)}}
.bfp__pill{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:var(--maroon);color:var(--butter);font-weight:700;font-size:13px;letter-spacing:.04em;margin-bottom:var(--s3)}
.bfp__pill span{color:var(--pink)}
.bfp__title{font-family:"Shrikhand",var(--serif);font-weight:400;line-height:.86;letter-spacing:-.01em;margin-bottom:var(--s3);display:flex;flex-direction:column}
.bfp__w{display:block;font-size:clamp(76px,12.5vw,176px);white-space:nowrap}
.bfp__w1{color:var(--hot)}
.bfp__w2{color:var(--pink);margin-left:clamp(28px,6vw,90px)}
.ch{display:inline-block;-webkit-text-stroke:clamp(3px,.45vw,6px) var(--maroon);paint-order:stroke fill;text-shadow:clamp(4px,.6vw,8px) clamp(4px,.6vw,8px) 0 var(--maroon);transform:translateY(120%) rotate(-12deg) scale(.6);opacity:0;transform-origin:50% 100%}
.bfp.go .ch{animation:chIn .9s cubic-bezier(.34,1.56,.64,1) forwards,wob 3.2s ease-in-out infinite;animation-delay:calc(var(--i) * 60ms),calc(1.2s + var(--i) * 140ms)}
.bfp.go .bfp__w2 .ch{animation-delay:calc(300ms + var(--i) * 60ms),calc(1.5s + var(--i) * 140ms)}
@keyframes chIn{to{transform:none;opacity:1}}
@keyframes wob{0%,100%{transform:none}50%{transform:translateY(-5px) rotate(-3deg)}}
.bfp__lead{font-size:clamp(17px,1.6vw,19px);color:var(--maroon);max-width:44ch;margin-bottom:var(--s4)}
.bfp__lead strong{background:var(--pink);padding:0 3px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}

/* presente */
.gift{position:relative;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:var(--s3);min-height:150px}
.gift__box{position:relative;width:130px;height:130px;border:0;background:none;cursor:pointer;padding:0;animation:shake 2.6s ease-in-out infinite}
@keyframes shake{0%,70%,100%{rotate:0deg}75%{rotate:-7deg}80%{rotate:6deg}85%{rotate:-5deg}90%{rotate:3deg}}
.gift__body{position:absolute;left:10px;right:10px;bottom:0;height:78px;background:var(--hot);border:3.5px solid var(--maroon);border-radius:8px;box-shadow:5px 5px 0 var(--maroon);background-image:linear-gradient(90deg,transparent 42%,var(--butter) 42% 58%,transparent 58%)}
.gift__lid{position:absolute;left:2px;right:2px;top:26px;height:30px;z-index:2;background:var(--pink);border:3.5px solid var(--maroon);border-radius:8px;box-shadow:5px 5px 0 var(--maroon);background-image:linear-gradient(90deg,transparent 42%,var(--butter) 42% 58%,transparent 58%);transition:transform .8s cubic-bezier(.34,1.56,.64,1)}
.gift__bow{position:absolute;left:50%;top:-26px;width:52px;height:28px;margin-left:-26px}
.gift__bow::before,.gift__bow::after{content:"";position:absolute;top:0;width:24px;height:24px;background:var(--butter);border:3.5px solid var(--maroon);border-radius:50% 50% 4px 50%}
.gift__bow::before{left:0;transform:rotate(-20deg)}.gift__bow::after{right:0;transform:scaleX(-1) rotate(-20deg)}
.gift__hint{position:absolute;left:50%;bottom:-30px;transform:translateX(-50%);white-space:nowrap;font-weight:700;font-size:13px;color:var(--maroon)}
.gift__box:hover .gift__lid{transform:translateY(-8px) rotate(-4deg)}
.gift[data-state=open] .gift__box{animation:none}
.gift[data-state=open] .gift__lid{transform:translate(-30px,-70px) rotate(-28deg)}
.gift[data-state=open] .gift__hint{opacity:0}
.gift__reveal{opacity:.0;transform:translateX(-14px) scale(.96);pointer-events:none;transition:opacity .5s,transform .8s cubic-bezier(.34,1.56,.64,1)}
.gift[data-state=closed] .gift__reveal::before{content:"abre o presente da Lily ✦";position:absolute}
.gift[data-state=open] .gift__reveal{opacity:1;transform:none;pointer-events:auto}
.gift__k{font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--hot)}
.gift__t{font-family:var(--serif);font-weight:500;font-size:clamp(24px,2.6vw,32px);line-height:1.1;letter-spacing:-.02em;color:var(--maroon);margin:4px 0 var(--s2)}
.gift__t em{color:var(--hot)}
.gift__closed{font-weight:700;color:var(--maroon)}
@media(max-width:520px){.gift{grid-template-columns:1fr;justify-items:center;text-align:center}.gift__reveal{transform:translateY(-10px)}}

/* arte */
.bfp__art{position:relative;width:min(84vw,440px);margin:0 auto;perspective:900px}
.bfp__card{position:relative;padding:14px 14px 56px;background:#fff;border:3.5px solid var(--maroon);border-radius:22px;box-shadow:10px 10px 0 var(--maroon);transform:rotate(-4deg);transition:transform .5s cubic-bezier(.16,1,.3,1);will-change:transform}
.bfp.go .bfp__card{animation:cardIn 1.1s cubic-bezier(.34,1.56,.64,1) both .3s}
@keyframes cardIn{from{transform:rotate(-14deg) scale(.7) translateY(60px);opacity:0}}
.bfp__card img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;object-position:50% 30%;border-radius:12px;border:2px solid var(--maroon)}
.bfp__caption{position:absolute;left:0;right:0;bottom:14px;text-align:center;font-family:"Shrikhand",var(--serif);color:var(--wine);font-size:20px}
.burst{position:absolute;display:grid;place-items:center;width:clamp(84px,9vw,118px);aspect-ratio:1;z-index:3;transition:translate .6s cubic-bezier(.16,1,.3,1)}
.burst svg{position:absolute;inset:0;width:100%;height:100%;fill:var(--hot);stroke:var(--maroon);stroke-width:3;animation:spinB 14s linear infinite;filter:drop-shadow(4px 4px 0 var(--maroon))}
.burst b{position:relative;font-family:"Shrikhand",serif;font-weight:400;color:var(--butter);font-size:clamp(28px,3vw,40px);-webkit-text-stroke:2px var(--maroon);paint-order:stroke fill;animation:pulseB 1.6s ease-in-out infinite}
.bu1{top:-6%;right:-8%}
.bu2{bottom:14%;left:-12%;width:clamp(76px,8vw,100px)}.bu2 svg{fill:var(--sage);animation-direction:reverse}.bu2 b{font-size:clamp(20px,2vw,26px);color:var(--wine);-webkit-text-stroke:0}
@keyframes spinB{to{rotate:360deg}}
@keyframes pulseB{50%{transform:scale(1.12) rotate(-6deg)}}
.ptag{position:absolute;z-index:3;padding:9px 16px 9px 26px;font-weight:800;font-size:clamp(13px,1.2vw,15px);color:var(--maroon);background:var(--butter);border:3px solid var(--maroon);border-radius:8px 999px 999px 8px;box-shadow:4px 4px 0 var(--maroon);transform-origin:0 50%;animation:tagSw 3s ease-in-out infinite;transition:translate .6s cubic-bezier(.16,1,.3,1)}
.ptag::before{content:"";position:absolute;left:9px;top:50%;width:8px;height:8px;margin-top:-4px;border-radius:50%;background:var(--maroon)}
.pt1{top:22%;left:-18%;rotate:-10deg}.pt2{top:52%;right:-14%;rotate:8deg;background:var(--pink);animation-delay:-1s}.pt3{bottom:-3%;right:14%;rotate:-4deg;background:var(--sage);animation-delay:-2s}
@keyframes tagSw{50%{transform:rotate(7deg)}}
.pop{position:absolute;z-index:2;width:clamp(56px,6vw,76px);height:clamp(56px,6vw,76px);animation:hop 1.8s cubic-bezier(.34,1.56,.64,1) infinite;filter:drop-shadow(0 10px 8px rgba(92,14,30,.25));transition:translate .6s cubic-bezier(.16,1,.3,1)}
.po1{top:-9%;left:4%;--pt:#FDF1B5;--pl:#D4DDB8;--pr:#9fb07a}.po2{bottom:-8%;left:12%;animation-delay:-.9s}
@keyframes hop{0%,100%{transform:translateY(0) rotate(-4deg)}40%{transform:translateY(-18px) rotate(5deg) scale(1.04)}}
.bfp__ticker{position:relative;background:var(--maroon)}
.bfp__ticker .mq{position:relative;left:auto;width:100%;transform:none;background:var(--wine);color:var(--butter);border-block:3px solid var(--maroon)}
@media(max-width:959px){.bfp__copy{text-align:left}.bfp__art{margin-top:var(--s3)}}
@media(max-width:520px){.pt1{left:-6%}.pt2{right:-5%}.bu1{right:-4%}.bu2{left:-5%}.bfp__w2{margin-left:24px}}
@media (prefers-reduced-motion:reduce){.ch{transform:none;opacity:1}}

/* faixas cruzadas no limite entre seções */
.xband{height:0;overflow:visible;z-index:6;background:none;display:block}
.xband .mq{top:0;translate:0 -50%}
.hero .scroll-hint{display:none}
/* hero mobile: caixinhas longe do texto */
@media(max-width:700px){.fl2,.fl4{display:none}}

/* ===== v9: Como funciona retrô-pop ===== */
.how{background:var(--blush)!important;position:relative;overflow:hidden;isolation:isolate}
.how__dots{position:absolute;inset:-40px;z-index:-1;background-image:radial-gradient(rgba(255,93,177,.32) 2.2px,transparent 2.6px);background-size:22px 22px;animation:dots 18s linear infinite;mask-image:linear-gradient(180deg,#000,transparent 70%);-webkit-mask-image:linear-gradient(180deg,#000,transparent 70%)}
@keyframes dots{to{transform:translate(22px,22px)}}
.how__title{font-family:"Shrikhand",var(--serif);font-weight:400;font-size:clamp(38px,5.4vw,72px);line-height:1;letter-spacing:-.01em;color:var(--wine);max-width:18ch;text-wrap:balance;margin-bottom:var(--s6)}
.how__title span,.how__title em{-webkit-text-stroke:clamp(2px,.3vw,4px) var(--maroon);paint-order:stroke fill;text-shadow:clamp(3px,.4vw,5px) clamp(3px,.4vw,5px) 0 var(--maroon)}
.how__title span{color:var(--butter)}
.how__title em{font-style:normal;color:var(--hot)}
.route{position:relative}
.route__line{position:absolute;z-index:0;left:4%;right:4%;top:118px;height:4px;background:repeating-linear-gradient(90deg,var(--maroon) 0 14px,transparent 14px 26px);background-size:26px 4px;animation:dash 1.2s linear infinite}
@keyframes dash{to{background-position:26px 0}}
.route__parcel{position:absolute;top:-30px;left:calc(var(--p,0) * 100% - 30px);width:60px;height:60px;filter:drop-shadow(3px 4px 0 rgba(92,14,30,.4));animation:hop 1s ease-in-out infinite}
.hsteps{list-style:none;position:relative;z-index:1;display:grid;gap:var(--s5)}
@media(min-width:900px){.hsteps{grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,44px)}}
.hstep{position:relative;background:#fff;border:3.5px solid var(--maroon);border-radius:24px;box-shadow:8px 8px 0 var(--maroon);padding:var(--s4) var(--s4) var(--s4);rotate:var(--r);opacity:0;transform:translateY(60px) scale(.9);transition:rotate .6s cubic-bezier(.34,1.56,.64,1),box-shadow .4s}
.how.go .hstep{animation:stepIn .9s cubic-bezier(.34,1.56,.64,1) forwards;animation-delay:var(--d)}
@keyframes stepIn{to{opacity:1;transform:none}}
.hstep:hover{rotate:0deg;box-shadow:12px 12px 0 var(--maroon)}
.hstep:hover .hstep__art{animation:wig .5s ease-in-out}
@keyframes wig{25%{rotate:-3deg}75%{rotate:3deg}}
.hstep__n{position:absolute;top:-30px;left:-14px;display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--hot);border:3.5px solid var(--maroon);box-shadow:4px 4px 0 var(--maroon);font-family:"Shrikhand",serif;font-size:36px;line-height:1;color:var(--butter);-webkit-text-stroke:2px var(--maroon);paint-order:stroke fill;rotate:-8deg;z-index:2}
.hstep:nth-child(2) .hstep__n{background:var(--sage)}.hstep:nth-child(3) .hstep__n{background:var(--butter);color:var(--hot)}
.hstep__art{height:150px;border-radius:16px;border:2.5px solid var(--maroon);display:grid;place-items:center;margin-bottom:var(--s3);overflow:hidden}
.a1{background:#FFE3EC}.a2{background:#FFF7D1}.a3{background:#EEF2DC}
.hstep__art svg{width:82%;height:100%;overflow:visible}
.hstep__art .o{stroke:var(--maroon);stroke-width:3.5;stroke-linejoin:round;stroke-linecap:round}
.hstep__art .thick{stroke-width:9}
.f-cream{fill:var(--cream)}.f-blush{fill:var(--blush)}.f-sage{fill:var(--sage)}.f-butter{fill:var(--butter)}.f-pink{fill:var(--pink)}.f-hot{fill:var(--hot)}.f-m{fill:var(--maroon)}.f-glass{fill:rgba(255,255,255,.75)}
.bubble{transform-box:fill-box;transform-origin:0 100%;animation:bub 2.8s cubic-bezier(.34,1.56,.64,1) infinite}
.b-2{transform-origin:100% 100%;animation-delay:1.4s}
@keyframes bub{0%,8%{transform:scale(0)}20%,80%{transform:scale(1)}92%,100%{transform:scale(0)}}
.mag{animation:scan 3.2s ease-in-out infinite}
@keyframes scan{0%,100%{transform:translate(-26px,4px)}50%{transform:translate(30px,-2px)}}
.sp{fill:var(--hot);stroke:var(--maroon);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:twk 1.6s ease-in-out infinite}.s-2{animation-delay:.8s;fill:var(--butter)}
@keyframes twk{50%{transform:scale(.4) rotate(45deg)}}
.bag{transform-box:fill-box;transform-origin:50% 100%;animation:bagb 1.4s cubic-bezier(.34,1.56,.64,1) infinite}
@keyframes bagb{0%,100%{transform:none}30%{transform:translateY(-14px) scaleY(1.04)}55%{transform:scaleY(.94) scaleX(1.05)}}
.heart{transform-box:fill-box;transform-origin:center;animation:beat 1.4s ease-in-out infinite}
@keyframes beat{30%{transform:scale(1.25)}}
.hstep h3{font-family:"Shrikhand",var(--serif);font-weight:400;font-size:clamp(26px,2.4vw,32px);letter-spacing:0;color:var(--wine);margin-bottom:8px;line-height:1.1}
.hstep p{color:var(--maroon);opacity:.85;font-size:16px;max-width:none}
@media(max-width:899px){
  .route__line{left:30px;right:auto;top:0;bottom:0;width:4px;height:auto;background:repeating-linear-gradient(180deg,var(--maroon) 0 14px,transparent 14px 26px);background-size:4px 26px;animation:dashv 1.2s linear infinite}
  @keyframes dashv{to{background-position:0 26px}}
  .route__parcel{top:calc(var(--p,0) * 100% - 26px);left:-24px;width:52px;height:52px}
  .hsteps{padding-left:56px}
  .hstep{padding:var(--s3)}
  .hstep__n{width:56px;height:56px;font-size:30px;left:-22px;top:-24px}
  .hstep__art{height:130px}
}
@media (prefers-reduced-motion:reduce){.hstep{opacity:1;transform:none}}

/* ===== v10: Como funciona vinho + seams ===== */
.how{background:#800020!important;padding-block:clamp(90px,11vw,140px)}
.how__dots{display:none}
.how__rays{position:absolute;left:50%;top:50%;width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;z-index:-1;background:repeating-conic-gradient(from 0deg,#8F0A2E 0 7.5deg,#800020 7.5deg 15deg);animation:rays 60s linear infinite}
.how .wrap{position:relative}
.how__title span,.how__title em{-webkit-text-stroke:clamp(2px,.3vw,4px) var(--maroon);text-shadow:clamp(3px,.45vw,6px) clamp(3px,.45vw,6px) 0 #2e0410}
.how__title em{color:var(--pink)}
.hstep{box-shadow:9px 9px 0 #2e0410;transform:translateY(120px) scale(.6) rotate(-10deg)}
.how.go .hstep{animation:stepIn2 1s cubic-bezier(.34,1.8,.5,1) forwards;animation-delay:var(--d)}
@keyframes stepIn2{0%{opacity:0;transform:translateY(120px) scale(.6) rotate(-10deg)}60%{opacity:1}100%{opacity:1;transform:none}}
.hstep:hover{rotate:calc(var(--r) * -1.6);translate:0 -8px;box-shadow:14px 14px 0 #2e0410}
.hstep:hover .hstep__n{animation:wig .45s ease-in-out 2}
.hstep h3{white-space:nowrap;font-size:clamp(22px,2.1vw,29px)}
.route__line{background:repeating-linear-gradient(90deg,var(--butter) 0 14px,transparent 14px 26px);background-size:26px 4px}
.route__parcel{z-index:4;top:88px;left:calc(4% + var(--p,0) * 92% - 30px);animation:hop 1s ease-in-out infinite;filter:drop-shadow(4px 5px 0 #2e0410)}
/* stickers */
.how .burst{z-index:3}
.hb1{top:-56px;right:2%;width:clamp(80px,8vw,108px)}
.hb1 svg{fill:var(--butter)}.hb1 b{color:var(--hot)}
.ht1{top:-18px;right:16%;rotate:8deg}
.ht2{top:52px;right:4%;rotate:-6deg;background:var(--sage);animation-delay:-1.4s}
.how>.burst,.how>.ptag{position:absolute}
.how>.hb1{top:7%;right:5%}
.how>.ht1{top:12%;right:15%}
.how>.ht2{top:19%;right:7%}
.hsp{position:absolute;z-index:2;width:26px;fill:var(--butter);stroke:var(--maroon);stroke-width:1.5;animation:twk 1.8s ease-in-out infinite}
.hsp1{top:9%;left:4%}.hsp2{top:30%;left:46%;width:18px;fill:var(--pink);animation-delay:.6s}.hsp3{bottom:8%;right:6%;width:22px;animation-delay:1.2s}
/* confetti puff */
.puff{position:absolute;z-index:5;width:9px;height:6px;border-radius:2px;pointer-events:none;animation:puff 1.1s cubic-bezier(.2,.7,.3,1) forwards}
@keyframes puff{to{transform:translate(var(--x),var(--y)) rotate(var(--rt));opacity:0}}
/* richer illustrations */
.a1 svg rect.f-blush{animation:scr 2.8s ease-in-out infinite}
@keyframes scr{50%{fill:#FFA0C3}}
.mag circle{animation:gl 3.2s ease-in-out infinite}
@keyframes gl{50%{fill:rgba(255,248,238,.95)}}
.a2 rect.f-pink,.a2 rect.f-butter,.a2 rect.f-sage{transform-box:fill-box;transform-origin:50% 100%;animation:pop 3.2s ease-in-out infinite}
.a2 rect.f-sage{animation-delay:.5s}.a2 rect.f-butter{animation-delay:1.1s}
@keyframes pop{0%,30%,100%{transform:none}40%{transform:translateY(-8px) scaleY(1.08)}}
.heart{animation:beat 1.4s ease-in-out infinite,flt 3s ease-in-out infinite}
@keyframes flt{50%{translate:0 -8px}}
@media(max-width:899px){
  .route__line{background:repeating-linear-gradient(180deg,var(--butter) 0 14px,transparent 14px 26px);background-size:4px 26px}
  .route__parcel{top:calc(var(--p,0) * 100% - 26px);left:6px}
  .how>.hb1{top:3%;right:4%;width:74px}
  .how>.ht1{top:auto;bottom:2.4%;right:8%}
  .how>.ht2{display:none}
  .hsp2{display:none}
  .how__title{padding-right:60px}
}
@media(max-width:380px){.hstep h3{white-space:normal}}
/* seams */
.seam{position:relative;height:0;z-index:7;overflow:visible;pointer-events:none}
.seam i{position:absolute;left:0;right:0;bottom:-1px;height:26px;overflow:hidden}
.seam i::before{content:"";position:absolute;left:-60px;right:-60px;top:0;bottom:0;background:radial-gradient(circle at 30px 30px,var(--c) 20px,transparent 21px) 0 0/60px 52px repeat-x;animation:seamMv 6s ease-in-out infinite alternate}
.seam.r i::before{animation-direction:alternate-reverse}
@keyframes seamMv{to{transform:translateX(60px)}}
.seam__p{position:absolute;left:12%;bottom:-6px;width:54px;height:54px;animation:hop 1.6s cubic-bezier(.34,1.56,.64,1) infinite;filter:drop-shadow(3px 4px 0 rgba(46,4,16,.35))}
.seam.r .seam__p{left:auto;right:10%;animation-delay:-.7s}
.seam__s{position:absolute;right:22%;bottom:4px;font-size:26px;color:var(--hot);-webkit-text-stroke:1.5px var(--maroon);animation:twk 1.8s ease-in-out infinite}
.seam.r .seam__s{right:auto;left:24%}
@media(max-width:700px){.seam__p{width:42px;height:42px}.seam i{height:20px}.seam i::before{background-size:44px 40px;background-image:radial-gradient(circle at 22px 22px,var(--c) 15px,transparent 16px)}}
@media (prefers-reduced-motion:reduce){.seam *,.seam i::before,.how__rays,.route__parcel{animation:none!important}}
.seam i::before{background:radial-gradient(circle at 30px 36px,var(--c) 31px,transparent 32px) 0 0/60px 60px repeat-x}
@media(max-width:700px){.seam i::before{background:radial-gradient(circle at 22px 27px,var(--c) 23px,transparent 24px) 0 0/44px 44px repeat-x}.how>.ht1{display:none}}
/* eyebrows limpos (v16) */
.eyebrow::before,.eyebrow::after,.hero .eyebrow::after,.hero__inner>.eyebrow::after{content:none!important;display:none!important}
.eyebrow{gap:0}
/* ===== inauguração da vitrine (v17 — identidade Lily) ===== */
.finds.is-soon .badge{display:none!important}
.finds.is-soon .filters{opacity:.5;pointer-events:none}
.soon__wrap{position:relative;border-radius:var(--r);overflow:hidden;min-height:600px}
.finds.is-soon #grid{filter:blur(10px);opacity:.7;transform:scale(1.03);pointer-events:none;user-select:none;max-height:900px;overflow:hidden}
.soon{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 50%,rgba(255,248,238,.7),rgba(255,213,222,.35) 70%)}
.soon__center{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;padding:0 18px;width:100%}
/* fita: rosa com contorno e sombra vinho, igual às letras do logo */
.soon__ribbon{position:absolute;z-index:1;top:34px;left:50%;width:220vw;max-width:2600px;height:90px;translate:-50% 0;overflow:visible}
.soon__ribbon path{fill:none;vector-effect:non-scaling-stroke;stroke-linecap:round}
.soon__ribbon .rb-sh{stroke:var(--maroon);stroke-width:40px;transform:translateY(7px)}
.soon__ribbon .rb-o{stroke:var(--maroon);stroke-width:40px}
.soon__ribbon .rb-f{stroke:var(--hot);stroke-width:32px}
.soon__ribbon .rb-h{stroke:var(--pink);stroke-width:7px;transform:translateY(-8px);opacity:.9}
.soon__ribbon .rb-d{stroke:var(--cream);stroke-width:2px;stroke-dasharray:2 12;opacity:.8}
.soon__bow{position:relative;z-index:3;width:clamp(140px,15vw,180px);height:auto;margin-bottom:-34px;cursor:pointer;transform-origin:50% 45%}
.soon__bow:hover{animation:bowWig .7s ease-in-out}
@keyframes bowWig{25%{rotate:-8deg}50%{rotate:7deg}75%{rotate:-4deg}}
.soon__card{position:relative;z-index:2;text-align:center;width:min(460px,100%);background:var(--cream);border:2px solid var(--maroon);border-radius:var(--r);padding:46px 26px 26px;box-shadow:8px 8px 0 var(--maroon),0 30px 50px -30px rgba(92,14,30,.5)}
.soon__card .eyebrow{justify-content:center;color:var(--hot);margin-bottom:6px}
.soon__h{font-family:var(--serif);font-weight:500;font-size:clamp(38px,5vw,58px);line-height:1;letter-spacing:-.03em;color:var(--maroon);margin:0 0 14px}
.soon__h em{font-style:italic;font-weight:400;color:var(--hot)}
.soon__stamp{position:absolute;top:-22px;right:-18px;z-index:4;font-family:Shrikhand,var(--serif);font-size:30px;line-height:1;color:var(--hot);background:var(--butter);border:2px solid var(--maroon);border-radius:16px;padding:12px 14px 10px;rotate:12deg;box-shadow:4px 4px 0 var(--maroon);-webkit-text-stroke:1px var(--maroon);text-shadow:2px 2px 0 var(--maroon)}
.soon__cd{display:flex;justify-content:center;gap:8px;margin:0 0 16px}
.soon__cd span{min-width:60px;background:#fff;border:1.5px solid var(--wine);border-radius:16px;padding:8px 4px 6px;color:var(--wine)}
.soon__cd b{display:block;font-family:var(--serif);font-size:26px;line-height:1;font-variant-numeric:tabular-nums}
.soon__cd small{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.soon__t{margin:0 auto 18px;color:var(--muted);max-width:34ch}
.soon__lily{position:absolute;left:-26px;bottom:-24px;z-index:4;display:flex;align-items:flex-end;gap:6px}
.soon__lily img{width:74px;height:74px;border-radius:50%;background:var(--blush);border:3px solid #fff;box-shadow:0 0 0 2px var(--maroon),4px 4px 0 2px var(--maroon)}
.soon__lily i{font-style:normal;font-weight:700;font-size:13px;color:var(--wine);background:#fff;border:1.5px solid var(--wine);border-radius:14px 14px 14px 4px;padding:6px 10px;white-space:nowrap;margin-bottom:46px;margin-left:-8px}
.soon__lily .sc{position:absolute;left:50px;bottom:4px;font-size:26px;animation:snip 1.4s ease-in-out infinite;transform-origin:30% 50%}
@keyframes snip{50%{rotate:-18deg}}
.soon__conf{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.soon__conf i{position:absolute;top:-14px;left:var(--x);width:9px;height:13px;border-radius:2px;background:var(--c);border:1px solid rgba(92,14,30,.25);animation:cfFall 7s linear infinite;animation-delay:var(--d)}
.soon__conf i:nth-child(3n){width:9px;height:9px;border-radius:50%}
.soon__conf i:nth-child(4n){clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%);width:14px;height:14px;border:0}
@keyframes cfFall{to{transform:translateY(680px) rotate(540deg)}}
/* entrada (só quando JS + motion; conteúdo visível por padrão) */
.soon.anim .rb-a{stroke-dasharray:1;stroke-dashoffset:1}
.soon.anim .soon__bow{scale:0;rotate:-30deg}
.soon.anim .soon__stamp{scale:2.4;opacity:0}
.soon.anim .soon__card{translate:0 30px;opacity:0}
.soon.anim .soon__lily{translate:-30px 0;opacity:0}
.soon.anim.in .rb-a{transition:stroke-dashoffset 1.3s cubic-bezier(.6,0,.2,1);stroke-dashoffset:0}
.soon.anim.in .soon__card{transition:translate .8s var(--ease) .15s,opacity .6s .15s;translate:0 0;opacity:1}
.soon.anim.in .soon__bow{transition:scale .7s cubic-bezier(.3,1.8,.5,1) 1.2s,rotate .7s cubic-bezier(.3,1.8,.5,1) 1.2s;scale:1;rotate:0deg}
.soon.anim.in .soon__stamp{transition:scale .45s cubic-bezier(.5,0,.6,1.6) 1.7s,opacity .2s 1.7s;scale:1;opacity:1}
.soon.anim.in .soon__lily{transition:translate .7s cubic-bezier(.3,1.6,.5,1) 2s,opacity .4s 2s;translate:0 0;opacity:1}
@media(max-width:640px){
 .soon__wrap{min-height:680px}
 .soon__ribbon{top:30px;height:70px}
 .soon__card{padding:42px 18px 22px;box-shadow:6px 6px 0 var(--maroon)}
 .soon__stamp{font-size:24px;right:-8px;top:-26px;padding:10px 11px 8px}
 .soon__cd span{min-width:54px}.soon__cd b{font-size:22px}
 .soon__card .btn{width:100%;justify-content:center}
 .soon__lily{left:-8px;bottom:-34px}.soon__lily img{width:60px;height:60px}.soon__lily .sc{left:40px}
 body.soon-in .buddy{transform:translateY(160%)!important}
}
@media(prefers-reduced-motion:reduce){.soon *{animation:none!important;transition:none!important}.soon__conf{display:none}}
.soon__lily{bottom:-58px}.soon__lily i{margin-bottom:14px;margin-left:6px}
@media(max-width:640px){.soon__lily{left:6px;bottom:-56px}}

/* qa18 fixes */
html,body{overflow-x:clip!important;max-width:100%}
.foot__social{flex-wrap:wrap;row-gap:8px}
@media(max-width:1100px){.bfp__caption{font-size:17px;padding:0 8px}}
