/** Shopify CDN: Minification failed

Line 418:75 Unexpected "}"

**/
/* =========================================================
   KASANOVA SKIN — brand layer on Dawn
   Black lid · Maroon label · Shiny gold band · Cream type
   ========================================================= */

:root {
  /* Venom-style palette — edit in Theme settings → Brand colors */
  --ks-accent: var(--ks-brand-accent, #a52338);
  --ks-accent-dark: var(--ks-brand-accent-dark, #730517);
  --ks-accent-light: var(--ks-brand-accent-light, #ffc3cd);
  --ks-accent-rgb: var(--ks-brand-accent-rgb, 165, 35, 56);
  --ks-tint: var(--ks-brand-tint, #fdf5f8);
  --ks-black: #000000;
  --ks-ink: #333333;
  --ks-maroon: var(--ks-accent);
  --ks-maroon-deep: var(--ks-accent-dark);
  --ks-cream: #ffffff;
  --ks-on-accent: #ffffff;
  --ks-gold: linear-gradient(98deg, var(--ks-accent) 10.89%, var(--ks-accent-dark) 108.35%);
  --ks-gold-1: var(--ks-accent-dark);
  --ks-gold-2: var(--ks-accent);
  --ks-gold-3: var(--ks-accent-light);
  --ks-gold-flat: var(--ks-accent);
  --ks-radius: 10px;
  --ks-radius-lg: 16px;
  --ks-pill: 999px;
  --ks-line: rgba(var(--color-foreground), 0.12);
}

/* ---------- utilities ---------- */
.ks-section { padding: var(--ks-pt, 64px) 0 var(--ks-pb, 64px); background: rgb(var(--color-background)); color: rgb(var(--color-foreground)); }
@media (max-width: 749px) { .ks-section { padding: calc(var(--ks-pt, 64px) * .7) 0 calc(var(--ks-pb, 64px) * .7); } }
.ks-wrap { max-width: var(--page-width); margin: 0 auto; padding: 0 1.6rem; }
@media (min-width: 750px) { .ks-wrap { padding: 0 5rem; } }
.ks-center { text-align: center; }
.ks-eyebrow { font-size: 1.2rem; letter-spacing: .32em; text-transform: uppercase; font-weight: 700; }
.ks-h2 { font-family: var(--font-heading-family); font-weight: var(--font-heading-weight); font-size: clamp(2.6rem, 4vw, 4rem); line-height: 1.12; margin: 0 0 1.2rem; letter-spacing: -.01em; }
.ks-sub { font-size: 1.6rem; line-height: 1.55; opacity: .78; max-width: 62rem; margin: 0 auto; }
.ks-gold-text { color: var(--ks-accent); }
.ks-gold-text--shine { }
.ks-gold-rule { display: block; width: 72px; height: 2px; background: var(--ks-gold); margin: 1.6rem auto; border: 0; }
.ks-gold-band { height: 2px; background: var(--ks-accent); }
@keyframes ks-shine { to { background-position: 200% center; } }

.ks-stars { display: inline-flex; gap: 2px; color: var(--ks-gold-2); vertical-align: middle; }
.ks-stars svg { width: 1.6rem; height: 1.6rem; fill: currentColor; }

/* ---------- buttons ---------- */
.ks-btn {
  position: relative; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; gap: .8rem;
  min-height: 5.6rem; padding: 0 3.2rem; border: 0; border-radius: var(--ks-radius); cursor: pointer;
  font-family: var(--font-heading-family); font-weight: 700; font-size: 1.6rem; letter-spacing: .02em; text-transform: none; text-decoration: none;
  background: var(--ks-accent); color: var(--ks-on-accent); border-radius: var(--ks-pill);
  box-shadow: 0 6px 18px rgba(var(--ks-accent-rgb), .25);
  transition: transform .15s ease, box-shadow .2s ease, background-position .6s ease;
}
.ks-btn:hover { background: var(--ks-accent-dark); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(var(--ks-accent-rgb), .35); }
.ks-btn::after { display: none; content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent); transform: skewX(-20deg); animation: ks-sweep 3.6s ease-in-out infinite; }
@keyframes ks-sweep { 0%, 60% { left: -60%; } 100% { left: 130%; } }
.ks-btn--block { width: 100%; }
.ks-btn--outline { background: transparent; color: rgb(var(--color-foreground)); box-shadow: inset 0 0 0 1.5px var(--ks-gold-2); }
.ks-btn--outline::after { display: none; }
.ks-btn[disabled] { opacity: .5; cursor: not-allowed; }
.ks-guarantee { display: flex; align-items: center; justify-content: center; gap: .8rem; margin-top: 1.4rem; font-size: 1.4rem; opacity: .85; }
.ks-guarantee svg { width: 2rem; height: 2rem; color: var(--ks-gold-2); }

/* ---------- placeholder fallback ---------- */
.ks-ph { background: rgba(var(--color-foreground), .06); display: block; width: 100%; height: 100%; }
.ks-ph svg { width: 100%; height: 100%; fill: rgba(var(--color-foreground), .3); }

/* =========================================================
   COUNTDOWN BAR
   ========================================================= */
.ks-countdown { text-align: center; padding: .8rem 1.6rem; font-weight: 700; }
.ks-countdown__top { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: .4rem 1.6rem; font-size: 1.4rem; letter-spacing: .08em; text-transform: uppercase; }
.ks-countdown__timer { display: inline-flex; align-items: center; gap: .4rem; }
.ks-countdown__unit { display: inline-flex; flex-direction: column; align-items: center; min-width: 3.4rem; }
.ks-countdown__num { font-size: 1.8rem; line-height: 1; background: #fff; color: var(--ks-black); border-radius: 4px; padding: .4rem .6rem; font-variant-numeric: tabular-nums; }
.ks-countdown__lbl { font-size: .9rem; letter-spacing: .1em; margin-top: .2rem; opacity: .8; }
.ks-countdown__sep { font-size: 1.8rem; margin-top: -1.2rem; }
.ks-countdown__bottom { font-size: 1.2rem; margin-top: .4rem; letter-spacing: .06em; opacity: .9; }
.ks-countdown a { color: inherit; text-decoration: none; }

/* =========================================================
   MAIN PRODUCT
   ========================================================= */
.ks-pdp { padding-top: 2.4rem; }
.ks-pdp__grid { display: grid; gap: 3.2rem; }
@media (min-width: 990px) { .ks-pdp__grid { grid-template-columns: 1.05fr 1fr; gap: 5.6rem; align-items: start; } .ks-pdp__media { position: sticky; top: 2rem; } }

.ks-gallery__main { position: relative; aspect-ratio: 1; border-radius: var(--ks-radius-lg); overflow: hidden; background: rgba(var(--color-foreground), .04); }
.ks-gallery__slide { position: absolute; inset: 0; opacity: 0; transition: opacity .35s ease; }
.ks-gallery__slide.is-active { opacity: 1; position: relative; }
.ks-gallery__slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-gallery__arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 4rem; height: 4rem; border-radius: 50%; border: 0; background: rgba(11,11,11,.7); color: var(--ks-cream); cursor: pointer; display: grid; place-items: center; z-index: 2; }
.ks-gallery__arrow--prev { left: 1.2rem; } .ks-gallery__arrow--next { right: 1.2rem; }
.ks-gallery__arrow svg { width: 1.6rem; height: 1.6rem; }
.ks-gallery__thumbs { display: flex; gap: .8rem; margin-top: 1.2rem; overflow-x: auto; scrollbar-width: none; }
.ks-gallery__thumbs::-webkit-scrollbar { display: none; }
.ks-gallery__thumb { flex: 0 0 7.2rem; aspect-ratio: 1; border-radius: 8px; overflow: hidden; border: 2px solid transparent; padding: 0; cursor: pointer; background: none; opacity: .65; transition: .2s; }
.ks-gallery__thumb.is-active { border-color: var(--ks-gold-2); opacity: 1; }
.ks-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ks-pdp__info > * + * { margin-top: 1.6rem; }
.ks-rating { display: flex; align-items: center; gap: .8rem; font-size: 1.4rem; }
.ks-rating strong { font-weight: 800; }
.ks-pdp__title { font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(2.8rem, 3.6vw, 3.8rem); line-height: 1.1; margin: .4rem 0 0; }
.ks-price { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; }
.ks-price__now { font-size: 2.6rem; font-weight: 800; }
.ks-price__was { font-size: 1.8rem; text-decoration: line-through; opacity: .5; }
.ks-badge { display: inline-flex; align-items: center; padding: .4rem 1rem; border-radius: 999px; font-size: 1.2rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; background: var(--ks-accent); color: var(--ks-on-accent); }
.ks-badge--maroon { background: var(--ks-maroon); color: var(--ks-cream); box-shadow: inset 0 0 0 1px rgba(var(--ks-accent-rgb),.6); }
.ks-pdp__desc { font-size: 1.6rem; line-height: 1.6; opacity: .85; }
.ks-ticks { list-style: none; padding: 0; margin: 0; display: grid; gap: .8rem; }
.ks-ticks li { display: flex; align-items: center; gap: 1rem; font-size: 1.5rem; font-weight: 600; }
.ks-ticks svg { flex: 0 0 2rem; width: 2rem; height: 2rem; color: var(--ks-gold-2); }
.ks-link-btn { display: inline-flex; align-items: center; gap: .6rem; background: none; border: 0; padding: 0; color: inherit; font-size: 1.4rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ks-link-btn svg { width: 1.8rem; height: 1.8rem; color: var(--ks-gold-2); }

.ks-urgency { display: flex; align-items: center; justify-content: center; gap: 1.2rem; font-size: 1.3rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin: 2.4rem 0 1.2rem; }
.ks-urgency::before, .ks-urgency::after { content: ""; flex: 1; height: 1px; background: var(--ks-gold); opacity: .7; }
.ks-urgency__dot { width: .8rem; height: .8rem; border-radius: 50%; background: #e0303b; box-shadow: 0 0 0 0 rgba(224,48,59,.6); animation: ks-pulse 1.6s infinite; }
@keyframes ks-pulse { 70% { box-shadow: 0 0 0 8px rgba(224,48,59,0); } 100% { box-shadow: 0 0 0 0 rgba(224,48,59,0); } }

/* bundle tiers */
.ks-tiers { display: grid; gap: 1.2rem; }
.ks-tier { position: relative; display: block; border-radius: var(--ks-radius); border: 1.5px solid var(--ks-line); background: rgba(var(--color-foreground), .03); cursor: pointer; transition: border-color .2s, background .2s; }
.ks-tier input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.ks-tier__head { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.2rem; padding: 1.6rem; }
.ks-tier__radio { width: 2.2rem; height: 2.2rem; border-radius: 50%; border: 2px solid rgba(var(--color-foreground), .4); display: grid; place-items: center; }
.ks-tier__radio::after { content: ""; width: 1.1rem; height: 1.1rem; border-radius: 50%; background: var(--ks-gold); transform: scale(0); transition: transform .2s; }
.ks-tier__title { font-weight: 800; font-size: 1.7rem; }
.ks-tier__per { font-size: 1.3rem; opacity: .75; margin-top: .2rem; }
.ks-tier__prices { text-align: right; }
.ks-tier__price { font-weight: 800; font-size: 1.8rem; display: block; }
.ks-tier__compare { font-size: 1.4rem; text-decoration: line-through; opacity: .5; }
.ks-tier__flag { position: absolute; top: -1.1rem; right: 1.6rem; }
.ks-tier__body { display: none; padding: 0 1.6rem 1.6rem; }
.ks-tier.is-selected { border-color: var(--ks-gold-2); background: rgba(var(--ks-accent-rgb), .05); box-shadow: 0 0 0 1px var(--ks-accent); }
.ks-tier.is-selected .ks-tier__radio { border-color: var(--ks-gold-2); }
.ks-tier.is-selected .ks-tier__radio::after { transform: scale(1); }
.ks-tier.is-selected .ks-tier__body { display: block; }
.ks-scent-row { display: grid; grid-template-columns: 4.4rem 1fr; align-items: center; gap: 1rem; margin-top: .8rem; }
.ks-scent-row__label { font-size: 1.2rem; font-weight: 700; opacity: .7; text-transform: uppercase; letter-spacing: .06em; }
.ks-scent-row__label.is-free { color: var(--ks-gold-2); opacity: 1; }
.ks-select { position: relative; }
.ks-select select { width: 100%; appearance: none; -webkit-appearance: none; border-radius: 8px; border: 1px solid var(--ks-line); background: rgb(var(--color-background)); color: rgb(var(--color-foreground)); font: inherit; font-size: 1.5rem; padding: 1.1rem 4rem 1.1rem 1.4rem; cursor: pointer; }
.ks-select::after { content: ""; position: absolute; right: 1.6rem; top: 50%; width: .8rem; height: .8rem; border-right: 2px solid var(--ks-gold-2); border-bottom: 2px solid var(--ks-gold-2); transform: translateY(-70%) rotate(45deg); pointer-events: none; }

.ks-atc { margin-top: 2rem; }
.ks-atc__error { color: #ff6b6b; font-size: 1.4rem; margin-top: .8rem; display: none; }
.ks-atc__error.is-visible { display: block; }
.ks-delivery { display: flex; align-items: center; justify-content: center; gap: .8rem; font-size: 1.4rem; margin-top: 1.2rem; }
.ks-delivery svg { width: 2rem; height: 2rem; color: var(--ks-gold-2); }
.ks-delivery strong { color: var(--ks-gold-2); }
.ks-notice { border: 1px dashed rgba(var(--ks-accent-rgb),.55); border-radius: var(--ks-radius); padding: 1.2rem 1.6rem; font-size: 1.4rem; text-align: center; }
.ks-notice strong { display: block; font-size: 1.5rem; margin-bottom: .2rem; }
.ks-returns { display: flex; align-items: center; gap: 1.2rem; font-size: 1.4rem; }
.ks-returns img, .ks-returns svg { width: 4rem; height: 4rem; flex: 0 0 4rem; color: var(--ks-gold-2); }
.ks-payment { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; list-style: none; padding: 0; margin: 1.2rem 0 0; }
.ks-payment svg { width: 3.8rem; height: 2.4rem; }

/* accordions */
.ks-acc { border-top: 1px solid var(--ks-line); }
.ks-acc:last-child { border-bottom: 1px solid var(--ks-line); }
.ks-acc summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding: 1.8rem 0; cursor: pointer; font-weight: 700; font-size: 1.6rem; }
.ks-acc summary::-webkit-details-marker { display: none; }
.ks-acc__icon { position: relative; width: 1.4rem; height: 1.4rem; flex: 0 0 1.4rem; }
.ks-acc__icon::before, .ks-acc__icon::after { content: ""; position: absolute; left: 0; top: 50%; width: 100%; height: 2px; background: var(--ks-gold-2); transition: transform .25s; }
.ks-acc__icon::after { transform: rotate(90deg); }
.ks-acc[open] .ks-acc__icon::after { transform: rotate(0); }
.ks-acc__body { padding: 0 0 1.8rem; font-size: 1.5rem; line-height: 1.65; opacity: .85; }
.ks-acc__body p:first-child { margin-top: 0; }

/* scent guide drawer */
.ks-drawer { position: fixed; inset: 0; z-index: 1000; visibility: hidden; }
.ks-drawer.is-open { visibility: visible; }
.ks-drawer__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); opacity: 0; transition: opacity .3s; }
.ks-drawer.is-open .ks-drawer__overlay { opacity: 1; }
.ks-drawer__panel { position: absolute; right: 0; top: 0; height: 100%; width: min(48rem, 100%); background: rgb(var(--color-background)); color: rgb(var(--color-foreground)); overflow-y: auto; transform: translateX(100%); transition: transform .35s ease; padding: 2.4rem; }
.ks-drawer.is-open .ks-drawer__panel { transform: none; }
.ks-drawer__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.6rem; }
.ks-drawer__head h4 { margin: 0; font-size: 2.2rem; }
.ks-drawer__close { background: none; border: 0; color: inherit; font-size: 2.8rem; cursor: pointer; line-height: 1; }
.ks-guide-item { display: grid; grid-template-columns: 8.8rem 1fr; gap: 1.4rem; align-items: center; padding: 1.4rem 0; border-bottom: 1px solid var(--ks-line); }
.ks-guide-item img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.ks-guide-item h5 { margin: 0 0 .4rem; font-size: 1.6rem; }
.ks-guide-item p { margin: 0; font-size: 1.4rem; opacity: .8; }

/* sticky ATC */
.ks-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: 1rem 1.6rem calc(1rem + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid rgba(0,0,0,.08); box-shadow: 0 -6px 20px rgba(0,0,0,.08); transform: translateY(110%); transition: transform .3s; display: flex; align-items: center; gap: 1.2rem; }
.ks-sticky.is-visible { transform: none; }
.ks-sticky__info { flex: 1; min-width: 0; color: var(--ks-ink); font-size: 1.3rem; }
.ks-sticky__info strong { display: block; font-size: 1.5rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ks-sticky .ks-btn { min-height: 4.8rem; padding: 0 2rem; font-size: 1.4rem; }

/* =========================================================
   SCENT CARDS (guide + match grid + bestsellers)
   ========================================================= */
.ks-cards { display: grid; gap: 1.6rem; grid-template-columns: repeat(var(--cols-m, 2), minmax(0, 1fr)); margin-top: 3.2rem; }
@media (min-width: 750px) { .ks-cards { grid-template-columns: repeat(var(--cols-t, 3), minmax(0, 1fr)); gap: 2rem; } }
@media (min-width: 990px) { .ks-cards { grid-template-columns: repeat(var(--cols-d, 4), minmax(0, 1fr)); } }
.ks-cards--scroll { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .4rem; }
.ks-cards--scroll::-webkit-scrollbar { display: none; }
.ks-cards--scroll > * { flex: 0 0 72%; scroll-snap-align: start; }
@media (min-width: 750px) { .ks-cards--scroll > * { flex-basis: 34%; } }
@media (min-width: 990px) { .ks-cards--scroll > * { flex-basis: calc((100% - 6rem) / 4); } }

.ks-card { position: relative; display: flex; flex-direction: column; border-radius: var(--ks-radius-lg); overflow: hidden; background: rgb(var(--color-background)); border: 1px solid var(--ks-line); color: inherit; text-decoration: none; transition: transform .25s, border-color .25s; }
.ks-card:hover { transform: translateY(-3px); border-color: rgba(var(--ks-accent-rgb),.6); }
.ks-card__media { position: relative; aspect-ratio: 1; overflow: hidden; background: var(--ks-tint); }
.ks-card__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
.ks-card:hover .ks-card__media img { transform: scale(1.04); }
.ks-card__flag { position: absolute; top: 1rem; left: 1rem; z-index: 1; }
.ks-card__body { padding: 1.6rem; display: flex; flex-direction: column; gap: .6rem; flex: 1; }
.ks-card__title { font-family: var(--font-heading-family); font-weight: 800; font-size: 1.8rem; margin: 0; }
.ks-card__text { font-size: 1.4rem; line-height: 1.5; opacity: .78; margin: 0; }
.ks-card__notes { display: flex; flex-wrap: wrap; gap: .4rem; }
.ks-card__note { font-size: 1.1rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: .3rem .8rem; border-radius: 999px; border: 1px solid rgba(var(--ks-accent-rgb),.5); color: var(--ks-gold-2); }
.ks-card__rating { font-size: 1.3rem; display: flex; align-items: center; gap: .6rem; opacity: .9; margin-top: auto; }
.ks-card__price { display: flex; align-items: baseline; gap: .8rem; font-weight: 800; font-size: 1.7rem; }
.ks-card__price s { font-weight: 400; opacity: .5; font-size: 1.4rem; }
.ks-card .ks-btn { min-height: 4.6rem; font-size: 1.3rem; padding: 0 1.6rem; margin-top: .8rem; }

/* =========================================================
   MARQUEES (UGC images + icon ticker)
   ========================================================= */
.ks-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.ks-marquee__track { display: flex; width: max-content; animation: ks-marquee var(--ks-speed, 40s) linear infinite; }
.ks-marquee:hover .ks-marquee__track { animation-play-state: paused; }
.ks-marquee--reverse .ks-marquee__track { animation-direction: reverse; }
@keyframes ks-marquee { to { transform: translateX(-50%); } }
.ks-ugc__item { flex: 0 0 auto; width: clamp(18rem, 22vw, 26rem); aspect-ratio: 4 / 5; margin-right: 1.2rem; border-radius: var(--ks-radius-lg); overflow: hidden; background: rgba(var(--color-foreground), .06); }
.ks-ugc__item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-ticker { padding: 1.6rem 0; }
.ks-ticker .ks-gold-text, .ks-ticker svg { color: currentColor; }
.ks-ticker .ks-ticker__sep { background: currentColor; }
.ks-ticker__item { display: inline-flex; align-items: center; gap: 1.2rem; margin-right: 4.8rem; font-weight: 800; font-size: 1.5rem; letter-spacing: .1em; text-transform: uppercase; white-space: nowrap; }
.ks-ticker__item img, .ks-ticker__item svg { width: 2.8rem; height: 2.8rem; object-fit: contain; color: var(--ks-gold-2); }
.ks-ticker__sep { width: .6rem; height: .6rem; transform: rotate(45deg); background: var(--ks-gold); margin-left: 4.8rem; }

/* =========================================================
   STATS / SOCIAL PROOF
   ========================================================= */
.ks-quotes { display: grid; gap: 1.2rem; margin: 3.2rem auto 0; max-width: 76rem; }
@media (min-width: 750px) { .ks-quotes { grid-template-columns: repeat(3, 1fr); } }
.ks-quote { border-radius: var(--ks-radius); padding: 1.6rem; font-style: italic; font-size: 1.5rem; line-height: 1.5; background: rgb(var(--color-background)); box-shadow: 0 4px 16px rgba(0,0,0,.05); border-left: 3px solid var(--ks-gold-2); }
.ks-stats { display: grid; gap: 2rem; margin: 4rem auto 0; max-width: 96rem; }
@media (min-width: 750px) { .ks-stats { grid-template-columns: repeat(3, 1fr); } }
.ks-stat { text-align: center; padding: 2.4rem 1.6rem; border-radius: var(--ks-radius-lg); background: rgb(var(--color-background)); box-shadow: 0 4px 16px rgba(0,0,0,.05); }
.ks-stat__num { font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(4.4rem, 6vw, 6.4rem); line-height: 1; }
.ks-stat__text { font-size: 1.5rem; line-height: 1.45; margin-top: 1rem; opacity: .85; }
.ks-cta-row { text-align: center; margin-top: 4rem; }

/* =========================================================
   FEATURES / BENEFITS
   ========================================================= */
.ks-features { display: grid; gap: 2rem; margin-top: 4rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 990px) { .ks-features { grid-template-columns: repeat(var(--cols-d, 4), minmax(0, 1fr)); } }
.ks-feature { text-align: center; padding: 2.4rem 1.6rem; border-radius: var(--ks-radius-lg); background: rgba(var(--color-foreground), .04); border: 1px solid var(--ks-line); }
.ks-feature__icon { width: 6.4rem; height: 6.4rem; margin: 0 auto 1.6rem; border-radius: 50%; display: grid; place-items: center; background: rgba(var(--ks-accent-rgb), .08); }
.ks-feature__icon img, .ks-feature__icon svg { width: 3rem; height: 3rem; object-fit: contain; color: var(--ks-gold-2); }
.ks-feature h4 { font-family: var(--font-heading-family); font-size: 1.8rem; margin: 0 0 .6rem; font-weight: 800; }
.ks-feature p { margin: 0; font-size: 1.4rem; line-height: 1.5; opacity: .78; }
.ks-imgrow { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; margin-top: 4rem; }
@media (min-width: 750px) { .ks-imgrow { grid-template-columns: repeat(4, 1fr); } }
.ks-imgrow > div { aspect-ratio: 1; border-radius: var(--ks-radius-lg); overflow: hidden; }
.ks-imgrow img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* =========================================================
   TESTIMONIALS
   ========================================================= */
.ks-testis { display: flex; gap: 1.6rem; overflow-x: auto; scroll-snap-type: x mandatory; margin-top: 3.2rem; padding-bottom: 1rem; scrollbar-width: none; }
.ks-testis::-webkit-scrollbar { display: none; }
.ks-testi { flex: 0 0 min(34rem, 84%); scroll-snap-align: start; border-radius: var(--ks-radius-lg); padding: 2.4rem; background: rgba(var(--color-foreground), .04); border: 1px solid var(--ks-line); display: flex; flex-direction: column; gap: 1.4rem; }
.ks-testi__rating { font-size: 1.3rem; display: flex; align-items: center; gap: .8rem; }
.ks-testi__quote { font-size: 1.6rem; line-height: 1.55; margin: 0; flex: 1; }
.ks-testi__who { display: flex; align-items: center; gap: 1.2rem; }
.ks-testi__who img, .ks-testi__avatar { width: 4.4rem; height: 4.4rem; border-radius: 50%; object-fit: cover; background: var(--ks-maroon); color: var(--ks-cream); display: grid; place-items: center; font-weight: 800; }
.ks-testi__name { font-weight: 800; font-size: 1.5rem; }
.ks-testi__verified { font-size: 1.2rem; color: var(--ks-gold-2); display: flex; align-items: center; gap: .4rem; }
.ks-testi__tags { display: flex; gap: .6rem; flex-wrap: wrap; }
.ks-award { display: flex; align-items: center; justify-content: center; gap: 1rem; margin-top: 2.4rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: 1.3rem; }
.ks-award svg, .ks-award img { width: 2.8rem; height: 2.8rem; color: var(--ks-gold-2); }
.ks-nav { display: flex; justify-content: center; gap: 1rem; margin-top: 1.6rem; }
.ks-nav button { width: 4.4rem; height: 4.4rem; border-radius: 50%; border: 1.5px solid rgba(var(--ks-accent-rgb),.6); background: none; color: inherit; cursor: pointer; display: grid; place-items: center; }
.ks-nav svg { width: 1.6rem; height: 1.6rem; }

/* =========================================================
   SPLIT / IMAGE + TEXT
   ========================================================= */
.ks-split { display: grid; gap: 3.2rem; align-items: center; }
@media (min-width: 990px) { .ks-split { grid-template-columns: 1fr 1fr; gap: 6.4rem; } .ks-split--reverse .ks-split__media { order: 2; } }
.ks-split__media { border-radius: var(--ks-radius-lg); overflow: hidden; }
.ks-split__media img { width: 100%; height: auto; display: block; }
.ks-split__text .ks-h2, .ks-split__text .ks-sub { text-align: left; margin-left: 0; }
.ks-split__text .ks-rte { font-size: 1.6rem; line-height: 1.65; opacity: .85; }
.ks-split__text .ks-btn { margin-top: 2.4rem; }
.ks-wide-img { margin-top: 3.2rem; border-radius: var(--ks-radius-lg); overflow: hidden; }
.ks-wide-img img { width: 100%; height: auto; display: block; }

/* =========================================================
   COMPARISON
   ========================================================= */
.ks-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; margin-top: 4rem; align-items: stretch; position: relative; }
@media (min-width: 990px) { .ks-compare { grid-template-columns: 1fr 26rem 1fr; gap: 2.4rem; } }
.ks-compare__col { border-radius: var(--ks-radius-lg); padding: 2.4rem 1.6rem; }
.ks-compare__col--us { background: var(--ks-gold); color: #fff; box-shadow: 0 18px 40px rgba(var(--ks-accent-rgb),.3); }
.ks-compare__col--them { background: rgba(var(--color-foreground), .05); border: 1px solid var(--ks-line); }
.ks-compare__head { text-align: center; margin-bottom: 2rem; }
.ks-compare__head img { max-height: 3.6rem; width: auto; margin: 0 auto; display: block; }
.ks-compare__head h3 { margin: 0; font-size: 2rem; font-weight: 800; }
.ks-compare__list { list-style: none; padding: 0; margin: 0; display: grid; gap: 1.6rem; }
.ks-compare__list li { display: flex; align-items: center; gap: 1rem; font-size: 1.45rem; font-weight: 600; line-height: 1.3; }
.ks-compare__list svg { flex: 0 0 2.4rem; width: 2.4rem; height: 2.4rem; }
.ks-compare__col--us svg { color: #fff; }
.ks-compare__col--us .ks-gold-text { color: #fff; }
.ks-compare__col--them svg { color: #c94848; }
.ks-compare__col--them li { opacity: .75; }
.ks-compare__product { display: none; }
@media (min-width: 990px) { .ks-compare__product { display: flex; align-items: center; justify-content: center; } .ks-compare__product img { width: 100%; height: auto; border-radius: var(--ks-radius-lg); } }

/* =========================================================
   FAQ
   ========================================================= */
.ks-faq { max-width: 82rem; margin: 3.2rem auto 0; }
.ks-faq .ks-acc { border-color: rgba(var(--ks-accent-rgb),.3); }
.ks-faq .ks-acc summary { font-size: 1.7rem; }

/* =========================================================
   REVIEWS
   ========================================================= */
.ks-reviews__summary { display: flex; align-items: center; justify-content: center; gap: 1.2rem; flex-wrap: wrap; margin-top: 1.6rem; font-size: 1.5rem; }
.ks-reviews__summary strong { font-size: 2.4rem; font-weight: 800; }
.ks-review-grid { columns: 2 16rem; column-gap: 1.2rem; margin-top: 3.2rem; }
@media (min-width: 990px) { .ks-review-grid { columns: 4; } }
.ks-review { break-inside: avoid; margin-bottom: 1.2rem; border-radius: var(--ks-radius-lg); overflow: hidden; background: rgba(var(--color-foreground), .04); border: 1px solid var(--ks-line); }
.ks-review img { width: 100%; height: auto; display: block; }
.ks-review__body { padding: 1.4rem; font-size: 1.4rem; line-height: 1.5; }
.ks-review__meta { display: flex; justify-content: space-between; align-items: center; margin-top: 1rem; font-size: 1.3rem; }
.ks-review__meta strong { font-weight: 800; }
.ks-reviews__app { margin-top: 3.2rem; }

/* =========================================================
   HERO / PROMO / TILES
   ========================================================= */
.ks-hero { position: relative; overflow: hidden; display: flex; align-items: var(--ks-v, center); min-height: var(--ks-h, 64rem); background: var(--ks-black); }
@media (max-width: 749px) { .ks-hero { min-height: var(--ks-hm, 56rem); align-items: flex-end; } }
.ks-hero__bg { position: absolute; inset: 0; }
.ks-hero__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-hero__bg--mobile { display: none; }
@media (max-width: 749px) { .ks-hero__bg--desktop.has-mobile { display: none; } .ks-hero__bg--mobile { display: block; } }
.ks-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(11,11,11,var(--ks-ov, .7)) 0%, rgba(11,11,11,calc(var(--ks-ov, .7) * .4)) 55%, transparent 100%); }
@media (max-width: 749px) { .ks-hero__bg::after { background: linear-gradient(0deg, rgba(11,11,11,.92) 0%, rgba(11,11,11,.5) 45%, transparent 75%); } }
.ks-hero__content { position: relative; z-index: 1; width: 100%; padding-top: 6rem; padding-bottom: 6rem; color: var(--ks-cream); }
.ks-hero__inner { max-width: 60rem; }
.ks-hero--center .ks-hero__inner { margin: 0 auto; text-align: center; }
.ks-hero--center .ks-rating { justify-content: center; }
.ks-hero h1 { font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(3.6rem, 6vw, 6.8rem); line-height: 1.02; margin: 1.6rem 0; letter-spacing: -.02em; color: var(--ks-cream); }
.ks-hero p { font-size: 1.8rem; line-height: 1.5; margin: 0 0 2.8rem; opacity: .88; }
.ks-hero__trust { display: flex; flex-wrap: wrap; gap: .8rem 2rem; margin-top: 2.4rem; font-size: 1.3rem; font-weight: 600; opacity: .9; }
.ks-hero--center .ks-hero__trust { justify-content: center; }
.ks-hero__trust span { display: inline-flex; align-items: center; gap: .6rem; }
.ks-hero__trust svg { width: 1.6rem; height: 1.6rem; color: var(--ks-gold-2); }

.ks-promo { position: relative; border-radius: var(--ks-radius-lg); overflow: hidden; display: grid; background: var(--ks-gold); color: #fff; }
.ks-promo .ks-gold-text { color: #fff; }
.ks-promo .ks-btn { background: #fff; color: var(--ks-accent); }
.ks-promo .ks-badge { background: #fff; color: var(--ks-accent); }
@media (min-width: 990px) { .ks-promo { grid-template-columns: 1fr 1fr; } }
.ks-promo__text { padding: 4.8rem 3.2rem; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; }
@media (min-width: 990px) { .ks-promo__text { padding: 6.4rem; } }
.ks-promo__title { font-family: var(--font-heading-family); font-weight: 800; font-size: clamp(3.2rem, 5vw, 5.6rem); line-height: 1; margin: 1.2rem 0; text-transform: uppercase; }
.ks-promo__offer { font-size: clamp(2.2rem, 3vw, 3rem); font-weight: 800; margin: 0 0 .8rem; }
.ks-promo__tag { font-size: 1.6rem; opacity: .85; margin: 0 0 2.8rem; }
.ks-promo__media { min-height: 32rem; position: relative; }
.ks-promo__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.ks-tiles { display: grid; gap: 1.2rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 3.2rem; }
@media (min-width: 750px) { .ks-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; } }
@media (min-width: 1200px) { .ks-tiles { grid-template-columns: repeat(var(--cols-d, 6), minmax(0, 1fr)); } }
.ks-tile { position: relative; display: block; aspect-ratio: 3 / 4; border-radius: var(--ks-radius-lg); overflow: hidden; color: var(--ks-cream); text-decoration: none; background: var(--ks-maroon-deep); }
.ks-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; display: block; }
.ks-tile:hover img { transform: scale(1.05); }
.ks-tile::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(11,11,11,.85), transparent 55%); }
.ks-tile__label { position: absolute; left: 1.4rem; right: 1.4rem; bottom: 1.4rem; z-index: 1; font-weight: 800; font-size: 1.6rem; display: flex; justify-content: space-between; align-items: center; gap: .8rem; }
.ks-tile__label svg { width: 1.6rem; height: 1.6rem; color: var(--ks-gold-2); flex: 0 0 1.6rem; }

.ks-tabs { display: flex; justify-content: center; gap: .8rem; flex-wrap: wrap; margin-top: 2.4rem; }
.ks-tab { border: 1.5px solid rgba(var(--ks-accent-rgb),.5); background: none; color: inherit; padding: 1rem 2rem; border-radius: 999px; font: inherit; font-weight: 700; font-size: 1.4rem; cursor: pointer; }
.ks-tab.is-active { background: var(--ks-accent); color: var(--ks-on-accent); border-color: transparent; }
.ks-tabpanel[hidden] { display: none; }

/* =========================================================
   NEWSLETTER
   ========================================================= */
.ks-news { text-align: center; }
.ks-news__form { display: flex; gap: .8rem; max-width: 52rem; margin: 2.4rem auto 0; }
.ks-news__form input { flex: 1; min-width: 0; height: 5.6rem; border-radius: var(--ks-radius); border: 1px solid rgba(var(--ks-accent-rgb),.5); background: rgba(var(--color-foreground), .05); color: inherit; padding: 0 1.6rem; font: inherit; font-size: 1.5rem; }
.ks-news__form input::placeholder { color: rgba(var(--color-foreground), .55); letter-spacing: .08em; text-transform: uppercase; font-size: 1.3rem; }
.ks-news__msg { margin-top: 1.2rem; font-size: 1.4rem; color: var(--ks-gold-2); }
@media (max-width: 549px) { .ks-news__form { flex-direction: column; } }

/* =========================================================
   DAWN OVERRIDES — header, footer, cart
   ========================================================= */
.button:not(.button--secondary):not(.button--tertiary), .shopify-payment-button__button--unbranded { background: var(--ks-accent) !important; color: var(--ks-on-accent) !important; font-weight: 700; border-radius: var(--ks-pill); }
.button::after, .button::before { box-shadow: none !important; }
.cart-count-bubble { background: var(--ks-accent) !important; color: #fff !important; }
h1, h2, h3, .h0, .h1, .h2 { letter-spacing: -.01em; }

@media (prefers-reduced-motion: reduce) {
  .ks-marquee__track, .ks-btn::after, .ks-gold-band, .ks-gold-text--shine, }

/* hero studio fallback (no photo) */
.ks-hero__studio { position: absolute; inset: 0; background: radial-gradient(60% 70% at 72% 55%, #ffffff 0%, var(--ks-tint) 45%, var(--ks-accent-light) 130%); }

.ks-hero__jar { position: absolute; z-index: 0; right: 4%; top: 50%; width: min(46vw, 64rem); transform: translateY(-46%); filter: drop-shadow(0 30px 40px rgba(0,0,0,.25)); }
.ks-hero__jar::before { content: ""; position: absolute; inset: 8% 10%; border-radius: 50%; background: radial-gradient(closest-side, rgba(var(--ks-accent-rgb),.28), transparent); filter: blur(30px); z-index: -1; }
.ks-hero__jar img { width: 100%; height: auto; display: block; animation: ks-float 6s ease-in-out infinite; }
@keyframes ks-float { 50% { transform: translateY(-10px); } }
@media (max-width: 749px) {
  .ks-hero__jar { width: 86vw; right: 7vw; top: 6%; transform: none; }
  .ks-hero__studio { background: radial-gradient(80% 50% at 50% 28%, rgba(122,32,40,.95) 0%, rgba(var(--ks-accent-rgb),.85) 40%, #0b0b0b 85%); }
}
.ks-promo__media img.is-jar { object-fit: contain; padding: 3.2rem; filter: drop-shadow(0 30px 40px rgba(0,0,0,.55)); }
.ks-promo__media { background: radial-gradient(closest-side, rgba(var(--ks-accent-rgb),.18), transparent); }
.ks-compare__product img { filter: drop-shadow(0 30px 40px rgba(0,0,0,.5)); }

/* studio hero = light; flip text dark when no photo */
.ks-hero--studio .ks-hero__content, .ks-hero--studio h1 { color: var(--ks-ink); }
.ks-hero--studio .ks-hero__bg::after { display: none; }

/* =========================================================
   VENOM-STYLE HERO BANNER
   ========================================================= */
.ks-vhero { position: relative; background: #0b0304 var(--ks-hero-desk) right center / cover no-repeat; color: #fff; padding: var(--ks-vh-pad, 152px) 0; font-family: 'Inter', var(--font-body-family), sans-serif; }
.ks-vhero__link { position: absolute; inset: 0; z-index: 2; }
.ks-vhero__container { max-width: 1500px; margin: 0 auto; padding: 0 20px; }
@media (min-width: 990px) { .ks-vhero__container { padding: 0 40px; } }
.ks-vhero__content { max-width: 700px; position: relative; z-index: 3; pointer-events: none; }
.ks-vhero__content a, .ks-vhero__content button { pointer-events: auto; }
.ks-vhero__rating { display: inline-flex; align-items: center; gap: 15px; background: rgba(255,255,255,.1); border-radius: 5px; padding: 6px 12px; font-size: 1.82rem; font-weight: 500; line-height: 1.45; }
.ks-vhero__stars { display: inline-flex; gap: 3px; }
.ks-vhero__stars svg { width: 1.7rem; height: 1.6rem; fill: #fff; }
.ks-vhero__title { font-family: 'Instrument Serif', 'Times New Roman', serif; font-weight: 400; font-size: var(--ks-vh-title, 82px); line-height: 1.05; letter-spacing: .01em; margin: 2.4rem 0 1.6rem; color: inherit; transform: scaleY(1.08); transform-origin: left top; }
.ks-vhero__desc { font-size: 1.82rem; line-height: 1.3; margin: 0 0 2.6rem; color: inherit; }
.ks-vhero__chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 0; }
.ks-vhero__chip { display: inline-flex; align-items: center; gap: 8px; background: #fff; color: #333; border-radius: 99px; padding: 8px 14px 8px 12px; font-size: 1.6rem; line-height: 1.6; }
.ks-vhero__chip svg { width: 2rem; height: 2rem; fill: var(--ks-accent); flex: 0 0 2rem; }
.ks-vhero__btn { margin-top: 2.8rem; }
.ks-vhero--dark-text { color: #111; }
.ks-vhero--dark-text .ks-vhero__rating { background: rgba(0,0,0,.06); }
.ks-vhero--dark-text .ks-vhero__stars svg { fill: var(--ks-accent); }
@media (max-width: 749px) {
  .ks-vhero { background-image: var(--ks-hero-mob); background-position: center bottom; padding: 40px 0 0; min-height: 132vw; }
  .ks-vhero__rating { font-size: 1.4rem; gap: 10px; }
  .ks-vhero__stars svg { width: 1.3rem; height: 1.2rem; }
  .ks-vhero__title { font-size: clamp(4.4rem, 12vw, 6rem); margin: 1.6rem 0 1rem; }
  .ks-vhero__desc { font-size: 1.5rem; margin-bottom: 1.8rem; }
  .ks-vhero__chip { font-size: 1.3rem; padding: 6px 12px 6px 9px; }
  .ks-vhero__chip svg { width: 1.6rem; height: 1.6rem; flex-basis: 1.6rem; }
}
@media (min-width: 750px) and (max-width: 1199px) { .ks-vhero__title { font-size: calc(var(--ks-vh-title, 82px) * .75); } .ks-vhero__content { max-width: 52%; } }
@media (max-width: 749px) {
  .ks-vhero { min-height: 0; background-color: #050203; background-size: 100% auto; background-position: center bottom; padding: 36px 0 104vw; }
}
