/** Shopify CDN: Minification failed

Line 801:0 Unexpected "}"

**/
/* =====================================================
   AE·ORA — HOME CSS
   Homepage-specific sections only.
   
   aeora-base.css is already loaded and provides:
   - tokens, reset, layout, typography
   - buttons (incl. --rise variant)
   - announce bar, nav, footer
   - trust bar, scroll reveal, carousel
   
   This file ONLY adds what the homepage needs beyond the base:
   - Hero section
   - Product feature block
   - Trust bar (home-specific variant)
   - Story strip
   - System (24hr) section
   - Proof section (video bg)
   - Product grid section (video bg)
   - STACKR / quiz section
   - Reviews section (home-isolated classes)
   - Email capture section
   
   DO NOT duplicate base styles here.
   DO NOT use .home-review-* etc for PDP purposes.
===================================================== */

/* =====================================================
   HERO
===================================================== */
.hero {
  position: relative;
  background: #0d0d0f;
  overflow: hidden;
}

.hero-bg {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 60% at 75% 35%, rgba(192, 200, 212, 0.05) 0%, transparent 60%),
    radial-gradient(ellipse 45% 45% at 15% 75%, rgba(0, 194, 184, 0.06) 0%, transparent 55%),
    radial-gradient(ellipse 60% 55% at 50% 45%, rgba(255, 255, 255, 0.02) 0%, transparent 65%);
  pointer-events: none;
}

.hero-dots {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(192, 200, 212, 0.05) 1px, transparent 1px);
  background-size: 28px 28px;
  pointer-events: none;
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px 80px 64px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 56px;
  width: 100%;
}

.hero-eyebrow {
  font-family: 'DM Mono', monospace;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--aqua);
  margin-bottom: 16px;
  display: block;
}

.hero-h1 {
  font-family: 'Syne', sans-serif;
  font-weight: 800;
  font-size: clamp(36px, 4.2vw, 56px);
  line-height: 0.92;
  letter-spacing: -0.5px;
  color: var(--white);
  margin-bottom: 20px;
}

.hero-sub {
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  font-size: 16px;
  color: var(--abalone);
  line-height: 1.7;
  margin-bottom: 28px;
  max-width: 440px;
}

.hero-btns {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 32px;
}

/* Proof bar */
.hero-proof {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px 32px;
  padding-top: 24px;
  border-top: 0.5px solid rgba(136, 153, 176, 0.15);
}

.hero-stat-num {
  font-family: 'DM Mono', monospace;
  font-weight: 400;
  font-size: 20px;
  color: var(--aqua);
  line-height: 1;
  display: block;
  margin-bottom: 4px;
}

.hero-stat-num--word {
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  font-size: 18px;
  color: var(--aqua);
  line-height: 1;
  display: block;
  margin-bottom: 4px;
  letter-spacing: 0.5px;
}

.hero-stat-label {
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: var(--abalone);
  display: block;
}

/* Hero card */
.hero-visual { display: flex; align-items: center; justify-content: flex-end; }

.hero-card {
  background: rgba(28, 28, 31, 0.75);
  border: 0.5px solid rgba(192, 200, 212, 0.15);
  border-radius: 16px;
  overflow: hidden;
  width: 100%;
  display: flex;
  flex-direction: column;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  box-shadow: 0 0 0 0.5px rgba(11, 143, 168, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.hero-video-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background: rgba(13, 26, 107, 0.5);
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}
/* Image variant: card stretches to match text column, image fits inside */
.hero-video-wrap--image {
  aspect-ratio: auto;
  flex: 1;
  min-height: 0;
  background: rgba(13, 13, 15, 0.6);
}
.hero-card:has(.hero-video-wrap--image) {
  height: 100%;
  align-self: stretch;
}
.hero-video-wrap--image img {
  object-fit: cover !important;
  object-position: center 20% !important;
  padding: 0 !important;
}
@media (min-width: 901px) {
  .hero-content:has(.hero-video-wrap--image) { align-items: stretch; }
  .hero-visual:has(.hero-video-wrap--image) { align-items: stretch; }
}
@media (max-width: 900px) {
  .hero-video-wrap--image { aspect-ratio: 4/5; }
  .hero-card:has(.hero-video-wrap--image) { height: auto; }
}

.hero-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

.hero-card-meta {
  padding: 20px 24px;
  text-align: center;
  border-top: 0.5px solid rgba(192, 200, 212, 0.1);
  background: rgba(20, 20, 22, 0.85);
  position: relative;
}

.hero-card-meta::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--paua-gradient);
}

.hero-card-brand {
  font-family: 'Syne', sans-serif;
  font-weight: 800;
  font-size: 13px;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: var(--white);
  margin-bottom: 4px;
}

.hero-card-sub {
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--abalone);
  margin-bottom: 16px;
}

.hero-dose-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(0, 194, 184, 0.1);
  border: 0.5px solid rgba(0, 194, 184, 0.3);
  border-radius: 2px;
  padding: 8px 16px;
  margin-bottom: 12px;
}

.hero-dose-pill .dose-num { font-family: 'DM Mono', monospace; font-weight: 400; font-size: 20px; color: var(--aqua); line-height: 1; }
.hero-dose-pill .dose-label { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--abalone); }

.hero-card-tags { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }

.tag-pill {
  background: rgba(18, 10, 74, 0.7);
  border: 0.5px solid rgba(136, 153, 176, 0.2);
  border-radius: 2px;
  padding: 5px 10px;
  font-family: 'DM Mono', monospace;
  font-weight: 400;
  font-size: 11px;
  letter-spacing: 1px;
  color: var(--abalone);
  text-transform: uppercase;
}

/* =====================================================
   PRODUCT FEATURE
===================================================== */
.product-feature { background: #0d0d0f; padding: 56px 0; }

.product-feature-inner {
  display: grid;
  grid-template-columns: minmax(340px, 440px) 1fr;
  gap: 48px;
  align-items: stretch;
  padding-right: 120px;
}
.product-feature-inner > .pv-card { height: 100%; }
.product-feature-inner > .pv-card .pv-media { flex: 1; aspect-ratio: auto; min-height: 0; }
@media (max-width: 1100px) {
  .product-feature-inner { padding-right: 0; gap: 40px; grid-template-columns: minmax(280px, 380px) 1fr; }
}

.pv-card {
  background: rgba(22, 22, 25, 0.7);
  border: 0.5px solid rgba(192, 200, 212, 0.1);
  border-radius: 16px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  margin: 0;
}

.pv-card::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 3px;
  background: var(--paua-gradient);
  z-index: 2;
}

.pv-media {
  position: relative;
  background: rgba(13, 26, 107, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 5;
  width: 100%;
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}
.pv-media img { object-fit: cover !important; object-position: center !important; padding: 0 !important; }

.pv-media-label {
  position: absolute;
  top: 14px; left: 14px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(10, 15, 46, 0.6);
  border: 0.5px solid rgba(0, 194, 184, 0.3);
  border-radius: 20px;
  padding: 5px 12px;
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--aqua);
  backdrop-filter: blur(6px);
  z-index: 1;
}

.pv-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pv-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; }

.pv-meta {
  padding: 20px 24px;
  border-top: 0.5px solid rgba(192, 200, 212, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.pv-meta-name { font-family: 'Syne', sans-serif; font-weight: 800; font-size: 13px; letter-spacing: 3px; text-transform: uppercase; color: var(--white); margin-bottom: 3px; }
.pv-meta-sub  { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--abalone); }
.pv-pills     { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }

.pv-pill {
  background: rgba(0, 194, 184, 0.08);
  border: 0.5px solid rgba(0, 194, 184, 0.22);
  border-radius: 2px;
  padding: 4px 10px;
  font-family: 'DM Mono', monospace;
  font-weight: 400;
  font-size: 11px;
  color: var(--aqua);
  letter-spacing: 0.5px;
  white-space: nowrap;
}

/* Product info column */
.product-info { align-self: start; }

.product-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.03);
  border: 0.5px solid rgba(192, 200, 212, 0.15);
  border-radius: 2px;
  padding: 6px 12px;
  margin-bottom: 24px;
}

.product-label-text { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--aqua); }

.product-name-h2 { font-family: 'Syne', sans-serif; font-weight: 800; font-size: clamp(24px, 2.6vw, 34px); line-height: 1.1; color: var(--white); margin-bottom: 8px; }
.product-benefit-line { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 15px; color: var(--abalone); line-height: 1.5; margin-bottom: 20px; font-style: italic; }

.product-dose-callout {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin: 4px 0 18px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
}
.product-rule { border: 0; border-top: 0.5px solid rgba(136, 153, 176, 0.14); margin: 18px 0; height: 0; }

.product-dose-num        { font-family: 'DM Mono', monospace; font-weight: 400; font-size: clamp(28px, 3vw, 38px); color: var(--aqua); line-height: 1; flex-shrink: 0; }
.product-dose-descriptor { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 12px; color: var(--abalone); letter-spacing: 0.3px; line-height: 1.5; }
.product-dose            { font-family: 'DM Mono', monospace; font-weight: 400; font-size: 13px; color: var(--aqua); letter-spacing: 0.5px; margin-bottom: 20px; }
.product-desc            { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 13px; color: var(--abalone); line-height: 1.65; margin-bottom: 18px; max-width: 48ch; }

.benefit-list { list-style: none; margin: 0; padding: 0; }
.benefit-list li { display: flex; align-items: flex-start; gap: 9px; padding: 4px 0; border: 0; font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 12.5px; color: #a0b0c8; line-height: 1.5; }
.benefit-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--aqua); flex-shrink: 0; margin-top: 7px; }

/* Cert strip */
.cert-strip { display: flex; gap: 0; justify-content: flex-start; align-items: flex-start; margin-bottom: 28px; padding: 16px 0; border-top: 0.5px solid rgba(136, 153, 176, 0.1); border-bottom: 0.5px solid rgba(136, 153, 176, 0.1); }
.cert-item  { display: flex; flex-direction: column; align-items: center; gap: 7px; flex: 1; min-width: 0; }
.cert-icon  { width: 32px; height: 32px; flex-shrink: 0; color: var(--aqua); opacity: 0.85; }
.cert-label { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 9px; letter-spacing: 1.2px; text-transform: uppercase; color: var(--abalone); text-align: center; line-height: 1.3; white-space: pre-line; }

.product-launch-value { display: flex; flex-direction: column; gap: 8px; margin-bottom: 20px; padding: 14px 16px; background: rgba(255, 255, 255, 0.03); border: 0.5px solid rgba(136, 153, 176, 0.1); border-radius: 4px; }
.product-guarantee, .product-protocol-include { display: flex; align-items: flex-start; gap: 8px; font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 12px; color: var(--abalone); line-height: 1.5; letter-spacing: 0.2px; }

.price-row  { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; flex-wrap: wrap; }
.price-main { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 24px; color: var(--white); }
.price-main span { font-size: 14px; color: var(--abalone); }
.price-alt  { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 14px; color: var(--abalone); }
.save-badge { background: var(--aqua); color: var(--abyss); font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 11px; letter-spacing: 1px; text-transform: uppercase; padding: 4px 10px; border-radius: 2px; }
.cta-row    { display: flex; flex-direction: column; gap: 10px; }
.cta-row .btn-primary, .cta-row .btn-ghost { width: 100%; }

/* =====================================================
   STORY STRIP — video background
===================================================== */
.story-strip {
  padding: 64px 0;
  position: relative;
  overflow: hidden;
  background: #0d0d0f;
}

.story-bg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; pointer-events: none; }

.story-strip::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(10,15,46,0.78) 0%, rgba(14,11,50,0.72) 50%, rgba(10,15,46,0.80) 100%),
    radial-gradient(ellipse 65% 80% at 50% 50%, rgba(0,194,184,0.06) 0%, transparent 65%);
  pointer-events: none;
  z-index: 1;
}

.story-strip::after {
  content: '';
  position: absolute;
  inset: -50%;
  width: 200%; height: 200%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.055'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  animation: grainShift 0.8s steps(1) infinite;
  pointer-events: none;
  z-index: 2;
  opacity: 0.7;
}

.story-strip-edge-top, .story-strip-edge-bottom { position: absolute; left: 0; right: 0; height: 48px; pointer-events: none; z-index: 3; }
.story-strip-edge-top    { top: 0;    background: linear-gradient(to bottom, var(--abyss) 0%, transparent 100%); }
.story-strip-edge-bottom { bottom: 0; background: linear-gradient(to top, var(--abyss) 0%, transparent 100%); }

.story-strip-inner { max-width: 760px; margin: 0 auto; text-align: center; padding: 0 80px; position: relative; z-index: 4; }

.story-quote { font-family: 'Cormorant Garamond', serif; font-style: italic; font-weight: 400; font-size: clamp(20px,2.5vw,28px); color: var(--white); line-height: 1.55; margin-bottom: 20px; text-shadow: 0 1px 16px rgba(0,0,0,0.4); }
.story-link  { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 13px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--aqua); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; transition: gap 400ms ease; }
.story-link:hover { gap: 10px; }

/* =====================================================
   24-HOUR SYSTEM
===================================================== */
.system-section { background: #111114; }

.system-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: stretch; }

.system-card { border-radius: 12px; padding: 36px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; transition: transform 500ms cubic-bezier(0.25,0.46,0.45,0.94); }
.system-card:hover { transform: translateY(-3px); }
.system-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--paua-gradient); z-index: 2; }
.card-rise::after { background: linear-gradient(90deg, #2a1204 0%, #c45a10 30%, #e8a020 60%, #f5c842 100%); }

.card-rest { background: rgba(18,10,74,0.75); border: 0.5px solid rgba(0,194,184,0.22); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: inset 0 1px 0 rgba(255,255,255,0.04); }
.card-rest::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--void), var(--aqua)); border-radius: 12px 12px 0 0; }
.card-rest:hover { border-color: rgba(0,194,184,0.55); box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 8px 32px rgba(18,10,74,0.4); }

.card-rise {
  background: linear-gradient(145deg, rgba(42,18,4,0.94) 0%, rgba(28,10,2,0.97) 60%, rgba(36,14,2,0.90) 100%);
  border: 0.5px solid rgba(232,160,32,0.32);
  border-radius: 12px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(245,200,66,0.12), inset 0 0 60px rgba(196,90,16,0.06), 0 0 0 0.5px rgba(196,90,16,0.1);
}
.card-rise:hover { border-color: rgba(232,160,32,0.55); box-shadow: inset 0 1px 0 rgba(245,200,66,0.18), inset 0 0 60px rgba(196,90,16,0.1), 0 8px 32px rgba(196,90,16,0.22); }
.card-rise-top { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, #c45a10, #e8a020, #f5c842); border-radius: 12px 12px 0 0; opacity: 0.95; }

.system-sub-tag  { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 11px; letter-spacing: 3px; text-transform: uppercase; color: var(--aqua); margin-bottom: 16px; display: block; }
.card-rise .system-sub-tag { color: var(--rise-amber); font-weight: 700; }
.system-card-title { font-family: 'Syne', sans-serif; font-weight: 800; font-size: clamp(20px,2.5vw,30px); color: var(--white); margin-bottom: 16px; line-height: 1.1; }
.system-card-desc  { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 14px; color: var(--abalone); line-height: 1.75; margin-bottom: 24px; max-width: 54ch; }
.card-rise .system-card-desc { color: rgba(255, 220, 170, 0.95); }
.system-dose  { font-family: 'DM Mono', monospace; font-weight: 400; font-size: 12px; color: var(--aqua); letter-spacing: 0.5px; margin-bottom: 28px; }
.card-rise .system-dose { color: var(--rise-amber); }
.system-price { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 14px; color: var(--abalone); margin-bottom: 20px; }
.system-price strong { color: var(--white); font-weight: 400; }
.card-rise .system-price strong { color: var(--rise-dawn); }

/* =====================================================
   CLINICAL PROOF — video background
===================================================== */
.proof-section {
  padding: 80px 0;
  position: relative;
  background: #0d0d0f;
  overflow: hidden;
}

.proof-bg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; pointer-events: none; }

.proof-section::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(160deg, rgba(13,13,15,0.88) 0%, rgba(17,17,20,0.84) 35%, rgba(22,22,26,0.80) 65%, rgba(17,17,20,0.86) 100%),
    radial-gradient(ellipse 70% 60% at 50% 50%, rgba(0,194,184,0.05) 0%, transparent 65%);
  pointer-events: none;
  z-index: 1;
}

.proof-section::after { content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.05'/%3E%3C/svg%3E"); background-size: 200px 200px; pointer-events: none; z-index: 1; }
.proof-section > .wrap { position: relative; z-index: 2; }

.proof-watermark { position: absolute; display: block; top: 50%; left: 50%; transform: translate(-50%,-54%); width: 320px; height: 320px; opacity: 0.06; pointer-events: none; z-index: 1; }

.proof-heading-wrap { position: relative; text-align: center; margin-bottom: 40px; }
.proof-heading-wrap > *:not(.proof-watermark) { position: relative; z-index: 2; }
.proof-heading-wrap .eyebrow { color: var(--aqua); margin-bottom: 12px; }
.proof-heading-wrap .h2 { color: var(--white); font-size: clamp(26px,3.2vw,44px); line-height: 1.05; }
.proof-heading-wrap .hl-glass { background: var(--hl-dark); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; }

.proof-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; align-items: stretch; }

.proof-card {
  background: rgba(28,28,31,0.85);
  border: 0.5px solid rgba(192,200,212,0.1);
  border-radius: 12px;
  padding: 32px 24px 28px;
  text-align: center;
  position: relative;
  overflow: clip;
  transition: border-color 500ms ease, transform 500ms cubic-bezier(0.25,0.46,0.45,0.94), box-shadow 500ms ease;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  box-shadow: 0 2px 24px rgba(0,0,0,0.3), 0 1px 0 rgba(255,255,255,0.04) inset;
}

.proof-card::before { content: ''; position: absolute; inset: 0; background: linear-gradient(140deg, rgba(0,194,184,0.04) 0%, transparent 45%, rgba(11,94,138,0.03) 100%); pointer-events: none; border-radius: inherit; }
.proof-card::after  { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--cobalt), var(--ocean), var(--midpaua), var(--pauateal), var(--aqua)); border-radius: 0 0 12px 12px; }
.proof-card:hover   { border-color: rgba(11,143,168,0.22); transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0,0,0,0.4), 0 2px 12px rgba(0,194,184,0.08), 0 1px 0 rgba(255,255,255,0.04) inset; }

.proof-num { font-family: 'DM Mono', monospace; font-weight: 400; font-size: clamp(36px,4.5vw,52px); line-height: 1.15; padding-bottom: 4px; margin-bottom: 6px; background: linear-gradient(120deg, var(--ocean) 0%, var(--midpaua) 45%, var(--pauateal) 75%, var(--aqua) 100%); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: transparent; display: block; }
.proof-label   { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: #8899b0; margin-bottom: 14px; line-height: 1.4; }
.proof-body    { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 13px; color: #a0aab8; line-height: 1.75; margin-bottom: 16px; max-width: 32ch; margin-left: auto; margin-right: auto; }
.proof-divider { width: 24px; height: 1px; background: linear-gradient(90deg, var(--midpaua), var(--aqua)); margin: 0 auto 12px; opacity: 0.35; }
.proof-cite    { font-family: 'DM Mono', monospace; font-weight: 300; font-size: 10px; color: #6b7a8d; letter-spacing: 0.3px; line-height: 1.6; }

/* =====================================================
   PRODUCT GRID — video background
===================================================== */
.product-grid-section { background: #111114; position: relative; overflow: hidden; }

.product-grid-bg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; pointer-events: none; }

.product-grid-section::before { content: ''; position: absolute; inset: 0; background: linear-gradient(145deg, rgba(17,17,20,0.92) 0%, rgba(13,13,15,0.88) 40%, rgba(17,17,20,0.85) 75%, rgba(13,13,15,0.90) 100%), radial-gradient(ellipse 65% 55% at 50% 50%, rgba(192,200,212,0.03) 0%, transparent 65%); pointer-events: none; z-index: 1; }
.product-grid-section::after  { content: ''; position: absolute; inset: 0; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='0.05'/%3E%3C/svg%3E"); background-size: 200px 200px; pointer-events: none; z-index: 1; }
.product-grid-section > .wrap { position: relative; z-index: 2; }

.product-grid-section .wrap > .eyebrow { margin-bottom: 12px; }
.product-grid-section .wrap > .h2     { margin-bottom: 32px; }

.product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }

.prod-card { background: rgba(22,22,25,0.7); border: 0.5px solid rgba(192,200,212,0.08); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; transition: border-color 500ms ease, transform 500ms cubic-bezier(0.25,0.46,0.45,0.94); }
.prod-card:hover { border-color: rgba(0,194,184,0.28); transform: translateY(-4px); }
.prod-card-img { width: 100%; aspect-ratio: 1; background: rgba(13,26,107,0.35); display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; border-radius: 16px 16px 0 0; }
.prod-card-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; }
.prod-card-img::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--paua-gradient); z-index: 2; }
.prod-card-body { padding: 20px; display: flex; flex-direction: column; flex: 1; }

/* Sub-line tags */
.prod-card-tag { display: inline-flex; align-items: center; font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 10px; letter-spacing: 2.5px; text-transform: uppercase; padding: 4px 10px; border-radius: 20px; margin-bottom: 10px; width: fit-content; background: rgba(18,10,74,0.8); color: var(--white); border: 0.5px solid rgba(136,153,176,0.2); }

.prod-card-tag--rest { background: linear-gradient(110deg, #1a0d5c 0%, #120a4a 50%, #0e0836 100%); color: var(--white); border: 0.5px solid rgba(90,60,160,0.35); box-shadow: 0 0 12px rgba(18,10,74,0.6), inset 0 1px 0 rgba(255,255,255,0.06); }
.prod-card-tag--rest::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--aqua); margin-right: 6px; flex-shrink: 0; box-shadow: 0 0 4px rgba(0,194,184,0.6); }

.prod-card-tag--rise { background: linear-gradient(110deg, #3a1406 0%, #c45a10 55%, #e8a020 100%); color: var(--white); border: 0.5px solid rgba(232,160,32,0.4); box-shadow: 0 0 12px rgba(196,90,16,0.45), inset 0 1px 0 rgba(255,255,255,0.08); }
.prod-card-tag--rise::before { content: ''; display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: var(--rise-dawn); margin-right: 6px; flex-shrink: 0; box-shadow: 0 0 5px rgba(245,200,66,0.8); }

.prod-card-name { font-family: 'Syne', sans-serif; font-weight: 700; font-size: 15px; color: var(--white); margin-bottom: 6px; line-height: 1.25; }

.prod-card-rating { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; }
.prod-stars { display: flex; gap: 2px; align-items: center; flex-shrink: 0; }
.prod-star { width: 10px; height: 10px; flex-shrink: 0; }
.prod-star.filled { fill: var(--aqua); opacity: 1; }
.prod-star.empty  { fill: rgba(136,153,176,0.2); }
.prod-rating-num   { font-family: 'DM Mono', monospace; font-weight: 400; font-size: 11px; color: var(--aqua); letter-spacing: 0.5px; line-height: 1; }
.prod-rating-count { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 10px; color: rgba(136,153,176,0.6); letter-spacing: 0.3px; line-height: 1; }

.prod-card-dose { font-family: 'DM Mono', monospace; font-weight: 400; font-size: 11px; color: var(--white); margin-bottom: 16px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.prod-card-prices { margin-top: auto; display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 12px; }
.prod-price-subscribe { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 20px; color: var(--white); line-height: 1; }
.prod-price-sub-label { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 10px; color: var(--aqua); margin-top: 3px; letter-spacing: 1px; text-transform: uppercase; }
.prod-price-onetime       { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 12px; color: rgba(136,153,176,0.6); text-align: right; text-decoration: line-through; }
.prod-price-onetime-label { font-size: 10px; margin-top: 2px; color: rgba(136,153,176,0.5); text-decoration: none; }

.prod-card-badge { position: absolute; top: 12px; right: 12px; z-index: 3; display: inline-flex; align-items: center; background: rgba(10,15,46,0.88); border: 0.5px solid rgba(255,255,255,0.18); border-radius: 2px; padding: 4px 9px; font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--white); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }

/* =====================================================
   STACKR / QUIZ SECTION
===================================================== */
.quiz-section { padding: 80px 0; background: #111114; position: relative; overflow: hidden; }
.quiz-section::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 70% at 80% 50%, rgba(11,94,138,0.18) 0%, transparent 60%), radial-gradient(ellipse 45% 55% at 15% 50%, rgba(13,26,107,0.22) 0%, transparent 55%), radial-gradient(ellipse 50% 40% at 50% 0%, rgba(0,194,184,0.05) 0%, transparent 50%); pointer-events: none; }
.quiz-inner { display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: center; position: relative; z-index: 1; }
.quiz-text { display: flex; flex-direction: column; align-items: flex-start; text-align: left; }
.quiz-eyebrow { color: var(--aqua); margin-bottom: 14px; }
.quiz-h2 { font-family: 'Syne', sans-serif; font-weight: 800; font-size: clamp(26px,3.2vw,42px); color: var(--white); line-height: 1.05; margin-bottom: 16px; letter-spacing: -0.3px; }
.quiz-sub { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 15px; color: var(--abalone); margin-bottom: 28px; line-height: 1.75; max-width: 42ch; }
.quiz-proof { display: flex; gap: 20px; margin-top: 20px; flex-wrap: wrap; }
.quiz-proof-item { display: flex; align-items: center; gap: 6px; font-family: 'DM Sans', sans-serif; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--abalone); }
.quiz-proof-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--aqua); flex-shrink: 0; }
.quiz-visual { position: relative; display: flex; align-items: center; justify-content: center; }
.quiz-card { width: 100%; background: rgba(22,22,26,0.7); border: 0.5px solid rgba(192,200,212,0.12); border-radius: 16px; padding: 40px 32px; position: relative; overflow: hidden; backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); box-shadow: 0 0 0 0.5px rgba(11,143,168,0.1), inset 0 1px 0 rgba(255,255,255,0.05); text-align: center; }
.quiz-card::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: var(--paua-gradient); }
.quiz-ring { display: block; margin: 0 auto 20px; animation: ringPulse 6s ease-in-out infinite; }
.quiz-steps { list-style: none; display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; text-align: left; }
.quiz-step { display: flex; align-items: center; gap: 12px; font-family: 'DM Sans', sans-serif; font-size: 13px; color: var(--abalone); padding: 12px 16px; background: rgba(255,255,255,0.03); border: 0.5px solid rgba(136,153,176,0.1); border-radius: 4px; }
.quiz-step-num   { font-family: 'DM Mono', monospace; font-size: 10px; color: var(--aqua); letter-spacing: 1px; flex-shrink: 0; width: 16px; }
.quiz-step-label { font-size: 12px; letter-spacing: 0.5px; }
.quiz-result-preview { background: rgba(0,194,184,0.07); border: 0.5px solid rgba(0,194,184,0.2); border-radius: 4px; padding: 12px 16px; display: flex; align-items: center; gap: 10px; }
.quiz-result-icon  { width: 28px; height: 28px; flex-shrink: 0; }
.quiz-result-text  { text-align: left; }
.quiz-result-label { font-family: 'DM Mono', monospace; font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase; color: var(--aqua); display: block; margin-bottom: 2px; }
.quiz-result-val   { font-family: 'DM Sans', sans-serif; font-size: 12px; color: var(--abalone); display: block; }

/* =====================================================
   REVIEWS — homepage system, isolated from PDP
   Uses .review-card / .reviews-* (not .pdp-review-*)
===================================================== */
.reviews-section { background: #0d0d0f; }
.reviews-section .wrap > div[style] { margin-bottom: 40px; }

.reviews-aggregate { display: inline-flex; align-items: center; gap: 10px; margin-top: 16px; padding: 10px 20px; background: rgba(255,255,255,0.04); border: 0.5px solid rgba(136,153,176,0.12); border-radius: 4px; }
.reviews-agg-num   { font-family: 'DM Mono', monospace; font-weight: 400; font-size: 22px; color: var(--aqua); line-height: 1; }
.reviews-agg-stars { display: flex; gap: 3px; align-items: center; }
.reviews-agg-stars .star-icon { width: 14px; height: 14px; fill: var(--aqua); color: var(--aqua); }
.reviews-agg-count { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 12px; letter-spacing: 1px; color: var(--abalone); text-transform: uppercase; }

.reviews-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; align-items: stretch; }
.reviews-grid > .review-card { height: 100%; }

.review-card { background: rgba(22,22,25,0.6); border: 0.5px solid rgba(192,200,212,0.08); border-radius: 12px; padding: 28px; display: flex; flex-direction: column; min-height: 100%; transition: border-color 500ms ease, transform 500ms cubic-bezier(0.25,0.46,0.45,0.94); }
.review-card:hover { border-color: rgba(136,153,176,0.28); transform: translateY(-2px); }
.review-stars { display: flex; gap: 3px; margin-bottom: 16px; flex-shrink: 0; }
.star-icon { width: 13px; height: 13px; color: var(--aqua); fill: var(--aqua); flex-shrink: 0; }
.review-quote { font-family: 'DM Sans', sans-serif; font-style: italic; font-weight: 400; font-size: 14px; color: var(--white); line-height: 1.75; margin-bottom: 0; flex: 1; min-height: 0; }
.review-attribution { border-top: 0.5px solid rgba(136,153,176,0.15); padding-top: 16px; margin-top: 20px; flex-shrink: 0; }
.review-name     { font-family: 'DM Mono', monospace; font-weight: 400; font-size: 11px; color: var(--abalone); letter-spacing: 1px; text-transform: uppercase; margin-bottom: 5px; display: block; }
.review-verified { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 11px; color: #00a89a; letter-spacing: 0.5px; display: block; }

/* =====================================================
   EMAIL CAPTURE — video background
===================================================== */
.email-section { padding: 80px 0; position: relative; overflow: hidden; background: #0d0d0f; }
.email-bg-video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; z-index: 0; pointer-events: none; }
.email-section::before { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(13,13,15,0.86) 0%, rgba(17,17,20,0.80) 50%, rgba(13,13,15,0.88) 100%), radial-gradient(ellipse 70% 70% at 50% 50%, rgba(0,194,184,0.05) 0%, transparent 65%); pointer-events: none; z-index: 1; }
.email-section::after { content: ''; position: absolute; inset: -50%; width: 200%; height: 200%; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E"); background-size: 180px 180px; animation: grainShift 0.8s steps(1) infinite; pointer-events: none; z-index: 2; opacity: 0.65; }
.email-edge-top, .email-edge-bottom { position: absolute; left: 0; right: 0; height: 56px; pointer-events: none; z-index: 3; }
.email-edge-top    { top: 0;    background: linear-gradient(to bottom, var(--abyss) 0%, transparent 100%); }
.email-edge-bottom { bottom: 0; background: linear-gradient(to top, var(--abyss) 0%, transparent 100%); }
.email-inner { max-width: 540px; margin: 0 auto; text-align: center; position: relative; z-index: 4; }
.email-h2  { font-family: 'Syne', sans-serif; font-weight: 800; font-size: clamp(24px,3vw,40px); color: var(--white); line-height: 1.1; margin-bottom: 16px; }
.email-sub { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 15px; color: var(--abalone); line-height: 1.75; margin-bottom: 32px; max-width: 54ch; margin-left: auto; margin-right: auto; }
.email-form { display: flex; max-width: 400px; margin: 0 auto 16px; }
.email-input {
  flex: 1;
  background: linear-gradient(180deg, #ffffff 0%, #f3f5f9 100%);
  border: 0.5px solid rgba(24,23,26,0.12);
  border-right: none;
  color: #18171a;
  font-family: 'DM Sans', sans-serif;
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.2px;
  padding: 16px 20px;
  outline: none;
  border-radius: 4px 0 0 4px;
  caret-color: #00c2b8;
  box-shadow: inset 0 1px 2px rgba(24,23,26,0.05), inset 0 -1px 0 rgba(255,255,255,0.7);
  transition: border-color 450ms ease, box-shadow 450ms ease, background 450ms ease;
}
.email-input::placeholder { color: #8a8e98; font-weight: 400; }
.email-input::-webkit-input-placeholder { color: #8a8e98; }
.email-input:hover { border-color: rgba(0,194,184,0.35); }
.email-input:focus {
  background: #ffffff;
  border-color: rgba(0,194,184,0.55);
  box-shadow: 0 0 0 3px rgba(0,194,184,0.12), inset 0 1px 2px rgba(24,23,26,0.05);
  color: #0d0d0f;
}
.email-input:-webkit-autofill,
.email-input:-webkit-autofill:focus {
  -webkit-text-fill-color: #18171a;
  -webkit-box-shadow: 0 0 0 1000px #ffffff inset, 0 0 0 3px rgba(0,194,184,0.10);
  caret-color: #00c2b8;
}
.email-submit { position: relative; overflow: hidden; background: linear-gradient(105deg, #0d1a6b 0%, #0b5e8a 20%, #0b8fa8 38%, #00c2b8 55%, #00c2b8 100%); background-size: 260% 100%; background-position: 100% 0; color: var(--abyss); font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 12px; letter-spacing: 1.5px; text-transform: uppercase; padding: 16px 24px; border: none; border-radius: 0 2px 2px 0; cursor: pointer; white-space: nowrap; flex-shrink: 0; transition: background-position 750ms cubic-bezier(0.4,0,0.2,1), box-shadow 750ms cubic-bezier(0.4,0,0.2,1), color 400ms cubic-bezier(0.4,0,0.2,1); will-change: background-position; }
.email-submit:hover { background-position: 0% 0; color: var(--white); box-shadow: 0 6px 24px rgba(11,94,138,0.4), 0 2px 10px rgba(0,194,184,0.18); }
.email-submit:active { background-position: 8% 0; box-shadow: 0 2px 8px rgba(11,94,138,0.25); transition-duration: 120ms; }
.email-legal { font-family: 'DM Sans', sans-serif; font-weight: 400; font-size: 12px; color: #ffffff; line-height: 1.6; }

/* =====================================================
   RESPONSIVE — home-specific overrides
===================================================== */
@media (max-width: 1100px) {
  .product-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 900px) {
  .hero-content { grid-template-columns: 1fr; padding: 40px 24px; gap: 32px; }
  .hero { min-height: 0; height: auto; }
  .hero-visual { order: -1; }
  .hero-sub { max-width: 100%; }
  .hero-card { max-height: none; border-radius: 12px; }
  .hero-video-wrap { border-radius: 11px 11px 0 0; }
  .product-feature-inner { grid-template-columns: 1fr; gap: 32px; }
  .pv-media { min-height: 200px; }
  .story-strip-inner { padding: 0 24px; }
  .story-strip { padding: 48px 0; }
  .system-grid { grid-template-columns: 1fr; }
  .proof-grid { grid-template-columns: 1fr 1fr; }
  .proof-watermark { width: 240px; height: 240px; }
  .proof-heading-wrap .h2 { font-size: clamp(22px,4vw,36px); }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .reviews-grid { grid-template-columns: 1fr; }
  .quiz-section, .email-section, .proof-section { padding: 56px 0; }
  .quiz-inner { grid-template-columns: 1fr; gap: 32px; }
  .quiz-text { align-items: center; text-align: center; }
  .quiz-sub { max-width: 100%; margin-left: auto; margin-right: auto; }
  .quiz-proof { justify-content: center; }
}

@media (max-width: 540px) {
  .product-grid { display: flex; grid-template-columns: unset; gap: 14px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 -24px; padding-left: 24px; padding-right: 24px; padding-bottom: 4px; touch-action: pan-x; overscroll-behavior-x: contain; overscroll-behavior-y: auto; }
  .product-grid::-webkit-scrollbar { display: none; }
  .product-grid > .prod-card { flex: 0 0 82vw; max-width: 300px; scroll-snap-align: start; }

  .proof-grid { display: flex; grid-template-columns: unset; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 -24px; padding-left: 24px; padding-right: 24px; padding-bottom: 4px; touch-action: pan-x; overscroll-behavior-x: contain; overscroll-behavior-y: auto; }
  .proof-grid::-webkit-scrollbar { display: none; }
  .proof-grid > .proof-card { flex: 0 0 82vw; max-width: 300px; scroll-snap-align: start; }

  .reviews-grid { display: flex; grid-template-columns: unset; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0 -24px; padding-left: 24px; padding-right: 24px; padding-bottom: 4px; touch-action: pan-x; overscroll-behavior-x: contain; overscroll-behavior-y: auto; }
  .reviews-grid::-webkit-scrollbar { display: none; }
  .reviews-grid > .review-card { flex: 0 0 82vw; max-width: 320px; scroll-snap-align: start; }

  /* Carousel nav (arrows + dots) styles */
  .carousel-nav { display: flex; justify-content: center; align-items: center; gap: 16px; margin-top: 20px; }
  .carousel-arrow { width: 44px; height: 44px; border-radius: 50%; border: .5px solid rgba(192,200,212,.25); background: rgba(22,22,25,.6); color: rgba(255,255,255,.95); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: border-color 300ms, background 300ms, transform 200ms; }
  .carousel-arrow:hover { border-color: var(--aqua); background: rgba(0,194,184,.08); }
  .carousel-arrow:active { transform: scale(0.94); }
  .carousel-arrow:disabled { opacity: .35; cursor: not-allowed; }
  .carousel-arrow svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.5; fill: none; }
  .carousel-dots { display: flex; gap: 8px; align-items: center; }
  .carousel-dots .cdot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.22); transition: background 300ms, transform 300ms; cursor: pointer; border: none; padding: 0; }
  .carousel-dots .cdot.active { background: var(--aqua); transform: scale(1.4); box-shadow: 0 0 8px rgba(0,194,184,.55); }
}
@media (min-width: 541px) {
  .carousel-nav { display: none; }
}

  .hero-btns { flex-direction: column; align-items: flex-start; }
  .hero-btns .btn-primary, .hero-btns .btn-ghost { width: 100%; justify-content: center; }
  .cta-row { flex-direction: column; }
  .cta-row .btn-primary, .cta-row .btn-ghost { width: 100%; }
  .email-form { flex-direction: column; }
  .email-input { border-right: 0.5px solid rgba(24,23,26,0.12); border-radius: 4px; margin-bottom: 8px; }
  .email-submit { border-radius: 2px; width: 100%; }
  .hero-proof { grid-template-columns: 1fr 1fr; gap: 12px 20px; }
  .hero-card { max-height: none; }
  .hero-card-meta { padding: 12px 16px 16px; }
  .hero-card-sub { display: none; }
  .hero-card-tags { display: none; }
  .system-card { padding: 28px 24px; text-align: center; }
  .system-sub-tag { display: block; margin-left: auto; margin-right: auto; width: fit-content; }
  .system-card .system-card-desc { max-width: 100%; }
  .system-card .btn-primary { width: 100%; justify-content: center; }
  .system-price { text-align: center; }
}

/* =====================================================
   PRODUCT GRID — AUTO-THEMED CARD VARIANTS
   prod-card--rest / --rise / --neutral
   Same logic as FBT auto-theming.
===================================================== */

/* Sleep card */
.prod-card--rest {
  background: #0e0830;
  border-color: rgba(90, 60, 160, 0.2);
}

.prod-card--rest:hover {
  border-color: rgba(0, 194, 184, 0.4);
  transform: translateY(-4px);
}

.prod-card--rest .prod-card-dose {
  color: #00c2b8;
}

.prod-card--rest .prod-star.filled {
  fill: #00c2b8;
}

.prod-card--rest .prod-rating-num--sleep,
.prod-card--rest .prod-rating-num {
  color: #00c2b8;
}

.prod-card--rest .prod-price-sub-label--sleep,
.prod-card--rest .prod-price-sub-label {
  color: #00c2b8;
}

.prod-card--rest .btn-primary--sleep,
.prod-card--rest .btn-primary:not(.btn-primary--rise) {
  background: linear-gradient(105deg, #0d1a6b 0%, #0b5e8a 20%, #0b8fa8 38%, #00c2b8 55%, #00c2b8 100%);
  background-size: 260% 100%;
  background-position: 100% 0;
  color: #0a0f2e;
}

.prod-card--rest .btn-primary--sleep:hover,
.prod-card--rest .btn-primary:not(.btn-primary--rise):hover {
  background-position: 0% 0;
  color: #ffffff;
  box-shadow: 0 6px 24px rgba(11, 94, 138, 0.4);
}

/* Rise card */
.prod-card--rise {
  background: #1e1008;
  border-color: rgba(232, 160, 32, 0.18);
}

.prod-card--rise:hover {
  border-color: rgba(232, 160, 32, 0.4);
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(196, 90, 16, 0.15);
}

.prod-card--rise .prod-card-dose {
  color: #e8a020;
}

.prod-card--rise .prod-star.filled,
.prod-star-rise.filled {
  fill: #e8a020;
}

.prod-card--rise .prod-rating-num--rise,
.prod-card--rise .prod-rating-num {
  color: #e8a020;
}

.prod-card--rise .prod-price-sub-label--rise,
.prod-card--rise .prod-price-sub-label {
  color: #e8a020;
}

.prod-card--rise .btn-primary--rise {
  background: linear-gradient(105deg, #f5c842 0%, #e8a020 28%, #c45a10 55%, #2a1204 80%, #2a1204 100%);
  background-size: 260% 100%;
  background-position: 100% 0;
  color: #ffffff;
  border: 0.5px solid rgba(232, 160, 32, 0.4);
}

.prod-card--rise .btn-primary--rise:hover {
  background-position: 0% 0;
  color: #0a0f2e;
  box-shadow: 0 6px 24px rgba(196, 90, 16, 0.45);
}

/* Neutral / bundle card */
.prod-card--neutral {
  background: #16161a;
  border-color: rgba(192, 200, 212, 0.1);
}

.prod-card--neutral:hover {
  border-color: rgba(192, 200, 212, 0.25);
  transform: translateY(-4px);
}

.prod-card--neutral .prod-card-dose {
  color: #c0c8d4;
}

.prod-card--neutral .prod-star.filled {
  fill: #c0c8d4;
}

.prod-card--neutral .prod-rating-num {
  color: #c0c8d4;
}

.prod-card--neutral .prod-price-sub-label {
  color: #c0c8d4;
}

/* prod-card-tag neutral */
.prod-card-tag--neutral {
  background: rgba(192, 200, 212, 0.08);
  border: 0.5px solid rgba(192, 200, 212, 0.2);
  color: #c0c8d4;
}

/* prod-card-tag renew */
.prod-card-tag--renew {
  background: linear-gradient(110deg, #001a0a 0%, #003d20 50%, #006644 100%);
  color: var(--white);
  border: 0.5px solid rgba(0, 140, 106, 0.40);
  box-shadow: 0 0 12px rgba(0, 140, 106, 0.45), inset 0 1px 0 rgba(255,255,255,0.06);
}
.prod-card-tag--renew::before {
  content: '';
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #00c2b8;
  margin-right: 6px;
  flex-shrink: 0;
  box-shadow: 0 0 5px rgba(0, 194, 184, 0.7);
}

/* =========================================================================
   RISE CARD LIGHT-MODE OVERRIDE, applied on home/grid/feature/system cards.
   Matches the v4 RISE light-mode brand: white card surface, deep burgundy
   text, crimson + coral accents. Replaces the amber/orange treatment.
========================================================================= */

/* RISE TOKENS, scoped to rise cards only */
.card-rise,
.prod-card--rise,
.bundle-card.is-rise {
  --r-crimson: #EE4D69;
  --r-coral:   #F4935A;
  --r-magenta: #F0236E;
  --r-deep:    #c4204e;
  --r-text-1:  #3d0c1a;
  --r-text-2:  #7a1830;
  --r-text-3:  #b04060;
  --r-card-bg: #ffffff;
  --r-card-border: rgba(196, 32, 78, 0.10);
  --r-shadow:  0 2px 16px rgba(61, 12, 26, 0.07);
  --r-shadow-h:0 8px 32px rgba(61, 12, 26, 0.12);
  --r-grad:    linear-gradient(90deg, #F4935A, #EE4D69, #F0236E);
}

/* SYSTEM CARD on home (.card-rise) */
.card-rise {
  background: var(--r-card-bg) !important;
  border: 1px solid var(--r-card-border) !important;
  box-shadow: var(--r-shadow) !important;
}
.card-rise::after {
  background: var(--r-grad) !important;
}
.card-rise-top {
  background: var(--r-grad) !important;
}
.card-rise:hover {
  border-color: rgba(238, 77, 105, 0.22) !important;
  box-shadow: var(--r-shadow-h) !important;
}
.card-rise .system-card-name,
.card-rise .system-card-title,
.card-rise .system-card-headline {
  color: var(--r-text-1) !important;
}
.card-rise .system-sub-tag,
.card-rise .system-eyebrow {
  color: var(--r-crimson) !important;
}
.card-rise .system-card-desc,
.card-rise .system-tagline {
  color: var(--r-text-2) !important;
}
.card-rise .system-dose,
.card-rise .system-price-num,
.card-rise .system-stat-num {
  color: var(--r-crimson) !important;
}
.card-rise .system-price,
.card-rise .system-price strong {
  color: var(--r-text-1) !important;
}

/* PROD CARDS in grid sections (.prod-card--rise) */
.prod-card--rise {
  background: var(--r-card-bg) !important;
  border: 1px solid var(--r-card-border) !important;
  box-shadow: var(--r-shadow) !important;
}
.prod-card--rise:hover {
  border-color: rgba(238, 77, 105, 0.22) !important;
  box-shadow: var(--r-shadow-h) !important;
  transform: translateY(-4px);
}
.prod-card--rise .prod-card-name,
.prod-card--rise .prod-card-title {
  color: var(--r-text-1) !important;
}
.prod-card--rise .prod-card-desc,
.prod-card--rise .prod-card-tagline,
.prod-card--rise .prod-card-benefit {
  color: var(--r-text-2) !important;
}
.prod-card--rise .prod-card-dose,
.prod-card--rise .prod-rating-num,
.prod-card--rise .prod-rating-num--rise,
.prod-card--rise .prod-price-sub-label,
.prod-card--rise .prod-price-sub-label--rise {
  color: var(--r-crimson) !important;
}
.prod-card--rise .prod-price,
.prod-card--rise .prod-price strong,
.prod-card--rise .prod-price-now {
  color: var(--r-text-1) !important;
}
.prod-card--rise .prod-star.filled,
.prod-star-rise.filled {
  fill: var(--r-crimson) !important;
}
.prod-card--rise .prod-star,
.prod-star-rise {
  fill: rgba(176, 64, 96, 0.2) !important;
}

/* RISE PILL/TAG on cards */
.prod-card-tag--rise,
.card-rise .system-pill,
.card-rise .card-pill,
.bundle-card.is-rise .pill {
  background: rgba(238, 77, 105, 0.07) !important;
  background-image: none !important;
  border: 1px solid rgba(238, 77, 105, 0.22) !important;
  color: var(--r-crimson) !important;
  box-shadow: none !important;
}
.prod-card-tag--rise::before,
.card-rise .system-pill::before {
  background: var(--r-crimson) !important;
  box-shadow: none !important;
}

/* RISE BUTTON inside RISE cards becomes ghost crimson, not amber gradient.
   We do NOT touch .btn-primary--rise globally, only inside rise cards. */
.card-rise .btn-primary--rise,
.prod-card--rise .btn-primary--rise,
.prod-card--rise .btn-primary,
.bundle-card.is-rise .btn-primary--rise {
  position: relative !important;
  overflow: hidden !important;
  background: transparent !important;
  background-image: none !important;
  border: 1.5px solid var(--r-crimson) !important;
  color: var(--r-crimson) !important;
  box-shadow: none !important;
  z-index: 0;
}
.card-rise .btn-primary--rise::before,
.prod-card--rise .btn-primary--rise::before,
.prod-card--rise .btn-primary::before,
.bundle-card.is-rise .btn-primary--rise::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, #c4204e 0%, #EE4D69 50%, #F4935A 100%);
  transform: translateX(-101%);
  transition: transform 750ms cubic-bezier(0.4, 0, 0.2, 1);
  z-index: -1;
  border-radius: inherit;
}
.card-rise .btn-primary--rise:hover::before,
.prod-card--rise .btn-primary--rise:hover::before,
.prod-card--rise .btn-primary:hover::before,
.bundle-card.is-rise .btn-primary--rise:hover::before {
  transform: translateX(0%);
}
.card-rise .btn-primary--rise:hover,
.prod-card--rise .btn-primary--rise:hover,
.prod-card--rise .btn-primary:hover,
.bundle-card.is-rise .btn-primary--rise:hover {
  color: #ffffff !important;
  border-color: transparent !important;
  box-shadow: 0 8px 28px rgba(238, 77, 105, 0.28) !important;
}

/* Additional .prod-card--rise overrides for home product grid pricing */
.prod-card--rise .prod-price-subscribe,
.prod-card--rise .prod-price-onetime,
.prod-card--rise .prod-card-prices {
  color: #3d0c1a !important;
}
.prod-card--rise .prod-price-onetime-label,
.prod-card--rise .prod-price-was {
  color: #b04060 !important;
}
.prod-card--rise .prod-card-badge,
.prod-card--rise .prod-soldout {
  background: rgba(255, 255, 255, 0.92) !important;
  color: #7a1830 !important;
  border: 1px solid rgba(196, 32, 78, 0.18) !important;
}
.prod-card--rise .prod-rating-count {
  color: #b04060 !important;
}

/* =========================================================================
   UNIFIED NEUTRAL SILVER CARD on home product grid (.prod-card variants)
   Light silver/grey card surface, dark text, ghost CTAs in theme colors.
========================================================================= */
.prod-card{
  background:#ebedf1 !important;
  border:1px solid rgba(24,23,26,.08) !important;
  box-shadow:0 2px 12px rgba(0,0,0,.18) !important;
}
.prod-card:hover{
  border-color:rgba(24,23,26,.16) !important;
  box-shadow:0 12px 36px rgba(0,0,0,.28) !important;
  transform:translateY(-4px) !important;
}

/* Image area: soft theme tint */
.prod-card--rest  .prod-card-img{background:linear-gradient(145deg,#e8eaf2,#dfe4ef,#cfd6e3) !important}
.prod-card--rise   .prod-card-img{background:linear-gradient(145deg,#fbe8e5,#f7d9d2,#f5c2b3) !important}
.prod-card--neutral .prod-card-img{background:linear-gradient(145deg,#e8eaf2,#dfe4ef,#cfd6e3) !important}

/* Bottom strip on image keeps theme accent */
.prod-card--rest .prod-card-img::after{background:linear-gradient(90deg,#120a4a,#0d1a6b,#0f4fa8,#0b5e8a,#0b8fa8,#00a89a,#00c2b8) !important}
.prod-card--rise  .prod-card-img::after{background:linear-gradient(90deg,#F4935A,#EE4D69,#F0236E) !important}
.prod-card--neutral .prod-card-img::after{background:linear-gradient(90deg,#8899b0,#c0c8d4,#ffffff) !important}

/* Body text on neutral card */
.prod-card .prod-card-name{color:#18171a !important}
.prod-card .prod-card-desc,
.prod-card .prod-card-tagline,
.prod-card .prod-card-benefit{color:#3a3840 !important}
.prod-card .prod-card-dose{color:#5e6370 !important}
.prod-card .prod-rating-count{color:#5e6370 !important}
.prod-card .prod-price-subscribe,
.prod-card .prod-price-onetime,
.prod-card .prod-price,
.prod-card .prod-price strong,
.prod-card .prod-price-now{color:#18171a !important}
.prod-card .prod-price-sub-label,
.prod-card .prod-price-onetime-label,
.prod-card .prod-price-was{color:#5e6370 !important}
.prod-card .prod-card-badge,
.prod-card .prod-soldout{
  background:rgba(255,255,255,.92) !important;
  color:#3a3840 !important;
  border:1px solid rgba(24,23,26,.12) !important;
}

/* Pill / tag, theme-tinted */
.prod-card-tag--rest{
  background:rgba(0,194,184,.08) !important;background-image:none !important;
  border:1px solid rgba(0,194,184,.28) !important;color:#006b65 !important;
  box-shadow:none !important;
}
.prod-card-tag--rest::before{background:#00c2b8 !important;box-shadow:none !important}
.prod-card-tag--rise{
  background:rgba(238,77,105,.07) !important;background-image:none !important;
  border:1px solid rgba(238,77,105,.22) !important;color:#EE4D69 !important;
  box-shadow:none !important;
}
.prod-card-tag--rise::before{background:#EE4D69 !important;box-shadow:none !important}
.prod-card-tag--renew{
  background:rgba(0,140,106,.10) !important;background-image:none !important;
  border:1px solid rgba(0,140,106,.30) !important;color:#008c6a !important;
  box-shadow:none !important;
}
.prod-card-tag--renew::before{background:#00c2b8 !important;box-shadow:none !important}

/* Stars in theme color */
.prod-card--rest .prod-star.filled{fill:#00c2b8 !important}
.prod-card--rise  .prod-star.filled{fill:#EE4D69 !important}
.prod-card .prod-star.empty{fill:rgba(24,23,26,.18) !important}
.prod-card--rest .prod-rating-num{color:#0b8fa8 !important}
.prod-card--rise  .prod-rating-num{color:#EE4D69 !important}

/* Ghost CTAs with theme-color liquid fill */
.prod-card .btn-primary,
.prod-card .btn-primary--rise,
.prod-card .atc-btn{
  position:relative;overflow:hidden;
  background:transparent !important;background-image:none !important;
  background-position:0 0 !important;
  box-shadow:none !important;
  z-index:0;
}
.prod-card .btn-primary::before,
.prod-card .btn-primary--rise::before,
.prod-card .atc-btn::before{
  content:'';position:absolute;inset:0;
  transform:translateX(-101%);
  transition:transform 750ms cubic-bezier(0.4,0,0.2,1);
  z-index:-1;border-radius:inherit;
}
.prod-card .btn-primary:hover::before,
.prod-card .btn-primary--rise:hover::before,
.prod-card .atc-btn:hover::before{transform:translateX(0%)}
.prod-card .btn-primary:hover,
.prod-card .btn-primary--rise:hover,
.prod-card .atc-btn:hover{
  color:#fff !important;border-color:transparent !important;
}

/* SLEEP ghost CTA */
.prod-card--rest .btn-primary,
.prod-card--rest .atc-btn{border:1.5px solid #00c2b8 !important;color:#006b65 !important}
.prod-card--rest .btn-primary::before,
.prod-card--rest .atc-btn::before{background:linear-gradient(110deg,#0d1a6b 0%,#0b5e8a 30%,#00c2b8 100%)}
.prod-card--rest .btn-primary:hover,
.prod-card--rest .atc-btn:hover{box-shadow:0 8px 28px rgba(11,94,138,.32) !important}

/* RISE ghost CTA */
.prod-card--rise .btn-primary,
.prod-card--rise .btn-primary--rise,
.prod-card--rise .atc-btn{border:1.5px solid #EE4D69 !important;color:#EE4D69 !important}
.prod-card--rise .btn-primary::before,
.prod-card--rise .btn-primary--rise::before,
.prod-card--rise .atc-btn::before{background:linear-gradient(110deg,#c4204e,#EE4D69,#F4935A)}
.prod-card--rise .btn-primary:hover,
.prod-card--rise .btn-primary--rise:hover,
.prod-card--rise .atc-btn:hover{box-shadow:0 8px 28px rgba(238,77,105,.28) !important}

/* NEUTRAL CTA (e.g. bundle product) */
.prod-card--neutral .btn-primary,
.prod-card--neutral .atc-btn{border:1.5px solid #8899b0 !important;color:#3a4555 !important}
.prod-card--neutral .btn-primary::before,
.prod-card--neutral .atc-btn::before{background:linear-gradient(110deg,#1a1a1f 0%,#3a4555 38%,#c0c8d4 100%)}
.prod-card--neutral .btn-primary:hover,
.prod-card--neutral .atc-btn:hover{box-shadow:0 8px 28px rgba(136,153,176,.28) !important}

/* SOLD OUT CTAs on home product grid: disable hover fill + animation */
.prod-card .btn-primary[disabled],
.prod-card .btn-primary--rise[disabled],
.prod-card .atc-btn[disabled],
.prod-card .btn-primary[aria-disabled="true"],
.prod-card .atc-btn[aria-disabled="true"]{
  cursor:not-allowed !important;
  opacity:.45 !important;
  pointer-events:none;
  border-color:rgba(24,23,26,.18) !important;
  color:#5e6370 !important;
  background:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
  transform:none !important;
}
.prod-card .btn-primary[disabled]::before,
.prod-card .btn-primary--rise[disabled]::before,
.prod-card .atc-btn[disabled]::before,
.prod-card .btn-primary[aria-disabled="true"]::before,
.prod-card .atc-btn[aria-disabled="true"]::before{
  display:none !important;
  transform:none !important;
}

/* =====================================================
   HOME MOBILE AUDIT FIXES (≤ 768px)
===================================================== */
@media (max-width: 768px) {
  /* Email signup — input must be ≥16px to avoid iOS focus zoom */
  .email-input { font-size: 16px; padding: 14px 18px; min-height: 48px; }
  .email-submit { font-size: 12px; padding: 14px 22px; min-height: 48px; }

  /* Hero content — tighter mobile padding */
  .hero-content { padding: 24px 20px 56px; }

  /* Carousel product card CTAs */
  .prod-card .btn-primary,
  .prod-card .atc-btn { min-height: 44px; }
}

@media (max-width: 540px) {
  /* Even tighter on iPhone SE */
  .hero-content { padding: 20px 16px 48px; }
  .product-grid,
  .proof-grid,
  .reviews-grid {
    margin: 0 -16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}
