/* Promotional interactions share the boutique's editorial palette. */
.gift-launcher{position:fixed;right:24px;bottom:25px;left:auto;z-index:19;display:flex;align-items:center;gap:11px;background:var(--wine);color:var(--pink);padding:13px 17px;border:1px solid #f0ccd540;box-shadow:0 5px 25px #47112925;border-radius:3px;font-size:12px;transition:transform .25s,background .25s;animation:gift-pulse 2.3s ease-in-out infinite}.gift-launcher:hover{transform:translateY(-3px);background:var(--deep);animation-play-state:paused}.gift-launcher b{font-size:17px;font-weight:400;margin-left:8px}.gift-launcher svg{width:20px;height:20px}.gift-launcher>i{animation:gift-wiggle 7s ease-in-out infinite}.menu-wheel{margin-top:30px;width:100%}.cart-continue{background:transparent;color:var(--wine);padding:18px 0;font-size:13px;display:block;text-align:center;width:100%}.clear-coupon{background:transparent;font-size:12px}.cart-row-bottom strong{font-size:13px}#campaign-clock{width:100%;margin:0 0 24px}#campaign-clock>p{font-size:10px;letter-spacing:1.4px;margin:0 0 12px}.countdown{display:flex;align-items:flex-start;gap:14px}.countdown>span{display:flex;flex-direction:column;align-items:center;gap:5px}.countdown b{display:grid;place-items:center;min-width:50px;padding:7px 10px;background:#f0ccd515;border:1px solid #f0ccd530;font-size:25px;line-height:1.1;font-weight:500;font-variant-numeric:tabular-nums}.countdown small{font-size:8px;letter-spacing:1px}.countdown>em{font-style:normal;font-size:22px;line-height:1.8;opacity:.5}.duo-copy{padding-top:47px;padding-bottom:47px}.offer-number{font-size:87px;margin-bottom:12px}.offer-number>span{font-size:48px}.promo-code{margin-bottom:20px}.offer-number.expired{display:none}.campaign-ended{line-height:1.7}.wheel-intro{text-align:center}.wheel-intro .eyebrow{font-size:10px;margin:0 0 12px}.wheel-intro h3{font-size:45px;line-height:1.05;letter-spacing:-1.5px;color:var(--wine);font-family:var(--serif);font-weight:500;margin:0 0 15px}.wheel-intro>p:last-child{font-size:13px;line-height:1.7;color:var(--muted);max-width:300px;margin:0 auto}.wheel-wrap{position:relative;width:290px;height:290px;margin:30px auto 25px;isolation:isolate}.prize-wheel{width:100%;height:100%;border:9px solid var(--wine);border-radius:50%;background:conic-gradient(var(--pink) 0 90deg,var(--wine) 90deg 180deg,#edd6ab 180deg 270deg,#ae5374 270deg 360deg);position:relative;box-shadow:0 0 0 5px var(--pink),0 12px 30px #681b3b18;transition:transform 4.6s cubic-bezier(.13,.64,.13,1)}.prize-wheel>b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;border-radius:50%;width:67px;height:67px;background:var(--paper);color:var(--wine);font-family:var(--serif);font-size:31px;font-style:italic;font-weight:500;letter-spacing:-2px;border:4px solid var(--pink)}.wheel-label{position:absolute;font-size:26px;font-weight:600;letter-spacing:-1px;width:80px;text-align:center;line-height:40px}.label-0{left:155px;top:44px;color:var(--wine);transform:rotate(45deg)}.label-1{left:155px;top:180px;color:var(--pink);transform:rotate(135deg)}.label-2{left:18px;top:180px;color:var(--wine);transform:rotate(225deg)}.label-3{left:18px;top:44px;color:white;transform:rotate(315deg)}.wheel-pointer{position:absolute;top:-10px;left:calc(50% - 12px);z-index:2;width:24px;height:29px;background:var(--wine);clip-path:polygon(0 0,100% 0,50% 100%)}.wheel-spin{width:100%;justify-content:center;gap:20px;min-height:54px}.wheel-spin:disabled{background:#e9dfe3;color:#80616f;cursor:default;transform:none}.wheel-cooldown{text-align:center;font-size:12px;line-height:1.7;color:var(--muted);margin:16px 0 23px}.wheel-terms{padding:18px 0;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}.wheel-terms summary{cursor:pointer;line-height:1.7}.wheel-terms p{line-height:1.8;font-size:12px}.wheel-reward{text-align:center;padding:20px;background:var(--light-pink);margin-bottom:20px;animation:fade-up .5s ease}.wheel-reward>small{font-size:9px;letter-spacing:1.5px;color:var(--wine)}.wheel-reward h3{font-family:var(--serif);font-size:29px;font-weight:500;color:var(--wine);margin:10px 0 16px;line-height:1.15}.wheel-reward button{display:flex;align-items:center;justify-content:center;gap:15px;background:var(--wine);color:white;padding:13px;width:100%;font-size:12px}.wheel-reward>p{font-size:11px;color:var(--muted);margin:12px 0 0}.duo-copy .offer-terms{font-size:12px}.hero-description{font-size:16px}.hero .button,.button{font-size:14px}.desktop-nav{font-size:14px}.product-title{font-size:16px}.product-price{font-size:14px}.product-meta{font-size:12px;letter-spacing:.7px}.product-badge{font-size:12px}.eyebrow,.hero .eyebrow,.section-heading .eyebrow{font-size:12px;letter-spacing:1.5px}.section-index{font-size:12px}.filters button{font-size:14px}.sort-label select{font-size:14px}.hero-footnote{font-size:12px;line-height:1.5}.hero-image-label small{font-size:12px}.category-card small{font-size:12px;letter-spacing:1px}.category-card>div{gap:10px}.category-card small{max-width:240px}.duo-copy>p:not(.eyebrow):not(.offer-terms){font-size:16px}.manifesto>p:not(.eyebrow){font-size:16px}.footer-links a,.footer-links button{font-size:14px}.footer-links h3{font-size:12px}.footer-bottom{font-size:12px}.service-strip span{font-size:14px}.service-strip small{font-size:12px}.hero h1{max-width:100%}.detail-description{font-size:16px}.detail-copy label{font-size:14px}.detail-options button{font-size:14px}.offer-terms{font-size:12px}.round-seal{top:32px;left:auto;right:35px}.hero-visual>img{object-position:50% 57%}.vertical-caption{right:auto;left:22px;color:var(--wine)}.hero-image-label{color:white}.hero-footnote span{display:block;margin:3px 0 0}.hero-spark{right:-10px;bottom:0;font-size:70px}.announcement>span{font-size:10px}.cart-note,.info-content p,.empty-state p{font-size:16px}.product-meta{line-height:1.4}.favorite-button,.quick-add{min-width:40px;min-height:40px}.detail-copy .eyebrow{line-height:1.7}.wheel-label.label-1{top:177px}.wheel-label.label-2{top:177px}
@keyframes gift-wiggle{0%,86%,100%{transform:rotate(0)}89%{transform:rotate(-12deg)}93%{transform:rotate(12deg)}97%{transform:rotate(-7deg)}}@keyframes gift-pulse{0%,100%{opacity:1;box-shadow:0 5px 25px #47112925}50%{opacity:.55;box-shadow:0 5px 30px #681b3b70}}
@media(max-width:1100px){.desktop-nav{gap:15px;font-size:12px}.hero .eyebrow{font-size:10px}.hero-description{font-size:14px}.hero-footnote{font-size:11px}.hero-spark{font-size:58px;right:-15px}.category-card small{font-size:10px}.product-meta{font-size:10px}.duo-copy>p:not(.eyebrow):not(.offer-terms){font-size:14px}.duo-copy{padding-left:9%;padding-right:9%}.countdown{gap:10px}.countdown b{min-width:43px;font-size:23px}.offer-number{font-size:75px}.duo-copy h2{font-size:38px}}
@media(max-width:800px){.hero .eyebrow{font-size:10px;max-width:280px}.hero .button{font-size:13px;gap:15px}.hero-footnote{font-size:10px}.hero-spark{font-size:45px;right:-20px}.section-heading .eyebrow{font-size:10px}.category-card small{display:none}.product-meta{font-size:11px}.gift-launcher{bottom:83px;left:14px;padding:12px;gap:8px}.gift-launcher>span{font-size:11px}.gift-launcher>b{display:none}.service-strip span{font-size:12px}.service-strip small{font-size:11px}.duo-copy{padding:38px 8%}.duo-copy h2{font-size:32px}.countdown{gap:7px}.countdown b{min-width:35px;padding:7px;font-size:21px}.countdown>em{font-size:18px}.footer-bottom{font-size:10px}}
@media(max-width:560px){.hero-copy{padding-top:31px;padding-bottom:30px;min-height:490px}.hero .eyebrow{font-size:10px;max-width:300px;letter-spacing:1px;gap:7px;margin-bottom:20px}.hero h1{font-size:76px;letter-spacing:-4px}.hero-spark{font-size:63px;right:-58px}.hero-description{font-size:15px;max-width:325px}.hero .button{font-size:14px;padding:15px 19px;gap:24px}.hero-footnote{font-size:11px}.hero-footnote span{display:inline}.hero-visual{height:440px}.hero-visual>img{object-position:50% 59%}.hero-image-label small{font-size:10px}.hero-image-label>span:first-child{font-size:23px}.round-seal{top:23px;right:22px}.section-heading .eyebrow{font-size:10px}.product-meta{font-size:10px;letter-spacing:.3px;line-height:1.5}.product-title{font-size:14px}.product-price{font-size:14px}.product-badge{font-size:10px;left:8px;top:10px;max-width:calc(100% - 50px);line-height:1.4}.favorite-button{right:4px;top:5px;background:#fffdf9ee}.favorite-button svg{width:17px;height:17px}.filters button{font-size:12px;padding:11px 12px}.sort-label select{font-size:12px;padding-top:7px;padding-bottom:7px}.category-card small{display:block;font-size:10px}.duo-copy{padding:43px 25px}.duo-copy h2{font-size:42px}.duo-copy>p:not(.eyebrow):not(.offer-terms){font-size:16px}.duo-copy .eyebrow{font-size:11px}.offer-number{font-size:92px}.countdown{gap:13px}.countdown b{font-size:27px;min-width:50px}.countdown small{font-size:10px}.countdown>em{font-size:23px}.duo-copy .offer-terms{font-size:12px}.manifesto>p:not(.eyebrow){font-size:14px}.service-strip span{font-size:14px}.service-strip small{font-size:12px}.gift-launcher{width:47px;height:47px;border-radius:50%;justify-content:center;left:auto;right:14px;bottom:84px}.gift-launcher>span{display:none}.gift-launcher svg{width:22px;height:22px}.mobile-bottom>a,.mobile-bottom>button{font-size:11px}.mobile-bottom svg{width:22px;height:22px}.wheel-wrap{width:270px;height:270px}.prize-wheel{border-width:8px}.wheel-label{font-size:24px}.label-0{left:142px;top:36px}.wheel-label.label-1{left:142px;top:165px}.wheel-label.label-2{left:13px;top:165px}.label-3{left:13px;top:36px}.wheel-intro h3{font-size:40px}.drawer .product-meta{font-size:10px}.footer-bottom{font-size:10px}.wheel-intro .eyebrow{font-size:10px}}
@media(max-width:360px){.hero h1{font-size:66px}.hero-spark{font-size:52px;right:-46px}.hero-copy{padding-left:20px;padding-right:20px}.header>.wordmark{font-size:27px}.header{padding:0 13px}.header-actions>.icon-button{width:31px}.hero .button{font-size:13px}.filters button{padding:10px;font-size:11px}.countdown{gap:8px}.countdown b{min-width:46px}.wheel-wrap{width:250px;height:250px}.label-0{left:129px;top:29px}.wheel-label.label-1{left:129px;top:150px}.wheel-label.label-2{left:9px;top:150px}.label-3{left:9px;top:29px}.wheel-label{font-size:22px}.drawer-heading h2{font-size:24px}}

/* The loss slice reflects the stated 0.4% probability. */
.prize-wheel{background:conic-gradient(from 0deg,#d8b2bd 0 .4%,var(--pink) .4% 50.2%,var(--wine) 50.2% 100%)}
.label-0{left:101px;top:-17px;width:88px;font-size:8px;line-height:1.1;letter-spacing:.2px;color:var(--wine);transform:none}
.label-1{left:159px;top:129px;color:var(--wine);transform:rotate(90deg)}
.label-2{left:48px;top:129px;color:var(--pink);transform:rotate(270deg)}
.label-3{display:none}
.wheel-no-reward{background:#f2efed}
@media(max-width:560px){.label-0{left:91px;top:-16px}.label-1{left:148px;top:119px}.label-2{left:42px;top:119px}.wheel-label.label-1,.wheel-label.label-2{top:119px}}
@media(max-width:360px){.label-0{left:81px}.label-1{left:137px;top:110px}.label-2{left:34px;top:110px}.wheel-label.label-1,.wheel-label.label-2{top:110px}}

/* Five identical visual slices; the exact odds are stated below the wheel. */
.prize-wheel{background:conic-gradient(from 0deg,#edd6ab 0 20%,var(--pink) 20% 40%,var(--wine) 40% 60%,#ae5374 60% 80%,#d8b2bd 80% 100%)}
.wheel-label{width:76px;font-size:22px;line-height:1.1;letter-spacing:-.8px}
.label-0{left:163px;top:34px;color:var(--wine);font-size:11px;line-height:1.05;letter-spacing:.1px;transform:rotate(36deg)}
.label-1{left:190px;top:151px;color:var(--wine);transform:rotate(108deg)}
.label-2{left:107px;top:216px;color:var(--pink);transform:rotate(180deg)}
.label-3{display:block;left:22px;top:151px;color:white;transform:rotate(252deg)}
.label-4{display:block;left:48px;top:34px;color:var(--wine);transform:rotate(324deg)}
@media(max-width:560px){
  .wheel-label{font-size:20px;width:70px}
  .label-0{left:152px;top:31px;font-size:10px}
  .label-1{left:177px;top:140px}.wheel-label.label-1{top:140px}
  .label-2{left:100px;top:200px}.wheel-label.label-2{top:200px}
  .label-3{left:19px;top:140px}
  .label-4{left:45px;top:31px}
}
@media(max-width:360px){
  .wheel-label{font-size:18px;width:65px}
  .label-0{left:141px;top:28px;font-size:9px}
  .label-1{left:164px;top:129px}.wheel-label.label-1{top:129px}
  .label-2{left:93px;top:184px}.wheel-label.label-2{top:184px}
  .label-3{left:16px;top:129px}
  .label-4{left:40px;top:28px}
}

/* Keep each label close to the outer rim rather than the hub. */
.label-0{left:170px;top:50px}
.label-1{left:210px;top:168px}.wheel-label.label-1{top:168px}
.label-2{left:107px;top:242px}.wheel-label.label-2{top:242px}
.label-3{left:4px;top:168px}
.label-4{left:44px;top:50px}
@media(max-width:560px){
  .label-0{left:162px;top:42px}
  .label-1{left:200px;top:158px}.wheel-label.label-1{top:158px}
  .label-2{left:100px;top:229px}.wheel-label.label-2{top:229px}
  .label-3{left:0;top:158px}
  .label-4{left:38px;top:42px}
}
@media(max-width:360px){
  .label-0{left:151px;top:38px}
  .label-1{left:186px;top:145px}.wheel-label.label-1{top:145px}
  .label-2{left:93px;top:212px}.wheel-label.label-2{top:212px}
  .label-3{left:0;top:145px}
  .label-4{left:35px;top:38px}
}

/* Every wheel label follows the same radius from the centre. */
.wheel-label{left:50%;top:50%;transform:rotate(var(--wheel-angle)) translateY(-112px) rotate(90deg) translate(-50%,-50%)}
.label-0{--wheel-angle:36deg;font-size:11px;line-height:1.05;letter-spacing:.1px}
.label-1{--wheel-angle:108deg}.wheel-label.label-1{top:50%}
.label-2{--wheel-angle:180deg}.wheel-label.label-2{top:50%}
.label-3{--wheel-angle:252deg}
.label-4{--wheel-angle:324deg}
@media(max-width:560px){.wheel-label{transform:rotate(var(--wheel-angle)) translateY(-102px) rotate(90deg) translate(-50%,-50%)}}
@media(max-width:360px){.wheel-label{transform:rotate(var(--wheel-angle)) translateY(-93px) rotate(90deg) translate(-50%,-50%)}}

/* Mobile keeps one cart entry point: the persistent bottom navigation. */
@media(max-width:800px){.header-actions{display:none}.shop-header{justify-content:flex-start}}

/* On mobile, the campaign image introduces the boutique before the copy. */
@media(max-width:560px){
  .hero{display:flex;flex-direction:column;min-height:0}
  .hero-visual{order:-1;height:clamp(290px,48svh,430px);flex:none}
  .hero-visual>img{object-position:50% 48%}
  .hero-copy{min-height:0;padding:32px 24px 38px}
  .hero-copy .eyebrow{margin-bottom:15px}
  .hero-copy h1{font-size:clamp(58px,17vw,72px);margin-bottom:17px}
  .hero-description{margin-bottom:20px}
  .round-seal{right:20px;top:20px}
  .hero-image-label{bottom:20px}
}
@media(prefers-reduced-motion:reduce){.prize-wheel,.gift-launcher,.gift-launcher>i{animation:none;transition:none}}

/* Keep intrinsic grid widths and animated ornaments inside the viewport. */
html,body{max-width:100%;overflow-x:clip}
.hero,.duo-section{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero-copy,.hero-visual,.duo-copy,.duo-visual,.section-wrap{min-width:0}
.hero h1{width:100%;min-width:0}
.hero-spark{right:4%;bottom:3px}
.round-seal{flex-shrink:0;padding:12px 7px;text-align:center;overflow:hidden;gap:0}
.round-seal span{display:block;flex-shrink:0;max-width:100%;font-size:7px;line-height:1.4;letter-spacing:.45px;white-space:nowrap;text-align:center}
.round-seal b{flex-shrink:0;line-height:1.25;margin:3px 0;font-size:42px}
.header-actions,.category-card>div>span{min-width:0}
.category-grid{max-width:100%}
.ticker{max-width:100%;contain:inline-size}
@media(max-width:800px){
  .round-seal{padding:9px 5px}
  .round-seal span{font-size:5.5px;letter-spacing:.25px}
  .round-seal b{font-size:32px;line-height:1.2;margin:2px 0}
}
@media(max-width:560px){
  .hero,.duo-section{grid-template-columns:minmax(0,1fr)}
  .hero h1{font-size:clamp(60px,19vw,76px)}
  .hero-spark{right:3%;bottom:4px;font-size:clamp(44px,15vw,60px)}
  .round-seal{width:96px;height:96px;padding:11px 6px}
  .round-seal span{font-size:6px;letter-spacing:.3px}
  .round-seal b{font-size:37px;line-height:1.15;margin:3px 0}
  .category-grid{max-width:calc(100% + 40px);overscroll-behavior-x:contain}
  .hero-image-label>span:first-child{min-width:0}
  .hero-image-label .circle-arrow{flex-shrink:0}
}

/* Final wheel geometry: equal radius, radial orientation, fully inside the rim. */
.wheel-label,.wheel-label.label-1,.wheel-label.label-2{
  left:50%;
  top:50%;
  width:72px;
  max-width:72px;
  font-size:19px;
  line-height:1.05;
  white-space:nowrap;
  text-align:center;
  transform:rotate(var(--wheel-angle)) translateY(-92px) rotate(90deg) translate(-50%,-50%);
}
.wheel-label.label-0{font-size:10px;letter-spacing:0}
@media(max-width:560px){
  .wheel-label,.wheel-label.label-1,.wheel-label.label-2{width:66px;max-width:66px;font-size:18px;transform:rotate(var(--wheel-angle)) translateY(-85px) rotate(90deg) translate(-50%,-50%)}
  .wheel-label.label-0{font-size:9px}
}
@media(max-width:360px){
  .wheel-label,.wheel-label.label-1,.wheel-label.label-2{width:62px;max-width:62px;font-size:17px;transform:rotate(var(--wheel-angle)) translateY(-78px) rotate(90deg) translate(-50%,-50%)}
}

/* Symmetrical label centres keep every word inside its slice. */
.prize-wheel .wheel-label{width:72px;max-width:72px;line-height:1.05;white-space:nowrap;text-align:center}
.prize-wheel .label-0{left:68%;top:25%;transform:translate(-50%,-50%) rotate(126deg);font-size:10px}
.prize-wheel .label-1{left:79%;top:59%;transform:translate(-50%,-50%) rotate(198deg);font-size:19px}
.prize-wheel .label-2{left:50%;top:80%;transform:translate(-50%,-50%) rotate(270deg);font-size:19px}
.prize-wheel .label-3{left:21%;top:59%;transform:translate(-50%,-50%) rotate(342deg);font-size:19px}
.prize-wheel .label-4{left:32%;top:25%;transform:translate(-50%,-50%) rotate(54deg);font-size:19px}
.catalog-controls-category{grid-template-columns:minmax(220px,1fr) auto}
@media(max-width:560px){
  .prize-wheel .wheel-label{width:64px;max-width:64px}
  .prize-wheel .label-0{font-size:9px}
  .prize-wheel .label-1,.prize-wheel .label-2,.prize-wheel .label-3,.prize-wheel .label-4{font-size:17px}
  .catalog-controls-category{grid-template-columns:1fr}
}

/* Avoid a nested horizontal gesture area in the mobile home feed. */
@media(max-width:560px){
  .universes .category-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:14px;
    margin:0;
    padding:0;
    max-width:100%;
    overflow:visible;
    scroll-snap-type:none;
    touch-action:pan-y;
  }
  .universes .category-card{
    width:100%;
    min-width:0;
    height:270px;
    flex:none;
    scroll-snap-align:none;
  }
}

/* Local brand mark. */
.wordmark.logo-mark{
  display:inline-flex;
  align-items:center;
  width:168px;
  max-width:38vw;
  height:52px;
  line-height:1;
}
.wordmark.logo-mark img{
  width:100%;
  height:auto;
  max-height:100%;
  object-fit:contain;
}
.footer-logo{
  width:190px;
  max-width:100%;
  height:58px;
}
@media(max-width:1100px){
  .wordmark.logo-mark{width:150px;height:48px}
}
@media(max-width:800px){
  .header>.wordmark.logo-mark{
    width:158px;
    height:50px;
  }
  .shop-header .wordmark.logo-mark{
    position:static;
    transform:none;
  }
}
@media(max-width:360px){
  .header>.wordmark.logo-mark{width:142px;height:46px}
}

