/** Shopify CDN: Minification failed

Line 2753:0 All "@import" rules must come first

**/
/* v=2026-05-16-pdp-info-tightened-bust */
/* =====================================================================
   DURASOUND × RAYCON-INSPIRED OVERLAY
   Aggressive, modern, brand-grade overrides that sit on top of base.css.
   ===================================================================== */

:root {
  --rc-text:        #0a0a0f;
  --rc-text-soft:   #4b5563;
  --rc-text-muted:  #6b7280;
  --rc-line:        #e8e8ec;
  --rc-line-soft:   #f2f2f5;
  --rc-surface:     #ffffff;
  --rc-surface-2:   #f5f5f7;
  --rc-surface-3:   #fafafb;
  --rc-accent:      #1A1FFF;
  --rc-accent-2:    #2C30FF;
  --rc-accent-hover:#0A0F8F;
  --rc-accent-soft: rgba(26, 31, 255, 0.08);
  --rc-success:     #10b981;
  --rc-success-soft:#ecfdf5;
  --rc-success-dk:  #047857;
  --rc-sale:        #e11d48;

  --rc-radius-sm:   8px;
  --rc-radius:      14px;
  --rc-radius-lg:   22px;
  --rc-radius-xl:   32px;
  --rc-radius-pill: 999px;

  --rc-shadow-sm:   0 1px 2px rgba(10, 10, 15, 0.04), 0 2px 6px rgba(10, 10, 15, 0.04);
  --rc-shadow:      0 6px 24px rgba(10, 10, 15, 0.06), 0 2px 8px rgba(10, 10, 15, 0.04);
  --rc-shadow-lg:   0 24px 60px rgba(10, 10, 15, 0.10), 0 6px 20px rgba(10, 10, 15, 0.06);

  --rc-ease:        cubic-bezier(0.22, 1, 0.36, 1);
  --rc-container:   1240px;
}

/* ----------- Reset/normalize on top of theme ------------ */
html { scroll-behavior: smooth; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  color: var(--rc-text);
  letter-spacing: -0.01em;
  background: var(--rc-surface);
}

body, body * { box-sizing: border-box; }

::selection { background: var(--rc-accent); color: #fff; }

/* Kill the legacy theme's giant default section padding so our sections control rhythm */
.spaced-section,
.section,
.section-padding,
[class*='section-'][class*='-padding'] { margin: 0 !important; }

/* ============================================================
   TYPOGRAPHY — confident, modern
   ============================================================ */
h1, h2, h3, h4, h5, h6,
.h0, .h1, .h2, .h3, .h4, .h5, .h6 {
  color: var(--rc-text) !important;
  font-weight: 700 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.1 !important;
  margin-top: 0;
}

.h0, h1 { letter-spacing: -0.045em !important; }

/* ============================================================
   BUTTONS — confident pill
   ============================================================ */
.button,
button.button,
a.button,
.shopify-payment-button__button,
.product-form__cart-submit,
.product-form__submit {
  border-radius: var(--rc-radius-pill) !important;
  font-weight: 600 !important;
  letter-spacing: -0.005em !important;
  text-transform: none !important;
  transition: transform .22s var(--rc-ease), background .22s var(--rc-ease), color .22s var(--rc-ease), box-shadow .22s var(--rc-ease) !important;
  border-width: 1.5px !important;
  padding: 14px 26px !important;
  font-size: 1.45rem !important;
}

.button--primary,
.product-form__cart-submit,
.product-form__submit,
.shopify-payment-button__button--unbranded {
  background: var(--rc-accent) !important;
  color: #fff !important;
  border-color: var(--rc-accent) !important;
  box-shadow: 0 8px 22px rgba(26, 31, 255, 0.25);
}

.button--primary:hover,
.product-form__cart-submit:hover,
.product-form__submit:hover,
.shopify-payment-button__button--unbranded:hover {
  background: var(--rc-text) !important;
  border-color: var(--rc-text) !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(10, 10, 15, 0.18);
}

.button--secondary {
  background: transparent !important;
  border-color: var(--rc-text) !important;
  color: var(--rc-text) !important;
}

.button--secondary:hover {
  background: var(--rc-text) !important;
  color: #fff !important;
}

/* ============================================================
   INPUTS
   ============================================================ */
input[type='text'], input[type='email'], input[type='search'],
input[type='tel'], input[type='number'], input[type='password'],
select, textarea, .field__input {
  border-radius: var(--rc-radius-sm) !important;
  border: 1.5px solid var(--rc-line) !important;
  background: #fff !important;
  font-size: 1.45rem !important;
  padding: 13px 16px !important;
  transition: border-color .2s var(--rc-ease), box-shadow .2s var(--rc-ease) !important;
}
input:focus, select:focus, textarea:focus, .field__input:focus {
  border-color: var(--rc-accent) !important;
  box-shadow: 0 0 0 4px var(--rc-accent-soft) !important;
  outline: none !important;
}

/* ============================================================
   ANNOUNCEMENT BAR — constant scrolling marquee
   ============================================================ */
.announcement-bar,
.shopify-section--announcement-bar,
.shopify-section[id*="announcement-bar"] {
  background: var(--rc-text) !important;
  color: #fff !important;
  width: 100%;
  overflow: hidden !important;
}

/* The marquee wrapper IS the announcement-bar__wrapper now */
.announcement-bar .ds-marquee {
  position: relative;
  width: 100%;
  overflow: hidden;
  display: block !important;
  padding: 12px 0 !important;
  min-height: 42px;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%);
          mask-image: linear-gradient(to right, transparent 0, #000 5%, #000 95%, transparent 100%);
}

.announcement-bar .ds-marquee__track {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  animation: ds-marquee-scroll 45s linear infinite;
  will-change: transform;
}

@keyframes ds-marquee-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.announcement-bar .ds-marquee:hover .ds-marquee__track {
  animation-play-state: paused;
}

/* Each message is its own section divided by a vertical line */
.announcement-bar .ds-msg {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 0 56px;
  font-family: 'JetBrains Mono', 'SF Mono', monospace !important;
  font-size: 1.1rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  line-height: 1 !important;
  position: relative;
}

/* Vertical divider on the right of every message (becomes the separator) */
.announcement-bar .ds-msg::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 14px;
  background: rgba(255, 255, 255, 0.18);
}

.announcement-bar .ds-msg strong {
  font-weight: 800 !important;
  color: #fff !important;
}

/* Coloured leading dot per message */
.announcement-bar .ds-msg__dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  flex-shrink: 0;
}
.announcement-bar .ds-msg__dot--blue  { background: var(--rc-accent); box-shadow: 0 0 8px rgba(26,31,255,0.7); }
.announcement-bar .ds-msg__dot--green { background: #10b981; box-shadow: 0 0 8px rgba(16,185,129,0.55); }
.announcement-bar .ds-msg__dot--white { background: #ffffff; box-shadow: 0 0 8px rgba(255,255,255,0.45); }

/* Defensive resets for old markup */
.announcement-bar a, .announcement a { color: #fff !important; text-decoration: none !important; }
.announcement-bar__icon { display: none !important; }
.announcement-bar .ds-msg__sep { display: none !important; }

@media (max-width: 750px) {
  .announcement-bar .ds-marquee { padding: 9px 0 !important; min-height: 36px; }
  .announcement-bar .ds-marquee__track {
    animation-duration: 35s;
  }
  .announcement-bar .ds-msg {
    font-size: 0.95rem !important;
    letter-spacing: 0.04em !important;
    gap: 9px;
    padding: 0 32px;
  }
  .announcement-bar .ds-msg::after {
    height: 11px;
  }
  .announcement-bar .ds-msg__dot { width: 6px; height: 6px; }
}

/* ============================================================
   HEADER — clean dark navbar (matches OzCamps/PulseAU pattern)
   ============================================================ */
.header-wrapper,
.shopify-section-header,
header.header {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-bottom: 1px solid var(--rc-line) !important;
}

.header {
  padding: 18px 32px !important;
  display: grid !important;
  grid-template-areas: "logo nav icons" !important;
  grid-template-columns: 1fr auto 1fr !important;
  align-items: center !important;
  max-width: 1400px !important;
  margin: 0 auto !important;
  gap: 24px !important;
  background: transparent !important;
}

@media (max-width: 989px) {
  .header {
    grid-template-areas: "burger logo icons" !important;
    grid-template-columns: 1fr auto 1fr !important;
    padding: 10px 14px !important;
    min-height: 0 !important;
    gap: 12px !important;
  }
}
@media (max-width: 749px) {
  .header-wrapper,
  .shopify-section-header,
  header.header {
    padding: 0 !important;
  }
  .header {
    padding: 8px 12px !important;
    min-height: 0 !important;
    grid-row-gap: 0 !important;
  }
  .header__heading,
  .header h1, .header h2,
  .header__heading-link {
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
  }
  .header__heading-logo,
  .header__heading-logo a {
    line-height: 1 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .header__heading-logo img {
    max-height: 34px !important;
    max-width: 130px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
  }
  .header__icons {
    padding: 0 !important;
    margin: 0 !important;
  }
  .header__icon {
    padding: 6px !important;
  }
  /* Kill the bottom border-gap that some themes add */
  .shopify-section-header { margin-bottom: 0 !important; }
}

.header__heading,
.header h1, .header h2,
.header__heading-link {
  grid-area: logo !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-self: start !important;
}
@media (max-width: 989px) {
  .header__heading, .header h1, .header h2, .header__heading-link {
    justify-self: center !important;
  }
}

.header__heading-logo,
.header__heading-logo a {
  display: inline-flex !important;
  align-items: center !important;
  color: var(--rc-text) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 2.2rem !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  text-transform: none !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.header__heading-logo img {
  max-height: 48px !important;
  height: auto !important;
  width: auto !important;
  max-width: 180px !important;
  display: block !important;
  object-fit: contain !important;
}
@media (max-width: 749px) {
  .header__heading-logo img { max-height: 38px !important; max-width: 140px !important; }
}

.header__inline-menu,
.header__menu-list,
nav.header__inline-menu ul,
nav.header__inline-menu {
  grid-area: nav !important;
  justify-self: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  gap: 4px !important;
  flex-wrap: nowrap !important;
}
@media (max-width: 989px) {
  .header__inline-menu,
  .header__menu-list,
  nav.header__inline-menu ul { display: none !important; }
}

.header__menu-item,
.header__inline-menu li,
.header__menu-list li {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.header__menu-item a,
.header__inline-menu a,
.header__menu-list a {
  display: inline-flex !important;
  align-items: center !important;
  height: 44px !important;
  padding: 0 16px !important;
  font-family: 'JetBrains Mono', 'SF Mono', monospace !important;
  font-weight: 600 !important;
  font-size: 1.15rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--rc-text) !important;
  text-decoration: none !important;
  border-radius: 8px !important;
  transition: background .15s, color .15s !important;
}

.header__menu-item a:hover,
.header__inline-menu a:hover,
.header__menu-list a:hover {
  color: var(--rc-accent) !important;
  background: rgba(26, 31, 255, 0.06) !important;
}

/* Right-side icon cluster (search / account / cart) */
.header__icons,
.header__icon-list {
  grid-area: icons !important;
  display: flex !important;
  align-items: center !important;
  justify-self: end !important;
  gap: 6px !important;
}

.header__icon,
.header__icon-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 8px !important;
  color: var(--rc-text) !important;
  transition: background .15s, color .15s !important;
}

.header__icon:hover, .header__icon-link:hover {
  color: var(--rc-accent) !important;
  background: rgba(26, 31, 255, 0.06) !important;
}

.header__icon svg { width: 22px !important; height: 22px !important; }

/* Mobile hamburger */
.header__menu-toggle,
.header__hamburger {
  grid-area: burger !important;
  display: none !important;
  justify-self: start !important;
  width: 44px !important;
  height: 44px !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: none !important;
  cursor: pointer !important;
  color: var(--rc-text) !important;
}
@media (max-width: 989px) {
  .header__menu-toggle, .header__hamburger { display: inline-flex !important; }
}

/* Reset the legacy footer 3-column override so it doesn't bleed into header */
.shopify-section-header .footer__content,
.shopify-section-header .footer__content-top { display: block !important; grid-template-columns: none !important; }

/* ============================================================
   PRODUCT PAGE — the big one
   ============================================================ */

/* Container alignment */
[id^="MainProduct-"] .container,
.product.container {
  max-width: var(--rc-container) !important;
  padding-left: 24px !important;
  padding-right: 24px !important;
}

[id^="MainProduct-"] .product,
[id^="MainProduct-"] .product__outer {
  gap: 40px !important;
}

@media (min-width: 990px) {
  [id^="MainProduct-"] .product,
  [id^="MainProduct-"] .product__outer {
    gap: 80px !important;
  }
}

/* ----- Media (left column) ----- LARGE, soft surface, never crops ----- */

/* Surface treatment lives on .product__media (the square aspect-ratio box) */
.product__outer--slider-previews .product__media-list .product__media,
.product__outer--slider-bullets  .product__media-list .product__media,
.product__outer--grid-gallery    .product__media-list .product__media,
.product__outer--stacked-gallery .product__media-list .product__media,
.product__media {
  background: var(--rc-surface-2) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

/* The slide itself stays untouched — no padding, no flex,
   so the theme's padding-bottom + absolute-positioned img keeps working */
.product__media-item { background: transparent !important; }

/* Images fill the entire square — no padding, true edge-to-edge */
.product__media-item--contain .product__media img,
.product__media-item--contain .product__media video,
.product__media img,
.product__media video {
  object-fit: cover !important;
  padding: 0 !important;
  background: transparent !important;
  width: 100% !important;
  height: 100% !important;
}

/* Thumbnails — clean small squares below the main image */
.product__media-sublist-outer { margin-top: 16px !important; }

.product__media-sublist {
  gap: 10px !important;
}

.product__media-subitem,
.product__media-thumb {
  border-radius: 0 !important;
  background: var(--rc-surface-2) !important;
  border: 1.5px solid transparent !important;
  overflow: hidden !important;
  transition: border-color .2s var(--rc-ease), transform .2s var(--rc-ease) !important;
  cursor: pointer !important;
  padding: 0 !important;
}

.product__media-subitem .product__media,
.product__media-subitem .product__media img {
  border-radius: 0 !important;
  background: transparent !important;
}

.product__media-subitem .product__media img {
  padding: 0 !important;
  object-fit: cover !important;
}

.product__media-subitem.swiper-slide-thumb-active,
.product__media-subitem.active,
.product__media-thumb.active,
.product__media-subitem:hover {
  border-color: var(--rc-accent) !important;
}

/* Right column — product info */
.product__info,
.product__info-container,
.product__info-wrapper {
  padding-top: 8px !important;
}

@media (min-width: 990px) {
  .product__info-container,
  .product__info-wrapper {
    position: sticky !important;
    top: 100px !important;
    align-self: start !important;
  }
}

/* Title */
.product__title,
.product__info .h1,
.product__info h1,
.product__title h1 {
  font-size: clamp(2.6rem, 3.5vw, 4rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.04em !important;
  margin: 0 0 14px !important;
  color: var(--rc-text) !important;
}

/* Vendor / breadcrumb above title */
.product__vendor, .product__type, .product__breadcrumb {
  color: var(--rc-text-muted) !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  margin-bottom: 10px !important;
}

/* Custom badges (sale tags) */
.product__custom-badges {
  margin: 0 0 16px !important;
  gap: 8px !important;
}

.badge, .price__badge-sale, .badge--sale, .product__badge {
  background: var(--rc-sale) !important;
  color: #fff !important;
  font-weight: 700 !important;
  border-radius: var(--rc-radius-pill) !important;
  padding: 5px 12px !important;
  letter-spacing: 0.05em !important;
  font-size: 1.05rem !important;
  text-transform: uppercase !important;
  border: none !important;
}

/* Price */
.price,
.product__price,
.product-price {
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  color: var(--rc-text) !important;
  margin: 6px 0 18px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: 12px !important;
}

.price *,
.price__regular .price-item--regular,
.price__sale .price-item--sale,
.price-item { font-size: inherit !important; }

.price__regular .price-item--regular,
.price__sale s,
s.price-item--regular,
.price-item--regular--strikethrough {
  color: var(--rc-text-muted) !important;
  font-weight: 500 !important;
  font-size: 1.6rem !important;
  text-decoration: line-through !important;
}

/* Sale price — same jolly-rancher red as the Sale badge */
.price--on-sale .price__sale .price-item--sale,
.price__sale .price-item--sale,
[id^="MainProduct-"] .price-item--sale {
  color: #E11D48 !important;
  font-weight: 800 !important;
}

/* Auto-applied discount callout */
.rc-discount-callout {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 18px 0 !important;
  padding: 14px 18px !important;
  border: 1.5px dashed var(--rc-success) !important;
  background: var(--rc-success-soft) !important;
  border-radius: var(--rc-radius) !important;
  color: var(--rc-success-dk) !important;
  font-size: 1.35rem !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
}
.rc-discount-callout strong { color: #064e3b !important; font-weight: 700 !important; }
.rc-discount-callout svg { flex-shrink: 0 !important; width: 26px !important; height: 26px !important; color: var(--rc-success) !important; }

/* Variant picker (color swatches) */
.product-form__input,
.variant-input-wrap {
  margin-bottom: 22px !important;
}

.product-form__input legend,
.form__label,
.variant-input-wrap label.option-label,
.product-form__input > label {
  display: block !important;
  font-weight: 600 !important;
  font-size: 1.3rem !important;
  color: var(--rc-text) !important;
  margin-bottom: 12px !important;
  letter-spacing: -0.005em !important;
}

.product-form__input--swatch input[type='radio'] + label,
.product-form__input--pill input[type='radio'] + label,
.swatch-element label,
.variant-input-wrap label {
  border-radius: var(--rc-radius-pill) !important;
  border: 1.5px solid var(--rc-line) !important;
  padding: 10px 18px !important;
  font-weight: 500 !important;
  font-size: 1.35rem !important;
  background: #fff !important;
  color: var(--rc-text) !important;
  transition: all .2s var(--rc-ease) !important;
  margin-right: 8px !important;
  margin-bottom: 8px !important;
  cursor: pointer !important;
}

.product-form__input--swatch input[type='radio']:checked + label,
.product-form__input--pill input[type='radio']:checked + label,
.swatch-element.active label,
.variant-input-wrap.active label {
  border-color: var(--rc-text) !important;
  background: var(--rc-text) !important;
  color: #fff !important;
}

/* Quantity selector */
.quantity, .quantity-selector, .product__quantity {
  border: 1.5px solid var(--rc-line) !important;
  border-radius: var(--rc-radius-pill) !important;
  overflow: hidden !important;
  width: fit-content !important;
}

.quantity__input, .quantity input {
  background: transparent !important;
  border: none !important;
  font-weight: 600 !important;
  width: 50px !important;
  text-align: center !important;
}

.quantity__button, .quantity button {
  background: transparent !important;
  border: none !important;
  width: 44px !important;
  height: 44px !important;
  cursor: pointer !important;
}

/* Buy buttons */
.product-form__buttons { margin-top: 16px !important; gap: 8px !important; }

.product-form__cart-submit,
.product-form__submit {
  width: 100% !important;
  min-height: 58px !important;
  font-size: 1.6rem !important;
  letter-spacing: 0 !important;
  padding: 16px 28px !important;
}

/* Trust row & retail line */
.rc-trust-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 14px 20px !important;
  margin-top: 22px !important;
  padding: 18px 0 !important;
  border-top: 1px solid var(--rc-line) !important;
  border-bottom: 1px solid var(--rc-line) !important;
}
.rc-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  font-size: 1.3rem !important;
  font-weight: 500 !important;
  color: var(--rc-text-soft) !important;
}
.rc-trust-item svg {
  width: 24px !important;
  height: 24px !important;
  color: var(--rc-accent) !important;
  flex-shrink: 0 !important;
}
.rc-best-buy {
  margin-top: 16px !important;
  font-size: 1.25rem !important;
  color: var(--rc-text-soft) !important;
  font-weight: 500 !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.rc-best-buy::before {
  content: "" !important;
  width: 6px !important;
  height: 6px !important;
  border-radius: 50% !important;
  background: var(--rc-accent) !important;
}

/* Description */
.product__description,
.product__description-summary,
.rte {
  color: var(--rc-text-soft) !important;
  line-height: 1.6 !important;
  font-size: 1.45rem !important;
  margin-top: 24px !important;
}

.product__description ul, .rte ul { padding-left: 20px !important; }
.product__description li, .rte li { margin: 6px 0 !important; }
.product__description strong, .rte strong { color: var(--rc-text) !important; }

/* ============================================================
   PDP FEATURE BANNER — "No Compromise" icons + center product
   ============================================================ */
.rc-feature-banner {
  padding: 100px 24px 80px !important;
  background: var(--rc-surface) !important;
  text-align: center !important;
}

.rc-feature-banner__title {
  font-size: clamp(2.8rem, 4.5vw, 4.4rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  margin: 0 0 8px !important;
  color: var(--rc-text) !important;
  line-height: 1.02 !important;
}

.rc-feature-banner__sub {
  color: var(--rc-text-muted) !important;
  font-size: 1.55rem !important;
  margin: 0 0 56px !important;
  letter-spacing: -0.005em !important;
}

.rc-feature-banner__layout {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-items: center !important;
  gap: 40px !important;
  max-width: var(--rc-container) !important;
  margin: 0 auto !important;
  padding: 0 16px !important;
}

@media (min-width: 990px) {
  .rc-feature-banner__layout {
    grid-template-columns: 1fr 1.1fr 1fr !important;
    gap: 56px !important;
  }
}

.rc-feature-banner__icons {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 36px 24px !important;
  align-content: center !important;
}

.rc-feature-banner__icons--right { text-align: left !important; }
.rc-feature-banner__icons--left { text-align: right !important; }

@media (max-width: 989px) {
  .rc-feature-banner__icons { grid-template-columns: 1fr 1fr !important; }
  .rc-feature-banner__icons--left,
  .rc-feature-banner__icons--right { text-align: center !important; }
}

.rc-feature-banner__icon {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.rc-feature-banner__icons--right .rc-feature-banner__icon { align-items: flex-start !important; }
.rc-feature-banner__icons--left  .rc-feature-banner__icon { align-items: flex-end !important; }

@media (max-width: 989px) {
  .rc-feature-banner__icons--left  .rc-feature-banner__icon,
  .rc-feature-banner__icons--right .rc-feature-banner__icon { align-items: center !important; }
}

.rc-feature-banner__icon svg {
  width: 48px !important;
  height: 48px !important;
  color: var(--rc-text) !important;
  stroke-width: 1.4 !important;
  flex-shrink: 0 !important;
}

.rc-feature-banner__icon-label {
  font-weight: 700 !important;
  font-size: 1.45rem !important;
  letter-spacing: -0.012em !important;
  color: var(--rc-text) !important;
}

.rc-feature-banner__icon-sub {
  font-size: 1.25rem !important;
  color: var(--rc-text-muted) !important;
}

.rc-feature-banner__media {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  max-width: 420px !important;
  margin: 0 auto !important;
}

.rc-feature-banner__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

/* ============================================================
   PDP FEATURE MODULES — full-bleed
   ============================================================ */
.rc-feature-module {
  position: relative !important;
  padding: 100px 24px !important;
  background: var(--rc-surface) !important;
  overflow: hidden !important;
}

.rc-feature-module--alt { background: var(--rc-surface-2) !important; }
.rc-feature-module--dark {
  background: var(--rc-text) !important;
  color: #fff !important;
}
.rc-feature-module--dark .rc-feature-module__title { color: #fff !important; }
.rc-feature-module--dark .rc-feature-module__copy { color: #d1d5db !important; }

.rc-feature-module__inner {
  max-width: var(--rc-container) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 40px !important;
  align-items: center !important;
}

@media (min-width: 990px) {
  .rc-feature-module__inner {
    grid-template-columns: 1fr 1fr !important;
    gap: 80px !important;
  }
  .rc-feature-module--reverse .rc-feature-module__inner {
    direction: rtl !important;
  }
  .rc-feature-module--reverse .rc-feature-module__inner > * {
    direction: ltr !important;
  }
}

.rc-feature-module__eyebrow {
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--rc-accent) !important;
  margin: 0 0 16px !important;
}
.rc-feature-module--dark .rc-feature-module__eyebrow { color: var(--rc-accent-2) !important; }

.rc-feature-module__title {
  font-size: clamp(2.6rem, 4.5vw, 4.4rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  line-height: 1.02 !important;
  margin: 0 0 20px !important;
  color: var(--rc-text);
}

.rc-feature-module__copy {
  font-size: 1.6rem !important;
  line-height: 1.55 !important;
  color: var(--rc-text-soft);
  max-width: 540px;
}

/* Feature module media surface — enforced square box, true edge-to-edge */
.rc-feature-module__media {
  position: relative !important;
  aspect-ratio: 1 / 1 !important;
  width: 100% !important;
  max-width: 560px !important;
  margin: 0 auto !important;
  background: var(--rc-surface-2) !important;
  border-radius: var(--rc-radius-xl) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.rc-feature-module--alt .rc-feature-module__media { background: var(--rc-surface) !important; }
.rc-feature-module--dark .rc-feature-module__media { background: rgba(255,255,255,0.04) !important; }

.rc-feature-module__media img,
.rc-feature-module__media video {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* ============================================================
   FAQ
   ============================================================ */
.rc-faq {
  padding: 120px 24px !important;
  background: var(--rc-surface-2) !important;
}

.rc-faq__inner {
  max-width: 820px;
  margin: 0 auto;
  background: #fff;
  border-radius: var(--rc-radius-xl);
  padding: 56px;
  box-shadow: var(--rc-shadow);
}

@media (max-width: 750px) {
  .rc-faq { padding: 64px 16px !important; }
  .rc-faq__inner { padding: 32px 24px; }
}

.rc-faq__title {
  text-align: center;
  font-size: clamp(2.6rem, 3.6vw, 3.6rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  margin: 0 0 36px;
  color: var(--rc-text);
}

.rc-faq__item {
  border-bottom: 1px solid var(--rc-line);
}
.rc-faq__item:last-child { border-bottom: none; }

.rc-faq__q {
  cursor: pointer;
  list-style: none;
  padding: 24px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  font-size: 1.6rem;
  font-weight: 600;
  color: var(--rc-text);
  letter-spacing: -0.015em;
}

.rc-faq__q::-webkit-details-marker { display: none; }

.rc-faq__q::after {
  content: '+';
  font-size: 2.4rem;
  font-weight: 300;
  color: var(--rc-text-muted);
  transition: transform .2s var(--rc-ease), color .2s var(--rc-ease);
  line-height: 1;
}
.rc-faq__item[open] .rc-faq__q::after {
  content: '−';
  color: var(--rc-accent);
}

.rc-faq__a {
  padding: 0 0 24px;
  color: var(--rc-text-soft);
  font-size: 1.45rem;
  line-height: 1.65;
}

/* ============================================================
   FOOTER
   ============================================================ */
footer.footer,
.shopify-section-footer,
.shopify-section-footer .footer,
.footer__content,
.footer__content-bottom {
  background: var(--rc-text) !important;
  color: #fff !important;
}

.footer { padding: 80px 0 32px !important; }

.footer__heading,
.footer__title,
.footer-block__heading {
  color: #fff !important;
  font-weight: 600 !important;
  font-size: 1.45rem !important;
  letter-spacing: -0.005em !important;
  margin-bottom: 18px !important;
}

.footer a,
.footer__list-item a,
.footer-block__details-content a,
.footer__copyright,
.footer__copyright a {
  color: #9ca3af !important;
  font-size: 1.3rem !important;
  text-decoration: none !important;
  transition: color .2s var(--rc-ease);
}

.footer a:hover { color: #fff !important; }

.footer__content-bottom {
  border-top: 1px solid rgba(255,255,255,0.1) !important;
  padding-top: 32px !important;
  margin-top: 48px !important;
}

.footer__heading-logo,
.footer .logo {
  filter: brightness(0) invert(1) !important;
}

/* ============================================================
   PRODUCT GRID CARDS (auto-rendered ones in built-in sections)
   ============================================================ */
.product-card, .card, .grid__item .card-wrapper {
  border-radius: var(--rc-radius) !important;
  overflow: hidden !important;
  background: transparent !important;
}

.product-card__image, .card__media, .card-information__image-wrapper {
  background: var(--rc-surface-2) !important;
  border-radius: var(--rc-radius) !important;
  overflow: hidden !important;
}

.product-card__title, .card__heading, .card-information__text {
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
}

/* ============================================================
   RC BUTTONS (homepage custom-liquid usage)
   ============================================================ */
.rc-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  padding: 15px 28px !important;
  border-radius: var(--rc-radius-pill) !important;
  font-weight: 600 !important;
  font-size: 1.5rem !important;
  letter-spacing: -0.005em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: background .22s var(--rc-ease), color .22s var(--rc-ease), transform .22s var(--rc-ease), box-shadow .22s var(--rc-ease) !important;
  border: 1.5px solid transparent !important;
  white-space: nowrap !important;
}

.rc-btn--primary {
  background: var(--rc-accent) !important;
  color: #fff !important;
  border-color: var(--rc-accent) !important;
  box-shadow: 0 8px 22px rgba(26, 31, 255, 0.25);
}
.rc-btn--primary:hover {
  background: var(--rc-text) !important;
  border-color: var(--rc-text) !important;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(10, 10, 15, 0.18);
}

.rc-btn--ghost {
  background: transparent !important;
  color: var(--rc-text) !important;
  border-color: var(--rc-line) !important;
}
.rc-btn--ghost:hover {
  background: var(--rc-text) !important;
  border-color: var(--rc-text) !important;
  color: #fff !important;
}

.rc-btn--invert {
  background: #fff !important;
  color: var(--rc-text) !important;
  border-color: #fff !important;
}
.rc-btn--invert:hover {
  background: var(--rc-accent) !important;
  border-color: var(--rc-accent) !important;
  color: #fff !important;
}

/* ============================================================
   HOMEPAGE HERO — full-bleed, dramatic
   ============================================================ */
.rc-home-hero {
  position: relative !important;
  min-height: 86vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 140px 24px 80px !important;
  overflow: hidden !important;
  background: linear-gradient(160deg, #ffffff 0%, #f5f5f7 40%, #DCE0FF 100%) !important;
}

.rc-home-hero__bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(900px circle at 18% 28%, rgba(26,31,255,0.16), transparent 55%),
    radial-gradient(700px circle at 82% 72%, rgba(26,31,255,0.08), transparent 55%) !important;
}

.rc-home-hero__inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 820px !important;
}

.rc-home-hero__eyebrow {
  display: inline-block !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--rc-accent) !important;
  margin: 0 0 22px !important;
  padding: 7px 16px !important;
  border: 1.5px solid rgba(26, 31, 255, 0.28) !important;
  border-radius: var(--rc-radius-pill) !important;
  background: rgba(26, 31, 255, 0.06) !important;
}

.rc-home-hero__title {
  font-size: clamp(4rem, 8.5vw, 8.8rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.05em !important;
  line-height: 0.96 !important;
  margin: 0 0 24px !important;
  color: var(--rc-text) !important;
}

.rc-home-hero__sub {
  font-size: clamp(1.5rem, 2vw, 1.95rem) !important;
  color: var(--rc-text-soft) !important;
  line-height: 1.5 !important;
  max-width: 600px !important;
  margin: 0 auto 38px !important;
}

.rc-home-hero__cta {
  display: flex !important;
  gap: 14px !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

/* Hero product showcase — square plate, contained, never cropped */
.rc-home-hero__product {
  position: relative !important;
  z-index: 2 !important;
  margin: 48px auto 0 !important;
  width: 100% !important;
  max-width: 560px !important;
  aspect-ratio: 1 / 1 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}
.rc-home-hero__product img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 60px 60px rgba(10,10,15,0.18));
}

/* ============================================================
   FEATURE STRIP (4 icons row)
   ============================================================ */
.rc-feature-strip {
  border-top: 1px solid var(--rc-line) !important;
  border-bottom: 1px solid var(--rc-line) !important;
  background: var(--rc-surface) !important;
}

.rc-feature-strip__inner {
  max-width: var(--rc-container) !important;
  margin: 0 auto !important;
  padding: 32px 24px !important;
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 22px 28px !important;
}

@media (min-width: 800px) {
  .rc-feature-strip__inner { grid-template-columns: repeat(4, 1fr) !important; }
}

.rc-feature-strip__item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.rc-feature-strip__item svg {
  width: 36px !important;
  height: 36px !important;
  color: var(--rc-accent) !important;
  flex-shrink: 0 !important;
}
.rc-feature-strip__item strong {
  display: block !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: var(--rc-text) !important;
  letter-spacing: -0.012em !important;
}
.rc-feature-strip__item span {
  display: block !important;
  font-size: 1.25rem !important;
  color: var(--rc-text-muted) !important;
}

/* ============================================================
   HOMEPAGE COLLECTION STRIP
   ============================================================ */
.rc-collection-strip {
  padding: 120px 24px !important;
  background: var(--rc-surface) !important;
}

.rc-collection-strip__inner { max-width: var(--rc-container) !important; margin: 0 auto !important; }

.rc-collection-strip__head {
  text-align: center !important;
  margin-bottom: 56px !important;
}

.rc-section-title {
  font-size: clamp(2.8rem, 4.5vw, 4.4rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  margin: 0 0 10px !important;
  color: var(--rc-text) !important;
}

.rc-section-sub {
  font-size: 1.55rem !important;
  color: var(--rc-text-muted) !important;
  margin: 0 !important;
}

.rc-product-grid {
  display: grid !important;
  grid-template-columns: repeat(1, 1fr) !important;
  gap: 28px !important;
}

@media (min-width: 750px) { .rc-product-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 32px !important; } }
@media (min-width: 990px) { .rc-product-grid { grid-template-columns: repeat(3, 1fr) !important; gap: 36px !important; } }

.rc-product-card {
  display: block !important;
  text-decoration: none !important;
  color: inherit !important;
  transition: transform .25s var(--rc-ease) !important;
}
.rc-product-card:hover { transform: translateY(-6px); }

.rc-product-card__media {
  aspect-ratio: 1 / 1 !important;
  background: var(--rc-surface-2) !important;
  border-radius: var(--rc-radius-lg) !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin-bottom: 18px !important;
}

.rc-product-card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .4s var(--rc-ease) !important;
}

.rc-product-card:hover .rc-product-card__media img { transform: scale(1.04); }

.rc-product-card__body { padding: 0 4px !important; }

.rc-product-card__title {
  font-size: 1.7rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 6px !important;
  color: var(--rc-text) !important;
}

.rc-product-card__price {
  font-size: 1.5rem !important;
  font-weight: 600 !important;
  color: var(--rc-text) !important;
  display: flex !important;
  gap: 10px !important;
  align-items: baseline !important;
}

.rc-product-card__price-sale { color: var(--rc-sale) !important; }
.rc-product-card__price-was { color: var(--rc-text-muted) !important; font-weight: 500 !important; text-decoration: line-through !important; font-size: 1.3rem !important; }

/* ============================================================
   HOMEPAGE REVIEWS STRIP
   ============================================================ */
.rc-reviews-strip {
  padding: 120px 24px !important;
  background: var(--rc-surface-2) !important;
}

.rc-reviews-strip__inner { max-width: var(--rc-container) !important; margin: 0 auto !important; }

.rc-reviews-strip__head { text-align: center !important; margin-bottom: 56px !important; }

.rc-reviews-strip__stars {
  color: #f59e0b !important;
  font-size: 2.4rem !important;
  letter-spacing: 4px !important;
  margin-bottom: 14px !important;
}

.rc-reviews-strip__title {
  font-size: clamp(2.8rem, 4vw, 4rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em !important;
  margin: 0 0 8px !important;
  color: var(--rc-text) !important;
}
.rc-reviews-strip__sub { color: var(--rc-text-muted) !important; font-size: 1.45rem !important; }

.rc-reviews-strip__grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 22px !important;
}

@media (min-width: 800px) { .rc-reviews-strip__grid { grid-template-columns: repeat(3, 1fr) !important; } }

.rc-review {
  background: #fff !important;
  border-radius: var(--rc-radius-lg) !important;
  padding: 32px !important;
  box-shadow: var(--rc-shadow-sm) !important;
}

.rc-review__stars { color: #f59e0b !important; font-size: 1.6rem !important; letter-spacing: 2px !important; margin-bottom: 16px !important; }

.rc-review__body {
  font-size: 1.55rem !important;
  line-height: 1.55 !important;
  color: var(--rc-text) !important;
  margin: 0 0 18px !important;
  letter-spacing: -0.005em !important;
}

.rc-review__author { font-size: 1.25rem !important; color: var(--rc-text-muted) !important; font-weight: 500 !important; }

/* ============================================================
   HOMEPAGE CTA BANNER
   ============================================================ */
.rc-cta-banner {
  padding: 140px 24px !important;
  background: var(--rc-text) !important;
  color: #fff !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}

.rc-cta-banner::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background:
    radial-gradient(800px circle at 20% 30%, rgba(26,31,255,0.30), transparent 50%),
    radial-gradient(600px circle at 80% 70%, rgba(26,31,255,0.18), transparent 55%) !important;
  pointer-events: none !important;
}

.rc-cta-banner__inner { max-width: 760px !important; margin: 0 auto !important; position: relative !important; z-index: 1 !important; }

.rc-cta-banner__title {
  font-size: clamp(3.4rem, 6vw, 6rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.045em !important;
  line-height: 1 !important;
  margin: 0 0 18px !important;
  color: #fff !important;
}

.rc-cta-banner__sub {
  color: #9ca3af !important;
  font-size: 1.6rem !important;
  margin: 0 0 38px !important;
}

/* ============================================================
   ABOUT / FAQ / Page templates polish (used by /pages/about, /pages/faq)
   ============================================================ */
.rc-about { padding: 100px 24px !important; background: var(--rc-surface) !important; }
.rc-about-inner { max-width: 820px !important; margin: 0 auto !important; }
.rc-about h1 {
  font-size: clamp(3.2rem, 6vw, 5.6rem) !important;
  letter-spacing: -0.045em !important;
  margin: 0 0 24px !important;
}
.rc-about-lead {
  font-size: 1.75rem !important;
  color: var(--rc-text-soft) !important;
  margin: 0 0 48px !important;
  line-height: 1.5 !important;
}
.rc-about-section { margin-bottom: 36px !important; }
.rc-about-section h2 {
  font-size: clamp(2rem, 3vw, 2.6rem) !important;
  margin: 0 0 14px !important;
  letter-spacing: -0.035em !important;
}
.rc-about-section p, .rc-about-section ul { color: var(--rc-text-soft) !important; line-height: 1.65 !important; font-size: 1.45rem !important; }
.rc-about-section ul { padding-left: 22px !important; }
.rc-about-section li { margin: 6px 0 !important; }

.rc-faq-page { padding: 100px 24px !important; max-width: 820px !important; margin: 0 auto !important; }
.rc-faq-page h1 {
  font-size: clamp(3.2rem, 5vw, 5rem) !important;
  letter-spacing: -0.045em !important;
  margin: 0 0 16px !important;
}
.rc-faq-page__lead {
  font-size: 1.6rem !important;
  color: var(--rc-text-soft) !important;
  margin: 0 0 48px !important;
  line-height: 1.55 !important;
}
.rc-faq-page h2 {
  font-size: 1.5rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.16em !important;
  color: var(--rc-accent) !important;
  margin: 48px 0 18px !important;
  font-weight: 700 !important;
}
.rc-faq-page details {
  border-bottom: 1px solid var(--rc-line) !important;
  padding: 22px 0 !important;
}
.rc-faq-page details summary {
  cursor: pointer !important;
  font-size: 1.6rem !important;
  font-weight: 600 !important;
  letter-spacing: -0.012em !important;
  color: var(--rc-text) !important;
  position: relative !important;
  padding-right: 36px !important;
  list-style: none !important;
}
.rc-faq-page details summary::-webkit-details-marker { display: none !important; }
.rc-faq-page details summary::after {
  content: '+' !important;
  position: absolute !important;
  right: 0 !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 2.4rem !important;
  font-weight: 300 !important;
  color: var(--rc-text-muted) !important;
}
.rc-faq-page details[open] summary::after { content: '−' !important; color: var(--rc-accent) !important; }
.rc-faq-page details p {
  color: var(--rc-text-soft) !important;
  font-size: 1.45rem !important;
  line-height: 1.65 !important;
  margin: 14px 0 0 !important;
}

/* ============================================================
   Cart drawer / global polish
   ============================================================ */
.cart-drawer { background: #fff !important; }
.cart-drawer__heading, .cart__heading { letter-spacing: -0.025em !important; font-weight: 700 !important; }

/* Misc: hide noisy theme elements we don't want */
.product__divider, .divider, .breadcrumb { display: none !important; }

/* RTE / general body links */
.rte a { color: var(--rc-accent) !important; }

/* Generic section spacing helper */
.rc-section-pad { padding: 100px 24px !important; }
@media (max-width: 750px) { .rc-section-pad { padding: 64px 16px !important; } }

/* Make sure the swiper buttons/dots don't look 2015 */
.swiper-button-prev, .swiper-button-next {
  background: rgba(255,255,255,0.92) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  box-shadow: var(--rc-shadow-sm) !important;
  color: var(--rc-text) !important;
}
.swiper-button-prev::after, .swiper-button-next::after { font-size: 1.4rem !important; font-weight: 700 !important; }

.swiper-pagination-bullet { background: var(--rc-line) !important; opacity: 1 !important; }
.swiper-pagination-bullet-active { background: var(--rc-accent) !important; }

/* ===================================================================
   DURASOUND × PulseAU-style conversion components
   =================================================================== */

:root {
  --ds-navy:    #0a0e1a;
  --ds-orange:  #1A1FFF;
  --ds-pulse:   #1A1FFF;
  --ds-amber:   #1A1FFF;
  --ds-success: #10b981;
}

/* ---------- Announcement bar — clean & static (no broken marquee) ---------- */
@keyframes ds-marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* ---------- Section ticker (between page sections) ---------- */
.ds-ticker {
  background: var(--rc-accent);
  color: #fff;
  padding: 14px 0;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,0.12);
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.ds-ticker__track {
  display: inline-block;
  white-space: nowrap;
  animation: ds-marquee 28s linear infinite;
  font-family: 'JetBrains Mono', 'SF Mono', monospace;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.ds-ticker__track span { margin: 0 24px; }
.ds-ticker__track span::before {
  content: "▲";
  display: inline-block;
  margin-right: 12px;
  color: rgba(255,255,255,0.6);
  font-size: 0.8em;
}

/* ---------- Conversion hero (Open Run Pro hero) ---------- */
.ds-cv-hero {
  position: relative;
  background:
    linear-gradient(135deg, rgba(10,14,26,0.92), rgba(26,31,255,0.55)),
    radial-gradient(circle at 30% 30%, rgba(26,31,255,0.4), transparent 60%);
  color: #fff;
  padding: 60px 24px 80px;
  overflow: hidden;
}
.ds-cv-hero__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: center;
}
@media (min-width: 900px) {
  .ds-cv-hero__inner { grid-template-columns: 1.1fr 1fr; gap: 64px; }
}
.ds-cv-hero__title {
  font-size: clamp(3.4rem, 6vw, 6.6rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  line-height: 0.95 !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin: 0 0 18px !important;
}
.ds-cv-hero__title .hl { color: var(--rc-accent); }
.ds-cv-hero__sub {
  font-size: 1.6rem;
  color: rgba(255,255,255,0.85);
  line-height: 1.45;
  max-width: 480px;
  margin: 0 0 24px;
}
.ds-cv-hero__pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 26px;
}
.ds-cv-hero__pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid rgba(255,255,255,0.25);
  border-radius: 999px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(255,255,255,0.06);
}
.ds-cv-hero__pill::before {
  content: "✓";
  color: var(--rc-accent);
  font-weight: 900;
}
.ds-cv-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 18px 0 26px;
}
.ds-cv-hero__cta .rc-btn--primary {
  background: var(--rc-accent) !important;
  color: var(--rc-text) !important;
  border-color: var(--rc-accent) !important;
  font-weight: 800 !important;
  font-size: 1.55rem !important;
  padding: 18px 32px !important;
  box-shadow: 0 12px 30px rgba(26, 31, 255, 0.35) !important;
}
.ds-cv-hero__cta .rc-btn--primary:hover { background: #fff !important; border-color: #fff !important; }
.ds-cv-hero__cta .rc-btn--ghost {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255,255,255,0.4) !important;
}
.ds-cv-hero__cta .rc-btn--ghost:hover {
  background: rgba(255,255,255,0.1) !important;
  border-color: #fff !important;
  color: #fff !important;
}
.ds-cv-hero__trust {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.15rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
}
.ds-cv-hero__trust .stars { color: var(--rc-accent); letter-spacing: 2px; font-size: 1.4rem; }
.ds-cv-hero__media {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ds-cv-hero__media img {
  width: 100%;
  max-width: 560px;
  height: auto;
  display: block;
  filter: drop-shadow(0 30px 60px rgba(0,0,0,0.4));
}

/* ---------- Stat row (huge animated numbers) ---------- */
.ds-stats {
  background: var(--rc-text);
  color: #fff;
  padding: 56px 24px;
  border-top: 1px solid rgba(255,255,255,0.1);
}
.ds-stats__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  text-align: center;
}
@media (min-width: 700px) { .ds-stats__inner { grid-template-columns: repeat(4, 1fr); } }
.ds-stat__num {
  font-size: clamp(3rem, 5vw, 4.4rem);
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--rc-accent);
  line-height: 1;
  margin: 0 0 8px;
}
.ds-stat__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.15rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.7);
}

/* ---------- "Built to Last" 4-up features ---------- */
.ds-built {
  background: #fff;
  padding: 100px 24px;
}
.ds-built__inner { max-width: 1280px; margin: 0 auto; }
.ds-built__title {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(3rem, 5.2vw, 5.6rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  text-transform: uppercase !important;
  text-align: center;
  margin: 0 0 12px !important;
  color: var(--rc-text) !important;
}
.ds-built__sub {
  text-align: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rc-accent);
  margin: 0 0 48px;
}
.ds-built__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
@media (min-width: 700px) { .ds-built__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .ds-built__grid { grid-template-columns: repeat(4, 1fr); } }
.ds-built__card {
  border: 1.5px solid var(--rc-line);
  border-radius: 14px;
  padding: 28px;
  transition: border-color .2s, transform .2s;
  background: #fff;
}
.ds-built__card:hover { border-color: var(--rc-accent); transform: translateY(-3px); }
.ds-built__icon {
  width: 56px;
  height: 56px;
  border-radius: 12px;
  background: var(--rc-accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
}
.ds-built__icon svg { width: 28px; height: 28px; stroke-width: 2; }
.ds-built__h {
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  text-transform: uppercase;
  margin: 0 0 10px;
  color: var(--rc-text);
}
.ds-built__p {
  font-size: 1.4rem;
  line-height: 1.5;
  color: var(--rc-text-muted);
  margin: 0;
}

/* ---------- Comparison table (vs AirPods, vs Generic) ---------- */
.ds-vs {
  background: #fff;
  padding: 100px 24px;
}
.ds-vs__inner { max-width: 1200px; margin: 0 auto; }
.ds-vs__head { text-align: center; margin-bottom: 48px; }
.ds-vs__title {
  font-size: clamp(2.8rem, 4.6vw, 4.6rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  margin: 0 0 10px !important;
  color: var(--rc-text) !important;
}
.ds-vs__sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rc-accent);
  margin: 0;
}
.ds-vs__table {
  border: 1.5px solid var(--rc-line);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
}
.ds-vs__row {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid var(--rc-line);
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.2rem;
  letter-spacing: 0.04em;
}
.ds-vs__row:last-child { border-bottom: none; }
.ds-vs__row--head {
  background: var(--rc-text);
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.ds-vs__row--head .ds-vs__cell--us {
  background: var(--rc-accent);
  margin: -20px -8px;
  padding: 20px 8px;
  font-weight: 800;
}
.ds-vs__cell { text-align: center; color: var(--rc-text-muted); }
.ds-vs__cell:first-child {
  text-align: left;
  font-weight: 700;
  text-transform: uppercase;
  color: var(--rc-text);
}
.ds-vs__cell--us { color: var(--rc-accent) !important; font-weight: 800; }
.ds-vs__cell--win::before { content: "✓ "; font-weight: 900; color: var(--ds-success); }
.ds-vs__cell--lose::before { content: "✗ "; font-weight: 900; color: #ef4444; }

/* ---------- Bundle tier picker (1 / 2 / 3 pairs) ---------- */
.ds-bundle {
  background: var(--rc-surface-2);
  padding: 100px 24px;
}
.ds-bundle__inner { max-width: 1100px; margin: 0 auto; }
.ds-bundle__head { text-align: center; margin-bottom: 48px; }
.ds-bundle__title {
  font-size: clamp(2.8rem, 4.5vw, 4.4rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  margin: 0 0 10px !important;
  color: var(--rc-text) !important;
}
.ds-bundle__sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.2rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rc-accent);
  margin: 0;
}
.ds-bundle__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
@media (min-width: 800px) { .ds-bundle__grid { grid-template-columns: repeat(3, 1fr); } }

.ds-bundle__card {
  position: relative;
  background: #fff;
  border: 1.5px solid var(--rc-line);
  border-radius: 16px;
  padding: 28px 24px;
  text-align: center;
  transition: border-color .2s, transform .2s;
}
.ds-bundle__card:hover { transform: translateY(-3px); }
.ds-bundle__card--pop {
  border-color: var(--rc-accent);
  border-width: 2.5px;
  transform: scale(1.03);
}
.ds-bundle__card--best {
  border-color: var(--rc-accent);
  border-width: 2.5px;
}
.ds-bundle__card-badge {
  position: absolute;
  top: -12px; left: 50%;
  transform: translateX(-50%);
  background: var(--rc-accent);
  color: var(--rc-text);
  padding: 6px 16px;
  border-radius: 999px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ds-bundle__card--best .ds-bundle__card-badge {
  background: var(--rc-accent);
  color: #fff;
}
.ds-bundle__qty {
  font-size: 4rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--rc-text);
  line-height: 1;
  margin: 14px 0 4px;
}
.ds-bundle__qty-label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.15rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rc-text-muted);
  margin: 0 0 24px;
}
.ds-bundle__price {
  font-size: 2.8rem;
  font-weight: 900;
  letter-spacing: -0.02em;
  color: var(--rc-text);
  margin: 0;
}
.ds-bundle__compare {
  text-decoration: line-through;
  color: var(--rc-text-muted);
  font-size: 1.4rem;
  margin: 4px 0 10px;
}
.ds-bundle__save {
  display: inline-block;
  background: rgba(16,185,129,0.1);
  color: var(--ds-success);
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 6px;
  margin: 10px 0 20px;
}
.ds-bundle__cta {
  display: block;
  width: 100%;
  padding: 16px;
  border-radius: 12px;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 1.3rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none !important;
  background: var(--rc-text);
  color: #fff !important;
  border: none;
  transition: background .2s;
  cursor: pointer;
}
.ds-bundle__cta:hover { background: var(--rc-accent); }
.ds-bundle__card--pop .ds-bundle__cta { background: var(--rc-accent); color: var(--rc-text) !important; }
.ds-bundle__card--pop .ds-bundle__cta:hover { background: var(--rc-text); color: #fff !important; }
.ds-bundle__card--best .ds-bundle__cta { background: var(--rc-accent); }

/* ---------- Free gifts strip ---------- */
.ds-gifts {
  background: var(--rc-text);
  color: #fff;
  padding: 80px 24px;
  text-align: center;
}
.ds-gifts__inner { max-width: 1100px; margin: 0 auto; }
.ds-gifts__h {
  font-size: clamp(2.6rem, 4vw, 4rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  margin: 0 0 14px !important;
  color: #fff !important;
}
.ds-gifts__sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rc-accent);
  margin: 0 0 48px;
}
.ds-gifts__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
@media (min-width: 800px) { .ds-gifts__row { grid-template-columns: repeat(3, 1fr); } }
.ds-gift {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 14px;
  padding: 32px 24px;
  text-align: center;
}
.ds-gift__tag {
  display: inline-block;
  background: var(--rc-accent);
  color: var(--rc-text);
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 5px 12px;
  border-radius: 999px;
  margin-bottom: 14px;
}
.ds-gift__h {
  font-size: 1.7rem;
  font-weight: 800;
  letter-spacing: -0.015em;
  text-transform: uppercase;
  margin: 0 0 8px;
  color: #fff;
}
.ds-gift__val {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.1rem;
  color: rgba(255,255,255,0.65);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0;
}

/* ---------- Testimonial cards (with avatar) ---------- */
.ds-testi {
  background: var(--rc-surface);
  padding: 100px 24px;
}
.ds-testi__inner { max-width: 1280px; margin: 0 auto; }
.ds-testi__head { text-align: center; margin-bottom: 56px; }
.ds-testi__title {
  font-size: clamp(2.8rem, 4.6vw, 4.6rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.025em !important;
  text-transform: uppercase !important;
  margin: 0 0 10px !important;
  color: var(--rc-text) !important;
}
.ds-testi__stars {
  color: var(--rc-accent);
  font-size: 2rem;
  letter-spacing: 4px;
  margin: 8px 0 6px;
}
.ds-testi__count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rc-text-muted);
}
.ds-testi__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 22px;
}
@media (min-width: 800px) { .ds-testi__grid { grid-template-columns: repeat(3, 1fr); } }
.ds-testi__card {
  background: #fff;
  border: 1.5px solid var(--rc-line);
  border-radius: 16px;
  padding: 30px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ds-testi__stars-sm { color: var(--rc-accent); font-size: 1.4rem; letter-spacing: 2px; }
.ds-testi__quote {
  font-size: 1.55rem;
  line-height: 1.5;
  color: var(--rc-text);
  margin: 0;
  flex: 1;
}
.ds-testi__quote::before { content: '"'; color: var(--rc-accent); font-weight: 900; }
.ds-testi__quote::after { content: '"'; color: var(--rc-accent); font-weight: 900; }
.ds-testi__author {
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid var(--rc-line);
  padding-top: 16px;
}
.ds-testi__avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  background: var(--rc-accent);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.4rem;
}
.ds-testi__name {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--rc-text);
}
.ds-testi__role {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1rem;
  color: var(--rc-text-muted);
  margin-top: 2px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* ---------- Audience cards (built for: runner / tradie / cyclist / swimmer) ---------- */
.ds-builtfor {
  background: var(--rc-surface-2);
  padding: 100px 24px;
}
.ds-builtfor__inner { max-width: 1280px; margin: 0 auto; }
.ds-builtfor__head { text-align: center; margin-bottom: 48px; }
.ds-builtfor__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
}
@media (min-width: 700px) { .ds-builtfor__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .ds-builtfor__grid { grid-template-columns: repeat(4, 1fr); } }
.ds-bf-card {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  border-radius: 14px;
  background: var(--rc-text);
}
.ds-bf-card img {
  width: 100%; height: 100%; object-fit: cover;
  transition: transform .4s ease;
}
.ds-bf-card:hover img { transform: scale(1.04); }
.ds-bf-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(10,14,26,0.95) 0%, rgba(10,14,26,0.3) 50%, transparent 100%);
  pointer-events: none;
}
.ds-bf-card__label {
  position: absolute;
  left: 22px; right: 22px; bottom: 22px;
  z-index: 1;
}
.ds-bf-card__tag {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rc-accent);
  margin-bottom: 6px;
}
.ds-bf-card__q {
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1.25;
  margin: 0;
}

/* ---------- Sticky promo bar (mobile) ---------- */
.ds-sticky {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  background: var(--rc-text);
  color: #fff;
  padding: 12px 16px;
  display: none;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  z-index: 80;
  border-top: 2px solid var(--rc-accent);
}
@media (max-width: 750px) { .ds-sticky { display: flex; } }
.ds-sticky__price {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.4rem;
  font-weight: 700;
}
.ds-sticky__price s { color: rgba(255,255,255,0.5); font-size: 1.1rem; margin-right: 8px; }
.ds-sticky__cta {
  background: var(--rc-accent);
  color: var(--rc-text);
  font-family: 'JetBrains Mono', monospace;
  font-weight: 800;
  padding: 12px 22px;
  border-radius: 8px;
  text-decoration: none;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 1.2rem;
}

/* ===================================================================
   OZCAMPS-INSPIRED — clean structured layout (blue/black/white)
   =================================================================== */

/* ---------- TRUST BADGES ROW (below ATC) ---------- */
.oz-trust {
  background: #fff;
  padding: 56px 24px;
  border-bottom: 1px solid var(--rc-line);
}
.oz-trust__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  text-align: center;
}
@media (min-width: 700px) { .oz-trust__inner { grid-template-columns: repeat(3, 1fr); } }
.oz-trust__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
.oz-trust__icon {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(26, 31, 255, 0.08);
  border-radius: 50%;
  color: var(--rc-accent);
}
.oz-trust__icon svg { width: 28px; height: 28px; stroke-width: 1.8; }
.oz-trust__h {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: -0.015em;
  margin: 0;
  color: var(--rc-text);
}
.oz-trust__p {
  font-size: 1.3rem;
  color: var(--rc-text-muted);
  margin: 0;
  line-height: 1.4;
  max-width: 280px;
}

/* ---------- IMAGE WITH TEXT (alternating L/R panels) ---------- */
.oz-iwt {
  background: #fff;
  padding: 100px 24px;
}
.oz-iwt:nth-of-type(even) { background: var(--rc-surface-2); }
.oz-iwt__inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: center;
}
@media (min-width: 900px) {
  .oz-iwt__inner { grid-template-columns: 1fr 1fr; gap: 80px; }
  .oz-iwt--reverse .oz-iwt__inner > .oz-iwt__text { order: 2; }
  .oz-iwt--reverse .oz-iwt__inner > .oz-iwt__media { order: 1; }
}
.oz-iwt__eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.15rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--rc-accent);
  margin: 0 0 18px;
}
.oz-iwt__title {
  font-size: clamp(2.6rem, 4.4vw, 4.4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  margin: 0 0 22px !important;
  color: var(--rc-text) !important;
  text-transform: none !important;
}
.oz-iwt__copy {
  font-size: 1.6rem;
  line-height: 1.55;
  color: var(--rc-text-soft);
  margin: 0 0 26px;
  max-width: 520px;
}
.oz-iwt__bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 26px;
}
.oz-iwt__bullets li {
  padding-left: 32px;
  position: relative;
  font-size: 1.5rem;
  margin: 12px 0;
  color: var(--rc-text);
  line-height: 1.45;
}
.oz-iwt__bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 22px; height: 22px;
  background: var(--rc-accent);
  border-radius: 50%;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="white" d="M6.5 12L2 7.5l1.5-1.5L6.5 9 12.5 3 14 4.5z"/></svg>') center/14px no-repeat;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="white" d="M6.5 12L2 7.5l1.5-1.5L6.5 9 12.5 3 14 4.5z"/></svg>') center/14px no-repeat;
}
.oz-iwt__cta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--rc-text);
  color: #fff !important;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  padding: 16px 28px;
  border-radius: 8px;
  text-decoration: none !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 1.3rem;
  transition: background .2s;
}
.oz-iwt__cta:hover { background: var(--rc-accent); }

.oz-iwt__media {
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 16px;
  background: var(--rc-surface-2);
}
.oz-iwt__media img,
.oz-iwt__media video {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}

/* ---------- ANIMATED NUMBERS SECTION (3-up big stats) ---------- */
.oz-numbers {
  background: var(--rc-text);
  color: #fff;
  padding: 100px 24px;
  text-align: center;
  border-top: 4px solid var(--rc-accent);
  border-bottom: 4px solid var(--rc-accent);
}
.oz-numbers__inner { max-width: 1200px; margin: 0 auto; }
.oz-numbers__title {
  font-size: clamp(2.6rem, 4.4vw, 4.4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 12px !important;
  color: #fff !important;
}
.oz-numbers__sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.2rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.6);
  margin: 0 0 56px;
}
.oz-numbers__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 36px;
}
@media (min-width: 700px) { .oz-numbers__grid { grid-template-columns: repeat(3, 1fr); } }
.oz-num__big {
  font-size: clamp(5rem, 8vw, 8rem);
  font-weight: 900;
  letter-spacing: -0.03em;
  color: var(--rc-accent);
  line-height: 1;
  margin: 0 0 10px;
}
.oz-num__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.25rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255,255,255,0.85);
}

/* ---------- 3-COLUMN FOOTER (OzCamps style) ---------- */
.footer .footer__content,
.footer__content-top {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 40px !important;
}
@media (min-width: 800px) {
  .footer .footer__content,
  .footer__content-top { grid-template-columns: 1.4fr repeat(3, 1fr) !important; }
}

/* Footer column headings — OzCamps caps style */
.footer__heading,
.footer__title,
.footer-block__heading {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #fff !important;
  margin-bottom: 22px !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid var(--rc-accent) !important;
  display: inline-block !important;
}

/* ---------- OZ-style hero (cleaner than cv-hero) ---------- */
.oz-hero {
  position: relative;
  background: linear-gradient(180deg, var(--rc-text) 0%, #15192a 100%);
  color: #fff;
  padding: 80px 24px 100px;
  overflow: hidden;
}
.oz-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 70% 50%, transparent 0, transparent 12%, rgba(26,31,255,0.18) 13%, transparent 14%),
    radial-gradient(circle at 70% 50%, transparent 0, transparent 20%, rgba(26,31,255,0.14) 21%, transparent 22%),
    radial-gradient(circle at 70% 50%, transparent 0, transparent 30%, rgba(26,31,255,0.10) 31%, transparent 32%),
    radial-gradient(circle at 70% 50%, transparent 0, transparent 40%, rgba(26,31,255,0.07) 41%, transparent 42%);
  pointer-events: none;
}
.oz-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 48px;
  align-items: center;
}
@media (min-width: 900px) {
  .oz-hero__inner { grid-template-columns: 1.05fr 1fr; gap: 64px; }
}
.oz-hero__eyebrow {
  display: inline-block;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rc-accent);
  background: rgba(26,31,255,0.12);
  padding: 7px 14px;
  border-radius: 999px;
  margin: 0 0 24px;
  border: 1px solid rgba(26,31,255,0.3);
}
.oz-hero__title {
  font-size: clamp(3.8rem, 6.6vw, 7.2rem) !important;
  font-weight: 900 !important;
  letter-spacing: -0.03em !important;
  line-height: 0.96 !important;
  color: #fff !important;
  margin: 0 0 24px !important;
  text-transform: none !important;
}
.oz-hero__title .hl { color: var(--rc-accent); }
.oz-hero__sub {
  font-size: clamp(1.55rem, 1.8vw, 1.85rem);
  color: rgba(255,255,255,0.85);
  line-height: 1.5;
  max-width: 520px;
  margin: 0 0 32px;
}
.oz-hero__cta {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin: 0 0 32px;
}
.oz-hero__primary {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--rc-accent);
  color: #fff !important;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 1.4rem;
  padding: 18px 32px;
  border-radius: 10px;
  text-decoration: none !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background .2s, transform .2s;
}
.oz-hero__primary:hover { background: #fff; color: var(--rc-text) !important; transform: translateY(-1px); }
.oz-hero__ghost {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: transparent;
  color: #fff !important;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 600;
  font-size: 1.3rem;
  padding: 18px 28px;
  border-radius: 10px;
  text-decoration: none !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1.5px solid rgba(255,255,255,0.3);
  transition: border-color .2s, background .2s;
}
.oz-hero__ghost:hover { border-color: #fff; background: rgba(255,255,255,0.05); }
.oz-hero__trust {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
  color: rgba(255,255,255,0.85);
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.15rem;
  letter-spacing: 0.04em;
}
.oz-hero__trust .stars { color: #facc15; font-size: 1.5rem; letter-spacing: 2px; }
.oz-hero__media {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.oz-hero__media img {
  width: 100%;
  max-width: 620px;
  height: auto;
  display: block;
  filter: drop-shadow(0 40px 80px rgba(0,0,0,0.5));
}

/* ---------- LOOX REVIEW WIDGET placeholder ---------- */
.oz-reviews-wrap {
  background: #fff;
  padding: 80px 24px;
}
.oz-reviews-wrap__inner { max-width: 1200px; margin: 0 auto; }
.oz-reviews-wrap__head {
  text-align: center;
  margin-bottom: 48px;
}
.oz-reviews-wrap__title {
  font-size: clamp(2.6rem, 4vw, 4rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  margin: 0 0 10px !important;
  color: var(--rc-text) !important;
}
.oz-reviews-wrap__sub {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--rc-text-muted);
}
/* Where the Loox/Judge.me iframe will mount when app is installed */
#loox-reviews-iframe,
#judgeme_product_reviews,
.loox-reviews-default {
  margin: 0 auto;
  max-width: 1200px;
}

/* ---------- CALLOUT BAR (narrow blue strip between sections) ---------- */
.oz-callout {
  background: var(--rc-accent);
  color: #fff;
  padding: 28px 24px;
  text-align: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.oz-callout strong { font-weight: 800; }
.oz-callout a { color: #fff; text-decoration: underline; text-underline-offset: 4px; }

/* Override yellow stars to keep them but tone down the screaming */
.ds-testi__stars, .ds-testi__stars-sm, .ds-reviews-strip__stars,
.rc-reviews-strip__stars { color: #facc15 !important; }

/* Make sure the homepage hero section doesn't keep amber CTA */
.cv-hero__cta .rc-btn--primary,
.ds-cv-hero__cta .rc-btn--primary,
.ds-cv-hero__pill { background: var(--rc-accent) !important; color: #fff !important; }

/* ===================================================================
   HERO SLIDESHOW — full-bleed, auto-rotating, typography per slide
   =================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap');

.ds-slideshow {
  position: relative;
  width: 100%;
  height: clamp(560px, 78vh, 760px);
  overflow: hidden;
  background: var(--rc-text);
  color: #fff;
}

.ds-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.1s cubic-bezier(0.4, 0, 0.2, 1);
  pointer-events: none;
}
.ds-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  z-index: 1;
}

.ds-slide__media {
  position: absolute;
  inset: 0;
}
.ds-slide__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.04);
  transition: transform 8s ease-out;
}
.ds-slide.is-active .ds-slide__media img {
  transform: scale(1);
}
.ds-slide__media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(100deg,
      rgba(10,14,26,0.88) 0%,
      rgba(10,14,26,0.75) 32%,
      rgba(10,14,26,0.42) 55%,
      rgba(10,14,26,0.20) 80%,
      rgba(10,14,26,0.08) 100%
    ),
    linear-gradient(180deg,
      rgba(10,14,26,0.55) 0%,
      rgba(10,14,26,0.05) 32%,
      rgba(10,14,26,0.05) 68%,
      rgba(10,14,26,0.55) 100%
    );
  pointer-events: none;
}
@media (max-width: 749px) {
  .ds-slide__media::after {
    background: linear-gradient(180deg,
      rgba(10,14,26,0.55) 0%,
      rgba(10,14,26,0.20) 30%,
      rgba(10,14,26,0.70) 70%,
      rgba(10,14,26,0.92) 100%
    );
  }
}

.ds-slide__inner {
  position: relative;
  z-index: 2;
  max-width: 1320px;
  height: 100%;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  color: #fff;
}

/* Logo block (image-based) */
.ds-slide__brand {
  display: block;
  margin: 0 0 14px;
  height: 38px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity .7s .15s ease, transform .7s .15s ease;
}
.ds-slide__brand img {
  display: block;
  height: 100%;
  width: auto;
  max-width: 220px;
  filter: brightness(0) invert(1) drop-shadow(0 1px 4px rgba(0,0,0,0.45));
}
.ds-slide.is-active .ds-slide__brand {
  opacity: 1;
  transform: translateY(0);
}
@media (max-width: 749px) {
  .ds-slide__brand { height: 30px; margin-bottom: 10px; }
  .ds-slide__brand img { max-width: 180px; }
}

.ds-slide__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(26, 31, 255, 0.92);
  padding: 7px 12px;
  border-radius: 4px;
  margin: 0 0 6px;
  width: fit-content;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .7s .3s ease, transform .7s .3s ease;
}
.ds-slide.is-active .ds-slide__eyebrow { opacity: 1; transform: translateY(0); }

/* Hyper-specific chain to beat any global h1 override on every breakpoint */
html body .ds-slideshow .ds-slide .ds-slide__h,
html body .ds-slideshow .ds-slide h1.ds-slide__h,
html body .ds-slideshow .ds-slide__inner h1 {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: clamp(3.6rem, 7vw, 7.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.035em !important;
  line-height: 1.02 !important;
  color: #ffffff !important;
  margin: 0 !important;
  max-width: 920px !important;
  text-transform: none !important;
  text-shadow: 0 2px 24px rgba(0,0,0,0.55), 0 1px 4px rgba(0,0,0,0.4) !important;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity .9s .45s ease, transform .9s .45s ease;
}
html body .ds-slideshow .ds-slide.is-active .ds-slide__h { opacity: 1; transform: translateY(0); }

/* Highlighted word — Playfair Display italic 500, white, blue underline accent */
html body .ds-slideshow .ds-slide__h .hl,
html body .ds-slideshow .ds-slide__h em,
html body .ds-slideshow .ds-slide__h strong,
html body .ds-slideshow .ds-slide__inner h1 em,
html body .ds-slideshow .ds-slide__inner h1 strong {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  color: #ffffff !important;
  letter-spacing: -0.015em !important;
  font-size: 1.05em !important;
  position: relative;
  padding-bottom: 0.06em;
  background-image: linear-gradient(transparent 82%, var(--rc-accent) 82%, var(--rc-accent) 96%, transparent 96%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: 0 100%;
}

/* Mobile-specific overrides — same colour, slightly smaller, lighter weight */
@media (max-width: 749px) {
  html body .ds-slideshow .ds-slide .ds-slide__h,
  html body .ds-slideshow .ds-slide h1.ds-slide__h,
  html body .ds-slideshow .ds-slide__inner h1 {
    font-size: clamp(3.2rem, 9.5vw, 4.8rem) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    color: #ffffff !important;
    text-shadow: 0 2px 20px rgba(0,0,0,0.7), 0 1px 3px rgba(0,0,0,0.5) !important;
  }
  html body .ds-slideshow .ds-slide__h em,
  html body .ds-slideshow .ds-slide__h strong,
  html body .ds-slideshow .ds-slide__inner h1 em {
    color: #ffffff !important;
    font-weight: 500 !important;
  }
}

.ds-slide__sub {
  font-family: 'Inter', sans-serif;
  font-size: clamp(1.45rem, 1.6vw, 1.7rem);
  font-weight: 400;
  color: rgba(255,255,255,0.95);
  line-height: 1.5;
  max-width: 540px;
  margin: 8px 0 22px;
  text-shadow: 0 1px 8px rgba(0,0,0,0.4);
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .7s .6s ease, transform .7s .6s ease;
}
.ds-slide.is-active .ds-slide__sub { opacity: 1; transform: translateY(0); }

.ds-slide__cta {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  color: var(--rc-text) !important;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 1.3rem;
  padding: 18px 32px;
  border-radius: 10px;
  text-decoration: none !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  width: fit-content;
  transition: background .18s, color .18s, transform .18s;
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .7s .75s ease, transform .7s .75s ease, background .18s, color .18s;
}
.ds-slide.is-active .ds-slide__cta { opacity: 1; transform: translateY(0); }
.ds-slide__cta:hover {
  background: var(--rc-accent);
  color: #fff !important;
  transform: translateY(-1px);
}

/* Per-slide font swaps removed — single Inter + Playfair pairing across all slides */

/* ---- Animating progress bars ---- */
.ds-slideshow__dots {
  position: absolute;
  z-index: 5;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 4px;
  padding: 0 16px;
  list-style: none;
  margin: 0;
  max-width: calc(100% - 32px);
}
.ds-dot {
  position: relative;
  width: 26px;
  height: 2px;
  border-radius: 999px;
  background: rgba(255,255,255,0.30);
  border: none;
  cursor: pointer;
  padding: 0;
  overflow: hidden;
  transition: background .2s;
  flex: 0 1 auto;
}
.ds-dot:hover { background: rgba(255,255,255,0.55); }

.ds-dot::before {
  content: "";
  position: absolute;
  top: 0; left: 0; bottom: 0;
  width: 0;
  background: #fff;
  border-radius: 999px;
}
.ds-dot.is-active {
  background: rgba(255,255,255,0.35);
}
.ds-dot.is-active::before {
  animation: ds-dot-fill 6.5s linear forwards;
}
@keyframes ds-dot-fill {
  from { width: 0; }
  to   { width: 100%; }
}

/* When user hovers the slideshow, pause the progress fill too */
.ds-slideshow:hover .ds-dot.is-active::before {
  animation-play-state: paused;
}

@media (min-width: 750px) {
  .ds-slideshow__dots { bottom: 32px; gap: 8px; padding: 0; max-width: none; }
  .ds-dot { width: 72px; height: 3px; }
}

/* ---- Prev / next arrows ---- */
.ds-slideshow__arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  border: 1px solid rgba(255,255,255,0.25);
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background .2s, border-color .2s;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.ds-slideshow__arrow:hover {
  background: rgba(255,255,255,0.22);
  border-color: rgba(255,255,255,0.5);
}
.ds-slideshow__arrow--prev { left: 28px; }
.ds-slideshow__arrow--next { right: 28px; }
.ds-slideshow__arrow svg { width: 22px; height: 22px; }
@media (min-width: 900px) { .ds-slideshow__arrow { display: inline-flex; } }

/* ---- Mobile tweaks ---- */
@media (max-width: 749px) {
  .ds-slideshow { height: 78vh; min-height: 560px; }
  .ds-slide__inner { padding: 0 22px; gap: 14px; }
  .ds-slide__h { font-size: clamp(3.4rem, 9vw, 5.2rem); max-width: 100%; }
  .ds-slide__sub { font-size: 1.4rem; max-width: 100%; }
}

/* ===================================================================
   FEATURED PRODUCT CARD (homepage)
   =================================================================== */
.ds-featured {
  background: var(--rc-surface-2);
  padding: 100px 24px;
}
.ds-featured__inner {
  max-width: 1280px;
  margin: 0 auto;
  background: #fff;
  border-radius: 22px;
  overflow: hidden;
  display: grid;
  grid-template-columns: 1fr;
  align-items: stretch;
  border: 1px solid var(--rc-line);
  box-shadow: 0 20px 60px rgba(10, 14, 26, 0.06);
}
@media (min-width: 900px) {
  .ds-featured__inner { grid-template-columns: 1.05fr 1fr; }
}

.ds-featured__media {
  position: relative;
  aspect-ratio: 1 / 1;
  background: var(--rc-text);
  overflow: hidden;
}
.ds-featured__media img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}
.ds-featured__badge {
  position: absolute;
  top: 24px; left: 24px;
  background: var(--rc-accent);
  color: #fff;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.05rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 8px 14px;
  border-radius: 6px;
  z-index: 2;
  box-shadow: 0 4px 14px rgba(26,31,255,0.35);
}

.ds-featured__info {
  padding: 48px 44px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  justify-content: center;
}
@media (max-width: 749px) {
  .ds-featured__info { padding: 32px 24px; }
}

.ds-featured__eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.05rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--rc-accent);
  margin: 0;
}
.ds-featured__title {
  font-family: 'Inter', sans-serif !important;
  font-size: clamp(2.6rem, 3.6vw, 3.6rem) !important;
  font-weight: 800 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.05 !important;
  margin: 0 !important;
  color: var(--rc-text) !important;
  text-transform: none !important;
}
.ds-featured__rating {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.15rem;
  color: var(--rc-text-soft);
  letter-spacing: 0.04em;
}
.ds-featured__rating .stars {
  color: #facc15;
  font-size: 1.3rem;
  letter-spacing: 1.5px;
}

.ds-featured__price {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 4px 0 8px;
}
.ds-featured__price-now {
  font-family: 'Inter', sans-serif;
  font-size: 3.2rem;
  font-weight: 900;
  color: var(--rc-text);
  letter-spacing: -0.025em;
  line-height: 1;
}
.ds-featured__price-was {
  font-family: 'Inter', sans-serif;
  font-size: 1.6rem;
  color: var(--rc-text-muted);
  text-decoration: line-through;
  font-weight: 500;
}
.ds-featured__save {
  font-family: 'JetBrains Mono', monospace;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  background: rgba(16,185,129,0.12);
  color: #047857;
  padding: 5px 10px;
  border-radius: 6px;
}

.ds-featured__copy {
  font-family: 'Inter', sans-serif;
  font-size: 1.5rem;
  line-height: 1.5;
  color: var(--rc-text-soft);
  margin: 0;
}

.ds-featured__bullets {
  list-style: none;
  margin: 4px 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 22px;
}
@media (max-width: 600px) { .ds-featured__bullets { grid-template-columns: 1fr; } }
.ds-featured__bullets li {
  padding-left: 28px;
  position: relative;
  font-size: 1.35rem;
  color: var(--rc-text);
  line-height: 1.35;
}
.ds-featured__bullets li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 4px;
  width: 18px; height: 18px;
  background: var(--rc-accent);
  border-radius: 50%;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="white" d="M6.5 12L2 7.5l1.5-1.5L6.5 9 12.5 3 14 4.5z"/></svg>') center/12px no-repeat;
  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><path fill="white" d="M6.5 12L2 7.5l1.5-1.5L6.5 9 12.5 3 14 4.5z"/></svg>') center/12px no-repeat;
}

.ds-featured__cta {
  display: flex;
  gap: 12px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.ds-featured__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--rc-accent);
  color: #fff !important;
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 1.3rem;
  padding: 18px 30px;
  border-radius: 10px;
  text-decoration: none !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background .18s, transform .18s, box-shadow .18s;
  box-shadow: 0 10px 24px rgba(26,31,255,0.25);
}
.ds-featured__btn:hover {
  background: var(--rc-text);
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(10,14,26,0.18);
}
.ds-featured__btn--ghost {
  background: transparent;
  color: var(--rc-text) !important;
  border: 1.5px solid var(--rc-alloy-light, var(--rc-line));
  box-shadow: none;
}
.ds-featured__btn--ghost:hover {
  background: var(--rc-text);
  color: #fff !important;
  border-color: var(--rc-text);
}

.ds-featured__trust {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
  margin-top: 6px;
  padding-top: 18px;
  border-top: 1px solid var(--rc-line);
  font-family: 'JetBrains Mono', monospace;
  font-size: 1.05rem;
  color: var(--rc-text-muted);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.ds-featured__trust span { display: inline-flex; align-items: center; gap: 6px; }
.ds-featured__trust span::before {
  content: "✓";
  color: var(--rc-accent);
  font-weight: 900;
}

/* ===================================================================
   PDP info column — compact, minimalist, conversion-focused
   ===================================================================
   Aggressive tightening of the right-column spacing so the ATC stays
   above the fold on more devices and the visual rhythm feels confident
   rather than spread.
   =================================================================== */

@media (min-width: 990px) {
  [id^="MainProduct-"] .product__info-container,
  [id^="MainProduct-"] .product__info-wrapper {
    max-width: 480px;   /* tighter line lengths read more confidently */
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* Title — sit tight, stars touch the bottom of it */
[id^="MainProduct-"] .product__title,
[id^="MainProduct-"] .product__info .h1,
[id^="MainProduct-"] .product__info h1,
[id^="MainProduct-"] .product__title h1 {
  font-size: clamp(2.4rem, 3vw, 3.2rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -0.025em !important;
  margin: 0 !important;
  padding: 0 !important;
  text-transform: none !important;
}
[id^="MainProduct-"] .product__title__wrapper { margin: 0 !important; padding: 0 !important; }

/* Custom badges row — small + tight */
[id^="MainProduct-"] .product__custom-badges {
  margin: 0 0 8px !important;
  gap: 6px !important;
}
[id^="MainProduct-"] .badge,
[id^="MainProduct-"] .price__badge-sale,
[id^="MainProduct-"] .badge--sale,
[id^="MainProduct-"] .product__badge {
  padding: 7px 14px !important;
  font-size: 1.25rem !important;
  font-weight: 900 !important;
  letter-spacing: 0.06em !important;
  border-radius: 0 !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
}

/* Price block — bigger but with less vertical air around it */
[id^="MainProduct-"] .price,
[id^="MainProduct-"] .product__price,
[id^="MainProduct-"] .product-price {
  font-size: 2.4rem !important;
  margin: 0 !important;
  gap: 10px !important;
  line-height: 1.1 !important;
}
[id^="MainProduct-"] .price__regular .price-item--regular,
[id^="MainProduct-"] .price__sale s,
[id^="MainProduct-"] s.price-item--regular,
[id^="MainProduct-"] .price-item--regular--strikethrough {
  font-size: 1.4rem !important;
}

/* Savings + auto-applied discount callouts — single-line, tight */
[id^="MainProduct-"] .rc-discount-callout {
  padding: 8px 12px !important;
  margin: 0 0 10px !important;
  font-size: 1.1rem !important;
  letter-spacing: 0.03em !important;
  border-radius: 8px !important;
  gap: 8px !important;
  line-height: 1.35 !important;
}
[id^="MainProduct-"] .rc-discount-callout svg { width: 18px !important; height: 18px !important; }
[id^="MainProduct-"] .rc-discount-callout br { display: none; }  /* keep it single line */

/* Variant picker — tighter buttons, less margin between groups */
[id^="MainProduct-"] .product-form__input,
[id^="MainProduct-"] .variant-input-wrap {
  margin-bottom: 8px !important;
  margin-top: 0 !important;
}
[id^="MainProduct-"] .product-form__input legend,
[id^="MainProduct-"] .form__label,
[id^="MainProduct-"] .variant-input-wrap label.option-label,
[id^="MainProduct-"] .product-form__input > label {
  font-size: 1.05rem !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.06em !important;
}
[id^="MainProduct-"] .product-form__input--swatch input[type='radio'] + label,
[id^="MainProduct-"] .product-form__input--pill input[type='radio'] + label,
[id^="MainProduct-"] .swatch-element label,
[id^="MainProduct-"] .variant-input-wrap label {
  padding: 9px 14px !important;
  font-size: 1.05rem !important;
  margin-right: 5px !important;
  margin-bottom: 5px !important;
  border-radius: 8px !important;
}

/* Quantity selector — smaller */
[id^="MainProduct-"] .quantity,
[id^="MainProduct-"] .quantity-selector,
[id^="MainProduct-"] .product__quantity {
  border-radius: 8px !important;
}
[id^="MainProduct-"] .quantity__input,
[id^="MainProduct-"] .quantity input {
  width: 44px !important;
}
[id^="MainProduct-"] .quantity__button,
[id^="MainProduct-"] .quantity button {
  width: 40px !important;
  height: 40px !important;
}

/* Buy buttons — tighter top margin, slightly smaller height */
[id^="MainProduct-"] .product-form__buttons {
  margin-top: 8px !important;
  gap: 6px !important;
}
[id^="MainProduct-"] .product-form__cart-submit,
[id^="MainProduct-"] .product-form__submit {
  min-height: 52px !important;
  font-size: 1.25rem !important;
  padding: 14px 24px !important;
  border-radius: 8px !important;
}

/* Trust row — compact 4-up, less vertical air */
[id^="MainProduct-"] .rc-trust-row {
  gap: 10px 16px !important;
  margin-top: 14px !important;
  padding: 14px 0 !important;
}
[id^="MainProduct-"] .rc-trust-item {
  font-size: 1rem !important;
  gap: 9px !important;
  letter-spacing: 0.03em !important;
}
[id^="MainProduct-"] .rc-trust-item svg {
  width: 18px !important;
  height: 18px !important;
}
[id^="MainProduct-"] .rc-best-buy {
  font-size: 1rem !important;
  margin-top: 10px !important;
}

/* Description — hidden from the info column entirely.
   Same content is told via pdp_iwt_1..4 + pdp_numbers + pdp_reviews
   sections below, so SEO + visitor still see the full story while the
   buy column stays compact and ATC stays above the fold. */
[id^="MainProduct-"] .product__description,
[id^="MainProduct-"] .product__description-summary {
  display: none !important;
}

/* Sticky info column hovers higher up the viewport */
@media (min-width: 990px) {
  [id^="MainProduct-"] .product__info-container,
  [id^="MainProduct-"] .product__info-wrapper {
    top: 88px !important;
  }
}

/* Reduce the section's overall padding on PDP */
[id^="MainProduct-"] { padding: 24px 0 32px !important; }

/* ===================================================================
   PDP info column — round 2: kill the remaining vertical air between
   block wrappers. The 60-rule set above tightens *contents* of each
   block; this set tightens the *gaps between blocks* (custom-liquid
   wrappers, Shop Pay installments, the buy-button form chrome).
   =================================================================== */

/* Title wrapper — strip its own bottom margin so the next block sits flush */
[id^="MainProduct-"] .product__title__wrapper {
  margin: 0 0 6px !important;
  padding: 0 !important;
}

/* Every custom-liquid block wrapper — Dawn defaults add 1.5em margins,
   force them flush so our rating row sits under the title, savings sits
   under the price, and the trust row sits under the buy button */
[id^="MainProduct-"] .custom-liquid {
  margin: 0 !important;
  padding: 0 !important;
}
[id^="MainProduct-"] .custom-liquid > * {
  margin-top: 0 !important;
}

/* Rating row (rating_row custom_liquid) — sit tight under the title */
[id^="MainProduct-"] .custom-liquid > div[style*="JetBrains Mono"] {
  margin: 2px 0 14px !important;
}

/* Savings callout — sit tight under the price */
[id^="MainProduct-"] .custom-liquid > div[style*="Save"] {
  margin: 0 0 10px !important;
}

/* Price wrapper — collapse its margin so the savings callout sits flush */
[id^="MainProduct-"] .price-wrapper {
  margin: 0 0 4px !important;
  padding: 0 !important;
}
[id^="MainProduct-"] .product__tax {
  margin: 2px 0 0 !important;
  font-size: 0.95rem !important;
  opacity: 0.6;
  line-height: 1.2 !important;
}

/* Shop Pay installments — usually a 40px-tall iframe with chunky margins */
[id^="MainProduct-"] .installment-wrapper {
  margin: 0 0 8px !important;
  min-height: 0 !important;
}
[id^="MainProduct-"] .installment-wrapper:empty { display: none !important; }
[id^="MainProduct-"] .installment {
  margin: 0 !important;
}

/* Product-parameters container (variant_picker block wrapper) */
[id^="MainProduct-"] .product-parameters {
  margin: 4px 0 0 !important;
  padding: 0 !important;
}
[id^="MainProduct-"] .product-parameters fieldset {
  margin: 0 0 6px !important;
  padding: 0 !important;
  border: 0 !important;
}

/* The whole buy-buttons block — sit tight, no extra wrapper margins */
[id^="MainProduct-"] .product__buy-buttons {
  margin: 6px 0 0 !important;
  padding: 0 !important;
}
[id^="MainProduct-"] .product-form {
  margin: 0 !important;
  padding: 0 !important;
}
[id^="MainProduct-"] .product-form__error-message-wrapper:empty { display: none !important; }
[id^="MainProduct-"] .product-form__buttons-row {
  margin: 0 !important;
  gap: 8px !important;
}
[id^="MainProduct-"] .product-form__input.product-form__quantity {
  margin: 0 8px 0 0 !important;
}

/* Shop Pay dynamic checkout — collapse the skeleton's huge default height */
[id^="MainProduct-"] .product-form__checkout,
[id^="MainProduct-"] .shopify-payment-button {
  margin-top: 6px !important;
}
[id^="MainProduct-"] .shopify-payment-button__button {
  min-height: 48px !important;
}
[id^="MainProduct-"] .shopify-payment-button__skeleton {
  height: 48px !important;
  margin: 0 !important;
}
[id^="MainProduct-"] .shopify-payment-button__more-options {
  margin-top: 4px !important;
  font-size: 1rem !important;
}

/* Trust row — keep it close under the Shop Pay block */
[id^="MainProduct-"] .rc-trust-row {
  margin-top: 16px !important;
  padding: 14px 0 8px !important;
  border-top: 1px solid rgba(10,10,15,0.08) !important;
}

/* Sale badge → don't push the price block down */
[id^="MainProduct-"] .product__badge {
  margin: 4px 0 0 !important;
}

/* Color swatch label "Color: Slate Grey" — single line, no double-row */
[id^="MainProduct-"] .product-form__group-name {
  margin: 0 0 4px !important;
  font-size: 1rem !important;
  line-height: 1.2 !important;
}

/* Default-Dawn .form margins on the installment form */
[id^="MainProduct-"] form.installment { margin: 0 !important; }

/* The cancellation-policy link Shopify renders after Shop Pay */
[id^="MainProduct-"] #shopify-subscription-policy-button {
  font-size: 0.95rem !important;
  margin: 4px 0 0 !important;
  opacity: 0.6;
}

/* ===================================================================
   PDP info column — uniform rhythm (user-supplied pattern that works
   across stores). Every direct child of .product__info-container gets
   a predictable 1rem top margin (1.2rem on desktop), with a tighter
   0.8rem for the title → price seam. Replaces our manual per-block
   margin tuning above with a single consistent system.
   =================================================================== */

[id^="MainProduct-"] .product__info-container > *:not(.pickup-availability):not(:first-child) {
  margin-top: 1rem !important;
}
@media (min-width: 1100px) {
  [id^="MainProduct-"] .product__info-container > *:not(.pickup-availability):not(:first-child) {
    margin-top: 1.2rem !important;
  }
}
[id^="MainProduct-"] .product__title__wrapper + .price-wrapper,
[id^="MainProduct-"] .product__inventory + .product__buy-buttons {
  margin-top: 0.8rem !important;
}
[id^="MainProduct-"] .product__text-icons {
  padding-top: 1.2rem !important;
}
[id^="MainProduct-"] .product__text-icons + * {
  padding-top: 1.2rem !important;
}
[id^="MainProduct-"] .product__badge .badge {
  border-radius: 8px !important;
}

/* The rating row should still hug the title (your earlier preference) — */
/* the rhythm system above would push it 1rem down, so explicitly snap it back. */
[id^="MainProduct-"] .product__info-container > .custom-liquid:nth-child(2) {
  margin-top: 4px !important;
}

/* ===================================================================
   Product gallery — square corners on every image / thumbnail.
   Mobile: edge-to-edge, no gap between slides or thumbnails.
   =================================================================== */

/* Kill border-radius on every conceivable product-image wrapper */
[id^="MainProduct-"] .product__media,
[id^="MainProduct-"] .product__media-item,
[id^="MainProduct-"] .product__media-list,
[id^="MainProduct-"] .product__media-subitem,
[id^="MainProduct-"] .product__media-thumb,
[id^="MainProduct-"] .product__media-sublist,
[id^="MainProduct-"] .product__media-sublist-outer,
[id^="MainProduct-"] .product__media img,
[id^="MainProduct-"] .product__media video,
[id^="MainProduct-"] .product__column-media,
[id^="MainProduct-"] .product__outer,
[id^="MainProduct-"] .media,
[id^="MainProduct-"] .media-modal__content {
  border-radius: 0 !important;
}

/* Mobile gallery — true edge-to-edge, no inter-slide gap.
   The theme renders the gallery inside a .container with horizontal
   padding; the trick on mobile is to (a) zero that padding on the
   media wrapper only, (b) collapse all gaps between slides &
   thumbnails to 0, and (c) keep the info-column padding intact so
   text below the gallery doesn't touch the screen edges. */
@media (max-width: 749px) {
  /* The whole product section breaks out of the page container so the
     gallery sits flush with the screen edges. The info column below
     gets its own gutters restored further down. */
  [id^="MainProduct-"],
  [id^="MainProduct-"] .product,
  [id^="MainProduct-"] .product.container,
  [id^="MainProduct-"] .product__outer,
  [id^="MainProduct-"] .product__main,
  [id^="MainProduct-"] .product__column-media,
  [id^="MainProduct-"] .product__media-wrapper,
  [id^="MainProduct-"] .product__media-list-wrapper,
  [id^="MainProduct-"] .product__media-list,
  [id^="MainProduct-"] .product__media-item,
  [id^="MainProduct-"] .product__media,
  [id^="MainProduct-"] .product__media-sublist-outer,
  [id^="MainProduct-"] .product__media-sublist {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Force the slide itself to be 100vw wide */
  [id^="MainProduct-"] .product__media-list .swiper-slide,
  [id^="MainProduct-"] .product__media-item {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  /* Zero gaps between slides on the swiper / Flickity gallery */
  [id^="MainProduct-"] .product__media-list,
  [id^="MainProduct-"] .product__media-list .swiper-wrapper,
  [id^="MainProduct-"] .flickity-slider {
    gap: 0 !important;
  }
  [id^="MainProduct-"] .product__media-item,
  [id^="MainProduct-"] .product__media-list .swiper-slide {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Thumbnail filmstrip directly under the main image — true zero gap */
  [id^="MainProduct-"] .product__media-sublist-outer {
    margin: 0 !important;
    padding: 0 !important;
  }
  [id^="MainProduct-"] .product__media-sublist {
    gap: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  [id^="MainProduct-"] .product__media-subitem,
  [id^="MainProduct-"] .product__media-thumb {
    margin: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
  }
  [id^="MainProduct-"] .product__media-subitem.active,
  [id^="MainProduct-"] .product__media-thumb.active,
  [id^="MainProduct-"] .product__media-subitem.swiper-slide-thumb-active {
    border: 0 !important;
    outline: 2px solid var(--rc-accent) !important;
    outline-offset: -2px;
  }

  /* Info column below the gallery still needs gutters so text doesn't hit the edge */
  [id^="MainProduct-"] .product__info-wrapper,
  [id^="MainProduct-"] .product__info-container {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
