/** Shopify CDN: Minification failed

Line 4854:0 Unexpected "}"

**/
/* ============================================
   NoSnooze Landing Page – Mobile-First Styles
   ============================================ */

html {
  scroll-behavior: smooth;
}

:root {
  --ns-purple: #2B0072;
  --ns-purple-light: #3D0099;
  --ns-gold: #D99A00;
  --ns-gold-hover: #E5A810;
  --ns-dark: #1A1A1A;
  --ns-light: #F9F7F5;
  --ns-text: #1A1A1A;
  --ns-text-light: #666666;
  --ns-white: #ffffff;
}

/* ---- Animations ---- */

@keyframes nsFadeUp {
  from { opacity: 0; transform: translateY(40px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes nsFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes nsSlideLeft {
  from { opacity: 0; transform: translateX(-60px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes nsSlideRight {
  from { opacity: 0; transform: translateX(60px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes nsScaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes nsPulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05); }
}

@keyframes nsFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes nsShimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.ns-animate {
  opacity: 0;
}

.ns-animate.ns-visible {
  animation-fill-mode: forwards;
}

.ns-fade-up.ns-visible { animation: nsFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.ns-fade-in.ns-visible { animation: nsFadeIn 0.8s ease forwards; }
.ns-slide-left.ns-visible { animation: nsSlideLeft 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.ns-slide-right.ns-visible { animation: nsSlideRight 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.ns-scale-in.ns-visible { animation: nsScaleIn 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

.ns-delay-1 { animation-delay: 0.1s !important; }
.ns-delay-2 { animation-delay: 0.2s !important; }
.ns-delay-3 { animation-delay: 0.3s !important; }
.ns-delay-4 { animation-delay: 0.4s !important; }
.ns-delay-5 { animation-delay: 0.5s !important; }
.ns-delay-6 { animation-delay: 0.6s !important; }
.ns-delay-7 { animation-delay: 0.7s !important; }
.ns-delay-8 { animation-delay: 0.8s !important; }

/* ---- Shared (Mobile Base) ---- */

.ns-section {
  position: relative;
  overflow: hidden;
}

.ns-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 16px;
}

.ns-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--ns-gold);
  display: block;
}

.ns-heading {
  font-size: var(--ns-heading-size, 2rem);
  font-weight: 800;
  line-height: 1.1;
  margin: 10px 0 16px;
  letter-spacing: -0.02em;
}

.ns-subtext {
  font-size: 1rem;
  line-height: 1.6;
  color: var(--ns-text-light);
}

.ns-btn-gold {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 32px;
  background: var(--ns-gold);
  color: var(--ns-white);
  font-size: 0.95rem;
  font-weight: 700;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.ns-btn-gold::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 30%, rgba(255,255,255,0.3) 50%, transparent 70%);
  background-size: 200% 100%;
  animation: nsShimmer 3s ease-in-out infinite;
  pointer-events: none;
}

.ns-btn-gold:hover {
  background: var(--ns-gold-hover);
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(197, 165, 90, 0.4);
}

.ns-btn-purple {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  background: var(--ns-purple);
  color: var(--ns-white);
  font-size: 0.9rem;
  font-weight: 600;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.ns-btn-purple:hover {
  background: var(--ns-purple-light);
  transform: translateY(-2px);
  box-shadow: 0 8px 30px rgba(45, 27, 105, 0.4);
}

/* ============================================
   1. HERO SECTION (Mobile)
   ============================================ */

.ns-hero {
  position: relative;
  min-height: 60vh;
  display: flex;
  align-items: center;
  background-color: var(--ns-purple);
}

.ns-hero__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}

.ns-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(43, 0, 114, 0.95) 0%, rgba(43, 0, 114, 0.6) 50%, rgba(43, 0, 114, 0.3) 100%);
  z-index: 1;
}

.ns-hero .ns-container {
  position: relative;
  z-index: 2;
  padding-top: 80px;
  padding-bottom: 48px;
  display: flex;
  justify-content: center;
}

.ns-hero__content {
  max-width: 640px;
  text-align: center;
}

.ns-hero__label {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--ns-gold);
  margin-bottom: 20px;
  padding: 6px 16px;
  border: 1px solid rgba(217, 154, 0, 0.35);
  border-radius: 50px;
  background: rgba(217, 154, 0, 0.08);
}

.ns-hero__heading {
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1.05;
  color: var(--ns-white);
  margin: 0 0 16px;
  letter-spacing: -0.03em;
}

.ns-hero__subtext {
  font-size: 1.05rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 32px;
  letter-spacing: 0.01em;
}

.ns-hero__actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}

.ns-hero__link {
  color: var(--ns-white);
  text-decoration: none;
  font-weight: 600;
  font-size: 0.95rem;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.3s ease;
  border-bottom: 2px solid rgba(255,255,255,0.5);
  padding-bottom: 2px;
}

.ns-hero__link:hover {
  border-bottom-color: var(--ns-white);
}

.ns-hero__link svg {
  transition: transform 0.3s ease;
}

.ns-hero__link:hover svg {
  transform: translateY(3px);
}

/* Floating particles */
.ns-hero__particles {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
}

.ns-hero__particle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: rgba(197, 165, 90, 0.3);
  border-radius: 50%;
  animation: nsFloat 6s ease-in-out infinite;
}

.ns-hero__particle:nth-child(1) { left: 10%; top: 20%; animation-delay: 0s; animation-duration: 7s; }
.ns-hero__particle:nth-child(2) { left: 30%; top: 60%; animation-delay: 1s; animation-duration: 5s; }
.ns-hero__particle:nth-child(3) { left: 60%; top: 30%; animation-delay: 2s; animation-duration: 8s; }
.ns-hero__particle:nth-child(4) { left: 80%; top: 70%; animation-delay: 0.5s; animation-duration: 6s; }
.ns-hero__particle:nth-child(5) { left: 50%; top: 80%; animation-delay: 1.5s; animation-duration: 7s; }
.ns-hero__particle:nth-child(6) { left: 90%; top: 15%; animation-delay: 3s; animation-duration: 9s; }

/* ============================================
   2. PROBLEM SECTION (Mobile)
   ============================================ */

.ns-problem {
  background: var(--ns-light);
  padding: 60px 0;
}

.ns-problem__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: center;
}

.ns-problem__heading {
  color: var(--ns-text);
}

.ns-problem__items {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 24px;
}

.ns-problem__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  background: var(--ns-white);
  border-radius: 14px;
  font-size: 0.95rem;
  font-weight: 500;
  color: var(--ns-text);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  border: 1px solid rgba(0,0,0,0.05);
}

.ns-problem__item:hover {
  transform: translateX(6px);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

.ns-problem__emoji {
  font-size: 1.6rem;
  flex-shrink: 0;
}

.ns-problem__image-wrap {
  position: relative;
}

.ns-problem__image {
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.ns-problem__image:hover {
  transform: scale(1.02);
}

.ns-problem__image-btn {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  font-size: 0.85rem;
  padding: 10px 24px;
}

/* ============================================
   3. SOLUTION SECTION (Mobile)
   ============================================ */

.ns-solution {
  background: var(--ns-purple);
  padding: 60px 0;
  position: relative;
}

.ns-solution::before {
  content: '';
  position: absolute;
  top: -60px;
  right: -60px;
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(197, 165, 90, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

.ns-solution__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 32px;
  align-items: center;
}

.ns-solution__image-wrap {
  position: relative;
  order: -1;
}

.ns-solution__image {
  width: 100%;
  border-radius: 16px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.3);
  transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
  background: var(--ns-white);
}

.ns-solution__image:hover {
  transform: scale(1.03) rotate(-1deg);
}

.ns-solution__heading {
  color: var(--ns-white);
}

.ns-solution__text {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.75);
  margin-bottom: 28px;
}

/* ============================================
   4. BENEFITS SECTION (Mobile)
   ============================================ */

.ns-benefits {
  background: var(--ns-light);
  padding: 60px 0;
}

.ns-benefits__header {
  text-align: center;
  margin-bottom: 36px;
}

.ns-benefits__heading {
  color: var(--ns-text);
}

.ns-benefits__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.ns-benefit-card {
  background: var(--ns-white);
  border-radius: 16px;
  padding: 28px 22px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  overflow: hidden;
}

.ns-benefit-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--ns-purple);
  transform: scaleX(0);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.ns-benefit-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.1);
}

.ns-benefit-card:hover::after {
  transform: scaleX(1);
}

.ns-benefit-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(45, 27, 105, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
  transition: all 0.3s ease;
  color: var(--ns-purple);
}

.ns-benefit-card:hover .ns-benefit-card__icon {
  background: var(--ns-purple);
  color: var(--ns-white);
  transform: scale(1.1);
}

.ns-benefit-card__icon svg {
  width: 22px;
  height: 22px;
}

.ns-benefit-card__title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--ns-text);
  margin-bottom: 8px;
}

.ns-benefit-card__desc {
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--ns-text-light);
}

/* ============================================
   5. COMPARE SECTION (Mobile)
   ============================================ */

.ns-compare {
  padding: 0;
  overflow: visible;
  background: #ffffff;
}

.ns-compare__top {
  background: var(--ns-purple);
  padding: 48px 0 80px;
  text-align: var(--ns-heading-align, center);
}

.ns-compare__heading {
  color: var(--ns-white);
}

.ns-compare__subtitle {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 8px;
}

.ns-compare__slider-wrap {
  margin-top: -48px;
  padding-bottom: 48px;
  position: relative;
}

.ns-compare__slider {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  padding: 0 16px 32px;
  scrollbar-width: none;
}

.ns-compare__slider::-webkit-scrollbar {
  display: none;
}

.ns-compare__card {
  flex: 0 0 65%;
  min-width: 220px;
  max-width: 280px;
  background: #ffffff;
  border-radius: 16px;
  scroll-snap-align: center;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.06);
  overflow: hidden;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ns-compare__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
}

.ns-compare__card--hero {
  border: 2px solid var(--ns-purple);
  box-shadow: 0 8px 30px rgba(43, 0, 114, 0.15), 0 0 0 4px rgba(43, 0, 114, 0.06);
}

.ns-compare__card-badge {
  position: absolute;
  top: 10px;
  inset-inline-end: 10px;
  padding: 3px 10px;
  background: var(--ns-gold);
  color: var(--ns-white);
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  border-radius: 50px;
}

.ns-compare__card-header {
  padding: 24px 16px 18px;
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.ns-compare__card-img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  margin: 0 auto 10px;
  display: block;
}

.ns-compare__card-icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(43, 0, 114, 0.06);
  border-radius: 14px;
  color: var(--ns-purple);
}

.ns-compare__card-icon--muted {
  background: rgba(0, 0, 0, 0.04);
  color: var(--ns-text-light);
}

.ns-compare__card-title {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ns-text);
  margin: 0;
}

.ns-compare__card-features {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ns-compare__card-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 16px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
}

.ns-compare__card-row:last-child {
  border-bottom: none;
}

.ns-compare__card-feature-text {
  font-size: 0.82rem;
  color: var(--ns-text);
  font-weight: 450;
}

.ns-compare__badge {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.ns-compare__badge--yes {
  background: rgba(217, 154, 0, 0.15);
  color: var(--ns-gold);
}

.ns-compare__badge--neutral {
  background: rgba(0, 0, 0, 0.05);
  color: #aaa;
}

.ns-compare__badge--no {
  background: rgba(200, 40, 40, 0.1);
  color: #c03030;
}

.ns-compare__card-row--no .ns-compare__card-feature-text {
  color: rgba(0, 0, 0, 0.35);
}

.ns-compare__dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
}

.ns-compare__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}

.ns-compare__dot--active {
  background: var(--ns-purple);
  width: 20px;
  border-radius: 4px;
}

/* ============================================
   6. TRUST BAR (Mobile)
   ============================================ */

.ns-trust-bar {
  background: var(--ns-purple);
  overflow: hidden;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.ns-trust-bar__track {
  overflow: hidden;
}

.ns-trust-bar__items {
  display: flex;
  animation: nsTrustScroll 25s linear infinite;
  width: max-content;
}

.ns-trust-bar__item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 32px;
  white-space: nowrap;
  font-size: 0.8rem;
  font-weight: 600;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: 0.3px;
}

.ns-trust-bar__item svg {
  flex-shrink: 0;
  opacity: 0.7;
}

.ns-trust-bar__stars {
  color: var(--ns-gold);
  font-size: 0.85rem;
  letter-spacing: 1px;
}

@keyframes nsTrustScroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================
   7. TESTIMONIALS (Mobile)
   ============================================ */

.ns-testimonials {
  background: var(--ns-light);
  padding: 60px 0;
  overflow: hidden;
}

.ns-testimonials__header {
  text-align: center;
  margin-bottom: 32px;
}

.ns-testimonials__heading {
  color: var(--ns-text);
}

.ns-testimonials__marquee {
  overflow: hidden;
  padding: 8px 0;
}

.ns-testimonials__marquee--left .ns-testimonials__track {
  display: flex;
  gap: 16px;
  animation: nsMarqueeLeft 35s linear infinite;
  width: max-content;
}

.ns-testimonials__marquee--right .ns-testimonials__track {
  display: flex;
  gap: 16px;
  animation: nsMarqueeRight 40s linear infinite;
  width: max-content;
}

.ns-testimonials__marquee--right {
  margin-top: 16px;
}

@keyframes nsMarqueeLeft {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

@keyframes nsMarqueeRight {
  0% { transform: translateX(-50%); }
  100% { transform: translateX(0); }
}

.ns-testimonials__card {
  flex-shrink: 0;
  width: 280px;
  background: var(--ns-white);
  border-radius: 16px;
  padding: 24px;
  border: 1px solid rgba(0, 0, 0, 0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.ns-testimonials__card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.ns-testimonials__card-top {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
}

.ns-testimonials__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

.ns-testimonials__avatar-placeholder {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(43, 0, 114, 0.08);
  color: var(--ns-purple);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1rem;
  flex-shrink: 0;
}

.ns-testimonials__name {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ns-text);
}

.ns-testimonials__stars {
  color: var(--ns-gold);
  font-size: 0.75rem;
  letter-spacing: 1px;
}

.ns-testimonials__quote {
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--ns-text-light);
  margin: 0;
  font-style: italic;
}

/* ============================================
   8. CTA SECTION (Mobile)
   ============================================ */

.ns-cta {
  background: var(--ns-purple);
  padding: 60px 0;
  text-align: center;
  position: relative;
  overflow: hidden;
}

.ns-cta::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(197, 165, 90, 0.08) 0%, transparent 70%);
  pointer-events: none;
}

.ns-cta .ns-container {
  position: relative;
  z-index: 1;
}

.ns-cta__heading {
  font-size: 2rem;
  font-weight: 900;
  color: var(--ns-white);
  line-height: 1.1;
  margin-bottom: 16px;
  letter-spacing: -0.02em;
}

.ns-cta__subtext {
  font-size: 1rem;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 32px;
}

.ns-cta__guarantee {
  margin-top: 16px;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.5);
}

.ns-btn-gold--lg {
  padding: 16px 40px;
  font-size: 1rem;
}

/* ============================================
   TABLET (min-width: 600px)
   ============================================ */

@media (min-width: 600px) {
  .ns-container {
    padding: 0 24px;
  }

  .ns-heading {
    font-size: 2.6rem;
  }

  .ns-label {
    font-size: 13px;
    letter-spacing: 3px;
  }

  /* Hero */
  .ns-hero__heading {
    font-size: 3.2rem;
  }

  .ns-hero__actions {
    flex-direction: row;
    align-items: center;
    gap: 24px;
  }

  /* Problem */
  .ns-problem {
    padding: 80px 0;
  }

  .ns-problem__item {
    padding: 20px 24px;
    font-size: 1.05rem;
    border-radius: 16px;
  }

  /* Solution */
  .ns-solution {
    padding: 80px 0;
  }

  /* Benefits */
  .ns-benefits {
    padding: 80px 0;
  }

  .ns-benefits__header {
    margin-bottom: 48px;
  }

  .ns-benefits__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }

  /* Compare */
  .ns-compare__top {
    padding: 56px 0 88px;
  }

  .ns-compare__card {
    flex: 0 0 42%;
    max-width: 300px;
  }

  .ns-compare__card-header {
    padding: 28px 20px 22px;
  }

  .ns-compare__card-row {
    padding: 13px 20px;
  }

  .ns-compare__card-feature-text {
    font-size: 0.88rem;
  }

  /* Trust Bar */
  .ns-trust-bar__item {
    font-size: 0.85rem;
    padding: 0 40px;
  }

  /* Testimonials */
  .ns-testimonials {
    padding: 80px 0;
  }

  .ns-testimonials__header {
    margin-bottom: 40px;
  }

  .ns-testimonials__card {
    width: 320px;
  }

  /* CTA */
  .ns-cta {
    padding: 80px 0;
  }

  .ns-cta__heading {
    font-size: 2.5rem;
  }

  .ns-btn-gold--lg {
    padding: 18px 48px;
    font-size: 1.1rem;
  }
}

/* ============================================
   DESKTOP (min-width: 900px)
   ============================================ */

@media (min-width: 900px) {
  .ns-heading {
    font-size: clamp(2.4rem, 4vw, 3.2rem);
  }

  /* Hero */
  .ns-hero {
    min-height: 65vh;
  }

  .ns-hero .ns-container {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .ns-hero__label {
    font-size: 14px;
    letter-spacing: 3px;
    margin-bottom: 16px;
  }

  .ns-hero__heading {
    font-size: clamp(3rem, 7vw, 5rem);
    margin-bottom: 24px;
  }

  .ns-hero__subtext {
    font-size: 1.2rem;
    margin-bottom: 36px;
  }

  .ns-btn-gold {
    padding: 16px 40px;
    font-size: 1.05rem;
  }

  .ns-btn-purple {
    padding: 14px 32px;
    font-size: 1rem;
  }

  /* Problem */
  .ns-problem {
    padding: 100px 0;
  }

  .ns-problem__grid {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }

  .ns-problem__items {
    gap: 16px;
    margin-top: 32px;
  }

  .ns-problem__image {
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12);
  }

  .ns-problem__image-btn {
    bottom: 24px;
    font-size: 1rem;
    padding: 14px 32px;
  }

  /* Solution */
  .ns-solution {
    padding: 100px 0;
  }

  .ns-solution::before {
    top: -100px;
    right: -100px;
    width: 400px;
    height: 400px;
  }

  .ns-solution__grid {
    grid-template-columns: 1fr 1fr;
    gap: 60px;
  }

  .ns-solution__image-wrap {
    order: 0;
  }

  .ns-solution__image {
    border-radius: 20px;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  }

  .ns-solution__text {
    font-size: 1.125rem;
    margin-bottom: 36px;
  }

  /* Benefits */
  .ns-benefits {
    padding: 100px 0;
  }

  .ns-benefits__header {
    margin-bottom: 60px;
  }

  .ns-benefits__grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  .ns-benefit-card {
    border-radius: 20px;
    padding: 36px 28px;
  }

  .ns-benefit-card__icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    margin-bottom: 20px;
  }

  .ns-benefit-card__icon svg {
    width: 24px;
    height: 24px;
  }

  .ns-benefit-card__title {
    font-size: 1.15rem;
    margin-bottom: 10px;
  }

  .ns-benefit-card__desc {
    font-size: 0.95rem;
  }

  /* Compare */
  .ns-compare__top {
    padding: 64px 0 96px;
  }

  .ns-compare__slider-wrap {
    margin-top: -56px;
    padding-bottom: 64px;
  }

  .ns-compare__slider {
    justify-content: center;
    overflow-x: visible;
    scroll-snap-type: none;
    padding: 0 24px 16px;
    gap: 20px;
  }

  .ns-compare__card {
    flex: 0 0 28%;
    max-width: 300px;
  }

  .ns-compare__card-header {
    padding: 32px 24px 24px;
  }

  .ns-compare__card-img {
    width: 80px;
    height: 80px;
  }

  .ns-compare__card-icon {
    width: 60px;
    height: 60px;
  }

  .ns-compare__card-title {
    font-size: 1.05rem;
  }

  .ns-compare__card-row {
    padding: 14px 24px;
  }

  .ns-compare__card-feature-text {
    font-size: 0.92rem;
  }

  .ns-compare__dots {
    display: none;
  }

  /* Trust Bar */
  .ns-trust-bar__item {
    font-size: 0.9rem;
    padding: 0 48px;
  }

  /* Testimonials */
  .ns-testimonials {
    padding: 100px 0;
  }

  .ns-testimonials__header {
    margin-bottom: 48px;
  }

  .ns-testimonials__card {
    width: 340px;
    padding: 28px;
  }

  .ns-testimonials__quote {
    font-size: 0.92rem;
  }

  /* CTA */
  .ns-cta {
    padding: 100px 0;
  }

  .ns-cta__heading {
    font-size: clamp(2.5rem, 5vw, 3.8rem);
    margin-bottom: 20px;
  }

  .ns-cta__subtext {
    font-size: 1.15rem;
    margin-bottom: 40px;
  }

  .ns-cta__guarantee {
    margin-top: 20px;
    font-size: 0.9rem;
  }

  .ns-btn-gold--lg {
    padding: 20px 52px;
    font-size: 1.15rem;
  }
}

/* ---- NS Mechanism Section ---- */

.ns-mechanism {
  background: var(--ns-white);
  padding: 48px 0;
}

.ns-mechanism .ns-container {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.ns-mechanism__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.ns-mechanism__heading {
  font-size: var(--ns-heading-size, 2rem);
  line-height: 1.1;
  font-weight: 800;
  color: var(--ns-dark);
  text-align: var(--ns-heading-align, start);
}

.ns-mechanism__heading-stamp {
  display: inline-block;
  opacity: 0;
  filter: blur(10px);
  transition: filter 1.6s ease, opacity 1.2s ease;
}

.ns-mechanism__heading--visible .ns-mechanism__heading-stamp {
  opacity: 1;
  filter: blur(0);
}

.ns-mechanism__heading-gradient {
  display: inline-block;
  position: relative;
  background: linear-gradient(135deg, var(--ns-purple) 0%, var(--ns-gold) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ns-mechanism__heading-gradient::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: var(--ns-dark);
  -webkit-text-fill-color: var(--ns-dark);
  opacity: 1;
  transition: opacity 0.8s ease;
}

.ns-mechanism__heading--visible .ns-mechanism__heading-gradient::after {
  animation: ns-text-fade 0.8s ease 1.6s forwards;
}

@keyframes ns-text-fade {
  0% { opacity: 1; }
  100% { opacity: 0; }
}

.ns-mechanism__description {
  font-size: 1rem;
  line-height: 1.55;
  color: #2a2a2a;
  max-width: 480px;
  margin-top: 8px;
}

.ns-mechanism__features {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ns-mechanism__feature {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 14px 14px;
  background: #ffffff;
  border-radius: 14px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(43, 0, 114, 0.15);
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.ns-mechanism--visible .ns-mechanism__feature { opacity: 1; transform: translateY(0); }
.ns-mechanism--visible .ns-mechanism__feature:nth-child(1) { transition-delay: 0.1s; }
.ns-mechanism--visible .ns-mechanism__feature:nth-child(2) { transition-delay: 0.2s; }
.ns-mechanism--visible .ns-mechanism__feature:nth-child(3) { transition-delay: 0.3s; }
.ns-mechanism--visible .ns-mechanism__feature:nth-child(4) { transition-delay: 0.4s; }

.ns-mechanism__feature-icon {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--ns-white);
  border-radius: 10px;
  color: var(--ns-purple);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.ns-mechanism__feature-title {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--ns-dark);
  line-height: 1.3;
}

.ns-mechanism__feature-sub {
  font-size: 0.78rem;
  color: #444444;
  line-height: 1.4;
}

.ns-mechanism__media {
  border-radius: 16px;
  overflow: hidden;
  background: var(--ns-light);
}

.ns-mechanism__video,
.ns-mechanism__image {
  width: 100%;
  height: auto;
  display: block;
  aspect-ratio: 1664 / 1244;
  object-fit: cover;
}

.ns-mechanism__placeholder {
  width: 100%;
  aspect-ratio: 1664 / 1244;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background: var(--ns-light);
  border-radius: 16px;
  color: var(--ns-text-light);
  font-size: 0.85rem;
}

/* Mechanism — Tablet (≥ 600px) */
@media (min-width: 600px) {
  .ns-mechanism {
    padding: 80px 0;
  }

  .ns-mechanism__heading {
    font-size: 2.6rem;
  }

  .ns-mechanism__features {
    gap: 16px;
  }

  .ns-mechanism__feature {
    padding: 16px 18px;
    border-radius: 16px;
  }

  .ns-mechanism__feature-title {
    font-size: 0.95rem;
  }

  .ns-mechanism__feature-sub {
    font-size: 0.82rem;
  }

  .ns-mechanism__media {
    border-radius: 20px;
  }
}

/* Mechanism — Desktop (≥ 900px) */
@media (min-width: 900px) {
  .ns-mechanism {
    padding: 100px 0;
  }

  .ns-mechanism .ns-container {
    flex-direction: row;
    align-items: center;
    gap: 56px;
  }

  .ns-mechanism__content {
    flex: 1;
    min-width: 0;
    gap: 28px;
  }

  .ns-mechanism__heading {
    font-size: clamp(2.4rem, 4vw, 3.2rem);
  }

  .ns-mechanism__features {
    gap: 14px;
  }

  .ns-mechanism__feature {
    padding: 18px;
  }

  .ns-mechanism__media {
    flex: 1.15;
    min-width: 0;
    border-radius: 24px;
  }
}

/* ═══════════════════════════════════════
   NS PRESS BAR
   ═══════════════════════════════════════ */

.ns-press {
  padding: 48px 0 56px;
  background: linear-gradient(180deg, var(--ns-light) 0%, #ffffff 100%);
  overflow: hidden;
  text-align: center;
}

.ns-press__label {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #aaaaaa;
  margin-bottom: 28px;
}

.ns-press__track {
  position: relative;
  width: 100%;
  mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 8%, #000 92%, transparent 100%);
}

.ns-press__scroll {
  display: flex;
  align-items: center;
  gap: 56px;
  width: max-content;
  animation: ns-press-scroll 25s linear infinite;
}

.ns-press__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  white-space: nowrap;
  user-select: none;
  font-size: 1.25rem;
  font-weight: 700;
  color: #888888;
  letter-spacing: 1px;
  text-transform: uppercase;
}

.ns-press__logo img {
  height: 28px;
  width: auto;
  display: block;
  opacity: 0.55;
  filter: grayscale(100%);
  transition: opacity 0.3s ease;
}

@keyframes ns-press-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Press — Tablet (≥ 600px) */
@media (min-width: 600px) {
  .ns-press {
    padding: 56px 0 64px;
  }

  .ns-press__label {
    font-size: 0.75rem;
    letter-spacing: 4px;
    margin-bottom: 32px;
  }

  .ns-press__scroll {
    gap: 72px;
  }

  .ns-press__logo {
    font-size: 1.4rem;
  }

  .ns-press__logo img {
    height: 34px;
  }
}

/* Press — Desktop (≥ 900px) */
@media (min-width: 900px) {
  .ns-press {
    padding: 64px 0 72px;
  }

  .ns-press__scroll {
    gap: 88px;
    animation-duration: 30s;
  }

  .ns-press__logo {
    font-size: 1.55rem;
  }

  .ns-press__logo img {
    height: 40px;
  }
}

/* ═══════════════════════════════════════
   NS SOCIAL PROOF
   ═══════════════════════════════════════ */

/* ── Social Proof — Endorsement Ticker ── */
.ns-social {
  padding: 20px 0;
  background: var(--ns-social-bg, var(--ns-purple));
  overflow: hidden;
}

.ns-social__heading {
  text-align: var(--ns-heading-align, center);
  font-size: var(--ns-heading-size, 0.7rem);
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  margin: 0 0 14px;
  padding: 0 20px;
}

.ns-social__track {
  position: relative;
  width: 100%;
  mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 6%, #000 94%, transparent 100%);
}

.ns-social__scroll {
  display: flex;
  align-items: center;
  gap: 32px;
  width: max-content;
  animation: ns-endorse-scroll 30s linear infinite;
}

.ns-social__scroll:hover {
  animation-play-state: paused;
}

.ns-social__endorser {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  white-space: nowrap;
}

.ns-social__endorser-photo {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
}

.ns-social__endorser-photo--initial {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
}

.ns-social__endorser-name {
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffffff;
}

.ns-social__endorser-badge {
  flex-shrink: 0;
  margin-inline-start: -4px;
}

.ns-social__endorser-title {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.55);
  padding-inline-start: 4px;
  border-inline-start: 1px solid rgba(255, 255, 255, 0.2);
}

@keyframes ns-endorse-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* Social Proof — Tablet (≥ 600px) */
@media (min-width: 600px) {
  .ns-social {
    padding: 24px 0;
  }

  .ns-social__scroll {
    gap: 40px;
  }

  .ns-social__endorser-photo {
    width: 40px;
    height: 40px;
  }
}

/* Social Proof — Desktop (≥ 900px) */
@media (min-width: 900px) {
  .ns-social__scroll {
    gap: 48px;
    animation-duration: 35s;
  }
}

/* ═══════════════════════════════════════
   NS STATS
   ═══════════════════════════════════════ */

.ns-stats {
  padding: 48px 0 40px;
  background: #ffffff;
  overflow: hidden;
}

.ns-stats__header {
  text-align: var(--ns-heading-align, start);
  margin-bottom: 28px;
  padding: 0 20px;
}

.ns-stats__label {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--ns-gold);
  margin-bottom: 10px;
}

.ns-stats__heading {
  font-size: var(--ns-heading-size, 2rem);
  font-weight: 800;
  color: var(--ns-dark);
  line-height: 1.1;
  margin: 0;
}

.ns-stats__heading-gold {
  color: var(--ns-gold);
}

.ns-stats__track {
  padding: 0 20px;
}

.ns-stats__scroll {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding-bottom: 4px;
}

.ns-stats__scroll::-webkit-scrollbar {
  display: none;
}

.ns-stats__card {
  flex-shrink: 0;
  width: 260px;
  border-radius: 14px;
  overflow: hidden;
  background: var(--ns-purple);
  border: none;
  scroll-snap-align: start;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.ns-stats--visible .ns-stats__card {
  opacity: 1;
  transform: translateY(0);
}

.ns-stats--visible .ns-stats__card:nth-child(1) { transition-delay: 0.05s; }
.ns-stats--visible .ns-stats__card:nth-child(2) { transition-delay: 0.12s; }
.ns-stats--visible .ns-stats__card:nth-child(3) { transition-delay: 0.19s; }
.ns-stats--visible .ns-stats__card:nth-child(4) { transition-delay: 0.26s; }
.ns-stats--visible .ns-stats__card:nth-child(5) { transition-delay: 0.33s; }

.ns-stats__card-img-wrap {
  width: 100%;
  aspect-ratio: 5 / 4;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
}

.ns-stats__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ns-stats__card-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
}

.ns-stats__card-body {
  padding: 16px 18px 20px;
}

.ns-stats__card-stat {
  display: block;
  font-size: 2rem;
  font-weight: 800;
  color: var(--ns-gold);
  line-height: 1;
  margin-bottom: 6px;
}

.ns-stats__card-desc {
  font-size: 0.82rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.7);
  margin: 0;
}

.ns-stats__dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 20px;
}

.ns-stats__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.12);
  transition: background 0.3s ease, transform 0.3s ease;
}

.ns-stats__dot--active {
  background: var(--ns-gold);
  transform: scale(1.3);
}

/* Stats — Tablet (≥ 600px) */
@media (min-width: 600px) {
  .ns-stats {
    padding: 56px 0 48px;
  }

  .ns-stats__heading {
    font-size: 2.6rem;
  }

  .ns-stats__track {
    padding: 0 32px;
  }

  .ns-stats__card {
    width: 280px;
  }
}

/* Stats — Desktop (≥ 900px) */
@media (min-width: 900px) {
  .ns-stats {
    padding: 72px 0 56px;
  }

  .ns-stats__heading {
    font-size: clamp(2.4rem, 4vw, 3.2rem);
  }

  .ns-stats__track {
    padding: 0;
    max-width: 1200px;
    margin: 0 auto;
  }

  .ns-stats__scroll {
    gap: 18px;
    justify-content: center;
    overflow-x: visible;
  }

  .ns-stats__card {
    width: 300px;
  }

  .ns-stats__dots {
    display: none;
  }
}

/* ═══════════════════════════════════════
   NS TRUST STRIP
   ═══════════════════════════════════════ */

.ns-trust {
  background: var(--ns-dark);
  padding: 32px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.ns-trust__strip {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
  padding: 0 20px;
  flex-wrap: wrap;
}

.ns-trust__item {
  display: flex;
  align-items: center;
  gap: 10px;
  opacity: 0;
  transform: translateY(16px) scale(0.9);
  transition: opacity 0.5s ease, transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.ns-trust--visible .ns-trust__item {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.ns-trust--visible .ns-trust__item:nth-child(1) { transition-delay: 0.1s; }
.ns-trust--visible .ns-trust__item:nth-child(2) { transition-delay: 0.25s; }
.ns-trust--visible .ns-trust__item:nth-child(3) { transition-delay: 0.4s; }

.ns-trust__icon {
  flex-shrink: 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(217, 154, 0, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ns-gold);
}

.ns-trust__text {
  font-size: 0.82rem;
  font-weight: 700;
  color: #ffffff;
  letter-spacing: 0.3px;
}

/* Trust — Tablet (≥ 600px) */
@media (min-width: 600px) {
  .ns-trust {
    padding: 40px 0;
  }

  .ns-trust__strip {
    gap: 48px;
    flex-wrap: nowrap;
  }

  .ns-trust__text {
    font-size: 0.88rem;
  }
}

/* Trust — Desktop (≥ 900px) */
@media (min-width: 900px) {
  .ns-trust {
    padding: 48px 0;
  }

  .ns-trust__strip {
    gap: 72px;
  }

  .ns-trust__icon {
    width: 50px;
    height: 50px;
  }

  .ns-trust__text {
    font-size: 0.95rem;
  }
}

/* ═══════════════════════════════════════
   NS FEATURES
   ═══════════════════════════════════════ */

.ns-features {
  background: var(--ns-dark);
  overflow: visible;
}

.ns-features__scroll-area {
  /* Height = enough scroll space for each feature to get its own "scene" */
  height: calc(var(--ns-features-count, 4) * 70vh);
  position: relative;
}

.ns-features__heading {
  font-size: var(--ns-heading-size, 2rem);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.1;
  text-align: var(--ns-heading-align, start);
  margin: 0;
  padding: 48px 20px 28px;
}

.ns-features__sticky {
  position: sticky;
  top: calc(var(--sticky-area-height, 0px) + 12px);
  min-height: calc(100vh - var(--sticky-area-height, 0px));
  display: flex;
  flex-direction: column;
  padding: 0 20px 24px;
  box-sizing: border-box;
}

.ns-features__media {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: 14px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.04);
  flex-shrink: 0;
}

.ns-features__product-img,
.ns-features__product-placeholder {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.ns-features__product-img--active {
  opacity: 1;
}

.ns-features__product-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  color: rgba(255, 255, 255, 0.25);
  font-size: 0.8rem;
}

.ns-features__progress {
  position: absolute;
  inset-inline-end: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.ns-features__progress-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.25);
  transition: background 0.4s ease, transform 0.4s ease;
}

.ns-features__progress-dot--active {
  background: var(--ns-gold);
  transform: scale(1.5);
}

.ns-features__cards {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 16px;
}

.ns-features__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  opacity: 0.25;
  transition: opacity 0.4s ease;
}

.ns-features__item--active {
  opacity: 1;
  border-top-color: rgba(255, 255, 255, 0.08);
}

.ns-features__item--next {
  opacity: 0.4;
}

.ns-features__item--prev {
  opacity: 0.25;
}

.ns-features__item-icon {
  flex-shrink: 0;
  width: 42px;
  height: 42px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--ns-gold);
  transition: background 0.4s ease;
}

.ns-features__item--active .ns-features__item-icon {
  background: rgba(217, 154, 0, 0.15);
}

.ns-features__item-text {
  flex: 1;
  min-width: 0;
}

.ns-features__item-stat {
  display: block;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--ns-gold);
  line-height: 1;
  margin-bottom: 3px;
}

.ns-features__item-title {
  display: block;
  font-size: 0.9rem;
  font-weight: 700;
  color: #ffffff;
  margin-bottom: 4px;
}

.ns-features__item-desc {
  font-size: 0.8rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.5);
  margin: 0;
}

/* Features — Tablet (≥ 600px) */
@media (min-width: 600px) {
  .ns-features__heading {
    padding: 56px 32px 28px;
  }

  .ns-features__sticky {
    padding: 0 32px 32px;
  }

  .ns-features__media {
    aspect-ratio: 16 / 9;
  }

  .ns-features__item-stat {
    font-size: 1.4rem;
  }

  .ns-features__item-icon {
    width: 48px;
    height: 48px;
  }
}

/* Features — Desktop (≥ 900px) */
@media (min-width: 900px) {
  .ns-features__heading {
    padding: 72px 48px 28px;
  }

  .ns-features__sticky {
    flex-direction: row;
    align-items: center;
    gap: 32px;
    padding: 0 48px 40px;
    min-height: calc(100vh - var(--sticky-area-height, 0px));
  }

  .ns-features__media {
    flex: 0 0 55%;
    aspect-ratio: 16 / 9;
    border-radius: 20px;
  }

  .ns-features__cards {
    flex: 1;
    margin-top: 0;
    justify-content: center;
    align-self: center;
  }

  .ns-features__item {
    gap: 16px;
    padding: 18px 0;
  }

  .ns-features__item-stat {
    font-size: 1.6rem;
  }

  .ns-features__progress {
    inset-inline-end: 20px;
    gap: 10px;
  }

  .ns-features__progress-dot {
    width: 8px;
    height: 8px;
  }
}

/* ═══════════════════════════════════════
   NS Stock Urgency
   ═══════════════════════════════════════ */

.ns-stock {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
}

.ns-stock__dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--ns-stock-accent, #E89900);
  flex-shrink: 0;
  animation: ns-stock-pulse 1.6s ease-in-out infinite;
}

@keyframes ns-stock-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.5; transform: scale(0.85); }
}

.ns-stock__text {
  font-size: 0.85rem;
  font-weight: 400;
  color: var(--ns-stock-accent, #E89900);
}

.ns-stock__text strong {
  font-weight: 800;
}

/* ═══════════════════════════════════════
   NS Trust USPs (product page block)
   ═══════════════════════════════════════ */

.ns-trust-usps {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 0;
}

.ns-trust-usps__line {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 0.82rem;
  line-height: 1.35;
  letter-spacing: 0.01em;
}

.ns-trust-usps__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  color: var(--ns-purple);
}

.ns-trust-usps__line--bold {
  color: var(--ns-dark);
  font-weight: 600;
}

.ns-trust-usps__divider {
  display: none;
}

.ns-trust-usps__line--muted {
  color: var(--ns-dark);
  font-weight: 600;
}

/* ═══════════════════════════════════════
   NS USPs v2 — lead line + circle ticks
   ═══════════════════════════════════════ */

.ns-usps {
  display: flex;
  flex-direction: column;
  gap: 9px;
  padding: 0;
}

.ns-usps__lead {
  font-size: var(--u-lead-size, 0.95rem);
  line-height: 1.55;
  font-weight: var(--u-lead-weight, 500);
  color: var(--ns-dark);
  margin: 0 0 3px;
}

.ns-usps__lead-u {
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

.ns-usps__lead strong {
  font-weight: var(--u-bold-weight, 800);
}

.ns-usps__line {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: var(--u-line-size, 0.86rem);
  line-height: 1.45;
  font-weight: var(--u-line-weight, 500);
  color: var(--ns-dark);
}

.ns-usps__tick {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  margin-top: 1px;
}

/* ═══════════════════════════════════════
   NS Highlight Quote
   ═══════════════════════════════════════ */

.ns-quote {
  padding: 0;
}

.ns-quote__text {
  font-size: var(--q-size, 0.88rem);
  font-weight: var(--q-weight, 500);
  line-height: 1.55;
  color: var(--ns-dark);
  margin: 0;
  position: relative;
}

.ns-quote__inner {
  position: relative;
  z-index: 1;
}

.ns-quote__tok {
  background: linear-gradient(var(--q-bg, rgba(43,0,114,0.1)), var(--q-bg, rgba(43,0,114,0.1))) left center / 0% 90% no-repeat;
  will-change: background-size;
}

/* RTL: the marker sweep grows from the right, following Hebrew reading direction */
[dir="rtl"] .ns-quote__tok,
.rtl .ns-quote__tok {
  background-position: right center;
}

.ns-quote--visible .ns-quote__tok {
  animation: nsMarker var(--t, 500ms) linear var(--d, 0ms) forwards;
}

@keyframes nsMarker {
  to { background-size: 100% 100%; }
}

.ns-quote__tok--mark {
  font-size: 1em;
  color: var(--q-color, var(--ns-purple));
  font-weight: 700;
}

.ns-quote__author {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-inline-start: 6px;
  opacity: 0;
  transition: opacity 0.6s ease;
}

.ns-quote--visible .ns-quote__author {
  opacity: 1;
  transition-delay: 6.5s;
}

.ns-quote__name {
  font-size: 0.86em;
  font-weight: 500;
  color: var(--ns-dark);
}

.ns-quote__verified {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  font-size: 0.77em;
  font-weight: 500;
  color: var(--q-color, var(--ns-purple));
}

/* ═══════════════════════════════════════
   NS Upsells
   ═══════════════════════════════════════ */


.product-info__buy-buttons .button {
  font-size: 1.35em !important;
  padding-block: 1.05em !important;
}

/* ═══════════════════════════════════════ */

/* ═══════════════════════════════════════
   NS Collapsible
   ═══════════════════════════════════════ */

.ns-collapsible {
  border-top: 1px solid #E5E5E5;
}

.ns-collapsible__item {
  border-bottom: 1px solid #E5E5E5;
}

.ns-collapsible__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0;
  cursor: pointer;
  list-style: none;
  gap: 12px;
}

.ns-collapsible__header::-webkit-details-marker {
  display: none;
}

.ns-collapsible__title {
  font-weight: 600;
  color: var(--ns-dark);
  transition: color 0.25s ease;
}

.ns-collapsible__item[open] .ns-collapsible__title {
  color: var(--ns-purple);
}

.ns-collapsible__icon {
  flex-shrink: 0;
  color: #999;
  transition: transform 0.3s ease, color 0.25s ease;
}

.ns-collapsible__item[open] .ns-collapsible__icon {
  transform: rotate(180deg);
  color: var(--ns-purple);
}

.ns-collapsible__body {
  padding: 0 0 16px;
  color: #444;
  font-size: 0.88rem;
  line-height: 1.6;
}

.ns-collapsible__body p {
  margin: 0 0 10px;
}

.ns-collapsible__body p:last-child {
  margin-bottom: 0;
}

.ns-collapsible__item[open] {
  border-inline-start: 2px solid var(--ns-purple);
  padding-inline-start: 14px;
}

/* ═══════════════════════════════════════ */

.ns-upsells {
  padding: 0;
  margin-top: -8px !important;
}

.ns-upsells__heading {
  font-size: 0.82rem;
  font-weight: 400;
  color: #666666;
  margin: 0 0 8px;
  text-align: center;
}

/* Carousel — mobile: single-item swipe */
.ns-upsells__carousel {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 4px;
}

.ns-upsells__carousel::-webkit-scrollbar {
  display: none;
}

.ns-upsells__slide {
  flex: 0 0 calc(100% - 8px);
  scroll-snap-align: center;
}

/* Row layout per item */
.ns-upsells__row {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1.5px solid rgba(0, 0, 0, 0.08);
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.25s ease, background 0.25s ease, box-shadow 0.25s ease;
}

.ns-upsells__row:hover {
  border-color: rgba(43, 0, 114, 0.15);
}

/* Hidden checkbox */
.ns-upsells__checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Selected state */
.ns-upsells__checkbox:checked ~ .ns-upsells__row,
.ns-upsells__row:has(.ns-upsells__checkbox:checked) {
  border-color: var(--ns-purple);
  background: #F0E6FF;
  box-shadow: 0 0 0 1.5px var(--ns-purple);
}

/* Product image */
.ns-upsells__img {
  width: 52px;
  height: 52px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: #f5f5f5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ns-upsells__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Info */
.ns-upsells__info {
  flex: 1;
  min-width: 0;
}

.ns-upsells__title {
  display: block;
  font-size: 0.85rem;
  font-weight: 700;
  color: var(--ns-dark);
  line-height: 1.2;
}

.ns-upsells__subtitle {
  display: block;
  font-size: 0.72rem;
  color: #888888;
  line-height: 1.3;
  margin-top: 1px;
}

.ns-upsells__pricing {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 3px;
}

.ns-upsells__price {
  font-size: 0.85rem;
  font-weight: 800;
  color: var(--ns-dark);
}

.ns-upsells__compare {
  font-size: 0.75rem;
  color: #999999;
  text-decoration: line-through;
}

.ns-upsells__save {
  font-size: 0.68rem;
  font-weight: 700;
  color: #ffffff;
  background: rgba(43, 0, 114, 0.82);
  padding: 1px 5px;
  border-radius: 3px;
}

/* Toggle switch */
.ns-upsells__toggle {
  flex-shrink: 0;
}

.ns-upsells__toggle-track {
  display: block;
  width: 38px;
  height: 22px;
  border-radius: 11px;
  background: #d4d4d4;
  position: relative;
  transition: background 0.25s ease;
}

.ns-upsells__toggle-knob {
  display: block;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff;
  position: absolute;
  top: 2px;
  inset-inline-start: 2px;
  transition: transform 0.25s ease;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.ns-upsells__checkbox:checked ~ .ns-upsells__toggle .ns-upsells__toggle-track,
.ns-upsells__row:has(.ns-upsells__checkbox:checked) .ns-upsells__toggle-track {
  background: var(--ns-purple);
}

.ns-upsells__checkbox:checked ~ .ns-upsells__toggle .ns-upsells__toggle-knob,
.ns-upsells__row:has(.ns-upsells__checkbox:checked) .ns-upsells__toggle-knob {
  transform: translateX(16px);
}

/* Dots */
.ns-upsells__dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 6px;
}

.ns-upsells__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d4d4d4;
  transition: background 0.3s ease;
}

.ns-upsells__dot--active {
  background: var(--ns-purple);
}

/* Desktop — all visible, stacked rows */
@media (min-width: 600px) {
  .ns-upsells__carousel {
    overflow-x: visible;
    scroll-snap-type: none;
    flex-direction: column;
    gap: 6px;
  }

  .ns-upsells__slide {
    flex: 1 1 auto;
  }

  .ns-upsells__dots {
    display: none;
  }
}

/* ═══════════════════════════════════════
   NS FAQ
   ═══════════════════════════════════════ */

.ns-faq {
  background: #ffffff;
  padding: 48px 0;
}

.ns-faq__heading {
  font-size: var(--ns-heading-size, 2rem);
  font-weight: 800;
  color: var(--ns-dark);
  line-height: 1.1;
  text-align: var(--ns-heading-align, start);
  margin: 0 0 32px;
}

.ns-faq__list {
  max-width: 720px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ns-faq__item {
  background: rgba(43, 0, 114, 0.03);
  border-radius: 12px;
  border-inline-start: 3px solid rgba(43, 0, 114, 0.25);
  padding: 0 20px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.4s ease, transform 0.4s ease, border-color 0.3s ease, background 0.3s ease;
}

.ns-faq__item[open] {
  border-inline-start-color: var(--ns-purple);
  background: rgba(43, 0, 114, 0.06);
}

.ns-faq--visible .ns-faq__item {
  opacity: 1;
  transform: translateY(0);
}

.ns-faq--visible .ns-faq__item:nth-child(1) { transition-delay: 0.05s; }
.ns-faq--visible .ns-faq__item:nth-child(2) { transition-delay: 0.1s; }
.ns-faq--visible .ns-faq__item:nth-child(3) { transition-delay: 0.15s; }
.ns-faq--visible .ns-faq__item:nth-child(4) { transition-delay: 0.2s; }
.ns-faq--visible .ns-faq__item:nth-child(5) { transition-delay: 0.25s; }
.ns-faq--visible .ns-faq__item:nth-child(6) { transition-delay: 0.3s; }
.ns-faq--visible .ns-faq__item:nth-child(7) { transition-delay: 0.35s; }

.ns-faq__question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 0;
  cursor: pointer;
  list-style: none;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--ns-dark);
  transition: color 0.2s ease;
}

.ns-faq__question::-webkit-details-marker {
  display: none;
}

.ns-faq__question:hover {
  color: var(--ns-purple);
}

.ns-faq__icon {
  flex-shrink: 0;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(43, 0, 114, 0.08);
  position: relative;
  transition: background 0.3s ease;
}

details[open] .ns-faq__icon {
  background: rgba(43, 0, 114, 0.12);
}

.ns-faq__icon::before,
.ns-faq__icon::after {
  content: '';
  position: absolute;
  background: rgba(0, 0, 0, 0.3);
  border-radius: 1px;
  transition: transform 0.3s ease, background 0.3s ease;
}

.ns-faq__icon::before {
  width: 14px;
  height: 2px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ns-faq__icon::after {
  width: 2px;
  height: 14px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

details[open] .ns-faq__icon::before,
details[open] .ns-faq__icon::after {
  background: var(--ns-purple);
}

details[open] .ns-faq__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
  opacity: 0;
}

.ns-faq__answer {
  overflow: hidden;
  padding: 0 0 16px;
  border-top: 1px solid rgba(43, 0, 114, 0.08);
}

.ns-faq__answer p {
  margin: 0;
  padding-top: 12px;
  font-size: 0.88rem;
  line-height: 1.6;
  color: rgba(0, 0, 0, 0.55);
}

/* FAQ — Tablet (≥ 600px) */
@media (min-width: 600px) {
  .ns-faq {
    padding: 56px 0;
  }

  .ns-faq__heading {
    font-size: 2.6rem;
  }

  .ns-faq__question {
    font-size: 1.05rem;
    padding: 20px 0;
  }

  .ns-faq__answer p {
    font-size: 0.92rem;
  }
}

/* FAQ — Desktop (≥ 900px) */
@media (min-width: 900px) {
  .ns-faq {
    padding: 72px 0;
  }

  .ns-faq__heading {
    font-size: clamp(2.4rem, 4vw, 3.2rem);
  }

  .ns-faq__question {
    font-size: 1.1rem;
  }
}

/* ═══════════════════════════════════════
   NS SCIENCE
   ═══════════════════════════════════════ */

.ns-science {
  background: var(--ns-purple);
  padding: 48px 0 56px;
}

.ns-science__heading {
  font-size: var(--ns-heading-size, 2rem);
  font-weight: 800;
  color: #ffffff;
  line-height: 1.1;
  text-align: var(--ns-heading-align, center);
  margin: 0 0 8px;
}

.ns-science__subtitle {
  font-size: 0.9rem;
  color: rgba(255, 255, 255, 0.5);
  margin: 0 0 36px;
  text-align: var(--ns-heading-align, center);
}

/* Wake-up Curves */
.ns-science__curves {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-bottom: 36px;
}

/* 1. Tinted card backgrounds */
.ns-science__curve {
  border-radius: 14px;
  padding: 20px 14px 16px;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.ns-science__curve--bad {
  background: rgba(224, 64, 64, 0.06);
  border: 1px solid rgba(224, 64, 64, 0.1);
  transition-delay: 0.1s;
}

.ns-science__curve--good {
  background: rgba(217, 154, 0, 0.06);
  border: 1px solid rgba(217, 154, 0, 0.1);
  transition-delay: 0.3s;
}

.ns-science__curves--visible .ns-science__curve {
  opacity: 1;
  transform: translateY(0);
}

/* 4. Shake on bad card after entrance */
@keyframes ns-shake {
  0%, 100% { transform: translateX(0); }
  15% { transform: translateX(-3px); }
  30% { transform: translateX(3px); }
  45% { transform: translateX(-2px); }
  60% { transform: translateX(2px); }
  75% { transform: translateX(-1px); }
}

.ns-science__curves--visible .ns-science__curve--bad {
  animation: ns-shake 0.5s ease 0.9s both;
}

/* Label row */
.ns-science__curve-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 16px;
}

.ns-science__curve--bad .ns-science__curve-label {
  color: #e04040;
}

.ns-science__curve--good .ns-science__curve-label {
  color: var(--ns-gold);
}

.ns-science__curve-label span {
  font-size: 0.8rem;
  font-weight: 700;
  color: #ffffff;
}

/* Start label */
.ns-science__curve-start {
  font-size: 0.6rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.2);
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 4px;
}

/* Graph — full width */
.ns-science__curve-graph {
  width: 100%;
  margin-bottom: 10px;
}

.ns-science__curve-graph svg {
  width: 100%;
  height: 64px;
  display: block;
}

/* Endpoint */
.ns-science__curve-endpoint {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: flex-end;
}

.ns-science__curve-endpoint span {
  font-size: 0.65rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.ns-science__curve-endpoint--bad {
  color: rgba(224, 64, 64, 0.7);
}

.ns-science__curve-endpoint--good {
  color: rgba(217, 154, 0, 0.8);
}

/* Line draw animation with glow (2) */
.ns-science__curve-line {
  stroke-dasharray: 800;
  stroke-dashoffset: 800;
  transition: stroke-dashoffset 1.8s ease;
}

.ns-science__curve-line--bad {
  transition-timing-function: cubic-bezier(0.1, 0, 0.7, 1);
  transition-delay: 0.4s;
}

.ns-science__curve-line--good {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1);
  transition-delay: 0.7s;
}

.ns-science__curves--visible .ns-science__curve-line {
  stroke-dashoffset: 0;
}


/* Expert Cards — quote-forward */
/* Single expert — quote first, attribution below */
.ns-science__expert {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 20px;
  max-width: 520px;
  margin: 0 auto;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.ns-science__expert--visible {
  opacity: 1;
  transform: translateY(0);
}

/* Quote — hero text */
.ns-science__expert-quote {
  margin: 0;
}

.ns-science__expert-quote p {
  font-size: 1.05rem;
  font-style: italic;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.8);
  margin: 0;
}

/* Attribution — photo + name in a row */
.ns-science__expert-attrib {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}

.ns-science__expert-photo {
  width: 148px;
  height: 148px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}

.ns-science__expert-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.ns-science__expert-initial {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 1.1rem;
  color: #ffffff;
}

/* Author info */
.ns-science__expert-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
  text-align: center;
}

.ns-science__expert-info strong {
  font-size: 0.85rem;
  font-weight: 700;
  color: #ffffff;
}

.ns-science__expert-info span {
  font-size: 0.7rem;
  color: var(--ns-gold);
  font-weight: 500;
  letter-spacing: 0.02em;
}

/* Science — Tablet (≥ 600px) */
@media (min-width: 600px) {
  .ns-science {
    padding: 64px 0;
  }

  .ns-science__heading {
    font-size: 2.6rem;
  }

  .ns-science__curves {
    gap: 20px;
    margin-bottom: 44px;
  }

  .ns-science__curve {
    padding: 24px 20px 20px;
  }

  .ns-science__curve-graph svg {
    height: 76px;
  }

  .ns-science__curve-label span {
    font-size: 0.85rem;
  }

  .ns-science__curve-endpoint span {
    font-size: 0.7rem;
  }

  .ns-science__expert-photo {
    width: 162px;
    height: 162px;
  }

  .ns-science__expert-quote p {
    font-size: 1.15rem;
  }
}

/* Science — Desktop (≥ 900px) */
@media (min-width: 900px) {
  .ns-science {
    padding: 80px 0;
  }

  .ns-science__heading {
    font-size: clamp(2.4rem, 4vw, 3.2rem);
  }

  .ns-science__curves {
    gap: 28px;
    margin-bottom: 52px;
  }

  .ns-science__curve {
    padding: 32px 32px 24px;
  }

  .ns-science__curve-graph svg {
    height: 88px;
  }

  .ns-science__curve-label span {
    font-size: 0.9rem;
  }

  .ns-science__curve-start {
    font-size: 0.65rem;
  }

  .ns-science__curve-endpoint span {
    font-size: 0.75rem;
  }

  .ns-science__curve-endpoint svg {
    width: 22px;
    height: 22px;
  }

  .ns-science__expert {
    flex-direction: row;
    text-align: start;
    max-width: 720px;
    gap: 32px;
  }

  .ns-science__expert-attrib {
    flex-shrink: 0;
  }

  .ns-science__expert-photo {
    width: 140px;
    height: 140px;
  }

  .ns-science__expert-quote {
    margin: 0;
  }

  .ns-science__expert-quote p {
    font-size: 1.2rem;
  }

  .ns-science__expert-info strong {
    font-size: 0.88rem;
  }
}
/* ═══════════════════════════════════════════════════════════════════
   RTL OVERRIDES (Hebrew storefront)
   ═══════════════════════════════════════════════════════════════════ */

/* Entrance slides must come from the mirrored side */
[dir="rtl"] .ns-slide-left.ns-visible {
  animation-name: nsSlideLeftRtl;
}
[dir="rtl"] .ns-slide-right.ns-visible {
  animation-name: nsSlideRightRtl;
}
@keyframes nsSlideLeftRtl {
  from { opacity: 0; transform: translateX(60px); }
  to { opacity: 1; transform: translateX(0); }
}
@keyframes nsSlideRightRtl {
  from { opacity: 0; transform: translateX(-60px); }
  to { opacity: 1; transform: translateX(0); }
}

/* Hover nudge + toggle knob travel */
[dir="rtl"] .ns-problem__item:hover {
  transform: translateX(-6px);
}
[dir="rtl"] .ns-upsells__checkbox:checked ~ .ns-upsells__toggle .ns-upsells__toggle-knob,
[dir="rtl"] .ns-upsells__row:has(.ns-upsells__checkbox:checked) .ns-upsells__toggle-knob {
  transform: translateX(-16px);
}

/* Highlighter-pen animation grows from the right in Hebrew */
[dir="rtl"] .ns-quote__tok {
  background-position: right center;
}

/* Wake-up curve is a time axis — mirror it to match the flipped labels */
[dir="rtl"] .ns-science__curve-graph svg {
  transform: scaleX(-1);
}

/* Never pin Hebrew headings to the physical left */
[dir="rtl"] .ns-mechanism__heading,
[dir="rtl"] .ns-stats__header,
[dir="rtl"] .ns-features__heading,
[dir="rtl"] .ns-faq__heading {
  text-align: start;
}

/* Hebrew has no letter-spacing or uppercase convention */
[dir="rtl"] .ns-label,
[dir="rtl"] .ns-heading,
[dir="rtl"] .ns-hero__label,
[dir="rtl"] .ns-hero__heading,
[dir="rtl"] .ns-hero__subtext,
[dir="rtl"] .ns-cta__heading,
[dir="rtl"] .ns-compare__card-badge,
[dir="rtl"] .ns-trust-bar__item,
[dir="rtl"] .ns-trust-bar__stars,
[dir="rtl"] .ns-testimonials__stars,
[dir="rtl"] .ns-press__label,
[dir="rtl"] .ns-press__logo,
[dir="rtl"] .ns-social__heading,
[dir="rtl"] .ns-stats__label,
[dir="rtl"] .ns-trust__text,
[dir="rtl"] .ns-trust-usps__line,
[dir="rtl"] .ns-science__curve-start,
[dir="rtl"] .ns-science__curve-endpoint span,
[dir="rtl"] .ns-science__expert-info span {
  letter-spacing: normal;
  text-transform: none;
}

/* Marquees: in RTL the duplicated track sits to the LEFT, so the
   translate sign must invert or the strip scrolls into empty space */
[dir="rtl"] .ns-trust-bar__items {
  animation-name: nsTrustScrollRtl;
}
[dir="rtl"] .ns-testimonials__marquee--left .ns-testimonials__track {
  animation-name: nsMarqueeLeftRtl;
}
[dir="rtl"] .ns-testimonials__marquee--right .ns-testimonials__track {
  animation-name: nsMarqueeRightRtl;
}
[dir="rtl"] .ns-press__scroll {
  animation-name: ns-press-scroll-rtl;
}
[dir="rtl"] .ns-social__scroll {
  animation-name: ns-endorse-scroll-rtl;
}
@keyframes nsTrustScrollRtl {
  0% { transform: translateX(0); }
  100% { transform: translateX(50%); }
}
@keyframes nsMarqueeLeftRtl {
  0% { transform: translateX(0); }
  100% { transform: translateX(50%); }
}
@keyframes nsMarqueeRightRtl {
  0% { transform: translateX(50%); }
  100% { transform: translateX(0); }
}
@keyframes ns-press-scroll-rtl {
  0% { transform: translateX(0); }
  100% { transform: translateX(50%); }
}
@keyframes ns-endorse-scroll-rtl {
  0% { transform: translateX(0); }
  100% { transform: translateX(50%); }
}

/* ═══════════════════════════════════════
   NS Story Block (סיאטיקל PDP long-form)
   ═══════════════════════════════════════ */

.story-sec {
  padding-block: 34px;
  background: #fff;
}

.story-sec--dark {
  background: #141414;
}

.story-wrap {
  max-width: 680px;
  margin-inline: auto;
  padding-inline: 20px;
}

.story-h {
  font-size: clamp(24px, 5.5vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  color: #141414;
  margin: 0 0 16px;
  text-align: start;
}
.story-h p { display: inline; margin: 0; }
.story-h em {
  color: var(--story-accent, #2A7B78);
  font-style: normal;
  text-decoration: underline;
  text-decoration-thickness: 2.5px;
  text-underline-offset: 5px;
}
.story-sec--dark .story-h { color: #fff; }
.story-sec--dark .story-h em { color: #7FC7C4; }

.story-body p {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  margin: 0 0 15px;
}
.story-body strong { color: #141414; font-weight: 700; }
.story-body em {
  color: var(--story-accent, #2A7B78);
  font-style: normal;
  font-weight: 700;
}
.story-sec--dark .story-body p { color: rgba(255,255,255,.88); }
.story-sec--dark .story-body strong { color: #fff; }
.story-sec--dark .story-body em { color: #7FC7C4; }

.story-media {
  margin-block: 6px 20px;
  border-radius: 14px;
  overflow: hidden;
}
.story-wrap > .story-media:first-child { margin-block-start: 0; }
.story-media video,
.story-media img { width: 100%; height: auto; display: block; }

.story-media--ph {
  aspect-ratio: 16 / 10;
  background: #ECECEC;
  color: #8a8a8a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 13.5px;
  font-weight: 400;
}
.story-media--ph-img { padding: 0; }
.story-media--ph-img svg { width: 100%; height: 100%; }
.story-sec--dark .story-media--ph { background: #262626; color: #777; }

.story-check {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-block: 4px 14px;
}
.story-check svg { flex: none; width: 20px; height: 20px; margin-top: 3px; }
.story-check p {
  margin: 0;
  font-weight: 700;
  color: #141414;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  line-height: 1.6;
}
.story-sec--dark .story-check p { color: #fff; }

.story-note {
  font-style: italic;
  font-size: 13.5px;
  line-height: 1.55;
  color: #333;
  opacity: .72;
  border-top: 1px solid #EEE;
  padding-top: 12px;
  margin: 16px 0 0;
}
.story-sec--dark .story-note { color: #fff; opacity: .6; border-top-color: rgba(255,255,255,.18); }

/* Full-bleed media on mobile (per-section toggle) */
@media (max-width: 749px) {
  .story-media--full-m {
    margin-inline: -20px;
    border-radius: 0;
  }
}

@media (min-width: 900px) {
  .story-sec { padding-block: 44px; }
}

/* ═══════════════════════════════════════
   NS Conditions Grid (expandable cards)
   ═══════════════════════════════════════ */

.cond-sec {
  background: #fff;
  padding-block: 44px 52px;
}

.cond-wrap {
  max-width: 1080px;
  margin-inline: auto;
  padding-inline: 20px;
}

.cond-h {
  text-align: center;
  font-size: clamp(24px, 4.5vw, 34px);
  font-weight: 700;
  color: #141414;
  line-height: 1.3;
  margin: 0 0 14px;
}
.cond-h p { display: inline; margin: 0; }
.cond-h em { color: var(--cond-accent, #2A7B78); font-style: normal; }

.cond-intro {
  text-align: center;
  font-size: 15.5px;
  line-height: 1.75;
  color: #333;
  max-width: 640px;
  margin: 0 auto 26px;
}

.cond-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  align-items: start;
}

.cond-card {
  margin-top: 46px; /* room for the overlapping icon */
  background: #fff;
  border: 1px solid #EEE;
  border-radius: 16px;
  box-shadow: 0 10px 24px rgba(20, 20, 20, 0.05);
  padding: 0 18px 20px;
  text-align: center;
  transition: background-color .25s ease, border-color .25s ease;
  min-height: 118px;
}

.cond-card__head {
  cursor: pointer;
  list-style: none;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.cond-card__head::-webkit-details-marker { display: none; }

.cond-card__icon {
  width: 96px;
  height: 96px;
  border-radius: 50%;
  margin-top: -46px;
  margin-bottom: 14px;
  overflow: hidden;
  background: #EAF3F2;
  color: var(--cond-accent, #2A7B78);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 12px rgba(20, 20, 20, 0.08);
}
.cond-card__icon img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(var(--cond-zoom, 1));
  transform-origin: center;
}
.cond-card__icon svg { width: 44px; height: 44px; }

.cond-card__title {
  font-size: 15px;
  font-weight: 700;
  color: #141414;
  line-height: 1.4;
  margin-bottom: 8px;
}

.cond-card__more {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13.5px;
  color: #141414;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.cond-card__more svg { width: 14px; height: 14px; transition: transform .2s ease; }

.cond-card[open] {
  background: var(--cond-open-bg, #141414);
  border-color: var(--cond-open-bg, #141414);
}
.cond-card[open] .cond-card__title,
.cond-card[open] .cond-card__more { color: #fff; }
.cond-card[open] .cond-card__more svg { transform: rotate(180deg); }

.cond-card__body {
  border-top: 1px solid rgba(255, 255, 255, 0.22);
  margin-top: 14px;
  padding-top: 14px;
}
.cond-card__body p {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.92);
  text-align: start;
}

@media (max-width: 749px) {
  .cond-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .cond-card { margin-top: 40px; padding: 0 12px 16px; min-height: 96px; }
  .cond-card__icon { width: 78px; height: 78px; margin-top: -40px; margin-bottom: 10px; }
  .cond-card__title { font-size: 14px; }
  .cond-card__more { font-size: 12.5px; }
  .cond-card__body p { font-size: 13px; }
}

/* ═══════════════════════════════════════
   NS Expert Card (למה זה עובד)
   ═══════════════════════════════════════ */

.expx-sec {
  background: #fff;
  padding-block: 44px 52px;
}

.expx-wrap {
  max-width: 900px;
  margin-inline: auto;
  padding-inline: 20px;
}

.expx-h {
  text-align: center;
  font-size: clamp(26px, 5vw, 38px);
  font-weight: 700;
  color: #141414;
  line-height: 1.25;
  margin: 0 0 12px;
}

.expx-eyebrow {
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #141414;
  margin: 0 0 28px;
}

.expx-card {
  border: 2px solid var(--expx-border, #141414);
  border-radius: 16px;
  background: #fff;
  padding: 26px 24px 22px;
  max-width: 820px;
  margin-inline: auto;
}

.expx-card__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  color: var(--expx-accent, #2A7B78);
  margin-bottom: 10px;
}

.expx-card__title {
  font-size: clamp(20px, 4vw, 25px);
  font-weight: 700;
  color: #141414;
  line-height: 1.3;
  margin: 0 0 14px;
}

.expx-card__quote p {
  font-size: 15.5px;
  line-height: 1.8;
  color: #333;
  margin: 0 0 12px;
}
.expx-card__quote p:last-child { margin-bottom: 0; }
.expx-card__quote strong { color: #141414; font-weight: 700; }

.expx-card__divider {
  border-top: 1px solid #EEE;
  margin-block: 20px 18px;
}

.expx-card__attrib {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.expx-card__who strong {
  display: block;
  font-size: 15.5px;
  font-weight: 700;
  color: #141414;
  margin-bottom: 3px;
}
.expx-card__who span {
  font-size: 13.5px;
  color: #7a7a7a;
}

.expx-card__photo {
  flex: none;
  width: 76px;
  height: 76px;
  border-radius: 8px;
  overflow: hidden;
  background: #ECECEC;
  color: #9a9a9a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.expx-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.expx-card__photo svg { width: 36px; height: 36px; }
.expx-card__photo--text { background: var(--expx-accent, #2A7B78); }
.expx-card__photo-txt {
  color: #fff;
  font-weight: 700;
  font-size: 19px;
  line-height: 1.2;
  text-align: center;
  padding: 4px;
}

@media (max-width: 749px) {
  .expx-sec { padding-block: 36px 42px; }
  .expx-card { padding: 22px 18px 18px; }
  .expx-eyebrow { font-size: 11px; letter-spacing: 0.12em; }
}

/* ═══════════════════════════════════════
   NS Versus Table (השוואה מול כרית חימום)
   ═══════════════════════════════════════ */

.vs-sec {
  background: #fff;
  padding-block: 44px 56px;
}

.vs-wrap {
  max-width: 980px;
  margin-inline: auto;
  padding-inline: 20px;
}

.vs-h {
  text-align: center;
  font-size: clamp(24px, 4.5vw, 34px);
  font-weight: 700;
  color: #141414;
  line-height: 1.3;
  margin: 0 0 14px;
}
.vs-h p { display: inline; margin: 0; }
.vs-h em { color: var(--vs-accent, #2A7B78); font-style: normal; }

.vs-intro {
  text-align: center;
  max-width: 660px;
  margin: 0 auto 30px;
}
.vs-intro p {
  font-size: 15.5px;
  line-height: 1.75;
  color: #333;
  margin: 0;
}
.vs-intro strong { color: #141414; font-weight: 700; }

.vs-table {
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  align-items: stretch;
}

.vs-cell {
  padding: 16px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 5px;
  border-bottom: 1px solid #EEE;
}

.vs-cell--feature {
  align-items: flex-start;
  text-align: start;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #141414;
  padding-inline-start: 0;
}

.vs-cell--header {
  border-bottom: none;
  padding-block: 20px 16px;
  justify-content: flex-end;
}

.vs-cell--brand {
  background: var(--vs-dark, #141414);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}
.vs-cell--brand-top { border-radius: 16px 16px 0 0; }
.vs-cell--brand-bottom { border-radius: 0 0 16px 16px; border-bottom: none; }

.vs-img {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 10px;
}
.vs-img img { max-width: 150px; max-height: 130px; object-fit: contain; }

.vs-img--ph {
  width: 110px;
  height: 92px;
  border-radius: 10px;
  background: #ECECEC;
  color: #9a9a9a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.vs-img--ph svg { width: 34px; height: 34px; }
.vs-img--ph-dark { background: rgba(255, 255, 255, 0.10); color: rgba(255, 255, 255, 0.55); }

.vs-title {
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  line-height: 1.35;
}
.vs-title--plain { color: #141414; }

.vs-mark { width: 20px; height: 20px; }
.vs-mark--yes-brand { color: #fff; }
.vs-mark--no-brand { color: rgba(255, 255, 255, 0.55); }
.vs-mark--yes { color: #141414; }
.vs-mark--no { color: #141414; }

.vs-note {
  font-size: 11.5px;
  line-height: 1.4;
  color: #7a7a7a;
  text-align: center;
}
.vs-note--brand { color: rgba(255, 255, 255, 0.8); }

@media (max-width: 749px) {
  .vs-wrap { padding-inline: 12px; }
  .vs-table { grid-template-columns: 0.9fr 1.1fr 1fr; }
  .vs-cell { padding: 13px 6px; }
  .vs-cell--feature { font-size: 10.5px; letter-spacing: 0.06em; }
  .vs-img img { max-width: 96px; max-height: 84px; }
  .vs-img--ph { width: 84px; height: 68px; }
  .vs-title { font-size: 12.5px; }
  .vs-note { font-size: 10.5px; }
  .vs-mark { width: 17px; height: 17px; }
}

/* ═══════════════════════════════════════
   NS Cost Section (שבריר מהעלות)
   ═══════════════════════════════════════ */

.cost-sec {
  background: #fff;
  padding-block: 0 48px;
}

.cost-grid { display: block; }

.cost-media {
  position: relative;
  overflow: hidden;
}
.cost-media img,
.cost-media__ph {
  width: 100%;
  aspect-ratio: 4 / 3; /* mobile ratio per spec */
  object-fit: cover;
  display: block;
}
.cost-media__ph {
  background: #ECECEC;
  color: #9a9a9a;
  display: flex;
  align-items: center;
  justify-content: center;
}
.cost-media__ph svg { width: 44px; height: 44px; }

.cost-h {
  font-weight: 700;
  line-height: 1.25;
  color: #141414;
}
.cost-h--overlay {
  position: absolute;
  top: 0;
  inset-inline: 0;
  margin: 0;
  padding: 18px 20px 30px;
  font-size: 26px;
  color: #fff;
  background: linear-gradient(180deg, rgba(20,20,20,.55), rgba(20,20,20,0));
}
.cost-h--inline { display: none; }

.cost-content {
  max-width: 680px;
  margin-inline: auto;
  padding: 26px 20px 0;
}

.cost-intro {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  margin: 0 0 18px;
}

.cost-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
  display: grid;
  gap: 10px;
}
.cost-bullets li { font-size: 15.5px; line-height: 1.6; color: #333; }
.cost-bullets li::before { content: "• "; }
.cost-bullets li p { display: inline; margin: 0; }
.cost-bullets strong { color: #141414; font-weight: 700; }

.cost-body p {
  font-size: 15.5px;
  line-height: 1.75;
  color: #333;
  margin: 0 0 14px;
}
.cost-body strong { color: #141414; font-weight: 700; }

.cost-bars {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}
.cost-bar-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.cost-bar {
  background: #E3E3E3;
  border-radius: 8px;
  padding: 11px 14px;
  min-width: fit-content;
}
.cost-bar span {
  font-size: 13.5px;
  font-weight: 700;
  color: #141414;
  white-space: nowrap;
}
.cost-bar--brand { background: var(--cost-dark, #141414); }
.cost-bar--brand span { color: #fff; }
.cost-bar-value {
  font-size: 13.5px;
  color: #333;
  white-space: nowrap;
}
.cost-bar-value--brand { font-weight: 700; color: #141414; }

.cost-footnote {
  font-size: 12px;
  line-height: 1.6;
  color: #8a8a8a;
  border-top: 1px solid #EEE;
  padding-top: 12px;
  margin: 18px 0 0;
}

/* Desktop: side-by-side, smaller contained image */
@media (min-width: 900px) {
  .cost-sec { padding-block: 52px 56px; }
  .cost-grid {
    display: grid;
    grid-template-columns: 0.75fr 1.25fr;
    gap: 44px;
    max-width: 1080px;
    margin-inline: auto;
    padding-inline: 20px;
    align-items: center;
  }
  .cost-media { border-radius: 16px; }
  .cost-media img,
  .cost-media__ph { aspect-ratio: 4 / 5; max-height: 480px; }
  .cost-h--overlay { display: none; }
  .cost-h--inline {
    display: block;
    font-size: clamp(26px, 3vw, 32px);
    margin: 0 0 14px;
  }
  .cost-content { max-width: none; margin: 0; padding: 0; }
}

/* ═══════════════════════════════════════
   NS Bonus Books (מדריכים במתנה)
   ═══════════════════════════════════════ */

.bonus-sec {
  background: #F7F7F7;
  padding-block: 44px 52px;
}

.bonus-wrap {
  max-width: 640px;
  margin-inline: auto;
  padding-inline: 20px;
  text-align: center;
}

.bonus-h {
  font-size: clamp(22px, 4.5vw, 30px);
  font-weight: 700;
  color: #141414;
  line-height: 1.35;
  margin: 0 0 16px;
}

.bonus-sub p {
  font-size: 15.5px;
  line-height: 1.8;
  color: #333;
  margin: 0 0 12px;
}
.bonus-sub strong {
  color: #141414;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

.bonus-books {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 22px;
  margin-top: 28px;
}

.bonus-book { max-width: 190px; }

.bonus-book__cover {
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 14px 30px rgba(20, 20, 20, 0.16);
}
.bonus-book__cover img {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
}

.bonus-book__ph {
  width: 100%;
  aspect-ratio: 3 / 4;
  background: linear-gradient(160deg, #2A7B78, #1d5a58);
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 16px;
}
.bonus-book__ph svg { width: 34px; height: 34px; opacity: .85; }
.bonus-book__ph span {
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}

.bonus-book__caption {
  font-size: 12.5px;
  color: #7a7a7a;
  margin: 10px 0 0;
  line-height: 1.5;
}

@media (max-width: 749px) {
  .bonus-books { gap: 14px; }
  .bonus-book { max-width: 150px; }
  .bonus-book__ph span { font-size: 12px; }
}

/* NS Bonus v2 — grid layout: mobile media bottom, desktop media side */
.bonus-wrap--grid {
  display: flex;
  flex-direction: column;
  gap: 26px;
}
.bonus-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 12px;
}
@media (min-width: 900px) {
  .bonus-wrap--grid {
    flex-direction: row;
    align-items: center;
    gap: 48px;
    max-width: 1000px;
  }
  .bonus-content { flex: 1.1; text-align: start; }
  .bonus-media { flex: 0.9; min-width: 0; }
  .bonus-books { margin-top: 0; justify-content: flex-start; }
}

/* ═══════════════════════════════════════
   NS Offer Stack (המבצע פעיל עכשיו)
   ═══════════════════════════════════════ */

.offer-sec {
  background: #fff;
  padding-block: 40px 52px;
}

.offer-wrap {
  max-width: 640px;
  margin-inline: auto;
  padding-inline: 20px;
}

.offer-media {
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 24px;
}
.offer-media video,
.offer-media img { width: 100%; height: auto; display: block; }
.offer-media--ph {
  aspect-ratio: 16 / 10;
  background: #ECECEC;
  color: #8a8a8a;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 13.5px;
}

.offer-h {
  font-size: clamp(28px, 6vw, 38px);
  font-weight: 700;
  color: #141414;
  line-height: 1.2;
  margin: 0 0 14px;
  text-align: start;
}

.offer-sub p {
  font-size: 18px;
  line-height: 1.6;
  color: #333;
  margin: 0 0 18px;
  text-align: start;
}
.offer-sub em {
  font-style: normal;
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
}

.offer-label {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--offer-accent, #2A7B78);
  text-decoration: underline;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 4px;
  margin: 0 0 20px;
}

.offer-list {
  display: grid;
  gap: 16px;
  margin-bottom: 26px;
}
.offer-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  font-size: 16.5px;
  line-height: 1.5;
  color: #333;
}
.offer-item svg { flex: none; width: 26px; height: 26px; margin-top: 1px; }
.offer-item strong { color: #141414; font-weight: 800; }

.offer-form { margin: 0; }
.offer-btn {
  display: block;
  width: 100%;
  text-align: center;
  background: var(--offer-accent, #2A7B78);
  color: #fff;
  border: none;
  cursor: pointer;
  font-family: inherit;
  font-size: 17px;
  font-weight: 800;
  letter-spacing: .01em;
  padding: 18px 24px;
  border-radius: 12px;
  text-decoration: none;
  transition: filter .15s ease;
}
.offer-btn:hover { filter: brightness(1.08); }
.offer-btn[disabled] { opacity: .55; cursor: default; }

.offer-guarantee {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 16px;
  font-size: 16px;
  color: #333;
}
.offer-guarantee svg { width: 22px; height: 22px; color: #555; flex: none; }

@media (max-width: 749px) {
  .offer-media--full-m {
    margin-inline: -20px;
    border-radius: 0;
  }
}

/* ═══════════════════════════════════════
   NS Guarantee (30 יום ניסיון)
   ═══════════════════════════════════════ */

.guar-sec {
  background: #fff;
  padding-block: 44px 52px;
}

.guar-wrap {
  max-width: 680px;
  margin-inline: auto;
  padding-inline: 20px;
}

.guar-h {
  font-size: clamp(26px, 6vw, 34px);
  font-weight: 700;
  color: #141414;
  line-height: 1.25;
  margin: 0 0 28px;
  text-align: start;
}

.guar-badge {
  display: flex;
  justify-content: center;
  margin-bottom: 30px;
}
.guar-badge img { max-width: 260px; width: 60%; height: auto; display: block; }
.guar-badge__ph { width: 200px; height: 200px; }

.guar-body p {
  font-size: 20px;
  line-height: 1.75;
  color: #333;
  text-align: center;
  margin: 0 0 16px;
}
.guar-body p:last-child { margin-bottom: 0; }
.guar-body strong { color: #141414; font-weight: 800; }

/* Desktop: heading on top, badge beside text */
@media (min-width: 900px) {
  .guar-wrap { max-width: 1040px; }
  .guar-h { margin-bottom: 34px; }
  .guar-grid {
    display: grid;
    grid-template-columns: 0.62fr 1.38fr;
    gap: 48px;
    align-items: center;
  }
  .guar-badge { margin-bottom: 0; }
  .guar-badge img { max-width: 320px; width: 100%; }
  .guar-badge__ph { width: 260px; height: 260px; }
  .guar-body p { font-size: 19px; }
}

/* ═══════════════════════════════════════
   Price block controls (buy box)
   ═══════════════════════════════════════ */

.product-info__price sale-price {
  font-size: var(--pb-size, 1.25rem) !important;
  font-weight: var(--pb-weight, 700) !important;
}

.product-info__price compare-at-price,
.product-info__price .line-through {
  font-size: var(--pb-cap-size, 1rem) !important;
  font-weight: var(--pb-cap-weight, 400) !important;
}

.product-info__price .badge--on-sale {
  font-size: var(--pb-badge-fs, 12px) !important;
  padding: calc(0.5em * var(--pb-badge-scale, 1)) calc(1em * var(--pb-badge-scale, 1)) !important;
}

/* ═══════════════════════════════════════
   NS Stock Notice (buy box)
   ═══════════════════════════════════════ */

.ns-notice {
  border: 2px dashed var(--ntc, #D32F2F);
  background: var(--ntc-bg, rgba(211, 47, 47, 0.06));
  border-radius: 10px;
  padding: 13px 15px;
  margin-block: 4px;
}

.ns-notice__head {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--ntc, #D32F2F);
  font-size: 14.5px;
  font-weight: 700;
  margin-bottom: 5px;
}
.ns-notice__head svg { flex: none; width: 18px; height: 18px; }

/* Meta row under the stock notice: left text + auto ship date with pulsing dot (v2) */
.ns-notice-meta {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  margin-top: 8px; font-size: 13px; color: var(--ns-dark, #141414);
}
.ns-notice-meta--pill {
  background: rgba(34, 160, 69, 0.07);
  border-radius: 999px;
  padding: 8px 14px;
}
.ns-notice-meta--inline { justify-content: center; gap: 8px; }
.ns-notice-meta--fit { width: fit-content; max-width: 100%; margin-inline: auto; }
.ns-notice-meta--swap { flex-direction: row-reverse; }
.ns-notice-meta--above { margin-top: 0; margin-bottom: 8px; }
.ns-notice-meta--start { justify-content: flex-start; }
.ns-notice-meta--swap.ns-notice-meta--start { justify-content: flex-end; }
.ns-notice-meta--fit.ns-notice-meta--start { margin-inline: 0; }
.ns-notice-meta__sep { opacity: 0.4; font-weight: 400; }
.ns-notice-meta--dashed {
  border: 2px dashed #9A9A9A;
  background: rgb(0 0 0 / 0.03);
  border-radius: 10px;
  padding: 8px 12px;
}
.ns-notice-meta__ship { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.ns-notice-meta__dot {
  width: 8px; height: 8px; border-radius: 50%; background: #22A045; flex: none;
  animation: ns-ship-pulse 2s ease-in-out infinite;
}
@keyframes ns-ship-pulse {
  0%   { opacity: 1; }
  50%  { opacity: 0.35; }
  100% { opacity: 1; }
}

.ns-notice__body {
  margin: 0;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--ntc, #D32F2F);
  opacity: 0.88;
  padding-inline-start: 26px;
}

/* ═══════════════════════════════════════
   ADV — Advertorial page template
   ═══════════════════════════════════════ */

.adv-masthead {
  background: #141414; color: #fff;
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 18px; font-size: 13.5px; font-weight: 700;
}
.adv-masthead__side { color: #7FC7C4; }

.adv-alert { background: #FEF9C3; border-block: 1px solid #F5E27A; padding: 12px 0; }
.adv-alert p { margin: 0; font-size: 14px; line-height: 1.6; color: #333; }
.adv-alert strong { color: #D32F2F; }

.adv-sec { background: #fff; padding-block: 14px; }
.adv-sec--cta { padding-block: 8px 22px; }

.adv-wrap { max-width: 720px; margin-inline: auto; padding-inline: 20px; }

.adv-eyebrow { font-size: 17px; font-weight: 700; color: #141414; margin: 14px 0 4px; }
.adv-h1 { font-size: clamp(26px, 6vw, 38px); font-weight: 800; line-height: 1.22; color: #141414; margin: 0 0 14px; }
.adv-qualifier p { font-size: 16.5px; line-height: 1.7; color: #141414; margin: 0 0 12px; font-weight: 600; }
.adv-qualifier em { font-style: normal; background: #FDE68A; padding: 1px 4px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }

.adv-stars { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #333; margin-bottom: 14px; }
.adv-stars__icons { color: #F5A623; letter-spacing: 2px; font-size: 15px; }

.adv-media { border-radius: 12px; overflow: hidden; margin-block: 14px 18px; }
.adv-media img, .adv-media video { width: 100%; height: auto; display: block; }
.adv-media--split { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
.adv-media--ph {
  aspect-ratio: 16 / 10; background: #ECECEC; color: #8a8a8a;
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
  font-size: 13.5px; text-align: center; padding: 12px;
}

.adv-byline { display: flex; align-items: center; gap: 12px; margin-block: 6px 10px; }
.adv-byline__photo { width: 52px; height: 52px; border-radius: 50%; overflow: hidden; background: #ECECEC; color: #9a9a9a; display: flex; align-items: center; justify-content: center; flex: none; }
.adv-byline__photo img { width: 100%; height: 100%; object-fit: cover; }
.adv-byline__photo svg { width: 26px; height: 26px; }
.adv-byline__who { display: flex; flex-direction: column; line-height: 1.35; }
.adv-byline__who strong { font-size: 15px; color: #141414; }
.adv-byline__who span { font-size: 13px; color: #666; }
.adv-byline__badge { margin-inline-start: auto; color: #2E9E5B; font-size: 18px; }

.adv-kicker { font-size: 16.5px; font-weight: 700; color: #141414; margin: 0 0 8px; }
.adv-h2 { font-size: clamp(22px, 5vw, 30px); font-weight: 800; line-height: 1.28; color: #141414; margin: 10px 0 14px; }
.adv-h2 p { display: inline; margin: 0; }
.adv-h2 em { font-style: normal; color: var(--adv-accent, #D32F2F); }

.adv-body p { font-size: 16.5px; line-height: 1.75; color: #333; margin: 0 0 14px; }
.adv-body strong { color: #141414; font-weight: 700; }
.adv-body em { font-style: normal; background: #FDE68A; padding: 1px 3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
/* Testimonials chapter (adv2 / adv2.1): quotes render italic, no highlight */
[id$="__a2_results"] .adv-body em { background: none; padding: 0; font-style: italic; }

.adv-card { border-radius: 12px; padding: 20px 18px; display: grid; gap: 14px; margin-block: 6px 10px; }
.adv-card--arrow, .adv-card--x { background: #E8F2F7; }
.adv-card--check { background: #EAF3F2; }
.adv-card__item { display: flex; align-items: flex-start; gap: 12px; font-size: 15.5px; line-height: 1.55; color: #141414; font-weight: 500; }
.adv-card__item svg { flex: none; width: 20px; height: 20px; margin-top: 2px; }

.adv-review { border: 1px solid #EEE; border-radius: 12px; padding: 18px; margin-block: 10px; }
.adv-review__head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.adv-review__avatar { width: 44px; height: 44px; border-radius: 50%; overflow: hidden; background: #ECECEC; color: #9a9a9a; display: flex; align-items: center; justify-content: center; flex: none; }
.adv-review__avatar img { width: 100%; height: 100%; object-fit: cover; }
.adv-review__avatar svg { width: 22px; height: 22px; }
.adv-review__name { font-size: 14.5px; color: #333; }
.adv-review__title-row { display: flex; align-items: center; gap: 8px; font-size: 15.5px; color: #141414; margin-bottom: 4px; }
.adv-review__meta { font-size: 13px; color: #777; margin: 0 0 6px; }
.adv-review__verified { color: #C45500; font-weight: 700; font-size: 13.5px; margin: 0 0 8px; }
.adv-review__text p { font-size: 15px; line-height: 1.7; color: #333; margin: 0 0 10px; }
.adv-review__photo { width: 84px; height: 84px; object-fit: cover; border-radius: 8px; display: block; margin-top: 6px; }
.adv-review__photo--ph { background: #ECECEC; }
.adv-review__helpful { font-size: 12.5px; color: #8a8a8a; margin: 10px 0 0; }

.adv-cta {
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
  width: 100%; padding: 16px 20px; border-radius: 12px;
  color: #fff !important; text-decoration: none; text-align: center;
  font-size: 18px; font-weight: 800; line-height: 1.35;
  transition: filter .15s ease;
}
.adv-cta:hover { filter: brightness(1.15); }
.adv-cta__l2 { font-size: 16px; font-weight: 700; }

.adv-summary { background: #FEF9C3; border-radius: 14px; padding: 0 18px 20px; overflow: hidden; }
.adv-summary__stripe { height: 12px; background: repeating-linear-gradient(45deg, #60A5FA 0 12px, #3B82F6 12px 24px); border-radius: 0 0 4px 4px; margin: 0 -18px 16px; }
.adv-summary__body p { font-size: 14.5px; line-height: 1.7; color: #333; margin: 0 0 10px; }
.adv-summary__body strong { color: #D32F2F; }
.adv-summary__img { display: flex; justify-content: center; margin-block: 14px; }
.adv-summary__img img { max-width: 220px; }
.adv-summary__badges { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 14px; margin-block: 16px 18px; }
.adv-summary__badge { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.adv-summary__seal {
  width: 54px; height: 54px; border-radius: 50%;
  background: radial-gradient(circle, #F7E7A0, #C9A227);
  color: #1F3D2B; display: flex; align-items: center; justify-content: center;
}
.adv-summary__seal svg { width: 26px; height: 26px; }
.adv-summary__badge-label { font-size: 12.5px; color: #333; line-height: 1.4; }

.adv-comments__h { font-size: 20px; font-weight: 800; color: #141414; margin: 10px 0 14px; }
.adv-comments__input { border: 1px solid #DDD; border-radius: 8px; padding: 12px 14px; color: #999; font-size: 14px; margin-bottom: 18px; }
.adv-comment { display: flex; gap: 10px; margin-bottom: 18px; }
.adv-comment--reply { margin-inline-start: 46px; padding-inline-start: 12px; border-inline-start: 2px dotted #DDD; }
.adv-comment__avatar { width: 40px; height: 40px; border-radius: 50%; overflow: hidden; background: #ECECEC; color: #9a9a9a; display: flex; align-items: center; justify-content: center; flex: none; }
.adv-comment__avatar img { width: 100%; height: 100%; object-fit: cover; }
.adv-comment__avatar svg { width: 20px; height: 20px; }
.adv-comment__content strong { font-size: 14px; color: #3B5998; display: block; margin-bottom: 2px; }
.adv-comment__content p { font-size: 14.5px; line-height: 1.6; color: #141414; margin: 0 0 4px; }
.adv-comment__meta { display: flex; gap: 6px; font-size: 12.5px; color: #3B5998; }

/* Sidebar — desktop only */
.advsb { display: none; }
@media (min-width: 1200px) {
  .adv-wrap { margin-inline: calc((100vw - 1100px) / 2) auto; max-width: 720px; }
  .adv-alert .adv-wrap, .adv-masthead { margin-inline: 0; }
  .adv-alert .adv-wrap { max-width: none; margin-inline: calc((100vw - 1100px) / 2) auto; }
  .advsb-anchor { position: relative; height: 0; }
  .advsb {
    display: block; position: absolute; top: 12px;
    inset-inline-end: calc((100vw - 1100px) / 2);
    width: 320px; background: #F6F6F6; border-radius: 14px; padding: 20px;
    max-height: calc(100vh - 120px); overflow-y: auto;
    z-index: 5;
  }
  .advsb--docked { position: fixed; top: 16px; }
}
.advsb__h { color: #2563EB; font-size: 19px; font-weight: 800; text-align: center; line-height: 1.35; margin: 0 0 14px; }
.advsb__img { display: flex; justify-content: center; margin-bottom: 14px; }
.advsb__img img { max-width: 230px; }
.advsb__img-ph { width: 200px; aspect-ratio: 1; background: #ECECEC; border-radius: 10px; display: flex; align-items: center; justify-content: center; color: #9a9a9a; font-size: 13px; }
.advsb__cta {
  display: block; text-align: center; background: #F5B301; color: #141414 !important;
  font-size: 16.5px; font-weight: 800; padding: 14px; border-radius: 8px; text-decoration: none;
  box-shadow: 0 3px 0 #C89201; margin-bottom: 18px;
}
.advsb__ratings, .advsb__features { background: #fff; border-radius: 10px; padding: 14px; margin-bottom: 12px; }
.advsb__ratings h4, .advsb__features h4 { font-size: 15px; font-weight: 800; color: #141414; margin: 0 0 10px; text-align: center; border-bottom: 1px solid #EEE; padding-bottom: 8px; }
.advsb__score { display: flex; align-items: center; justify-content: space-between; font-size: 14.5px; }
.advsb__count { font-size: 12.5px; color: #999; margin: 4px 0 10px; }
.advsb__bar-row { display: grid; grid-template-columns: 60px 1fr 38px; align-items: center; gap: 8px; font-size: 12.5px; color: #2E9E5B; margin-bottom: 6px; }
.advsb__bar { height: 12px; background: #EEE; border-radius: 6px; overflow: hidden; display: block; }
.advsb__bar span { display: block; height: 100%; background: linear-gradient(90deg, #F7C948, #F5A623); border-radius: 6px; }
.advsb__feat-row { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 8px; font-size: 13.5px; color: #333; margin-bottom: 8px; }

/* ADV video slots in sidebar + summary */
.advsb__img video { max-width: 230px; width: 100%; border-radius: 10px; display: block; }
.adv-summary__img video { max-width: 220px; width: 100%; border-radius: 10px; display: block; }

/* ═══════════════════════════════════════
   ADV2 — magazine-letter advertorial
   ═══════════════════════════════════════ */

/* sidebar card variant */
.advsb--cards { background: transparent; padding: 0; }
.advsb2__intro { font-size: 13.5px; font-weight: 700; color: #141414; line-height: 1.5; margin: 0 0 12px; }
.advsb2__card { background: #fff; border: 1px solid #EEE; border-radius: 10px; padding: 14px; margin-bottom: 16px; }
.advsb2__img img, .advsb2__img video { width: 100%; border-radius: 8px; display: block; }
.advsb2__note { font-size: 11px; color: #999; text-align: center; font-style: italic; margin: 6px 0 8px; }
.advsb2__who { font-size: 13px; color: #141414; margin: 0 0 4px; }
.advsb2__who strong { font-weight: 800; }
.advsb2__quote { font-size: 12.5px; font-style: italic; line-height: 1.6; color: #333; margin: 0 0 10px; }
.advsb2__btn {
  display: block; text-align: center; background: #53A318; color: #fff !important;
  font-size: 14px; font-weight: 800; padding: 11px; border-radius: 6px; text-decoration: none;
}

/* boxes */
.adv2-box { border-radius: 10px; padding: 18px 16px; }
.adv2-box--yellow { background: #FEF9C3; border: 1px solid #F5E27A; }
.adv2-box--dashed { background: #FEF9C3; border: 2px dashed #D32F2F; }
.adv2-box--pink { background: #fff; border: 2px solid #E75480; text-align: center; padding: 24px 18px; }
.adv2-box__img { display: flex; justify-content: center; margin-bottom: 12px; }
.adv2-box__img img { max-width: 240px; width: 100%; }
.adv2-box__body p { font-size: 14.5px; line-height: 1.65; color: #333; margin: 0 0 8px; }
.adv2-box__body p:last-child { margin-bottom: 0; }
.adv2-box__body strong { color: #D32F2F; font-weight: 800; }
.adv2-box--pink .adv2-box__body p { font-size: 15px; color: #141414; }
.adv2-box--pink .adv2-box__body strong { color: #141414; }

/* sticky CTA */
.adv2-sticky {
  position: fixed; bottom: 14px; inset-inline: 14px; z-index: 60;
  display: block; text-align: center; color: #fff !important; text-decoration: none;
  font-size: 17px; font-weight: 800; padding: 15px 20px; border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.25);
  opacity: 0; pointer-events: none; transform: translateY(12px);
  transition: opacity .35s ease, transform .35s ease;
}
.adv2-sticky--on { opacity: 1; pointer-events: auto; transform: translateY(0); }
@media (min-width: 900px) {
  .adv2-sticky { inset-inline: auto; inset-inline-start: 50%; transform: translate(50%, 12px); min-width: 420px; }
  .adv2-sticky--on { transform: translate(50%, 0); }
}

/* legal footer */
.adv2-footer { background: #1E2340; padding: 34px 0 46px; margin-top: 40px; }
.adv2-footer p { font-size: 12px; line-height: 1.8; color: rgba(255,255,255,.75); text-align: center; margin: 0 0 12px; }
.adv2-footer strong { color: rgba(255,255,255,.9); }

/* ═══════════════════════════════════════
   Home Hero (סיאטיקל)
   ═══════════════════════════════════════ */

.hhero {
  background: linear-gradient(180deg, #EAF3F2 0%, #FFFFFF 100%);
  padding: 52px 20px 36px;
  text-align: center;
}
.hhero__wrap { max-width: 860px; margin-inline: auto; }

.hhero__eyebrow {
  color: var(--hh-accent, #2A7B78);
  font-size: 14px; font-weight: 700; letter-spacing: 0.18em;
  margin: 0 0 14px;
}
.hhero__h {
  font-size: clamp(30px, 7.5vw, 46px);
  font-weight: 700; line-height: 1.22; color: #141414;
  margin: 0 auto 14px; max-width: 700px;
}
.hhero__sub p {
  font-size: 17px; line-height: 1.65; color: #333;
  max-width: 540px; margin: 0 auto 24px;
}
.hhero__cta {
  display: inline-block; background: var(--hh-accent, #2A7B78); color: #fff !important;
  font-size: 17px; font-weight: 700; padding: 16px 38px; border-radius: 12px;
  text-decoration: none; transition: filter .15s ease;
}
.hhero__cta:hover { filter: brightness(1.08); }
.hhero__trust { font-size: 13.5px; color: #555; margin: 12px 0 0; }
.hhero__media { margin-top: 32px; border-radius: 16px; overflow: hidden; }
.hhero__media img, .hhero__media video { width: 100%; height: auto; display: block; }
@media (max-width: 749px) {
  .hhero { padding: 40px 20px 30px; }
  .hhero__media--full-m { margin-inline: -20px; border-radius: 0; }
}

/* ═══════════════════════════════════════
   HM — homepage design system (סיאטיקל)
   ═══════════════════════════════════════ */

.hm-wrap { max-width: 1040px; margin-inline: auto; padding-inline: 20px; }
.hm-wrap--narrow { max-width: 720px; }
.hm-h2 { text-align: center; font-size: clamp(24px, 5vw, 32px); font-weight: 700; color: #141414; line-height: 1.3; margin: 0 0 10px; }
.hm-sub { text-align: center; font-size: 15.5px; color: #555; margin: 0 0 30px; }

/* trust */
.hm-trust { background: #fff; border-block: 1px solid #EEE; padding-block: 22px; }
.hm-trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.hm-trust__item { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 5px; }
.hm-trust__item svg { width: 22px; height: 22px; margin-bottom: 3px; }
.hm-trust__item strong { font-size: 13.5px; color: #141414; line-height: 1.3; }
.hm-trust__item span { font-size: 12px; color: #777; line-height: 1.4; }
@media (max-width: 749px) {
  .hm-trust__grid { grid-template-columns: 1fr 1fr; gap: 18px 10px; }
}

/* therapies */
.hm-ther { background: #fff; padding-block: 48px; }
.hm-ther__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 26px; }
.hm-ther__card { background: #F5F9F9; border-radius: 14px; padding: 24px 16px; text-align: center; }
.hm-ther__icon { width: 52px; height: 52px; border-radius: 50%; background: #fff; color: #2A7B78; display: inline-flex; align-items: center; justify-content: center; margin-bottom: 12px; box-shadow: 0 2px 8px rgba(20,20,20,.06); }
.hm-ther__icon svg { width: 26px; height: 26px; }
.hm-ther__card strong { display: block; font-size: 16px; color: #141414; margin-bottom: 6px; }
.hm-ther__card p { font-size: 13.5px; line-height: 1.6; color: #555; margin: 0; }
@media (max-width: 749px) {
  .hm-ther { padding-block: 36px; }
  .hm-ther__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .hm-ther__card { padding: 18px 12px; }
}

/* product showcase */
.hm-prod { background: linear-gradient(180deg, #FFFFFF, #F5F9F9); padding-block: 48px; }
.hm-prod__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 44px; align-items: center; }
.hm-prod__media img, .hm-prod__media video { width: 100%; border-radius: 16px; display: block; }
.hm-prod__ph { aspect-ratio: 1; background: #ECECEC; border-radius: 16px; display: flex; align-items: center; justify-content: center; color: #999; font-size: 14px; }
.hm-prod__badge { display: inline-block; background: #EAF3F2; color: #2A7B78; font-size: 13px; font-weight: 700; padding: 6px 14px; border-radius: 999px; margin-bottom: 12px; }
.hm-prod__title { font-size: clamp(24px, 4vw, 32px); font-weight: 700; color: #141414; margin: 0 0 10px; }
.hm-prod__price { display: flex; align-items: baseline; gap: 12px; margin-bottom: 18px; }
.hm-prod__price strong { font-size: 28px; font-weight: 700; color: #141414; }
.hm-prod__price s { font-size: 18px; color: #B0B0B0; }
.hm-prod__bullets { display: grid; gap: 10px; margin-bottom: 24px; }
.hm-prod__bullet { display: flex; align-items: flex-start; gap: 10px; font-size: 15px; color: #333; line-height: 1.5; }
.hm-prod__bullet svg { flex: none; width: 20px; height: 20px; margin-top: 2px; }
.hm-cta-btn { display: inline-block; background: #2A7B78; color: #fff !important; font-size: 16.5px; font-weight: 700; padding: 15px 34px; border-radius: 12px; text-decoration: none; transition: filter .15s ease; }
.hm-cta-btn:hover { filter: brightness(1.08); }
.hm-prod__trust { font-size: 13px; color: #666; margin: 12px 0 0; }
@media (max-width: 749px) {
  .hm-prod { padding-block: 36px; }
  .hm-prod__grid { grid-template-columns: 1fr; gap: 22px; }
  .hm-prod__content { text-align: center; }
  .hm-prod__price { justify-content: center; }
  .hm-prod__bullet { text-align: start; }
  .hm-cta-btn { display: block; text-align: center; }
}

/* reviews */
.hm-rev { background: #fff; padding-block: 48px; }
.hm-rev__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 26px; }
.hm-rev__card { border: 1px solid #EEE; border-radius: 14px; padding: 22px 18px; }
.hm-rev__stars { color: #F5A623; letter-spacing: 2px; font-size: 15px; display: block; margin-bottom: 10px; }
.hm-rev__card p { font-size: 14.5px; line-height: 1.7; color: #333; margin: 0 0 12px; }
.hm-rev__card strong { font-size: 13.5px; color: #141414; }
@media (max-width: 749px) {
  .hm-rev { padding-block: 36px; }
  .hm-rev__grid { grid-template-columns: 1fr; }
}

/* faq */
.hm-faq { background: #fff; padding-block: 40px 48px; }
.hm-faq__list { display: grid; gap: 10px; margin-top: 24px; }
.hm-faq__item { border: 1px solid #EEE; border-radius: 12px; padding: 4px 18px; }
.hm-faq__item summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 15.5px; font-weight: 700; color: #141414; padding: 14px 0; }
.hm-faq__item summary::-webkit-details-marker { display: none; }
.hm-faq__item summary svg { flex: none; width: 17px; height: 17px; color: #2A7B78; transition: transform .2s ease; }
.hm-faq__item[open] summary svg { transform: rotate(45deg); }
.hm-faq__a { padding: 0 0 16px; }
.hm-faq__a p { font-size: 14.5px; line-height: 1.7; color: #333; margin: 0 0 8px; }

/* closing band */
.hm-band { background: linear-gradient(135deg, #2A7B78, #1D5A58); padding-block: 52px; text-align: center; }
.hm-band h2 { color: #fff; font-size: clamp(24px, 5vw, 34px); font-weight: 700; margin: 0 0 10px; }
.hm-band p { color: rgba(255,255,255,.85); font-size: 15px; margin: 0 0 24px; }
.hm-band__btn { display: inline-block; background: #fff; color: #2A7B78 !important; font-size: 16.5px; font-weight: 800; padding: 15px 38px; border-radius: 12px; text-decoration: none; transition: transform .15s ease; }
.hm-band__btn:hover { transform: translateY(-1px); }

/* Home hero — overlay mode (text on image, minimal) */
.hhero-ov { position: relative; min-height: 520px; display: flex; align-items: center; overflow: hidden; }
.hhero-ov__bg, .hhero-ov__bg picture { position: absolute; inset: 0; }
.hhero-ov__bg img, .hhero-ov__bg video { width: 100%; height: 100%; object-fit: cover; display: block; }
.hhero-ov__scrim { position: absolute; inset: 0; background: linear-gradient(270deg, rgba(255,255,255,0.93) 0%, rgba(255,255,255,0.72) 30%, rgba(255,255,255,0) 62%); }
.hhero-ov__content { position: relative; width: 100%; max-width: 1140px; margin-inline: auto; padding: 60px 20px; display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.hhero-ov__content h1 { font-size: clamp(30px, 4.2vw, 46px); font-weight: 700; line-height: 1.2; color: #141414; margin: 0; max-width: 480px; }
.hhero-ov__trust { font-size: 13.5px; color: #444; margin: -6px 0 0; }
@media (max-width: 749px) {
  .hhero-ov { min-height: 430px; align-items: flex-end; }
  .hhero-ov__bg img, .hhero-ov__bg video { object-position: var(--hh-focus, 30% 45%); }
  .hhero-ov__scrim { background: linear-gradient(0deg, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.72) 28%, rgba(255,255,255,0) 58%); }
  .hhero-ov__content {
    position: absolute; inset-inline: 0;
    top: clamp(24px, var(--hh-text-pos, 80%), calc(100% - 24px));
    transform: translateY(calc(-1 * var(--hh-text-pos, 80%)));
    align-items: center; text-align: center; padding: 0 20px; gap: 16px;
  }
  .hhero-ov__content h1 { font-size: clamp(27px, 7.5vw, 34px); }
}

/* ADV media full-bleed on mobile (per-section toggle) */
@media (max-width: 749px) {
  .adv-media--full-m { margin-inline: -20px; border-radius: 0; }
}


/* ═══════════════════════════════════════
   NS Timer Announcement Bar
   ═══════════════════════════════════════ */
.ns-timerbar { background: var(--tb-bg, #2A7B78); color: var(--tb-text, #fff); }
.ns-timerbar__link { display: block; color: inherit; text-decoration: none; }
.ns-timerbar__inner {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
  gap: 6px 14px; padding: 8px 16px; text-align: center;
}
.ns-timerbar__text { font-size: 13.5px; font-weight: 700; line-height: 1.35; }
.ns-timerbar__timer { display: inline-flex; align-items: center; gap: 6px; }
.ns-timerbar__unit {
  display: inline-flex; flex-direction: column; align-items: center; min-width: 34px;
  background: rgb(255 255 255 / 0.16); border-radius: 6px; padding: 3px 6px 2px;
}
.ns-timerbar__unit b { font-size: 14px; font-weight: 800; line-height: 1.1; font-variant-numeric: tabular-nums; }
.ns-timerbar__unit i { font-style: normal; font-size: 9px; opacity: 0.85; line-height: 1.2; }
.ns-timerbar__timer--digits { gap: 2px; direction: ltr; }
.ns-timerbar__timer--digits .ns-timerbar__unit {
  background: none; padding: 0; min-width: auto; flex-direction: row; border-radius: 0;
}
.ns-timerbar__timer--digits .ns-timerbar__unit b { font-size: 16px; letter-spacing: 0.5px; }
.ns-timerbar__timer--digits .ns-timerbar__unit i { display: none; }
.ns-timerbar__timer--digits .ns-timerbar__unit[data-tb-days-unit] i {
  display: inline; font-size: 12px; margin: 0 4px 0 2px; align-self: center;
}
.ns-timerbar__timer--digits .ns-timerbar__unit:not(:last-child)::after {
  content: ":"; font-weight: 800; font-size: 15px; margin: 0 3px; opacity: 0.7;
}
.ns-timerbar__timer--digits .ns-timerbar__unit[data-tb-days-unit]::after { content: ""; margin: 0; }

/* Flip style: same look as the cube boxes, digits flip softly on change */
.ns-timerbar__timer--flip { gap: 6px; direction: ltr; }
.ns-timerbar__timer--flip .ns-timerbar__unit b { display: inline-block; backface-visibility: hidden; }
.ns-timerbar__timer--flip .ns-timerbar__unit b.is-flipping {
  animation: ns-flip-card 0.5s cubic-bezier(0.25, 0.1, 0.25, 1);
  transform-origin: 50% 0;
}
@keyframes ns-flip-card {
  0%   { transform: perspective(300px) rotateX(-90deg); }
  60%  { transform: perspective(300px) rotateX(8deg); }
  100% { transform: perspective(300px) rotateX(0deg); }
}
}
@media screen and (max-width: 480px) {
  .ns-timerbar__text { font-size: 12.5px; }
  .ns-timerbar__unit { min-width: 30px; }
}

/* Installments strip (PDP price block) */
.ns-installments { font-size: 13px; color: var(--ns-dark, #141414); opacity: 0.85; }
.ns-installments b { font-weight: 800; }

/* Flipped truck icon (RTL direction of travel) */
.ns-truck-flip { display: inline-flex; align-items: center; }
.ns-truck-flip svg { transform: scaleX(-1); }
.ns-notice-meta__left { display: inline-flex; align-items: center; gap: 5px; }