/* v43 — conservative polish. No transforms/filters that fight existing layout. */
html{scroll-behavior:smooth}
*{ -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }
img{content-visibility:auto}

/* On touch/mobile devices, disable heavy continuous stage animations that cause vibration/jank */
@media (hover:none),(pointer:coarse),(max-width:680px){
  .hs-main,.hs-a,.hs-b,.hs-badge{animation:none !important}
  .orb{animation-duration:18s !important;opacity:.35}
  .rev-track{animation-duration:120s !important}
}
/* Respect reduced motion */
@media (prefers-reduced-motion:reduce){
  .hs-main,.hs-a,.hs-b,.hs-badge,.orb,.k-dot,.hlr-dot,.rev-track{animation:none !important}
}

/* ── HERO: text + CTA polish only. Touch NOTHING on .hero-img, .hs-card, or transforms. ── */
.hero{background:radial-gradient(1300px 800px at 72% 28%,#661a27 0%,#4a121d 28%,var(--maroon-deep) 55%,#1e060b 100%)}
.hero-kicker{
  border-color:rgba(212,175,90,.45);
  background:rgba(185,138,47,.12);
  margin-bottom:26px;
}
.k-dot{width:5px;height:5px;border-radius:50%;background:var(--gold-2);display:inline-block;box-shadow:0 0 8px var(--gold-2);animation:dotPulse 1.8s ease-in-out infinite}
.k-dot:last-child{animation-delay:.9s}
@keyframes dotPulse{0%,100%{opacity:.4;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}

.hero-title{letter-spacing:-.02em;text-shadow:0 4px 24px rgba(0,0,0,.4)}
.hero-sub{line-height:1.65;color:rgba(246,232,200,.82);margin-top:20px;margin-bottom:24px}
.hero-sub b{color:#f3dfae;font-weight:500}

/* Live rate pill */
.hero-live-rate{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(185,138,47,.12);border:1px solid rgba(212,175,90,.3);
  padding:9px 16px;border-radius:40px;margin-bottom:24px;
}
.hlr-dot{width:8px;height:8px;border-radius:50%;background:#5bd97f;animation:livePulse 2s infinite}
@keyframes livePulse{0%{box-shadow:0 0 0 0 rgba(91,217,127,.7)}70%{box-shadow:0 0 0 10px rgba(91,217,127,0)}100%{box-shadow:0 0 0 0 rgba(91,217,127,0)}}
.hlr-label{font-family:var(--ff-label);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:rgba(246,232,200,.65)}
.hlr-price{font-family:var(--ff-disp);font-size:22px;color:#fdf3dd;line-height:1}
.hlr-price small{font-size:12px;font-weight:400;color:rgba(246,232,200,.6);margin-left:2px}
.hlr-note{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2);border-left:1px solid rgba(212,175,90,.25);padding-left:10px}

/* CTA */
.hero-cta{gap:14px}
.hero-cta .btn-gold{box-shadow:0 12px 32px rgba(185,138,47,.42),inset 0 1px 0 rgba(255,248,234,.3)}
.hero-cta .btn-light{background:rgba(253,243,221,.08);border-color:rgba(246,232,200,.28);color:#fdf3dd}
.hero-cta .btn-light:hover{background:rgba(253,243,221,.15);border-color:var(--gold-2);color:#fff}
.hero-trust a,.hero-trust span{display:inline-flex;align-items:center;gap:6px}
.ht-ic{color:var(--gold-2);font-size:12px}
.cta-arrow{margin-left:8px;transition:transform .3s}
.hero-cta .btn-gold:hover .cta-arrow{transform:translateX(4px)}

/* Hero tag on main card */
.hs-tag{
  position:absolute;top:16px;left:16px;z-index:3;
  background:rgba(250,246,239,.95);padding:7px 14px;border-radius:30px;
  font-family:var(--ff-label);font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--maroon);box-shadow:0 10px 24px rgba(0,0,0,.28);
}

/* ── CAROUSEL: only subtle text/dot polish. No image transforms, no new keyframes on slides. ── */
.c-body{max-width:680px;padding:60px max(6vw,48px)}
.c-body .label{
  display:inline-block;margin-bottom:14px;padding:7px 14px;border-radius:30px;
  background:rgba(255,255,255,.06);border:1px solid rgba(212,175,90,.3);
}
.c-body h3{
  font-size:clamp(32px,4.6vw,56px);line-height:1.06;letter-spacing:-.005em;
  text-shadow:0 6px 28px rgba(0,0,0,.55);
}
.c-body p{font-size:16px;max-width:520px;line-height:1.65}
.c-dots{bottom:26px;gap:8px}
.c-dots button{
  width:28px;height:3px;border-radius:2px;background:rgba(250,246,239,.3);
  border:none;cursor:pointer;transition:.4s;
}
.c-dots button.on{background:var(--gold-2);width:40px;box-shadow:0 0 10px rgba(212,175,90,.55)}
.c-arrow{
  width:50px;height:50px;opacity:0;transition:opacity .3s,transform .3s;
  backdrop-filter:blur(4px);
}
.carousel:hover .c-arrow{opacity:1}
.c-arrow.c-prev{left:20px}.c-arrow.c-next{right:20px}
/* gentle copy reveal on active slide */
.c-body{opacity:0;transform:translateY(14px);transition:opacity .7s .1s ease,transform .7s .1s ease}
.c-slide.is-active .c-body{opacity:1;transform:none}

/* ── UGC / Worn-by-you responsive ── */
@media(min-width:1080px){.ugc-wall{grid-template-columns:repeat(5,1fr);gap:16px}}
@media(min-width:760px) and (max-width:1079px){.ugc-wall{grid-template-columns:repeat(3,1fr);gap:14px}}
@media(max-width:759px){
  .ugc-wall{
    display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding:4px 16px 16px;margin:0 -16px;
    -webkit-overflow-scrolling:touch;scrollbar-width:none;
  }
  .ugc-wall::-webkit-scrollbar{display:none}
  .ugc-card{flex:0 0 72%;max-width:280px;scroll-snap-align:start}
}

/* ── B2B Design Selection light polish (no transform/filter changes that break mobile) ── */
.ds-wrap{
  background:linear-gradient(180deg,#fffdf8,#faf3df);
  border:1px solid var(--gold-soft);border-radius:24px;
  box-shadow:0 18px 48px rgba(61,14,21,.08),inset 0 1px 0 rgba(255,255,255,.8);
}
.ds-head h2{font-family:var(--ff-disp)!important;font-size:32px!important;color:var(--maroon-deep);margin:6px 0 4px}
.ds-total{
  background:linear-gradient(135deg,#5c1822,var(--maroon-deep));
  border:1px solid rgba(212,175,90,.2);border-radius:14px;
  box-shadow:0 14px 34px rgba(61,14,21,.2),inset 0 1px 0 rgba(255,255,255,.1);
}
.ds-total b{background:linear-gradient(104deg,#f9e3a8,#fff8df 50%,#e8c877);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.ds-card{border:1px solid var(--line)!important;border-radius:14px!important;transition:border-color .25s,box-shadow .25s!important;box-shadow:0 2px 8px rgba(61,14,21,.05)!important}
.ds-card:hover{border-color:var(--gold-soft)!important;box-shadow:0 14px 30px rgba(61,14,21,.1)!important}
.ds-card.on{border-color:var(--gold)!important;box-shadow:0 8px 22px rgba(185,138,47,.15)!important}
.ds-card b{font-family:var(--ff-disp)!important;font-size:14px!important;color:var(--maroon-deep);display:block;line-height:1.25}
.ds-card small{font-size:10.5px!important;color:var(--ink-3)}
.ds-wt{
  position:absolute;top:10px;right:10px;z-index:2;
  background:rgba(250,246,239,.94);padding:4px 9px;border-radius:14px;
  font-family:var(--ff-label);font-size:9px;letter-spacing:.1em;color:var(--maroon);
  box-shadow:0 4px 10px rgba(0,0,0,.1);
}
@media(max-width:680px){
  .ds-wrap{padding:18px 12px;border-radius:18px}
  .ds-grid{gap:10px}
  .ds-card{padding:8px!important}
  .ds-card b{font-size:12.5px!important}
  .ds-card small{font-size:9.5px!important}
  .ds-qty button{width:30px;height:30px;font-size:14px}
  .ds-qty span{min-width:28px;font-size:13px}
}

/* ── Dead-stock small additions ── */
.ds-rate-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;font-family:var(--ff-label);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:rgba(246,232,200,.7)}
.ds-rate-row b{color:#ffe9bd;font-size:11px;font-weight:500;margin-left:4px;letter-spacing:.02em}
.ds-note-box{background:rgba(185,138,47,.08);border:1px dashed var(--gold);border-radius:12px;padding:12px 14px;font-size:12.5px;color:var(--ink-2);line-height:1.55;margin:12px 0}
.ds-note-box b{color:var(--maroon)}

/* ── Gift Concierge auto-advance hint ── */
.gc-next-hint{font-family:var(--ff-label);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);text-align:center;margin-top:10px}

/* ── Mobile hero ── */
@media(max-width:680px){
  .hero{min-height:auto;padding-bottom:30px}
  .hero-live-rate{padding:8px 12px;gap:8px;flex-wrap:wrap;justify-content:center}
  .hlr-price{font-size:20px}
  .hlr-note{border-left:none;padding-left:0;width:100%;text-align:center;border-top:1px solid rgba(212,175,90,.2);padding-top:4px;margin-top:2px}
  .hero-cta{flex-direction:column;gap:10px}
  .hero-cta .btn{width:100%;justify-content:center}
  .hstat b{font-size:22px}
  .c-slide{min-height:440px}
  .c-body{padding:28px 20px}
  .c-body h3{font-size:clamp(26px,8vw,36px)}
  .c-arrow{width:40px;height:40px;font-size:18px;opacity:.9}.c-prev{left:8px}.c-next{right:8px}
  .c-dots{bottom:18px}
}
