/** Shopify CDN: Minification failed

Line 581:2 Unexpected "radial-gradient("

**/
/* ==========================================================================
   Scrubmission Dark — theme.css
   ========================================================================== */

/* ---------- Reset & base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
body {
  margin: 0;
  background: var(--c-bg);
  color: var(--c-text);
  font-family: var(--font-body);
  font-weight: var(--font-body-weight);
  font-style: var(--font-body-style);
  font-size: calc(1rem * var(--body-scale));
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}
html, body { overflow-x: clip; }
body.is-locked { overflow: hidden; }
img, video, svg { max-width: 100%; display: block; }
img { height: auto; }
a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; }
input, select, textarea { font: inherit; color: inherit; }
ul, ol { margin: 0; padding: 0; list-style: none; }
p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }
h1, h2, h3, h4, .h1, .h2, .h3 {
  font-family: var(--font-heading);
  font-weight: var(--font-heading-weight);
  font-style: var(--font-heading-style);
  text-transform: var(--heading-transform);
  line-height: 1.02;
  letter-spacing: .01em;
  margin: 0 0 .4em;
}
.h1 { font-size: calc(clamp(2.4rem, 5.2vw, 4.4rem) * var(--heading-scale)); }
.h2 { font-size: calc(clamp(2rem, 4.2vw, 3.4rem) * var(--heading-scale)); }
.h3 { font-size: calc(clamp(1.25rem, 1.8vw, 1.6rem) * var(--heading-scale)); letter-spacing: .02em; }
::selection { background: var(--c-accent); color: var(--c-accent-text); }
:focus-visible { outline: 2px solid var(--c-accent); outline-offset: 3px; border-radius: 4px; }

.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link:focus { position: fixed !important; top: 10px; left: 10px; width: auto; height: auto; clip: auto; z-index: 999; background: var(--c-accent); color: var(--c-accent-text); padding: .6rem 1rem; border-radius: 8px; }

.container { width: 100%; max-width: var(--page-width); margin: 0 auto; padding: 0 clamp(16px, 4vw, 40px); }
.container--narrow { max-width: 880px; }
.section-pad { padding: clamp(64px, 9vw, 120px) 0; }
.section-pad-sm { padding: clamp(40px, 6vw, 72px) 0; }
.center { text-align: center; }
.muted { color: var(--c-muted); }
.small { font-size: .875rem; }
.lead { font-size: 1.125rem; }
.mt { margin-top: 1.25rem; }
.mt-lg { margin-top: 2.5rem; }
.sale-text { color: var(--c-sale); }
.placeholder { width: 100%; height: 100%; fill: rgba(var(--c-text-rgb), .12); background: var(--c-surface); }

/* Rich text */
.rte a { color: var(--c-accent); text-decoration: underline; text-underline-offset: 3px; }
.rte ul { list-style: disc; padding-left: 1.2em; margin-bottom: 1em; }
.rte ol { list-style: decimal; padding-left: 1.2em; margin-bottom: 1em; }
.rte li { margin-bottom: .35em; }
.rte h2, .rte h3, .rte h4 { margin-top: 1.6em; }
.rte h2 { font-size: 2rem; } .rte h3 { font-size: 1.5rem; } .rte h4 { font-size: 1.2rem; }
.rte img { border-radius: var(--radius); margin: 1.5em 0; }
.rte blockquote { border-left: 3px solid var(--c-accent); margin: 1.5em 0; padding: .4em 0 .4em 1.2em; font-size: 1.15rem; }
.rte table { width: 100%; border-collapse: collapse; margin: 1.5em 0; }
.rte td, .rte th { border: 1px solid var(--c-border); padding: .6em .8em; }

/* ---------- Belt stripe (BJJ ranks) ---------- */
.belt { display: var(--belt-display); gap: 3px; margin: .6rem 0 1.1rem; }
.belt i { display: block; width: 22px; height: 5px; border-radius: 2px; }
.belt i:nth-child(1) { background: #f3ead8; }
.belt i:nth-child(2) { background: #2f67d0; }
.belt i:nth-child(3) { background: #7d4cc2; }
.belt i:nth-child(4) { background: #7b4a28; }
.belt i:nth-child(5) { background: linear-gradient(90deg, #000 0 60%, #c3272b 60% 85%, #000 85%); box-shadow: inset 0 0 0 1px rgba(var(--c-text-rgb), .25); }
.section-heading--center .belt, .center .belt { justify-content: center; }

/* ---------- Section headings ---------- */
.section-heading { max-width: 760px; margin: 0 auto clamp(32px, 5vw, 56px); }
.section-heading--center { text-align: center; }
.section-heading--left { margin-left: 0; }
.section-heading .h2 { margin-bottom: 0; }
.section-heading__sub { color: var(--c-muted); font-size: 1.075rem; }
.eyebrow {
  font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: var(--c-accent); margin: 0 0 .8rem;
}
.split-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; margin-bottom: clamp(24px, 4vw, 48px); }
.split-head .section-heading { margin-bottom: 0; }

/* ---------- Buttons ---------- */
.btn {
  --btn-bg: transparent; --btn-fg: var(--c-text); --btn-bd: transparent;
  display: inline-flex; align-items: center; justify-content: center; gap: .5rem;
  min-height: 48px; padding: .8rem 1.5rem;
  border-radius: var(--radius-btn); border: 1.5px solid var(--btn-bd);
  background: var(--btn-bg); color: var(--btn-fg);
  font-family: var(--font-heading); font-weight: var(--font-heading-weight);
  text-transform: uppercase; letter-spacing: .08em; font-size: .95rem; line-height: 1;
  transition: transform .2s ease, background-color .2s, box-shadow .2s, color .2s, border-color .2s;
  white-space: nowrap; text-align: center;
}
.btn:hover { transform: none; }
.btn:active { transform: translateY(0); }
.btn[disabled] { opacity: .5; pointer-events: none; }
.btn--accent { --btn-bg: var(--c-accent); --btn-fg: var(--c-accent-text); }
.btn--accent:hover { --btn-bg: var(--c-text); --btn-fg: var(--c-bg); }
.btn--outline { --btn-bd: rgba(var(--c-text-rgb), .28); }
.btn--outline:hover { --btn-bd: var(--c-text); }
.btn--ghost { --btn-bd: rgba(var(--c-text-rgb), .5); }
.btn--ghost:hover { --btn-bd: var(--c-text); --btn-bg: var(--c-text); --btn-fg: var(--c-bg); }
.btn--block { width: 100%; }
.btn--lg { min-height: 58px; font-size: 1.05rem; padding: 1rem 2rem; }
.btn--small { min-height: 38px; padding: .5rem .95rem; font-size: .8rem; }
.btn--icon { width: 44px; min-height: 44px; height: 44px; padding: 0; }
.link-btn { background: none; border: 0; padding: 0; text-decoration: underline; text-underline-offset: 3px; color: var(--c-muted); }
.link-btn:hover { color: var(--c-text); }
.link-back { display: inline-flex; align-items: center; gap: .3rem; color: var(--c-muted); margin-bottom: 1rem; }

/* ---------- Badges, pills, price, rating ---------- */
.badge { display: inline-flex; align-items: center; padding: .28rem .6rem; border-radius: var(--radius-btn); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; background: var(--c-text); color: var(--c-bg); }
.badge--sale { background: var(--c-sale); color: #0b0c09; }
.pill {
  display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 42px; min-width: 52px; padding: .45rem 1rem;
  border: 1px solid var(--c-border); border-radius: var(--radius-btn); background: transparent;
  font-size: .9rem; font-weight: 700; cursor: pointer; transition: border-color .2s, background .2s, color .2s;
  display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; padding: .45rem 1rem;
  border: 1.5px solid var(--c-border); border-radius: var(--radius-btn); background: var(--c-surface);
  font-size: .9rem; font-weight: 600; cursor: pointer; transition: border-color .2s, background .2s, color .2s;
}
.pill:hover { border-color: rgba(var(--c-text-rgb), .5); }
.pill.is-active, input:checked + .pill { border-color: var(--c-text); background: var(--c-text); color: var(--c-bg); }
input:focus-visible + .pill { outline: 2px solid var(--c-accent); outline-offset: 2px; }
.price { display: flex; align-items: baseline; flex-wrap: wrap; gap: .5rem; font-weight: 700; font-size: 1.05rem; }
.price__compare { color: var(--c-muted); font-weight: 500; font-size: .9em; }
.price__from { font-weight: 500; font-size: .8em; color: var(--c-muted); }
.rating { display: inline-flex; align-items: center; gap: .5rem; font-size: .82rem; color: var(--c-muted); }
.rating__stars { position: relative; display: inline-flex; line-height: 0; }
.rating__base, .rating__fill { display: inline-flex; gap: 1px; }
.rating__base { color: rgba(var(--c-text-rgb), .2); }
.rating__fill { position: absolute; inset: 0; color: var(--c-star); width: var(--pct); overflow: hidden; }

/* ---------- Announcement ---------- */
.announce { background: var(--c-surface-2); color: var(--c-text); font-size: .8rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border-bottom: 1px solid var(--c-border); }
.announce__inner { position: relative; height: 38px; display: grid; grid-template-columns: minmax(0, 1fr); place-items: center; overflow: hidden; }
.announce__item { grid-area: 1 / 1; margin: 0; opacity: 0; transform: translateY(8px); transition: opacity .45s, transform .45s; text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.announce__item.is-active { opacity: 1; transform: none; }
.announce a:hover { color: var(--c-accent); }

/* ---------- Header ---------- */
.section-header { position: sticky; top: 0; z-index: 50; }
.header { display: block; background: rgba(var(--c-bg-rgb), .92); backdrop-filter: saturate(140%) blur(14px); border-bottom: 1px solid var(--c-border); transition: background .3s, border-color .3s, transform .35s; }
.header--transparent:not(.is-scrolled) { background: transparent; border-color: transparent; backdrop-filter: none; }
.template-index .section-header { position: fixed; left: 0; right: 0; top: var(--announce-h, 38px); }
.template-index .section-header.is-stuck { top: 0; }
.header.is-hidden { transform: translateY(-100%); }
.header__inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1.5rem; height: 72px; }
.header__logo { display: inline-flex; align-items: center; }
.header__logo-img { max-height: 52px; width: auto; }
.header__wordmark { font-family: var(--font-heading); font-weight: var(--font-heading-weight); text-transform: uppercase; letter-spacing: .12em; font-size: 1.35rem; }
.header__nav { justify-self: center; }
.nav { display: flex; gap: .25rem; }
.nav__item { position: relative; }
.nav__link { display: inline-flex; align-items: center; gap: .3rem; padding: .6rem .9rem; font-weight: 600; font-size: .92rem; letter-spacing: .04em; border-radius: var(--radius-btn); transition: background .2s, color .2s; }
.nav__link:hover, .nav__link.is-active { color: var(--c-accent); }
.nav__sub { position: absolute; top: 100%; left: 0; min-width: 220px; padding: .6rem; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: 0 30px 60px -20px rgba(0,0,0,.7); opacity: 0; visibility: hidden; transform: translateY(6px); transition: .2s; }
.nav__item--has-sub:hover .nav__sub, .nav__item--has-sub:focus-within .nav__sub { opacity: 1; visibility: visible; transform: none; }
.nav__sub a { display: block; padding: .55rem .8rem; border-radius: 8px; font-size: .92rem; }
.nav__sub a:hover { background: var(--c-surface-2); color: var(--c-accent); }
.header__icons { display: flex; align-items: center; gap: .25rem; justify-self: end; }
.header__icon { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; background: none; border: 0; transition: color .2s; }
.header__icon:hover { color: var(--c-accent); }
.header__burger { display: none; }
.cart-count { position: absolute; top: 3px; right: 1px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: var(--radius-btn); background: var(--c-accent); color: var(--c-accent-text); font-size: .7rem; font-weight: 800; display: grid; place-items: center; transition: transform .3s cubic-bezier(.3,1.6,.5,1); }
.cart-count.is-empty { transform: scale(0); }
.cart-count.is-bump { animation: bump .5s; }
@keyframes bump { 40% { transform: scale(1.45); } }

.search-bar { border-top: 1px solid var(--c-border); background: var(--c-bg); }
.search-bar__form { display: flex; align-items: center; gap: .75rem; height: 64px; }
.search-bar__form input { flex: 1; background: none; border: 0; font-size: 1.15rem; outline: none; }
.search-bar__results:not(:empty) { padding-bottom: 1.25rem; }
.predictive { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .6rem; }
.predictive a { display: flex; align-items: center; gap: .8rem; padding: .5rem; border-radius: 10px; background: var(--c-surface); }
.predictive a:hover { background: var(--c-surface-2); }
.predictive img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; }

@media (max-width: 989px) {
  .header__nav { display: none; }
  .header__burger { display: inline-grid; }
  .header__inner { grid-template-columns: 1fr auto 1fr; height: 62px; gap: .5rem; }
  .header__logo { justify-self: center; }
  .header__logo-img { max-height: 42px; }
  .header__icon--account { display: none; }
}

/* ---------- Drawers ---------- */
.drawer { position: fixed; inset: 0; z-index: 100; visibility: hidden; }
.drawer.is-open { visibility: visible; }
.drawer__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.6); opacity: 0; transition: opacity .3s; backdrop-filter: blur(2px); }
.drawer.is-open .drawer__overlay { opacity: 1; }
.drawer__panel { position: absolute; top: 0; bottom: 0; width: min(440px, 92vw); background: var(--c-bg); border-left: 1px solid var(--c-border); display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem; overflow-y: auto; transition: transform .38s cubic-bezier(.2,.8,.2,1); }
.drawer--right .drawer__panel { right: 0; transform: translateX(100%); }
.drawer--left .drawer__panel { left: 0; transform: translateX(-100%); border-left: 0; border-right: 1px solid var(--c-border); }
.drawer.is-open .drawer__panel { transform: none; }
.drawer__head { display: flex; align-items: center; justify-content: space-between; }
.drawer__head .h3 { margin: 0; }
.mobile-nav > li { border-bottom: 1px solid var(--c-border); }
.mobile-nav a, .mobile-nav summary { display: flex; justify-content: space-between; align-items: center; padding: 1rem 0; font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .05em; font-size: 1.3rem; cursor: pointer; list-style: none; }
.mobile-nav summary::-webkit-details-marker { display: none; }
.mobile-nav details ul a { font-family: var(--font-body); text-transform: none; font-size: 1rem; padding: .6rem 0 .6rem 1rem; color: var(--c-muted); }
.drawer__promo { margin-top: auto; }

/* Cart drawer */
.ship-progress { padding: .9rem 1rem; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); }
.ship-progress__text { display: flex; align-items: center; gap: .4rem; font-size: .88rem; font-weight: 600; margin-bottom: .6rem; }
.ship-progress__bar { height: 6px; border-radius: 0; background: var(--c-surface-2); overflow: hidden; }
.ship-progress__bar span { display: block; height: 100%; background: var(--c-accent); border-radius: inherit; transition: width .6s cubic-bezier(.2,.8,.2,1); }
.cart-items { display: flex; flex-direction: column; }
.cart-line { display: grid; grid-template-columns: 76px 1fr auto; gap: .9rem; padding: 1rem 0; border-bottom: 1px solid var(--c-border); }
.cart-line__img img { width: 76px; height: 76px; object-fit: cover; border-radius: 10px; background: var(--c-surface); }
.cart-line__title { font-weight: 600; font-size: .95rem; line-height: 1.3; display: block; margin-bottom: .2rem; }
.cart-line__row { display: flex; align-items: center; gap: .9rem; margin-top: .5rem; }
.cart-line__price { text-align: right; font-weight: 700; display: flex; flex-direction: column; }
.cart-line.is-loading { opacity: .5; pointer-events: none; }
.cart-upsell { padding: 1rem; border: 1px solid var(--c-border); border-left: 3px solid var(--c-accent); border-radius: var(--radius); }
.cart-upsell .eyebrow { margin-bottom: .6rem; }
.cart-upsell__row { display: flex; align-items: center; gap: .8rem; }
.cart-upsell__img { width: 56px; height: 56px; object-fit: cover; border-radius: 8px; }
.cart-upsell__info { flex: 1; min-width: 0; }
.cart-upsell__title { font-weight: 600; font-size: .9rem; line-height: 1.3; margin: 0; display: block; }
.cart-drawer__foot { margin-top: auto; position: sticky; bottom: -1.25rem; background: var(--c-bg); padding: 1rem 0 0; display: flex; flex-direction: column; gap: .7rem; border-top: 1px solid var(--c-border); }
.cart-total { display: flex; justify-content: space-between; font-weight: 700; font-size: 1.1rem; margin: 0; }
.cart-drawer__assure { display: flex; align-items: center; justify-content: center; gap: .4rem; font-size: .8rem; color: var(--c-muted); text-align: center; margin: 0; }
.cart-empty, .empty-state { text-align: center; padding: 3rem 1rem; display: flex; flex-direction: column; align-items: center; gap: .6rem; }

/* Quantity */
.qty { display: inline-flex; align-items: center; border: 1.5px solid var(--c-border); border-radius: var(--radius-btn); height: 52px; background: var(--c-surface); }
.qty__btn { width: 42px; height: 100%; display: grid; place-items: center; background: none; border: 0; color: var(--c-muted); }
.qty__btn:hover { color: var(--c-text); }
.qty__input { width: 34px; text-align: center; border: 0; background: none; font-weight: 700; -moz-appearance: textfield; appearance: textfield; }
.qty__input::-webkit-outer-spin-button, .qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty--small { height: 36px; }
.qty--small .qty__btn { width: 32px; }
.qty--small .qty__input { width: 26px; font-size: .9rem; }

/* ---------- Product form ---------- */
.variant-picker { border: 0; padding: 0; margin: 0 0 1rem; }
.variant-picker__label { font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin-bottom: .5rem; padding: 0; }
.variant-picker__pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.product-form__buttons { display: flex; gap: .6rem; }
.product-form__submit { flex: 1; min-height: 52px; justify-content: space-between; padding-inline: 1.4rem; }
.product-form__submit-price { opacity: .9; }
.product-form__submit.is-added { --btn-bg: var(--c-sale); }
.product-form__error { color: #ff8a80; font-size: .88rem; margin-top: .6rem; }
.product-form__dynamic { margin-top: .6rem; }
.product-form__dynamic .shopify-payment-button__button { border-radius: var(--radius-btn); min-height: 50px; }
.product-form--compact .product-form__submit { justify-content: center; }
.product-form--compact .product-form__submit-price::before { content: "·"; margin-right: .5rem; }

/* ==========================================================================
   HERO
   ========================================================================== */
.hero { position: relative; min-height: var(--hero-min, 92svh); display: flex; align-items: flex-end; isolation: isolate; overflow: hidden; }
.hero__bg { position: absolute; inset: 0; z-index: -1; }
.hero__video, .hero__bg > img, .hero__bg .placeholder { width: 100%; height: 100%; object-fit: cover; }
.hero__bg video { width: 100%; height: 100%; object-fit: cover; }
.hero__video--mobile { display: none; }
@media (max-width: 749px) { .hero__video--desktop { display: none; } .hero__video--mobile { display: block; } }
.hero__shade { position: absolute; inset: 0; background:
  linear-gradient(180deg, rgba(var(--c-bg-rgb), .55) 0%, rgba(var(--c-bg-rgb), 0) 22%),
  linear-gradient(90deg, rgba(var(--c-bg-rgb), calc(var(--overlay) + .2)) 0%, rgba(var(--c-bg-rgb), var(--overlay)) 50%, rgba(var(--c-bg-rgb), calc(var(--overlay) - .15)) 100%),
  linear-gradient(0deg, var(--c-bg) 0%, rgba(var(--c-bg-rgb), 0) 35%); }
.hero__inner { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, 420px); min-width: 0; gap: clamp(2rem, 5vw, 5rem); align-items: end; padding-top: 150px; padding-bottom: clamp(40px, 7vh, 80px); }
.hero__eyebrow { display: flex; align-items: center; gap: .8rem; font-size: .78rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--c-accent); margin-bottom: 1.4rem; }
.hero__eyebrow::before { content: ""; width: 32px; height: 2px; background: currentColor; flex: none; }


.hero__title { font-size: calc(clamp(2.6rem, 7vw, 6.2rem) * var(--heading-scale)); line-height: .92; letter-spacing: -.005em; margin: 0 0 1.2rem; max-width: 12ch; text-wrap: balance; }
.hero__title em { font-style: normal; color: var(--c-accent); position: relative; }
.hero__text { font-size: clamp(1rem, 1.3vw, 1.2rem); max-width: 52ch; color: rgba(var(--c-text-rgb), .86); margin-bottom: 1.4rem; }
.hero__ticks { display: grid; grid-template-columns: repeat(2, minmax(0, max-content)); gap: .55rem 1.6rem; margin-bottom: 1.8rem; }
.hero__ticks li { display: flex; align-items: baseline; gap: .7rem; font-weight: 600; font-size: .95rem; }
.hero__ticks li::before, .bundle__list li::before, .pdp__benefits li::before { content: ""; flex: none; width: 10px; height: 3px; background: var(--c-accent); transform: translateY(-.25em); }

.hero__ctas { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 1.5rem; }
.hero__proof { display: flex; align-items: center; gap: .6rem; font-size: .88rem; font-weight: 600; }
.hero__proof-stars { display: inline-flex; gap: 1px; color: var(--c-star); }
.hero__toggle { position: absolute; right: clamp(16px, 3vw, 32px); top: calc(var(--announce-h, 38px) + 96px); z-index: 2; width: 36px; height: 36px; border: 1px solid rgba(var(--c-text-rgb), .35); background: rgba(var(--c-bg-rgb), .6); display: grid; place-items: center; }
.hero__toggle-play { display: none; }
.hero__toggle[aria-pressed="true"] .hero__toggle-play { display: block; }
.hero__toggle[aria-pressed="true"] .hero__toggle-pause { display: none; }

/* Buy card */
.buy-card { position: relative; padding: 1.4rem; border-radius: var(--radius); background: var(--c-surface); border: 1px solid var(--c-border); border-top: 3px solid var(--c-accent); }
.buy-card__badge { position: absolute; top: -3px; right: 1.4rem; transform: translateY(-100%); padding: .3rem .7rem; background: var(--c-accent); color: var(--c-accent-text); font-size: .68rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.buy-card__top { display: grid; grid-template-columns: 104px 1fr; gap: 1rem; align-items: center; margin-bottom: 1.1rem; }
.buy-card__img { aspect-ratio: 1; border-radius: var(--radius); overflow: hidden; background: var(--c-surface-2); }
.buy-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.buy-card__img:hover img { transform: scale(1.06); }
.buy-card__kicker { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 .25rem; }
.buy-card__title { font-size: 1.35rem; margin: 0 0 .35rem; line-height: 1.05; }
.buy-card .price { font-size: 1.35rem; margin-top: .3rem; }
.buy-card .variant-picker { margin-bottom: .9rem; }
.buy-card .pill { min-height: 38px; padding: .35rem .9rem; font-size: .85rem; }
.buy-card__assurances { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; margin-top: .9rem; font-size: .8rem; color: var(--c-muted); }
.buy-card__assurances li { display: flex; align-items: center; gap: .4rem; }
.buy-card__assurances .bicon, .buy-card__assurances .bicon-img { color: var(--c-accent); flex: none; }

@media (max-width: 989px) {
  .hero { min-height: auto; align-items: stretch; }
  .hero__inner { grid-template-columns: minmax(0, 1fr); padding-top: 104px; padding-bottom: 28px; gap: 1.4rem; }
  .hero__shade { background: linear-gradient(180deg, rgba(var(--c-bg-rgb), .5) 0%, rgba(var(--c-bg-rgb), calc(var(--overlay) - .05)) 35%, rgba(var(--c-bg-rgb), .95) 78%, var(--c-bg) 100%); }
  .hero__title { font-size: calc(clamp(2.4rem, 11vw, 3.6rem) * var(--heading-scale)); margin-bottom: .9rem; }
  .hero__eyebrow { margin-bottom: 1rem; font-size: .66rem; letter-spacing: .08em; max-width: calc(100% - 44px); }
  .product-form__submit { padding-inline: 1rem; font-size: .88rem; }
  .hero__text { display: none; }
  .hero__ticks { grid-template-columns: minmax(0, 1fr); gap: .35rem; margin-bottom: 0; }
  .hero__ticks li { font-size: .9rem; }
  .hero__ticks li:nth-child(n+3) { display: none; }
  .hero__ctas { display: none; }
  .hero__toggle { top: 76px; right: 12px; width: 34px; height: 34px; }
  .buy-card { padding: 1.1rem; }
  .buy-card__top { grid-template-columns: 78px 1fr; gap: .8rem; margin-bottom: .9rem; }
  .buy-card__title { font-size: 1.15rem; }
  .buy-card .price { font-size: 1.15rem; }
}

/* ---------- Marquee ---------- */
.section-marquee { overflow: hidden; padding: .6rem 0; }
.marquee { overflow: hidden; padding: 1rem 0; border-block: 1px solid var(--c-border); }
.marquee--accent { background: var(--c-accent); color: var(--c-accent-text); border: 0; transform: rotate(-1.2deg) scale(1.02); margin: 1.2rem 0; }
.marquee--outline .marquee__item { color: transparent; -webkit-text-stroke: 1px rgba(var(--c-text-rgb), .6); }
.marquee__track { display: flex; width: max-content; animation: marquee var(--speed, 35s) linear infinite; }
.marquee:hover .marquee__track { animation-play-state: paused; }
.marquee__list { display: flex; flex: none; }
.marquee__item { display: flex; align-items: center; font-family: var(--font-heading); font-weight: var(--font-heading-weight); text-transform: uppercase; letter-spacing: .06em; font-size: clamp(1.2rem, 2.2vw, 1.9rem); white-space: nowrap; }
.marquee__sep { display: inline-flex; align-items: center; margin: 0 1.8rem; opacity: .75; font-weight: 400; }
@keyframes marquee { to { transform: translateX(-50%); } }

/* ---------- Stats ---------- */
.stats__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--c-border); border: 1px solid var(--c-border); border-radius: var(--radius); overflow: hidden; }
.stat { display: flex; align-items: center; gap: 1rem; padding: 1.4rem; background: var(--c-bg); }
.stat__icon { flex: none; color: var(--c-accent); line-height: 0; }
.stat__value { font-family: var(--font-heading); font-weight: var(--font-heading-weight); text-transform: uppercase; font-size: 1.5rem; line-height: 1; margin: 0 0 .25rem; }
.stat__label { margin: 0; font-size: .85rem; color: var(--c-muted); line-height: 1.35; }
@media (max-width: 989px) { .stats__grid { grid-template-columns: repeat(2, 1fr); } .stat { flex-direction: column; align-items: flex-start; gap: .7rem; padding: 1.1rem; } .stat__value { font-size: 1.2rem; } }

/* ---------- Spotlight ---------- */
.spotlight { position: relative; overflow: hidden; }
.spotlight__grid { display: grid; grid-template-columns: 1fr 1.1fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; }
.spotlight__col { display: flex; flex-direction: column; gap: 2.5rem; }
.spotlight__col:first-child { text-align: right; }
.spotlight__col:first-child .feature__icon { display: flex; justify-content: flex-end; }
.feature__icon { display: block; color: var(--c-accent); margin-bottom: .9rem; line-height: 0; }
.feature__title { font-size: 1.3rem; margin-bottom: .35rem; }
.feature__text { color: var(--c-muted); font-size: .95rem; margin: 0; }
.spotlight__media { position: relative; aspect-ratio: 4 / 5; }
.spotlight__media img, .spotlight__media .placeholder { position: relative; width: 100%; height: 100%; object-fit: cover; border-radius: var(--radius); z-index: 1; }
.spotlight__halo { display: none; }


.sticker { position: absolute; z-index: 2; left: -12px; top: 24px; padding: .55rem .9rem; background: var(--c-accent); color: var(--c-accent-text); font-family: var(--font-heading); font-weight: var(--font-heading-weight); text-transform: uppercase; letter-spacing: .06em; line-height: 1; font-size: 1rem; }
.sticker--corner { top: 1rem; left: 1rem; font-size: .85rem; }
.spotlight__cta { display: flex; flex-direction: column; align-items: center; gap: .8rem; margin-top: clamp(2.5rem, 5vw, 4rem); text-align: center; }
@media (max-width: 989px) {
  .spotlight__grid { grid-template-columns: 1fr 1fr; }
  .spotlight__media { grid-column: 1 / -1; grid-row: 1; width: min(420px, 82%); margin: 0 auto 1.5rem; }
  .spotlight__col, .spotlight__col:first-child { text-align: left; gap: 1.6rem; }
  .spotlight__col:first-child .feature__icon { margin-left: 0; }
  .feature__icon { width: 46px; height: 46px; border-radius: 12px; margin-bottom: .7rem; }
  .feature__title { font-size: 1.05rem; }
  .feature__text { font-size: .87rem; }
  .sticker { width: 92px; height: 92px; font-size: .82rem; }
}

/* ---------- Routine ---------- */
.routine { background: linear-gradient(180deg, var(--c-bg), var(--c-surface) 40%, var(--c-bg)); }
.routine__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1.2rem; counter-reset: step; }
.routine__step { position: relative; display: flex; flex-direction: column; gap: 1rem; padding: 1.6rem; border-radius: calc(var(--radius) + 4px); background: var(--c-surface); border: 1px solid var(--c-border); transition: border-color .3s, transform .3s; }
.routine__step:hover { border-color: rgba(var(--c-text-rgb), .35); }

.routine__head { display: flex; align-items: center; gap: 1rem; }
.routine__icon { display: block; color: var(--c-accent); line-height: 0; }
.routine__num { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 3rem; line-height: 1; color: transparent; -webkit-text-stroke: 1.5px var(--c-accent); }
.routine__when { font-size: .72rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); margin: 0 0 .2rem; }
.routine__head .h3 { margin: 0; font-size: 1.7rem; }
.routine__text { color: var(--c-muted); font-size: .95rem; margin: 0; flex: 1; }
.routine__product { display: flex; align-items: center; gap: .8rem; padding: .7rem; border-radius: var(--radius); background: var(--c-bg); border: 1px solid var(--c-border); }
.routine__img { flex: none; width: 60px; height: 60px; border-radius: 10px; overflow: hidden; background: var(--c-surface-2); }
.routine__img img { width: 100%; height: 100%; object-fit: cover; }
.routine__meta { flex: 1; min-width: 0; }
.routine__name { display: block; font-weight: 600; font-size: .85rem; line-height: 1.25; margin-bottom: .2rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.routine__meta .price { font-size: .9rem; }
.routine__bundle { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; flex-wrap: wrap; margin-top: 1.5rem; padding: 1.3rem 1.6rem; border-radius: var(--radius); background: var(--c-surface); border: 1px solid var(--c-border); border-left: 3px solid var(--c-accent); }
.routine__bundle .eyebrow { margin-bottom: .2rem; }
.routine__bundle .h3 { margin: 0; }
.routine__bundle > div:first-child { flex: 1; min-width: 220px; }
.routine__bundle .price { font-size: 1.4rem; }
@media (max-width: 1100px) { .routine__step::after { display: none; } }

/* ---------- Tabs & product grid ---------- */
.tabs { display: flex; justify-content: center; gap: 2rem; margin: -1rem 0 2.2rem; flex-wrap: wrap; border-bottom: 1px solid var(--c-border); }
.tab { padding: .7rem 0; margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; background: none; font-weight: 700; font-size: .88rem; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.tab.is-active { color: var(--c-text); border-bottom-color: var(--c-accent); }
.product-grid { display: grid; gap: clamp(12px, 1.6vw, 22px); }
.product-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.product-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 989px) { .product-grid--4, .product-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Card ---------- */
.card { position: relative; display: flex; flex-direction: column; border-radius: calc(var(--radius) + 2px); background: var(--c-surface); border: 1px solid var(--c-border); overflow: hidden; transition: border-color .3s, transform .3s, box-shadow .3s; }
.card:hover { border-color: rgba(var(--c-text-rgb), .3); }
.card__media { position: relative; display: block; overflow: hidden; background: var(--c-surface-2); }
.card__media--square { aspect-ratio: 1; }
.card__media--portrait { aspect-ratio: 4 / 5; }
.card__img { width: 100%; height: 100%; object-fit: cover; transition: opacity .5s, transform .8s cubic-bezier(.2,.8,.2,1); }
.card__media--natural .card__img { height: auto; }
.card__img--alt { position: absolute; inset: 0; opacity: 0; }
.card--hover-swap:hover .card__img--alt { opacity: 1; }
.card:hover .card__img { transform: scale(1.04); }
.card__badge { position: absolute; top: .8rem; left: .8rem; z-index: 1; }
.card__body { display: flex; flex-direction: column; gap: .4rem; padding: 1rem 1.1rem 1.1rem; flex: 1; }
.card__type { margin: 0; font-size: .7rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--c-muted); }
.card__title { font-family: var(--font-body); font-weight: 600; text-transform: none; letter-spacing: 0; font-size: .98rem; line-height: 1.3; margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.full-link::after { content: ""; position: absolute; inset: 0; z-index: 0; }
.card__foot { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: auto; padding-top: .5rem; }
.card__quick, .card__choose { position: relative; z-index: 1; }
.card__quick .btn span { margin-left: -.1rem; }
@media (max-width: 600px) {
  .card__body { padding: .8rem; }
  .card__title { font-size: .88rem; }
  .card__foot { flex-direction: column; align-items: stretch; }
  .card__foot .btn { width: 100%; }
}

/* ---------- Comparison ---------- */
.compare__table { border-radius: calc(var(--radius) + 4px); border: 1px solid var(--c-border); overflow: hidden; }
.compare__row { display: grid; grid-template-columns: 1.8fr repeat(3, 1fr); align-items: center; border-top: 1px solid var(--c-border); }
.compare__row:first-child { border-top: 0; }
.compare__row > span { padding: 1rem 1.1rem; text-align: center; }
.compare__row--head > span { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .06em; font-size: .95rem; color: var(--c-muted); padding-block: 1.2rem; }
.compare__label { text-align: left !important; font-weight: 600; font-size: .95rem; }
.compare__us { background: rgba(var(--c-accent-rgb), .09); height: 100%; display: grid; place-items: center; }
.compare__row--head .compare__us { color: var(--c-accent); background: rgba(var(--c-accent-rgb), .16); }
.mark { display: inline-flex; align-items: center; justify-content: center; font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .08em; font-size: .85rem; }
.mark--yes { color: var(--c-accent); }
.mark--no, .mark--some { color: var(--c-muted); }
.mark--some { font-size: .72rem; }



.compare__note { text-align: center; margin-top: 1rem; }
@media (max-width: 700px) {
  .compare__row { grid-template-columns: 1.5fr repeat(3, 58px); }
  .compare__row > span { padding: .8rem .4rem; }
  .compare__label { padding-left: .9rem !important; font-size: .85rem; }
  .compare__row--head > span { font-size: .68rem; letter-spacing: .02em; }
  .mark { font-size: .72rem; }
  .mark--some { font-size: .6rem; }
}

/* ---------- Bundles ---------- */
.bundles__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.4rem; align-items: stretch; }
.bundle { position: relative; display: flex; flex-direction: column; border-radius: calc(var(--radius) + 6px); border: 1px solid var(--c-border); background: var(--c-surface); overflow: hidden; }
.bundle--highlight { border-color: var(--c-accent); border-top-width: 3px; }

.bundle__badge { position: absolute; z-index: 1; top: 0; left: 0; padding: .35rem .75rem; background: var(--c-bg); font-size: .68rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.bundle--highlight .bundle__badge { background: var(--c-accent); color: var(--c-accent-text); border-color: var(--c-accent); }
.bundle__media { aspect-ratio: 4 / 3; overflow: hidden; background: var(--c-surface-2); }
.bundle__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.bundle:hover .bundle__media img { transform: scale(1.04); }
.bundle__body { display: flex; flex-direction: column; gap: 1rem; padding: 1.4rem; flex: 1; }
.bundle__body .h3 { margin: 0; }
.bundle__list { display: flex; flex-direction: column; gap: .45rem; font-size: .92rem; }
.bundle__list li { display: flex; gap: .7rem; align-items: baseline; }

.bundle__foot { margin-top: auto; }
.bundle__foot .price { font-size: 1.5rem; }
.bundle__value { margin: .2rem 0 0; font-size: .82rem; color: var(--c-sale); font-weight: 600; }

/* ---------- Reviews ---------- */
.reviews__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 2rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.reviews__head .section-heading { margin-bottom: 0; }
.reviews__score { display: flex; align-items: center; gap: 1rem; }
.reviews__big { font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 4.2rem; line-height: 1; margin: 0; color: var(--c-accent); }
.slider { position: relative; }
.slider__track { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(300px, calc((100% - 3 * 1.2rem) / 3.3)); gap: 1.2rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: .5rem; }
.slider__track::-webkit-scrollbar { display: none; }
.slider__track > * { scroll-snap-align: start; }
.slider__nav { display: flex; gap: .5rem; justify-content: flex-end; margin-top: 1.2rem; }
.review { margin: 0; display: flex; flex-direction: column; gap: .8rem; padding: 1.6rem; border-radius: calc(var(--radius) + 4px); background: var(--c-surface); border: 1px solid var(--c-border); }
.review__stars { display: flex; gap: 1px; color: var(--c-star); }
.review__title { font-family: var(--font-heading); text-transform: uppercase; font-size: 1.15rem; letter-spacing: .03em; margin: 0; }
.review__quote { margin: 0; flex: 1; color: rgba(var(--c-text-rgb), .85); font-size: .98rem; }
.review__by { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .8rem; padding-top: .9rem; border-top: 1px solid var(--c-border); font-size: .85rem; }
.review__name { font-weight: 700; }
.review__verified { color: var(--c-muted); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.review__product { width: 100%; color: var(--c-muted); font-size: .8rem; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 700px) { .slider__track { grid-auto-columns: 84%; } .reviews__big { font-size: 3.2rem; } }

/* ---------- Gyms ---------- */
.gyms__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; }
.gyms__list { border-top: 1px solid var(--c-border); }
.gym { display: flex; align-items: center; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--c-border); }

.gym__logo { width: 48px; height: 48px; object-fit: contain; }
.gym__name { font-family: var(--font-heading); text-transform: uppercase; letter-spacing: .05em; font-size: 1.1rem; }
.gyms__card { border-radius: calc(var(--radius) + 6px); overflow: hidden; background: var(--c-surface); border: 1px solid var(--c-border); }
.gyms__img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.gyms__card-body { padding: clamp(1.4rem, 3vw, 2.2rem); display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; }
.gyms__card-body .rte { color: var(--c-muted); margin-bottom: .6rem; }
@media (max-width: 989px) { .gyms__grid { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Image with text ---------- */
.iwt__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.iwt__grid--reverse .iwt__media { order: 2; }
.iwt__media { position: relative; border-radius: calc(var(--radius) + 6px); overflow: hidden; aspect-ratio: 4 / 5; background: var(--c-surface); }
.iwt__media img, .iwt__media video, .iwt__media .placeholder { width: 100%; height: 100%; object-fit: cover; }
.iwt__copy .rte { color: rgba(var(--c-text-rgb), .82); font-size: 1.05rem; }
@media (max-width: 989px) { .iwt__grid { grid-template-columns: minmax(0, 1fr); } .iwt__grid--reverse .iwt__media { order: 0; } .iwt__media { aspect-ratio: 4 / 3; } }

/* ---------- Steps ---------- */
.steps__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.6rem; }
.step__media { position: relative; aspect-ratio: 4 / 3; border-radius: calc(var(--radius) + 4px); overflow: hidden; margin-bottom: 1.2rem; background: var(--c-surface); border: 1px solid var(--c-border); }
.step__media img, .step__media .placeholder { width: 100%; height: 100%; object-fit: cover; }
.step__num { position: absolute; left: 1rem; bottom: .6rem; font-family: var(--font-heading); font-weight: var(--font-heading-weight); font-size: 3.4rem; line-height: 1; color: var(--c-text); text-shadow: 0 4px 24px rgba(0,0,0,.6); }
.step .h3 { margin-bottom: .4rem; }

/* ---------- Journal ---------- */
.journal__grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 1.4rem; }
.journal__grid--archive { grid-template-columns: repeat(3, 1fr); }
.journal__grid--archive .post--featured { grid-column: 1 / -1; }
.post { position: relative; display: flex; flex-direction: column; border-radius: calc(var(--radius) + 4px); overflow: hidden; background: var(--c-surface); border: 1px solid var(--c-border); transition: border-color .3s, transform .3s; }
.post:hover { border-color: rgba(var(--c-text-rgb), .3); }
.post__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--c-surface-2); }
.post__media img, .post__media .placeholder { width: 100%; height: 100%; object-fit: cover; transition: transform .8s; }
.post:hover .post__media img { transform: scale(1.04); }
.post__body { display: flex; flex-direction: column; gap: .6rem; padding: 1.3rem; flex: 1; }
.post__meta { display: flex; flex-wrap: wrap; gap: .4rem .9rem; align-items: center; font-size: .78rem; color: var(--c-muted); margin: 0; }
.post__tag { color: var(--c-accent); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .68rem; }
.post__title { font-size: 1.3rem; margin: 0; line-height: 1.1; }
.post--featured .post__title { font-size: clamp(1.4rem, 2.4vw, 2rem); }
.post__excerpt { color: var(--c-muted); font-size: .92rem; margin: 0; }
.post__more { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; padding-top: .4rem; font-weight: 700; font-size: .85rem; color: var(--c-accent); text-transform: uppercase; letter-spacing: .08em; }
@media (min-width: 990px) {
  .journal__grid:not(.journal__grid--archive) .post--featured { grid-row: span 1; }
  .journal__grid--archive .post--featured { flex-direction: row; }
  .journal__grid--archive .post--featured .post__media { flex: 1.3; aspect-ratio: auto; min-height: 380px; }
  .journal__grid--archive .post--featured .post__body { flex: 1; padding: 2.4rem; justify-content: center; }
}
@media (max-width: 989px) { .journal__grid, .journal__grid--archive { grid-template-columns: minmax(0, 1fr); } }
@media (min-width: 600px) and (max-width: 989px) { .journal__grid, .journal__grid--archive { grid-template-columns: repeat(2, minmax(0, 1fr)); } .journal__grid .post--featured { grid-column: 1 / -1; } }

/* ---------- FAQ / accordion ---------- */
.faq__grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.faq__intro { position: sticky; top: 110px; }
.accordion { border-top: 1px solid var(--c-border); }
.accordion__item { border-bottom: 1px solid var(--c-border); }
.accordion__q { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem 0; font-weight: 700; font-size: 1.05rem; cursor: pointer; list-style: none; }
.accordion__q::-webkit-details-marker { display: none; }
.accordion__icon { flex: none; display: grid; place-items: center; transition: transform .3s; color: var(--c-accent); }
details[open] > .accordion__q .accordion__icon { transform: rotate(45deg); }
.accordion__a { padding: 0 0 1.3rem; color: rgba(var(--c-text-rgb), .8); }
@media (max-width: 989px) { .faq__grid { grid-template-columns: minmax(0, 1fr); } .faq__intro { position: static; } }

/* ---------- Newsletter ---------- */
.signup__panel { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem 4rem; align-items: center; padding: clamp(1.8rem, 5vw, 4rem); border-radius: var(--radius); background: var(--c-surface); border: 1px solid var(--c-border); border-left: 3px solid var(--c-accent); }
  radial-gradient(120% 140% at 100% 0%, rgba(var(--c-accent-rgb), .22) 0%, rgba(var(--c-accent-rgb), 0) 55%), var(--c-surface); border: 1px solid var(--c-border); }
.signup__panel .h2 { margin-bottom: .6rem; }
.newsletter-form { display: flex; flex-direction: column; gap: .7rem; }
.newsletter-form__row { display: flex; gap: 0; border: 1px solid var(--c-border); background: var(--c-bg); }
.newsletter-form__row:focus-within { border-color: var(--c-accent); }
.newsletter-form input[type="email"], .newsletter-form input[type="password"] { flex: 1; min-width: 0; background: none; border: 0; padding: 0 1rem; outline: none; }
.form-success { display: flex; align-items: center; gap: .4rem; color: var(--c-sale); font-weight: 600; }
.form-error, .errors { color: #ff8a80; font-size: .88rem; }
@media (max-width: 989px) { .signup__panel { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Footer ---------- */
.footer { border-top: 1px solid var(--c-border); padding: clamp(48px, 7vw, 88px) 0 1.5rem; background: linear-gradient(180deg, var(--c-bg), #070805); }
.footer__top { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 2.5rem; }
.footer__wordmark { font-size: 2rem; display: inline-block; margin-bottom: .6rem; }
.footer__tagline { color: var(--c-muted); max-width: 36ch; font-size: .95rem; }
.footer__heading { font-size: .95rem; letter-spacing: .12em; margin-bottom: 1rem; }
.footer__links { display: flex; flex-direction: column; gap: .55rem; }
.footer__links a { color: var(--c-muted); font-size: .92rem; transition: color .2s; }
.footer__links a:hover { color: var(--c-accent); }
.footer__small { font-size: .85rem; color: var(--c-muted); }
.footer .newsletter-form__row { margin-top: .8rem; }
.footer .newsletter-form .btn { min-height: 42px; padding-inline: 1rem; }
.socials { display: flex; gap: .5rem; }
.socials a { width: 36px; height: 36px; display: grid; place-items: center; color: var(--c-muted); transition: color .2s; }
.socials a:hover { color: var(--c-accent); }
.footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid var(--c-border); }
.footer__bottom p { margin: 0; }
.payment-icons { display: flex; flex-wrap: wrap; gap: .4rem; }
.payment-icon { width: 38px; height: 24px; }
@media (max-width: 989px) { .footer__top { grid-template-columns: 1fr 1fr; } .footer__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .footer__top { grid-template-columns: minmax(0, 1fr); } }

/* ==========================================================================
   PRODUCT PAGE
   ========================================================================== */
.pdp__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: clamp(1.5rem, 5vw, 4.5rem); align-items: start; }
.pdp__gallery { position: sticky; top: 96px; }
.pdp__main { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: calc(var(--radius) + 6px); background: var(--c-surface); border: 1px solid var(--c-border); }
.pdp__main::-webkit-scrollbar { display: none; }
.pdp__slide { scroll-snap-align: start; aspect-ratio: 1; }
.pdp__slide img, .pdp__slide video, .pdp__slide iframe, .pdp__slide .placeholder { width: 100%; height: 100%; object-fit: cover; }
.pdp__thumbs { display: flex; gap: .6rem; margin-top: .8rem; overflow-x: auto; scrollbar-width: none; }
.pdp__thumb { flex: none; width: 76px; height: 76px; padding: 0; border-radius: 10px; overflow: hidden; border: 2px solid transparent; background: var(--c-surface); opacity: .6; transition: .2s; }
.pdp__thumb img { width: 100%; height: 100%; object-fit: cover; }
.pdp__thumb.is-active, .pdp__thumb:hover { border-color: var(--c-accent); opacity: 1; }
.pdp__sticky { display: flex; flex-direction: column; gap: 1.1rem; }
.pdp__sticky > .eyebrow { margin: 0; }
.pdp__title { font-size: calc(clamp(2rem, 3.6vw, 3.2rem) * var(--heading-scale)); margin: 0; }
.pdp__price .price { font-size: 1.7rem; }
.pdp__text { color: rgba(var(--c-text-rgb), .82); }
.pdp__benefits { display: flex; flex-direction: column; gap: .5rem; }
.pdp__benefits li { display: flex; align-items: baseline; gap: .7rem; font-weight: 600; }

.pdp__trust { display: grid; grid-template-columns: repeat(3, 1fr); border-block: 1px solid var(--c-border); }
.pdp__trust li { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .5rem; padding: 1rem .5rem; text-align: center; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.pdp__trust li + li { border-left: 1px solid var(--c-border); }
.pdp__trust .bicon, .pdp__trust .bicon-img { color: var(--c-accent); }
.pdp__pair { padding: 1rem; border-radius: var(--radius); background: var(--c-surface); border: 1px solid var(--c-border); }
.pdp__pair .eyebrow { margin-bottom: .6rem; }
.pdp__sticky .accordion__item:first-of-type { border-top: 1px solid var(--c-border); }
@media (max-width: 989px) { .pdp__grid { grid-template-columns: minmax(0, 1fr); } .pdp__gallery { position: static; margin-inline: calc(-1 * clamp(16px, 4vw, 40px)); } .pdp__main { border-radius: 0; border-inline: 0; } .pdp__thumbs { padding-inline: clamp(16px, 4vw, 40px); } }

.sticky-atc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 40; background: rgba(var(--c-bg-rgb), .94); backdrop-filter: blur(14px); border-top: 1px solid var(--c-border); padding: .7rem 0; transform: translateY(110%); transition: transform .35s; }
.sticky-atc.is-visible { transform: none; }
.sticky-atc__inner { display: flex; align-items: center; gap: .9rem; }
.sticky-atc__img { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; }
.sticky-atc__info { flex: 1; min-width: 0; }
.sticky-atc__title { margin: 0; font-weight: 700; font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sticky-atc__info p { margin: 0; }

/* ---------- Collection ---------- */
.collection-hero { position: relative; padding: clamp(56px, 9vw, 120px) 0 clamp(32px, 5vw, 56px); overflow: hidden; border-bottom: 1px solid var(--c-border); }
.template-index .collection-hero, .collection-hero--plain { background: radial-gradient(80% 120% at 0% 0%, rgba(var(--c-accent-rgb), .12), transparent 60%); }
.collection-hero__bg { position: absolute; inset: 0; z-index: -1; opacity: .35; }
.collection-hero__bg img { width: 100%; height: 100%; object-fit: cover; }
.collection-hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, var(--c-bg), rgba(var(--c-bg-rgb), .4)); }
.collection-hero { isolation: isolate; }
.collection-hero__desc { max-width: 62ch; color: rgba(var(--c-text-rgb), .82); }
.toolbar { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 1.8rem; }
.toolbar__filters { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.filter { position: relative; }
.filter summary { list-style: none; }
.filter summary::-webkit-details-marker { display: none; }
.filter__count { display: inline-grid; place-items: center; min-width: 20px; height: 20px; border-radius: 0; background: var(--c-accent); color: var(--c-accent-text); font-size: .7rem; }
.filter__panel { position: absolute; z-index: 20; top: calc(100% + 8px); left: 0; min-width: 240px; max-height: 360px; overflow: auto; padding: 1rem; display: flex; flex-direction: column; gap: .6rem; background: var(--c-surface); border: 1px solid var(--c-border); border-radius: var(--radius); box-shadow: 0 30px 60px -20px rgba(0,0,0,.8); }
.filter__price { display: flex; align-items: center; gap: .5rem; }
.filter__price input { width: 90px; }
.check { display: flex; align-items: center; gap: .6rem; font-size: .92rem; cursor: pointer; }
.check input { accent-color: var(--c-accent); width: 18px; height: 18px; }
.toolbar select, .field input, .field textarea, .field select, .filter__price input, .search-page__form input {
  background: var(--c-surface); border: 1.5px solid var(--c-border); border-radius: 12px; padding: .75rem 1rem; min-height: 46px; outline: none; width: 100%;
}
.toolbar select { width: auto; border-radius: var(--radius-btn); padding-right: 2.2rem; appearance: none; background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: calc(100% - 18px) 50%, calc(100% - 13px) 50%; background-size: 5px 5px; background-repeat: no-repeat; }
.field input:focus, .field textarea:focus, .toolbar select:focus, .search-page__form input:focus { border-color: var(--c-accent); }
.pagination { display: flex; justify-content: center; gap: .4rem; margin-top: 3rem; }
.coll-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.2rem; }
.coll-tile { position: relative; aspect-ratio: 4 / 3; border-radius: calc(var(--radius) + 4px); overflow: hidden; background: var(--c-surface); border: 1px solid var(--c-border); }
.coll-tile img { width: 100%; height: 100%; object-fit: cover; opacity: .7; transition: transform .8s, opacity .3s; }
.coll-tile:hover img { transform: scale(1.05); opacity: .9; }
.coll-tile__label { position: absolute; left: 1.2rem; bottom: 1.1rem; display: flex; align-items: center; gap: .5rem; font-family: var(--font-heading); text-transform: uppercase; font-size: 1.5rem; text-shadow: 0 4px 20px rgba(0,0,0,.7); }
.tag-row { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.2rem; }

/* ---------- Cart page ---------- */
.cart-page { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); align-items: start; margin-top: 1rem; }
.cart-page__summary { position: sticky; top: 100px; display: flex; flex-direction: column; gap: .9rem; padding: 1.5rem; border-radius: calc(var(--radius) + 4px); background: var(--c-surface); border: 1px solid var(--c-border); }
.cart-page .cart-line { grid-template-columns: 96px 1fr auto; }
.cart-page .cart-line__img img { width: 96px; height: 96px; }
.field { display: flex; flex-direction: column; gap: .4rem; margin-top: 1.2rem; }
@media (max-width: 989px) { .cart-page { grid-template-columns: minmax(0, 1fr); } }

/* ---------- Article ---------- */
.article__head { padding: clamp(40px, 7vw, 88px) 0 2rem; }
.article__title { margin-top: .8rem; }
.article__hero img { width: 100%; max-height: 620px; object-fit: cover; border-radius: calc(var(--radius) + 6px); }
.article__layout { display: grid; grid-template-columns: minmax(0, 720px) 300px; justify-content: center; gap: clamp(2rem, 5vw, 5rem); padding-block: clamp(32px, 5vw, 64px); }
.article__body { font-size: 1.1rem; line-height: 1.75; color: rgba(var(--c-text-rgb), .9); }
.article__aside { position: sticky; top: 100px; align-self: start; }
.article__cta { text-align: center; padding: clamp(1.6rem, 4vw, 3rem); border-radius: var(--radius); background: var(--c-surface); border: 1px solid var(--c-border); border-top: 3px solid var(--c-accent); margin-bottom: 3rem; display: flex; flex-direction: column; align-items: center; gap: .6rem; }
@media (max-width: 989px) { .article__layout { grid-template-columns: minmax(0, 1fr); } .article__aside { position: static; max-width: 340px; } }

/* ---------- Misc pages ---------- */
.search-page__form { display: flex; gap: .6rem; margin: 1rem 0 1.5rem; max-width: 640px; }
.auth { max-width: 460px; }
.auth--wide { max-width: 720px; }
.auth__recover { display: none; margin-top: 2rem; }
.auth__recover:target { display: block; }
.form-stack { display: flex; flex-direction: column; gap: .9rem; }
.form-stack .field { margin-top: 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .9rem; margin-top: 1rem; }
.form-grid .field--full, .form-grid .errors { grid-column: 1 / -1; }
.panel { padding: 1.4rem; border-radius: var(--radius); background: var(--c-surface); border: 1px solid var(--c-border); }
.account-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 2rem; margin-top: 1rem; }
@media (max-width: 800px) { .account-grid, .form-grid { grid-template-columns: minmax(0, 1fr); } }
.table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.table th, .table td { text-align: left; padding: .8rem .6rem; border-bottom: 1px solid var(--c-border); }
.table th { font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--c-muted); }
.giftcode { font-family: var(--font-heading); font-size: 2rem; letter-spacing: .12em; padding: 1rem; border: 1px dashed var(--c-accent); border-radius: var(--radius); }
.password { min-height: 100svh; display: grid; place-items: center; }
.app-wrap { min-height: 40px; }

/* ---------- Toast ---------- */
.toast { position: fixed; left: 50%; bottom: 24px; z-index: 200; transform: translate(-50%, 140%); padding: .8rem 1.2rem; border-radius: var(--radius-btn); background: var(--c-text); color: var(--c-bg); font-weight: 700; font-size: .9rem; box-shadow: 0 20px 40px -10px rgba(0,0,0,.6); transition: transform .35s cubic-bezier(.2,.8,.2,1), visibility .35s; visibility: hidden; }
.toast.is-visible { transform: translate(-50%, 0); visibility: visible; }

/* ---------- Reveal on scroll ---------- */
.js [data-reveal] { opacity: 0; transform: translateY(24px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.8,.2,1); }
.js [data-reveal].is-revealed { opacity: 1; transform: none; }

/* ---------- Uploaded brand icons ---------- */
.bicon { display: inline-block; flex: none; width: var(--bicon-size, 32px); height: var(--bicon-size, 32px); background-color: currentColor;
  -webkit-mask: var(--bicon) center / contain no-repeat; mask: var(--bicon) center / contain no-repeat; }
.bicon-img { display: inline-block; flex: none; object-fit: contain; }
.header__icon .bicon { color: var(--c-text); }
.buy-card__assurances li { gap: .55rem; }

/* ---------- Soap bar buttons (clean) ---------- */
.btn{border-radius:14px;box-shadow:none;text-shadow:none;transition:transform .15s ease,box-shadow .2s ease,background-color .2s,color .2s,border-color .2s}
.btn--small{border-radius:10px}
.btn--lg{border-radius:18px}
.btn--icon{border-radius:12px}
.btn--accent{--btn-bg:var(--c-accent);--btn-fg:var(--c-accent-text)}
.btn--accent:hover{--btn-bg:#f0c762;--btn-fg:var(--c-accent-text);transform:translateY(-1px);box-shadow:0 8px 20px rgba(233,185,73,.22)}
.btn--outline:hover,.btn--ghost:hover{--btn-bg:rgba(255,255,255,.06);--btn-fg:var(--c-text);--btn-bd:rgba(255,255,255,.5)}
.btn:active{transform:translateY(0);box-shadow:none}
/* ---------- Belt / gold rule under headings removed ---------- */
.belt{display:none!important}
/* ---------- Routine product cards: button under the name ---------- */
.routine__product{flex-wrap:wrap;align-items:flex-start}
.routine__product>.btn,.routine__product>form{flex:1 0 100%}.routine__product form .btn{width:100%}
.routine__name{-webkit-line-clamp:3}

/* ---------- Pack of 10 glow, Buy it now, cart add ons ---------- */
@keyframes packGlow{0%,100%{box-shadow:0 0 0 1px rgba(233,185,73,.55),0 0 14px 2px rgba(233,185,73,.28)}50%{box-shadow:0 0 0 1px rgba(233,185,73,.9),0 0 26px 6px rgba(233,185,73,.45)}}
.variant-picker__pills input[value="10"]+.pill{position:relative;border-color:var(--c-accent);animation:packGlow 2.4s ease-in-out infinite}
.variant-picker__pills input[value="10"]+.pill::after{content:"Best value";position:absolute;top:-10px;right:-14px;padding:2px 7px;border-radius:999px;background:var(--c-accent);color:var(--c-accent-text);font-size:.6rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;line-height:1.4}
@media (prefers-reduced-motion:reduce){.variant-picker__pills input[value="10"]+.pill{animation:none;box-shadow:0 0 0 1px var(--c-accent),0 0 18px 3px rgba(233,185,73,.35)}}
.shopify-payment-button__button--unbranded{background:transparent!important;border:1.5px solid rgba(255,255,255,.28)!important;color:var(--c-text)!important;border-radius:14px!important;min-height:52px;font-family:var(--font-heading)!important;font-weight:var(--font-heading-weight)!important;text-transform:uppercase;letter-spacing:.08em;font-size:.95rem!important;transition:border-color .2s,background-color .2s}
.shopify-payment-button__button--unbranded:hover:not([disabled]){background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.6)!important}
.cart-upsell--multi .cart-upsell__row+.cart-upsell__row{margin-top:.6rem;padding-top:.6rem;border-top:1px solid var(--c-border)}
.header__logo-img{max-height:64px}
@media (max-width:749px){.header__logo-img{max-height:46px}}
.cart-upsell--multi .cart-upsell__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ---------- Collection pages (rich) ---------- */
.coll-hero{position:relative;overflow:hidden;border-bottom:1px solid var(--c-border);background:var(--c-bg)}
.coll-hero__bg{position:absolute;inset:0}
.coll-hero__bg img{width:100%;height:100%;object-fit:cover}
.coll-hero--image .coll-hero__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,12,9,.92) 0%,rgba(11,12,9,.72) 45%,rgba(11,12,9,.25) 100%),linear-gradient(0deg,rgba(11,12,9,.6),transparent 40%)}
.coll-hero__inner{position:relative;padding-top:clamp(3rem,7vw,6rem);padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.coll-hero--image .coll-hero__inner{min-height:clamp(340px,42vw,520px);display:flex;flex-direction:column;justify-content:flex-end}
.coll-crumbs{display:flex;gap:.5rem;align-items:center;font-size:.8rem;color:var(--c-muted);margin-bottom:1rem}
.coll-crumbs a:hover{color:var(--c-text)}
.coll-hero__badges{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}
.coll-badge{display:inline-flex;align-items:center;padding:.35rem .8rem;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.coll-badge--brand{background:var(--c-text);color:var(--c-bg)}
.coll-badge--accent{background:var(--c-accent);color:var(--c-accent-text)}
.coll-hero__title{max-width:14ch}
.coll-hero__desc{max-width:560px;font-size:1.05rem;color:rgba(var(--c-text-rgb),.85)}
.coll-hero__desc p{margin:0}
.coll-hero__usps{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;margin-top:1.4rem;font-size:.85rem;font-weight:600}
.coll-hero__usps li{display:flex;align-items:center;gap:.5rem}
.coll-hero__usps li::before{content:"";width:14px;height:3px;border-radius:3px;background:var(--c-accent)}
.coll-nav{border-bottom:1px solid var(--c-border);background:var(--c-surface)}
.coll-nav__inner{display:flex;gap:.6rem;overflow-x:auto;padding-top:1rem;padding-bottom:1rem;scrollbar-width:none}
.coll-nav__inner::-webkit-scrollbar{display:none}
.coll-nav__pill{flex:none;display:inline-flex;align-items:center;gap:.6rem;padding:.35rem 1rem .35rem .35rem;border:1px solid var(--c-border);border-radius:999px;font-size:.85rem;font-weight:600;white-space:nowrap;transition:border-color .2s,background-color .2s}
.coll-nav__pill:hover{border-color:rgba(var(--c-text-rgb),.45)}
.coll-nav__pill.is-active{border-color:var(--c-accent);background:rgba(233,185,73,.1);color:var(--c-accent)}
.coll-nav__thumb{width:34px;height:34px;border-radius:50%;object-fit:cover;background:#fff}
.coll-story-wrap{padding:clamp(2.5rem,5vw,4.5rem) 0 0}
.coll-story{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(1.5rem,4vw,4rem);align-items:center}
.coll-story__text h2{font-family:var(--font-heading);font-weight:var(--font-heading-weight);text-transform:uppercase;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1.05;margin:.3rem 0 1rem}
.coll-story__text p{color:rgba(var(--c-text-rgb),.8)}
.coll-story__text .eyebrow{color:var(--c-accent)}
.coll-story__media img{width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:calc(var(--radius) * 3);border:1px solid var(--c-border)}
.coll-guide-wrap{border-top:1px solid var(--c-border)}
.coll-guide-inner{max-width:820px;margin:0 auto}
.coll-guide h2{font-family:var(--font-heading);font-weight:var(--font-heading-weight);text-transform:uppercase;font-size:clamp(1.4rem,2.4vw,1.9rem);margin:2.2rem 0 1rem}
.coll-guide h2:first-child{margin-top:0}
.coll-guide h3{font-size:1rem;margin:1.2rem 0 .3rem;color:var(--c-text)}
.coll-guide p{color:rgba(var(--c-text-rgb),.78)}
.coll-guide a{color:var(--c-accent);text-decoration:underline;text-underline-offset:3px}
.coll-guide table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}
.coll-guide th,.coll-guide td{border:1px solid var(--c-border);padding:.7rem .9rem;text-align:left}
.coll-guide th{background:var(--c-surface);font-weight:700}
.coll-faq{margin-top:2.5rem;padding:1.5rem 1.75rem;border:1px solid var(--c-border);border-radius:calc(var(--radius) * 3);background:var(--c-surface)}
.coll-faq h2{margin-top:0}
.coll-faq h3{padding-top:1rem;border-top:1px solid var(--c-border)}
.coll-faq h2+h3{border-top:0;padding-top:0}
@media (max-width:749px){.coll-story{grid-template-columns:1fr}.coll-story__media{order:-1}.coll-hero--image .coll-hero__bg::after{background:linear-gradient(0deg,rgba(11,12,9,.95) 20%,rgba(11,12,9,.55) 100%)}.coll-guide table{display:block;overflow-x:auto}}
