body.home-target {
  --color-primary: #7b42f6;
  --color-primary-dark: #5e2bc7;
  --color-primary-light: rgba(123, 66, 246, 0.25);
  --color-primary-medium: #7b42f6;
  --color-primary-soft: #c4b5fd;
  --color-primary-pale: #ddd6fe;
  --color-primary-bg: #f5f3ff;
  --color-secondary: #7b42f6;
  --color-accent: #7b42f6;
  --color-dark: #1a1a1a;
  --color-dark-warm: #4c1d95;
  --color-bg: #faf8ff;
  --color-bg-light: #f3f0ff;
  --color-bg-warm: #f5f3ff;
  --color-bg-blue: #ede9fe;
  --color-text: #1f2129;
  --color-text-light: #605f64;
  --color-text-muted: #98a0af;
  --font-heading: 'DM Serif Display', Georgia, serif;
  --font-body: 'Inter', system-ui, sans-serif;
  --max-width: 1280px;
  --radius: 12px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 8px 30px rgba(0, 0, 0, 0.12);
  --transition: transform 0.3s ease, opacity 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;

  font-family: 'Inter', system-ui, sans-serif;
  color: #1f2129;
  background:
    radial-gradient(circle at 12% 18%, rgba(124, 58, 237, 0.07), transparent 34%),
    radial-gradient(circle at 88% 10%, rgba(139, 92, 246, 0.06), transparent 28%),
    linear-gradient(180deg, #f0edf6 0%, #ece8f3 100%);
  letter-spacing: -0.01em;
  overflow-x: hidden !important;
}

body.is-scrolling * {
  animation-play-state: paused !important;
}

body.home-target h1,
body.home-target h2,
body.home-target h3,
body.home-target h4,
body.home-target h5,
body.home-target h6,
body.home-target .display-4,
body.home-target .display-5 {
  font-family: 'DM Serif Display', Georgia, serif;
}

/* Header styles moved to website_header.css */

body.home-target .fuxx-promo-bar {
  min-height: 52px;
  padding: 10px 24px !important;
  background: #faf8ff;
  color: #605f64;
  border-bottom: 1px solid #f0eeff;
}

body.home-target .fuxx-promo-bar .decor-icon {
  color: #7b42f6;
  opacity: 0.08;
}

body.home-target .promo-countdown-box {
  min-width: auto;
  padding: 0;
  border-radius: 0;
  background: transparent !important;
  color: #1a1a1a !important;
  font-size: 0.88rem !important;
  line-height: 1;
  box-shadow: none;
}

body.home-target .promo-countdown-label {
  color: #98a0af !important;
  opacity: 1;
  font-size: 0.52rem;
  font-weight: 700;
  letter-spacing: 0.18em;
}

body.home-target .hero-fuxx {
  min-height: auto !important;
  padding-top: 36px !important;
  padding-bottom: 0 !important;
  background:
    radial-gradient(circle at 16% 28%, rgba(124, 58, 237, 0.09), transparent 34%),
    radial-gradient(circle at 84% 24%, rgba(139, 92, 246, 0.08), transparent 30%),
    linear-gradient(180deg, #f0edf6 0%, #ece8f3 100%) !important;
}

body.home-target .hero-fuxx .container {
  max-width: 1280px;
}

body.home-target .hero-bg-wrapper {
  opacity: 0.28 !important;
  mix-blend-mode: normal;
}

body.home-target .desktop-only-cats {
  padding: 10px 10px 0;
  width: 100%;
  box-sizing: border-box;
  /* background:
    radial-gradient(ellipse at center, rgba(152, 133, 205, 0.34) 0%, rgba(152, 133, 205, 0.08) 45%, rgba(152, 133, 205, 0) 75%),
    linear-gradient(180deg, #ece8f3 0%, #e7e3ef 100%); */
  border-top: 1px solid rgba(198, 191, 218, 0.45);
}

body.home-target .desktop-cats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto 18px;
}

body.home-target .tcat {
  position: relative;
  height: 140px;
  border-radius: 16px;
  overflow: hidden;
  background: #f4f5f8; /* Soft light gray matching doktorabc */
  border: none;
  cursor: pointer;
  transition: transform 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
  display: block;
  text-decoration: none;
  color: inherit;
}

body.home-target .tcat:hover,
body.home-target .tcat.tapped {
  transform: translateY(-4px);
  box-shadow: 0 14px 28px rgba(123, 66, 246, 0.25);
  background: linear-gradient(135deg, var(--color-primary) 0%, #3b82f6 100%); /* Distinct two-color gradient */
}

body.home-target .tcat-bg {
  display: none !important;
}

body.home-target .tcat-overlay {
  display: none !important;
}

body.home-target .tcat-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 16px 20px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

body.home-target .tcat-title {
  font-size: 1.05rem;
  font-weight: 600;
  color: #1a1a1a;
  line-height: 1.25;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

body.home-target .tcat-badge {
  background: #ff9800;
  color: #fff;
  font-size: 0.65rem;
  font-weight: 700;
  padding: 3px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

body.home-target .tcat-desc {
  display: none; /* Hide description to match the clean look of the screenshot */
}

body.home-target .tcat-img {
  position: absolute;
  bottom: 0px;
  left: 12px;
  right: auto;
  transform: none;
  width: 130px;
  height: 110px;
  z-index: 1; /* Keep z-index 1 so text floats on top */
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

body.home-target .tcat-img img,
body.home-target .tcat-img i {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: bottom left; /* Prevents cutting by anchoring to the visible corner */
}

body.home-target .tcat:hover .tcat-title,
body.home-target .tcat.tapped .tcat-title {
  color: #ffffff;
}

body.home-target .tcat:hover .tcat-img,
body.home-target .tcat.tapped .tcat-img {
  transform: scale(1.15) rotate(8deg); /* Rotate upwards/clockwise */
}

/* Circular Arrow Button */
body.home-target .tcat-chevron {
  display: flex !important; /* Override any d-none */
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 16px;
  right: 16px;
  width: 38px;
  height: 38px;
  background: #ffffff;
  border-radius: 50%;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
  color: #1a1a1a;
  z-index: 3;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.home-target .tcat-chevron i {
  font-size: 0.9rem;
  transition: transform 0.3s ease;
}

body.home-target .tcat:hover .tcat-chevron {
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
}

body.home-target .tcat:hover .tcat-chevron i {
  transform: translateX(2px);
}

/* Mobile Responsiveness for Category Cards */
@media (max-width: 767px) {
  body.home-target .tcat {
    height: 130px;
  }
  body.home-target .tcat-content {
    padding: 12px 14px;
    align-items: flex-start; /* Revert to left aligned */
    text-align: left;
  }
  body.home-target .tcat-title {
    font-size: 0.95rem;
    justify-content: flex-start;
  }
  body.home-target .tcat-img {
    width: 180px;
    height: 140px;
    left: 0;
    right: 0;
    margin: 0 auto;
    bottom: -15px;
    justify-content: center;
  }
  body.home-target .tcat-img img,
  body.home-target .tcat-img i {
    object-position: bottom center;
  }
  body.home-target .tcat-chevron {
    display: flex !important; /* Restore icon */
    width: 30px; /* Make it slightly smaller on mobile */
    height: 30px;
    bottom: 10px;
    right: 10px;
  }
}

body.home-target .hero-main-content {
  max-width: 760px !important;
  margin-top: 22px !important;
}

body.home-target .hero-main-content .text-uppercase {
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  color: #4ca154 !important; /* Medical green */
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important; /* Increased size to find sweet spot */
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
  margin-bottom: 10px !important;
  text-transform: none !important; /* Keep it not uppercase */
  line-height: 1.2 !important;
}

body.home-target .hero-ticker-badge::after {
  color: #7b42f6;
}

body.home-target .hero-main-content h1.display-4 {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: clamp(2.3rem, 5vw, 3.85rem) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em !important;
  color: #1a1a1a !important;
  margin-bottom: 14px !important;
}

body.home-target .hero-main-content p.lead {
  max-width: 620px !important;
  margin: 0 auto 22px !important;
  color: #605f64 !important;
  font-size: 0.95rem !important;
  line-height: 1.65 !important;
}

body.home-target .btn-hero-premium {
  padding: 14px 40px !important;
  border-radius: 50px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
}

body.home-target .hero-fuxx .d-flex.flex-wrap.justify-content-center.gap-4.mb-4 {
  gap: 12px 22px !important;
  margin-bottom: 25px !important;
}

body.home-target .hero-fuxx .d-flex.flex-wrap.justify-content-center.gap-4.mb-4>div {
  font-size: 0.84rem !important;
}

body.home-target .hero-fuxx .d-flex.flex-wrap.justify-content-center.gap-4.mb-4 span {
  color: #1f2129 !important;
}

body.home-target .rating-section {
  gap: 8px !important;
  margin-top: 4px !important;
}

body.home-target .rating-section .text-muted {
  color: #605f64 !important;
  font-size: 0.85rem !important;
}

body.home-target .live-viewers {
  color: #605f64 !important;
  margin-top: 30px !important;
  margin-bottom: 30px;
}

body.home-target .live-viewers .spinner-grow {
  box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.4);
}

body.home-target .categories-marquee-wrapper {
  padding-top: 16px !important;
  padding-bottom: 8px !important;
  mask-image: none;
  -webkit-mask-image: none;
}

body.home-target .categories-marquee-content {
  gap: 12px;
  padding: 0 0 12px;
  animation-duration: 100s;
}

body.home-target .category-pill {
  padding: 10px 18px;
  border: 1px solid #e5e5ea;
  box-shadow: none;
  font-size: 0.82rem;
  font-weight: 500;
}

body.home-target .category-pill-link:hover .category-pill {
  background: #fff;
  border-color: #d2c9eb;
  color: #1a1a1a;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

body.home-target .premium-section-outer {
  background: transparent;
  padding: 0 20px 24px;
}

body.home-target .home-intermission-banner {
  background: linear-gradient(135deg, #7b42f6 0%, #5e2bc7 100%) !important;
}

body.home-target .home-intermission-banner h2 {
  font-family: 'DM Serif Display', Georgia, serif;
}

body.home-target .advisors-section {
  background: transparent;
}

body.home-target .stats-section {
  background: #e7e2f1;
}

body.home-target .ticker-bar-v2 {
  background: #1a1a1a;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 14px 20px;
}

body.home-target .ticker-inner-v2 {
  gap: 28px;
}

body.home-target .ticker-item-v2 {
  font-size: 0.82rem;
}

body.home-target .ticker-item-v2 i {
  color: #c4b5fd;
}

/* Footer styles moved to new-design.css */

body.home-target .motion-reveal {
  opacity: 1;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

body.home-target .motion-reveal.motion-visible {
  opacity: 1;
  transform: translateY(0);
}

body.home-target .motion-slide-left {
  opacity: 1;
  transform: translateX(-28px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

body.home-target .motion-slide-left.motion-visible {
  opacity: 1;
  transform: translateX(0);
}

body.home-target .comp-header.motion-slide-left.motion-visible {
  margin-bottom: 15rem;
}



body.home-target .motion-slide-right {
  opacity: 1;
  transform: translateX(28px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

body.home-target .motion-slide-right.motion-visible {
  opacity: 1;
  transform: translateX(0);
}

body.home-target .motion-scale-in {
  opacity: 1;
  transform: scale(0.96);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

body.home-target .motion-scale-in.motion-visible {
  opacity: 1;
  transform: scale(1);
}

body.home-target .motion-title {
  opacity: 1;
  transform: translateY(14px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}

body.home-target .motion-title.motion-visible {
  opacity: 1;
  transform: translateY(0);
}

body.home-target .motion-tilt {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

body.home-target .motion-tilt:hover {
  /* Removed perspective + 3D rotation — the GPU layer it spawned for every
     card was expensive at hover-time. A flat translateY is plenty of feedback. */
  transform: translateY(-4px);
}

body.home-target .motion-glow:hover {
  box-shadow: 0 0 20px rgba(124, 58, 237, 0.25), 0 8px 32px rgba(0, 0, 0, 0.1);
}

body.home-target .motion-bounce:hover {
  animation: homeBounceOnce 0.5s ease;
}

body.home-target .motion-underline {
  position: relative;
}

body.home-target .faq-accordion {
  display: block;
  width: 100%;
  background: transparent;
}


body.home-target .motion-underline::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 0;
  height: 2px;
  background: #7b42f6;
  transition: width 0.3s ease;
}

body.home-target .motion-underline:hover::after {
  width: 100%;
}

body.home-target .motion-pulse-ring {
  animation: homePulseRing 2s ease-out infinite;
}

body.home-target .stats-num.motion-count-up {
  font-variant-numeric: tabular-nums;
}

body.home-target .shimmer-text {
  background: linear-gradient(90deg, #7b42f6 0%, #a78bfa 25%, #7b42f6 50%, #a78bfa 75%, #7b42f6 100%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: homeTextShimmer 4s linear infinite;
}

/* Removed header box-shadow to use website_header.css */

body.home-target .hero-main-content .trust-motion,
body.home-target .hero-main-content .rating-section {
  transition: transform 0.12s linear;
}

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

  100% {
    background-position: 200% center;
  }
}

@keyframes homeBounceOnce {

  0%,
  100% {
    transform: translateY(0);
  }

  30% {
    transform: translateY(-8px);
  }

  60% {
    transform: translateY(-3px);
  }
}

@keyframes homePulseRing {
  0% {
    box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.4);
  }

  70% {
    box-shadow: 0 0 0 12px rgba(124, 58, 237, 0);
  }

  100% {
    box-shadow: 0 0 0 0 rgba(124, 58, 237, 0);
  }
}


@media (max-width: 767px) {
  body.home-target .comp-header.motion-slide-left.motion-visible {
    margin-bottom: 0 !important;
  }

  body.home-target .home-story-comparison .comp-board {
    margin-top: 38px !important;
  }
}

@media (max-width: 991px) {
  /* Header styles moved to website_header.css */

  body.home-target .hero-main-content h1.display-4 {
    font-size: 2.5rem !important;
  }
}

@media (max-width: 767px) {
  /* Header styles moved to website_header.css */

  body.home-target .hero-fuxx {
    padding-top: 22px !important;
  }

  body.home-target .hero-fuxx .container {
    display: flex !important;
    flex-direction: column !important;
  }

  body.home-target .desktop-only-cats {
    order: 5 !important;
    padding: 8px 8px 0;
    margin-top: 5px !important;
    margin-bottom: 25px !important;
  }

  body.home-target .desktop-cats-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 20px;
    padding: 0 10px;
  }

  body.home-target .hero-main-content {
    display: contents !important;
  }

  body.home-target .hero-main-content .btn-cta-pulse {
    order: 4 !important;
    margin-bottom: 10px !important;
    max-width: fit-content;
    align-self: center;
  }

  body.home-target .hero-main-content h1.display-4 {
    order: 2 !important;
    font-size: 1.95rem !important;
    margin-top: 6px !important;
  }

  body.home-target .hero-main-content p.lead {
    order: 3 !important;
    font-size: 0.85rem !important;
  }

  body.home-target .hero-main-content .hero-fuxx-ticker {
    order: 1 !important;
  }

  body.home-target .hero-main-content .trust-motion {
    order: 6 !important;
    margin-top: 10px !important;
  }

  body.home-target .hero-main-content .live-viewers {
    order: 7 !important;
    margin-bottom: 30px !important;
  }

  body.home-target .categories-marquee-content {
    animation-duration: 125s;
  }

  body.home-target .premium-section-outer {
    padding: 0 12px 16px;
  }

  body.home-target .desktop-only-cats {
    padding: 8px 8px 0;
  }

  body.home-target .desktop-cats-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 20px;
  }


  @media (max-width: 768px) {
    body.home-target .home-story-cannabis .cbs-cards,
    body.home-target .home-story-testo .testo-cards {
      display: flex !important;
      flex-wrap: nowrap !important;
      overflow-x: auto !important;
      -webkit-overflow-scrolling: touch;
      scroll-snap-type: x mandatory;
      padding: 10px 20px 20px !important;
      margin-left: -12px;
      margin-right: -12px;
      gap: 12px;
      scrollbar-width: none;
      flex-direction: column;
    }
  }

  /* Footer styles moved to new-design.css */
}

/* Target sizing pass */
body.home-target {
  --home-target-max: 1240px;
  --home-content-max: 1140px;
  --home-card-radius: 24px;
}

body.home-target .home-intermission-banner .container,
body.home-target .advisors-container,
body.home-target .stats-container,
body.home-target .comp-container,
body.home-target .privacy-container,
body.home-target .nl-hero-content {
  max-width: var(--home-target-max);
}

body.home-target .home-intermission-banner {
  padding: 68px 20px !important;
}

body.home-target .home-intermission-banner h2 {
  max-width: 980px;
  margin: 0 auto;
  font-size: clamp(2rem, 3.3vw, 2.85rem) !important;
  font-weight: 400 !important;
  line-height: 1.22 !important;
}

body.home-target .hiw-deck {
  max-width: 970px !important;
  gap: 0 !important;
  padding: 40px 0 20px !important;
  align-items: flex-end !important;
}

body.home-target .step-card-tilted {
  width: 300px !important;
  min-height: 500px !important;
  padding: 28px 24px 20px !important;
  border-radius: 20px !important;
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1),
    box-shadow 0.45s ease,
    background 0.4s ease !important;
  will-change: transform;
  cursor: pointer;
  overflow: visible !important;
}

body.home-target .step-card-tilted.tilt-left {
  height: 34rem;
  transform: rotate(-6deg) translateY(10px) !important;
  margin-right: -30px !important;
}

body.home-target .step-card-tilted.tilt-center {
  height: 34rem;
  transform: rotate(0deg) translateY(-20px) !important;
}

body.home-target .step-card-tilted.tilt-right {
  height: 26rem;
  transform: rotate(6deg) translateY(10px) !important;
  margin-left: -30px !important;
}

body.home-target .tilt-left:hover,
body.home-target .tilt-center:hover,
body.home-target .tilt-right:hover {
  background: #faf8ff !important;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.14), 0 4px 12px rgba(0, 0, 0, 0.07) !important;
}

body.home-target .tilt-left:hover {
  transform: rotate(0deg) translateY(-14px) scale(1.04) !important;
  z-index: 10 !important;
}

body.home-target .tilt-center:hover {
  transform: rotate(0deg) translateY(-32px) scale(1.04) !important;
  z-index: 10 !important;
}

body.home-target .tilt-right:hover {
  transform: rotate(0deg) translateY(-14px) scale(1.04) !important;
  z-index: 10 !important;
}

body.home-target .step-card-tilted.tilt-left.hiw-active {
  transform: rotate(0deg) translateY(-14px) scale(1.04) !important;
}

body.home-target .step-card-tilted.tilt-center.hiw-active {
  height: 34rem;
  transform: rotate(0deg) translateY(-32px) scale(1.02) !important;
}

body.home-target .step-card-tilted.tilt-right.hiw-active {
  transform: rotate(0deg) translateY(-14px) scale(1.04) !important;
}

body.home-target .step-card-tilted::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 20px;
  border: 2px solid #7b42f6;
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
  z-index: 1;
}

body.home-target .step-card-tilted::before {
  content: none;
}

body.home-target .tilt-left:hover::after,
body.home-target .tilt-center:hover::after,
body.home-target .tilt-right:hover::after {
  opacity: 1;
}

body.home-target .step-card-tilted:hover::before {
  opacity: 0;
  animation: none;
}

body.home-target .hiw-card-photo-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 14px;
  margin-top: 14px;
  min-height: 300px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: transparent !important;
  border: none !important;
}

body.home-target .hiw-card-photo-wrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.5) 50%, transparent 100%);
  transform: skewX(-20deg);
  pointer-events: none;
  z-index: 3;
  opacity: 0;
}

body.home-target .step-card-tilted:hover .hiw-card-photo-wrap::before {
  opacity: 1;
  animation: cardShimmer 0.65s ease forwards;
}

body.home-target .step-card-tilted h3,
body.home-target .step-card-tilted>p,
body.home-target .step-card-tilted .step-num-tilted,
body.home-target .step-card-tilted .hiw-card-photo-wrap,
body.home-target .step-card-tilted .hiw-card-photo,
body.home-target .step-card-tilted .hiw-sub-items {
  position: relative;
  z-index: 2;
}

body.home-target .tilt-left:hover .step-num-tilted,
body.home-target .tilt-center:hover .step-num-tilted,
body.home-target .tilt-right:hover .step-num-tilted {
  background: linear-gradient(135deg, #7b42f6, #5e2bc7) !important;
  box-shadow: 0 6px 20px rgba(124, 58, 237, 0.45) !important;
  animation: stepNumBounce 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

body.home-target .tilt-left:hover h3 span,
body.home-target .tilt-center:hover h3 span,
body.home-target .tilt-right:hover h3 span {
  color: #7b42f6 !important;
}

@keyframes stepNumBounce {
  0% {
    transform: scale(1);
  }

  40% {
    transform: scale(1.4);
  }

  70% {
    transform: scale(0.88);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes cardShimmer {
  0% {
    left: -75%;
    opacity: 1;
  }

  100% {
    left: 130%;
    opacity: 1;
  }
}

body.home-target .step-card-tilted h3 {
  font-family: 'Inter', sans-serif !important;
  font-size: 1.18rem !important;
  font-weight: 600 !important;
  line-height: 1.32 !important;
  letter-spacing: 0 !important;
  color: #221f2c !important;
}

body.home-target .step-card-tilted h3 span {
  font-family: inherit !important;
  font-weight: inherit !important;
}

body.home-target .step-card-tilted>p {
  font-size: 0.82rem !important;
  line-height: 1.5 !important;
}

body.home-target .hiw-card-photo {
  width: auto;
  max-width: 100%;
  height: 300px;
  max-height: 300px !important;
  margin-top: 0 !important;
  object-fit: contain;
  transition: transform 0.5s ease, opacity 0.45s ease !important;
}

body.home-target .step-card-tilted:hover .hiw-card-photo {
  transform: scale(1.07) !important;
}

body.home-target .premium-section-outer {
  padding: 0 20px 24px;
}

body.home-target .cannabis-banner-section,
body.home-target .ed-banner-section,
body.home-target .testo-banner-section,
body.home-target .wl-banner-section {
  max-width: var(--home-target-max);
  margin: 0 auto;
  border-radius: var(--home-card-radius);
  overflow: hidden;
}

body.home-target .cannabis-banner-section {
  padding: 56px 24px 0;
}

body.home-target .cbs-inner {
  max-width: 430px;
}

body.home-target .cbs-heading {
  font-size: clamp(2.25rem, 4vw, 3.1rem);
  line-height: 1.08;
  margin-bottom: 20px;
}

body.home-target .cbs-hero-img-wrap {
  max-width: 620px;
  margin: 0 auto -32px;
}

body.home-target .cbs-btns-overlay {
  bottom: 56px;
}

body.home-target .cbs-btn {
  min-width: 220px;
  padding: 14px 30px;
}

body.home-target .cbs-cards {
  max-width: var(--home-content-max);
  margin: 0 auto;
  padding: 0 24px 40px;
  gap: 18px;
}

body.home-target .cbs-card {
  min-height: 220px;
  border-radius: var(--home-card-radius);
}

body.home-target .cbs-card-text {
  width: 54%;
}

body.home-target .cbs-card-text h3 {
  font-size: 1.2rem;
  line-height: 1.28;
}

body.home-target .cbs-card-img-wrap {
  width: 46%;
  border-radius: 0 var(--home-card-radius) var(--home-card-radius) 0;
}

body.home-target .ed-banner-section {
  padding: 56px 24px 0;
}

body.home-target .ed-inner {
  max-width: 900px;
}

body.home-target .ed-heading {
  font-size: clamp(2.45rem, 4vw, 3.3rem);
  line-height: 1.08;
  margin-bottom: 18px;
}

body.home-target .ed-sub {
  max-width: 620px;
  margin: 0 auto 22px;
}

body.home-target .ed-hero-img-wrap {
  max-width: 760px;
  margin: 0 auto -34px;
}

body.home-target .ed-btns-overlay {
  bottom: 88px;
}

body.home-target .ed-btn {
  padding: 13px 28px;
}

body.home-target .ed-cards {
  max-width: var(--home-content-max);
  margin: 0 auto;
  padding: 0 24px 40px;
  gap: 18px;
}

body.home-target .ed-cards-right {
  gap: 18px;
}

body.home-target .ed-card,
body.home-target .ed-card-large {
  border-radius: var(--home-card-radius);
}

body.home-target .ed-card-large {
  min-height: 520px;
}

body.home-target .ed-card-large .ed-card-img-wrap,
body.home-target .ed-card-large .ed-card-img-wrap::after,
body.home-target .ed-card-large .ed-card-img {
  border-radius: var(--home-card-radius);
}

body.home-target .ed-card-small {
  min-height: 220px;
}

body.home-target .ed-card-text h3 {
  font-size: 1.3rem;
}

body.home-target .ed-card-small .ed-card-text h3 {
  font-size: 1.08rem;
}

body.home-target .ed-card-img-wrap {
  border-radius: 0 var(--home-card-radius) var(--home-card-radius) 0;
}

body.home-target .testo-banner-section,
body.home-target .ha-banner-section {
  padding: 64px 24px 0;
}

body.home-target .testo-inner,
body.home-target .ha-inner {
  max-width: 860px;
}

body.home-target .testo-heading,
body.home-target .ha-heading {
  max-width: 860px;
  font-size: clamp(1.8rem, 4.1vw, 2.75rem);
  line-height: 1.1;
  margin-bottom: 18px;
}

body.home-target .testo-btns {
  gap: 12px;
  margin: 22px 0 34px;
}

body.home-target .testo-btn {
  padding: 13px 28px;
}

body.home-target .testo-cards {
  max-width: var(--home-content-max);
  margin: 0 auto;
  padding: 0 24px 40px;
  gap: 18px;
}

body.home-target .testo-card {
  min-height: 220px;
  padding: 32px 0 32px 32px;
  border-radius: var(--home-card-radius);
}

body.home-target .testo-card-text h3 {
  font-size: 1.22rem;
  line-height: 1.24;
}

body.home-target .testo-card-img-wrap {
  width: 44%;
  right: 0;
  border-radius: 0 var(--home-card-radius) var(--home-card-radius) 0;
}

body.home-target .wl-banner-section {
  padding: 56px 24px 0;
}

body.home-target .wl-inner {
  max-width: 900px;
}

body.home-target .wl-heading {
  max-width: 820px;
  font-size: clamp(2.45rem, 4vw, 3.3rem);
  line-height: 1.08;
}

body.home-target .wl-sub {
  max-width: 620px;
  margin: 0 auto 22px;
  font-size: 1rem;
}

body.home-target .wl-hero-img-wrap {
  max-width: 820px;
}

body.home-target .wl-btns-overlay {
  bottom: -10px;
}

body.home-target .wl-btn {
  padding: 13px 28px;
}

body.home-target .wl-cards {
  max-width: var(--home-content-max);
  margin: 48px auto 0;
  padding: 0 24px 40px;
  gap: 18px;
}

body.home-target .wl-card {
  min-height: 220px;
  padding: 32px;
  border-radius: var(--home-card-radius);
}

body.home-target .wl-card-text h3 {
  font-size: 1.12rem;
  line-height: 1.28;
}

body.home-target .advisors-section {
  padding: 84px 24px 64px;
}

body.home-target .advisors-heading {
  font-size: clamp(2.25rem, 3.5vw, 2.85rem);
  font-weight: 400;
  margin-bottom: 32px;
}

body.home-target .advisors-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  align-items: stretch;
  max-width: 1100px;
  margin: 0 auto;
}

body.home-target .advisor-card {
  min-width: 0;
  max-width: none;
  width: 100%;
  height: 100%;
  border-radius: 18px;
  padding: 10px 10px 18px;
}

body.home-target .advisor-img-wrap {
  aspect-ratio: 3 / 4.5;
  margin-bottom: 16px;
}

body.home-target .advisor-name {
  font-size: 0.92rem;
  line-height: 1.35;
  min-height: 2.7em;
}

body.home-target .stats-section {
  padding: 56px 20px 72px;
}

body.home-target .stats-heading {
  max-width: 720px;
  margin: 0 auto 28px;
  font-size: 1.35rem;
  line-height: 1.45;
}

body.home-target .stats-cards {
  display: flex;
  flex-wrap: nowrap;
  gap: 24px;
}

body.home-target .stats-card {
  min-width: 280px;
  padding: 28px 34px;
  border-radius: var(--home-card-radius);
}

body.home-target .stats-top {
  font-size: 0.72rem;
  letter-spacing: 0.16em;
}

body.home-target .stats-num {
  font-size: clamp(3.4rem, 6vw, 4.8rem);
}

body.home-target .stats-bot {
  font-size: 1.08rem;
}

body.home-target .comparison-section {
  background: #f7f6fc;
  padding: 80px 20px 92px;
}

body.home-target .comp-container {
  max-width: 1000px;
}

body.home-target .comp-header {
  margin-bottom: clamp(24px, 5vw, 48px);
}

body.home-target .comp-heading {
  font-size: clamp(2.45rem, 4vw, 3.1rem);
  line-height: 1.08;
}

body.home-target .comp-board {
  max-width: 820px;
  /* Use clamp for responsive margin: min 180px on mobile, scales to 220px */
  margin: clamp(180px, 15vw, 220px) auto 36px;
  position: relative;
}

body.home-target .comp-floating-img-wrap {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: clamp(140px, 20vw, 208px);
  /* Responsively scale image width */
  z-index: 10;
  pointer-events: none;
}

body.home-target .comp-table-card {
  border-radius: var(--home-card-radius);
}

body.home-target .comp-col-h {
  padding: 20px 28px;
}

body.home-target .comp-col {
  padding: 22px 32px;
}

body.home-target .comp-btn {
  padding: 16px 42px;
}

/* ==========================================================================
   FAQ SECTION ("Sie haben Fragen?")
   ========================================================================== */
body.home-target .home-story-faq.faq-section {
  background: radial-gradient(circle at 10% 18%, rgba(124, 58, 237, 0.08), transparent 38%),
    radial-gradient(circle at 90% 12%, rgba(139, 92, 246, 0.06), transparent 32%),
    linear-gradient(180deg, #f2eefb 0%, #ece8f3 100%);
  padding: 96px 20px;
}

body.home-target .home-story-faq .faq-container {
  max-width: 920px;
  margin: 0 auto;
}

body.home-target .home-story-faq .faq-header {
  text-align: center;
  margin-bottom: 52px;
}

body.home-target .home-story-faq .faq-heading {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: clamp(2.2rem, 4.4vw, 3.2rem);
  font-weight: 900 !important;
  color: #1a1a1a;
  margin-bottom: 10px;
  letter-spacing: -0.02em;
}

body.home-target .home-story-faq .faq-sub {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 800 !important;
  color: var(--primary-color);
  letter-spacing: -0.02em;
}

body.home-target .home-story-faq .faq-accordion {
  display: grid;
  gap: 14px;
}

body.home-target .home-story-faq .faq-item {
  border: 1px solid #e9e2fc;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 6px 18px rgba(42, 23, 84, 0.05);
  overflow: hidden;
  transition: border-color 0.24s ease, box-shadow 0.24s ease, transform 0.24s ease;
}

body.home-target .home-story-faq .faq-item:has(.faq-question:hover),
body.home-target .home-story-faq .faq-item:has(.faq-question[aria-expanded="true"]) {
  border-color: rgba(123, 66, 246, 0.42);
  box-shadow: 0 12px 28px rgba(73, 35, 156, 0.14);
  transform: translateY(-1px);
}

body.home-target .home-story-faq .faq-question {
  padding: 22px 26px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  position: relative;
  border-left: 0;
  transition: background-color 0.22s ease, color 0.22s ease;
}

body.home-target .home-story-faq .faq-question::before {
  content: '';
  position: absolute;
  left: 0;
  top: 11px;
  bottom: 11px;
  width: 4px;
  border-radius: 0 8px 8px 0;
  background: linear-gradient(180deg, #8b5cf6 0%, #6d28d9 100%);
  opacity: 0;
  transform: scaleY(0.35);
  transform-origin: center;
  transition: opacity 0.22s ease, transform 0.22s ease;
}

body.home-target .home-story-faq .faq-q-text {
  font-family: 'Inter', sans-serif;
  font-size: 1.14rem;
  font-weight: 800;
  color: #1f2129;
  line-height: 1.35;
}

body.home-target .home-story-faq .faq-chevron {
  width: 32px;
  height: 32px;
  flex: 0 0 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #f5f2ff;
  color: #6f42ee;
  font-size: 0.95rem;
  transition: transform 0.25s ease, background-color 0.25s ease, color 0.25s ease;
}

body.home-target .home-story-faq .faq-question:hover,
body.home-target .home-story-faq .faq-question[aria-expanded="true"] {
  background: linear-gradient(180deg, #f7f3ff 0%, #f2ecff 100%);
}

body.home-target .home-story-faq .faq-question:hover::before,
body.home-target .home-story-faq .faq-question[aria-expanded="true"]::before {
  opacity: 1;
  transform: scaleY(1);
}

body.home-target .home-story-faq .faq-question:hover .faq-q-text,
body.home-target .home-story-faq .faq-question[aria-expanded="true"] .faq-q-text {
  color: #6f42ee;
}

body.home-target .home-story-faq .faq-question[aria-expanded="true"] .faq-chevron {
  transform: rotate(180deg);
}

body.home-target .home-story-faq .faq-question:hover .faq-chevron,
body.home-target .home-story-faq .faq-question[aria-expanded="true"] .faq-chevron {
  background: #6f42ee;
  color: #ffffff;
}

body.home-target .home-story-faq .faq-answer {
  margin: 0;
  padding: 20px 26px 24px;
  border-top: 1px solid #ebe6fb;
  color: #4e5260;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.7;
  background: #ffffff;
}

#homeFaqAccordion .collapsing {
  transition: height 0.24s ease;
}

@media (max-width: 768px) {
  body.home-target .home-story-faq.faq-section {
    padding: 62px 14px;
  }

  body.home-target .home-story-faq .faq-header {
    margin-bottom: 32px;
  }

  body.home-target .home-story-faq .faq-heading {
    font-size: clamp(1.9rem, 8.2vw, 2.2rem);
  }

  body.home-target .home-story-faq .faq-sub {
    font-size: clamp(1.6rem, 7vw, 2rem);
  }

  body.home-target .home-story-faq .faq-item {
    border-radius: 14px;
  }

  body.home-target .home-story-faq .faq-question {
    padding: 18px 16px 18px 18px;
    gap: 10px;
  }

  body.home-target .home-story-faq .faq-q-text {
    font-size: 1rem;
    line-height: 1.45;
  }

  body.home-target .home-story-faq .faq-chevron {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    font-size: 0.85rem;
  }

  body.home-target .home-story-faq .faq-answer {
    padding: 14px 18px 18px;
    font-size: 0.95rem;
    line-height: 1.62;
  }
}


body.home-target .press-logos {
  padding: 36px 20px;
}

body.home-target .press-logos-inner {
  max-width: var(--home-target-max);
  gap: 30px;
}

body.home-target .press-track {
  gap: 28px;
}

body.home-target .press-logo-item {
  font-size: 1.12rem;
}

body.home-target .mid-cta {
  padding: 72px 20px;
}

body.home-target .mid-cta-inner {
  max-width: 860px;
}

body.home-target .mid-cta h2 {
  font-size: clamp(2.35rem, 4vw, 3rem);
}

body.home-target .btn-cta-lg {
  padding: 17px 50px;
  font-size: 1.05rem;
  position: relative;
}

body.home-target .btn-cta-lg::after {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  right: -10px;
  bottom: -15px;
  z-index: -1;
  border-radius: inherit;
}

body.home-target .privacy-v2 {
  padding: 104px 20px 90px;
}

body.home-target .privacy-heading {
  max-width: 580px;
  font-size: clamp(2.9rem, 5vw, 4.2rem);
  line-height: 1.02;
}

body.home-target .privacy-intro {
  max-width: 540px;
  font-size: 1rem;
}

body.home-target .privacy-card {
  max-width: 720px;
  border-radius: var(--home-card-radius);
  padding: 44px;
}

body.home-target .germany-badge {
  margin-bottom: 30px;
}

body.home-target .privacy-feature-grid {
  gap: 14px;
}

body.home-target .privacy-bottom-pills {
  margin-top: 64px;
  gap: 12px;
}

body.home-target .priv-pill {
  padding: 10px 18px;
  font-size: 0.78rem;
}

body.home-target .newsletter-hero {
  position: relative;
  min-height: 480px;
  overflow: hidden;
  display: flex;
  align-items: center;
  background: #fff;
}

body.home-target .nl-hero-bg {
  position: absolute;
  inset: 0;
  background-size: auto 100%;
  background-position: right center;
  background-repeat: no-repeat;
  z-index: 0;
}

body.home-target .nl-hero-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #fff 0%, #fff 40%, rgba(255, 255, 255, 0.8) 55%, transparent 100%);
  z-index: 1;
}

body.home-target .nl-hero-content {
  position: relative;
  z-index: 2;
  max-width: var(--home-target-max);
  margin: 0 auto;
  padding: 60px 40px;
  width: 100%;
}

body.home-target .nl-hero-content h2 {
  font-family: 'DM Serif Display', serif;
  font-size: 2.8rem;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 20px;
  line-height: 1.15;
}

body.home-target .nl-hero-content>p {
  color: #555;
  font-size: 1.05rem;
  line-height: 1.6;
  max-width: 440px;
  margin-bottom: 32px;
}

body.home-target .nl-hero-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 380px;
}

body.home-target .nl-hero-form input {
  padding: 15px 20px;
  border: 1px solid #e0e0e0;
  border-radius: 10px;
  background: #faf8ff;
  color: #1a1a1a;
  font-size: 0.95rem;
  outline: none;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  transition: all 0.3s;
}

body.home-target .nl-hero-form input:focus {
  border-color: #7b42f6;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, 0.12);
}

body.home-target .nl-hero-form button {
  padding: 16px 24px;
  background: linear-gradient(135deg, #7b42f6, #7b42f6);
  color: white;
  border: none;
  border-radius: 10px;
  font-weight: 700;
  font-size: 1rem;
  cursor: pointer;
  transition: all 0.3s;
  box-shadow: 0 4px 14px rgba(124, 58, 237, 0.3);
}

body.home-target .nl-hero-form button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(124, 58, 237, 0.4);
}

body.home-target .nl-hero-legal {
  font-size: 0.82rem;
  color: #666;
  margin-top: 22px;
  max-width: 380px;
  line-height: 1.5;
}

body.home-target .nl-hero-legal a {
  color: #7b42f6;
  font-weight: 500;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Footer styles moved to new-design.css */

@media (max-width: 991px) {
  body.home-target .home-intermission-banner {
    padding: 56px 20px !important;
  }

  body.home-target .hiw-deck {
    max-width: 820px !important;
    gap: 12px !important;
    padding: 32px 16px 16px !important;
  }

  body.home-target .step-card-tilted {
    width: 250px !important;
    min-height: 360px !important;
  }

  body.home-target .premium-section-outer {
    padding: 0 16px 20px;
  }

  body.home-target .cannabis-banner-section,
  body.home-target .ed-banner-section,
  body.home-target .testo-banner-section,
  body.home-target .wl-banner-section {
    border-radius: 22px;
  }

  body.home-target .cbs-heading,
  body.home-target .ed-heading,
  body.home-target .testo-heading,
  body.home-target .wl-heading {
    font-size: 2.35rem;
  }

  body.home-target .cbs-btn,
  body.home-target .ed-btn,
  body.home-target .testo-btn,
  body.home-target .wl-btn {
    min-width: 190px;
  }

  body.home-target .cbs-cards,
  body.home-target .ed-cards,
  body.home-target .testo-cards,
  body.home-target .wl-cards {
    padding: 0 20px 32px;
  }

  body.home-target .ed-card-large {
    min-height: 420px;
  }

  body.home-target .ed-card-small,
  body.home-target .cbs-card,
  body.home-target .testo-card,
  body.home-target .wl-card {
    min-height: 190px;
  }

  body.home-target .advisor-card {
    width: 100%;
    min-width: 0;
    max-width: none;
  }

  body.home-target .advisors-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.home-target .stats-card {
    min-width: 240px;
  }

  body.home-target .privacy-heading {
    font-size: 3.2rem;
  }

  body.home-target .privacy-card {
    padding: 36px;
  }

  body.home-target .nl-hero-content {
    padding: 60px 24px;
  }

  body.home-target .nl-hero-content h2 {
    font-size: 2.3rem;
  }
}

@media (max-width: 767px) {
  body.home-target .home-intermission-banner {
    padding: 10px 10px !important;
  }

  body.home-target .ed-card-large .ed-card-text {
    width: 100% !important;
    padding-right: 0 !important;
    bottom: -5rem;
  }

  body.home-target .home-intermission-banner h2 {
    font-size: 1.3rem !important;
  }

  body.home-target .hiw-title {
    font-size: 1.95rem !important;
  }

  body.home-target .hiw-sub {
    font-size: 1.75rem !important;
  }

  body.home-target .hiw-deck {
    flex-direction: row !important;
    overflow-x: auto !important;
    max-width: 100% !important;
    gap: 16px !important;
    padding: 20px 0 40px !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  body.home-target .hiw-deck::-webkit-scrollbar {
    display: none;
  }

  body.home-target .hiw-deck-wrapper {
    position: relative;
    padding: 0 40px;
  }

  body.home-target .step-card-tilted,
  body.home-target .tilt-left,
  body.home-target .tilt-center,
  body.home-target .tilt-right {
    flex: 0 0 280px !important;
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    min-height: 420px !important;
    padding: 24px 20px 20px !important;
    transform: none !important;
    margin: 0 !important;
    border-radius: 28px !important;
    border: 1px solid rgba(0,0,0,0.06) !important;
    background: #ffffff !important;
    scroll-snap-align: center;
    position: relative !important;
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.04) !important;
    text-align: center !important;
  }

  body.home-target .step-card-tilted.tilt-left.hiw-active,
  body.home-target .step-card-tilted.tilt-center.hiw-active,
  body.home-target .step-card-tilted.tilt-right.hiw-active {
    transform: translateY(-8px) !important;
    box-shadow: 0 20px 40px rgba(77, 61, 129, 0.2) !important;
    z-index: 5 !important;
  }

  body.home-target .step-card-tilted.tilt-left,
  body.home-target .step-card-tilted.tilt-center,
  body.home-target .step-card-tilted.tilt-right {
    height: auto !important;
    margin: 0 !important;
    transform: none !important;
  }

  body.home-target .advisors-grid-wrapper {
    position: relative;
    padding: 0 40px;
  }

  body.home-target .advisor-nav-btn {
    display: none !important;
  }

  body.home-target .slider-pagination-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 15px;
    margin-bottom: 25px;
  }

  body.home-target .slider-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #d1d5db;
    border: none;
    padding: 0;
    transition: all 0.3s ease;
  }

  body.home-target .slider-dot.active {
    width: 20px;
    border-radius: 4px;
    background: #7b42f6;
  }

  body.home-target .slider-swipe-hint {
    font-size: 0.85rem;
    color: #4b5563;
    margin-top: 25px;
    text-align: center;
    font-weight: 600;
  }
  
  body.home-target .swipe-arrow {
    font-size: 1.1rem;
    margin-right: 5px;
    color: #7b42f6;
    opacity: 1;
    vertical-align: middle;
  }

  body.home-target .advisors-grid {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    padding: 10px 0 40px !important;
    justify-content: flex-start !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    grid-template-columns: none !important;
  }

  body.home-target .advisors-grid::-webkit-scrollbar {
    display: none;
  }

  body.home-target .advisor-card {
    min-width: 85% !important;
    max-width: 85% !important;
    flex: 0 0 85% !important;
    padding: 12px 12px 18px;
    scroll-snap-align: center;
  }

  body.home-target .advisor-img-wrap {
    aspect-ratio: 3 / 4.8 !important;
    /* Makes it proportionally taller */
  }


  body.home-target .step-num-tilted {
    position: absolute !important;
    top: 20px !important;
    left: 20px !important;
    margin: 0 !important;
    width: 34px !important;
    height: 34px !important;
    font-size: 0.9rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 5 !important;
    transform: none !important;
  }

  body.home-target .step-card-tilted h3 {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.18rem !important;
    font-weight: 600 !important;
    margin-top: 54px !important;
    margin-bottom: 20px !important;
    padding: 0 10px !important;
    line-height: 1.32 !important;
    letter-spacing: 0 !important;
    color: #221f2c !important;
    width: 100% !important;
    text-align: center !important;
  }

  body.home-target .step-card-tilted h3 span {
    color: #7b42f6 !important;
    display: block !important;
    margin-top: 4px !important;
  }

  body.home-target .hiw-card-photo {
    width: 100% !important;
    height: auto !important;
    max-height: 280px !important;
    object-fit: contain !important;
    object-position: bottom center !important;
    margin-top: auto !important;
    display: block !important;
  }

  body.home-target .hiw-card-photo-wrap {
    margin-top: auto !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 0 0 28px 28px !important;
  }

  body.home-target .premium-section-outer {
    padding: 0 12px 16px;
  }

  body.home-target .cannabis-banner-section,
  body.home-target .ed-banner-section,
  body.home-target .testo-banner-section,
  body.home-target .wl-banner-section {
    border-radius: 18px;
  }

  body.home-target .cannabis-banner-section,
  body.home-target .ed-banner-section,
  body.home-target .testo-banner-section,
  body.home-target .wl-banner-section {
    padding: 36px 16px 0;
  }

  body.home-target .cbs-inner,
  body.home-target .ed-inner,
  body.home-target .testo-inner,
  body.home-target .wl-inner {
    max-width: 100%;
  }

  body.home-target .cbs-heading,
  body.home-target .ed-heading,
  body.home-target .testo-heading,
  body.home-target .wl-heading {
    font-size: 1.85rem;
    line-height: 1.12;
    margin-bottom: 18px;
  }

  body.home-target .cbs-pill,
  body.home-target .ed-pill,
  body.home-target .testo-pill,
  body.home-target .wl-pill {
    font-size: 0.66rem;
    padding: 5px 12px;
    margin-bottom: 16px;
  }

  body.home-target .cbs-hero-img-wrap,
  body.home-target .ed-hero-img-wrap,
  body.home-target .testo-hero-img-wrap,
  body.home-target .wl-hero-img-wrap {
    max-width: 100%;
    margin-bottom: -12px;
  }

  body.home-target .cbs-btns-overlay,
  body.home-target .ed-btns-overlay,
  body.home-target .testo-btns-overlay,
  body.home-target .wl-btns-overlay {
    position: relative;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 0 16px;
    margin-top: 16px;
    transform: none;
  }

  body.home-target .testo-btns {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0 0 16px;
    margin: 16px auto 0;
    align-items: center;
  }

  body.home-target .cbs-btn,
  body.home-target .ed-btn,
  body.home-target .testo-btn,
  body.home-target .wl-btn {
    width: 100%;
    min-width: 0;
    padding: 12px 18px;
    font-size: 0.88rem;
  }

  body.home-target .cbs-cards,
  body.home-target .ed-cards,
  body.home-target .testo-cards,
  body.home-target .wl-cards {
    grid-template-columns: 1fr !important;
    padding: 0 12px 20px;
    gap: 12px;
    margin-top: 0;
  }

  body.home-target .cbs-card,
  body.home-target .ed-card,
  body.home-target .testo-card,
  body.home-target .wl-card {
    min-height: 220px;
    border-radius: 18px;
  }

  body.home-target .cbs-card {
    flex-direction: column-reverse;
    align-items: center;
    text-align: center;
    padding: 20px;
  }

  body.home-target .cbs-card-text {
    width: 100%;
    padding-right: 0;
    margin-top: 16px;
    text-align: center;
  }

  body.home-target .cbs-card-text h3 {
    font-size: 1.05rem;
  }

  body.home-target .cbs-card-img-wrap {
    position: relative;
    width: 96px;
    height: 96px;
    border-radius: 18px;
  }

  body.home-target .ed-card {
    padding: 18px !important;
    min-height: 190px;
    border-radius: 18px !important;
  }

  body.home-target .ed-card-large {
    min-height: 280px !important;
  }

  body.home-target .ed-card-large .ed-card-text {
    width: 100% !important;
    padding-right: 0 !important;
  }

  body.home-target .ed-card-large .ed-card-btn {
    max-width: 210px;
  }

  body.home-target .ed-card-small {
    min-height: 170px !important;
  }

  body.home-target .ed-card-small .ed-card-text {
    width: 58% !important;
  }

  body.home-target .ed-card-text h3 {
    font-size: 0.98rem !important;
    margin-bottom: 8px;
  }

  body.home-target .ed-card-img-wrap {
    width: 42% !important;
    border-radius: 0 18px 18px 0 !important;
  }

  body.home-target .ed-card-large .ed-card-img-wrap {
    width: 100% !important;
    border-radius: 18px !important;
  }

  body.home-target .testo-card {
    flex-direction: row;
    justify-content: flex-start;
    text-align: left;
    padding: 16px 0 16px 16px;
    min-height: 190px;
  }

  body.home-target .wl-card {
    flex-direction: column;
    justify-content: flex-start;
    text-align: center;
    padding: 20px;
    min-height: 240px;
  }

  body.home-target .testo-card-text {
    width: 52%;
    text-align: left;
    margin-bottom: 0;
    padding-right: 10px;
  }

  body.home-target .wl-card-text {
    width: 100%;
    text-align: center;
    margin-bottom: 16px;
  }

  body.home-target .testo-card-text h3 {
    font-size: 0.85rem;
    line-height: 1.25;
  }

  body.home-target .wl-card-text h3 {
    font-size: 1rem;
  }

  body.home-target .testo-card-img-wrap {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 48%;
    height: 100%;
    border-radius: 0 18px 18px 0;
  }

  body.home-target .wl-card-img-wrap {
    position: relative;
    width: 100%;
    height: 140px;
    top: auto;
    right: 0;
  }

  body.home-target .advisors-section {
    padding: 56px 16px 36px;
  }

  body.home-target .advisors-heading {
    font-size: 2rem;
    margin-bottom: 24px;
  }

  body.home-target .advisors-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
  }

  body.home-target .advisor-card {
    width: 100%;
    min-width: 0;
    max-width: none;
    padding: 10px 10px 16px;
  }

  body.home-target .advisor-name {
    min-height: 2.8em;
  }

  body.home-target .stats-section {
    padding: 44px 16px 52px;
  }

  body.home-target .stats-cards {
    flex-direction: column;
    align-items: center;
    gap: 14px;
  }

  body.home-target .stats-card {
    width: 100%;
    max-width: 320px;
    min-width: 0;
    padding: 22px 20px;
  }

  body.home-target .stats-num {
    font-size: 3rem;
  }

  body.home-target .comparison-section {
    padding: 64px 16px 72px;
  }

  body.home-target .comp-heading {
    font-size: 2rem;
  }

  body.home-target .comp-board {
    margin: -120px auto 0 !important;
  }

  body.home-target .comp-cta-wrap {
    margin-top: 28px !important;
  }

  body.home-target .comp-floating-img-wrap {
    width: 42%;
    position: relative;
  }

  body.home-target .comp-col {
    padding: 16px 18px;
  }

  body.home-target .comp-table-head,
  body.home-target .comp-row {
    flex-direction: row !important;
  }

  body.home-target .comp-col-h,
  body.home-target .comp-col {
    padding: 12px 10px !important;
    font-size: 0.8rem !important;
  }

  body.home-target .comp-left-item {
    border-right: 1px solid #f6f6f6 !important;
    border-bottom: none !important;
  }

  body.home-target .comp-col-left,
  body.home-target .comp-col-right {
    padding-top: 18px !important;
    padding-bottom: 18px !important;
  }

  body.home-target .comp-dot-left,
  body.home-target .comp-dot-right {
    margin-right: 8px !important;
  }

  body.home-target .comp-btn {
    width: 100%;
    max-width: 320px;
    padding: 15px 24px;
  }



  body.home-target .press-logos {
    padding: 24px 16px;
  }

  body.home-target .press-logos-inner {
    gap: 14px;
  }

  body.home-target .press-track {
    gap: 16px;
  }

  body.home-target .press-logo-item {
    font-size: 0.95rem;
  }

  body.home-target .mid-cta {
    padding: 10px 10px;
  }

  body.home-target .mid-cta h2 {
    font-size: 1.3rem;
  }

  body.home-target .btn-cta-lg {
    width: 100%;
    max-width: 300px;
    padding: 15px 24px;
    font-size: 1rem;
  }

  body.home-target .privacy-v2 {
    padding: 72px 16px 60px;
  }

  body.home-target .privacy-heading {
    font-size: 2.35rem;
    margin-bottom: 18px;
  }

  body.home-target .privacy-intro {
    font-size: 0.95rem;
  }

  body.home-target .privacy-card {
    padding: 24px;
    border-radius: 20px;
  }

  body.home-target .germany-badge {
    gap: 14px;
    align-items: flex-start;
  }

  body.home-target .badge-icon {
    width: 48px;
    height: 48px;
  }

  body.home-target .flags-row {
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 20px;
    margin: 24px 0;
  }

  body.home-target .privacy-feature-item {
    padding: 14px 16px;
    font-size: 0.9rem;
  }

  body.home-target .privacy-bottom-pills {
    margin-top: 32px;
    gap: 10px;
  }

  body.home-target .priv-pill {
    font-size: 0.74rem;
    padding: 8px 14px;
  }

  body.home-target .newsletter-hero {
    min-height: auto;
  }

  body.home-target .nl-hero-bg {
    opacity: 0.25;
  }

  body.home-target .nl-hero-bg::before {
    background: radial-gradient(circle, transparent 0%, rgba(255, 255, 255, 0.45) 50%, #fff 100%);
  }

  body.home-target .nl-hero-content {
    padding: 56px 16px;
  }

  body.home-target .nl-hero-content h2 {
    font-size: 2.15rem;
    margin-bottom: 14px;
  }

  body.home-target .nl-hero-content>p {
    font-size: 0.95rem;
    margin-bottom: 20px;
  }

  body.home-target .nl-hero-form {
    max-width: 100%;
  }

  body.home-target .nl-hero-form input,
  body.home-target .nl-hero-form button {
    font-size: 0.95rem;
    padding: 14px 18px;
  }

  /* Footer styles moved to new-design.css */
}

@media (max-width: 575px) {
  body.home-target .advisors-grid {
    display: flex !important;
    overflow-x: auto !important;
    overflow-y: hidden;
    flex-wrap: nowrap !important;
    gap: 16px !important;
    padding: 10px 20px 40px !important;
    justify-content: flex-start !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    grid-template-columns: none !important;
  }

  body.home-target .advisors-grid::-webkit-scrollbar {
    display: none;
  }

  body.home-target .advisor-card {
    min-width: 200px !important;
    max-width: 200px !important;
    flex: 0 0 auto !important;
    padding: 10px 10px 14px;
    scroll-snap-align: center;
  }

  body.home-target .advisor-img-wrap {
    aspect-ratio: 3 / 4.3;
    margin-bottom: 12px;
    height: auto !important;
  }

  body.home-target .advisor-name {
    min-height: 0;
    font-size: 0.88rem;
  }
}

/* Scroll-story alignment with target */
body.home-target .home-flow {
  display: flex;
  flex-direction: column;
}

body.home-target .home-flow>* {
  width: 100%;
}

body.home-target .home-step-story {
  order: 10;
  background: linear-gradient(160deg, #ece8ff 0%, #ddd6fe 50%, #ece8ff 100%);
}

/* Skip rendering work for story sections that are scrolled out of view.
   Each section gets a `contain-intrinsic-size` hint so the page height
   stays stable when the browser deactivates rendering for that block.
   This is the single biggest win for long-scrolling pages on mid-range
   hardware. */
body.home-target .home-story-cannabis,
body.home-target .home-story-ed,
body.home-target .home-story-testo,
body.home-target .home-story-weight,
body.home-target .home-story-advisors,
body.home-target .home-story-stats,
body.home-target .home-story-comparison,
body.home-target .home-story-press,
body.home-target .home-story-faq,
body.home-target .home-story-privacy,
body.home-target .home-story-newsletter,
body.home-target .home-story-cta {
  content-visibility: auto;
  contain-intrinsic-size: 1px 800px;
}

/* While body.is-scrolling is set (added by JS during active scroll), pause
   every keyframe animation on the page. The browser stops repainting the
   pulsing shadows, marquee, ticker, etc. — scroll FPS jumps significantly.
   The class is removed ~150ms after scroll stops so animations resume. */
body.is-scrolling .categories-marquee-content,
body.is-scrolling .btn-cta-pulse,
body.is-scrolling .hiw-dot,
body.is-scrolling .live-viewers .spinner-grow,
body.is-scrolling .shimmer-text,
body.is-scrolling .motion-pulse-ring,
body.is-scrolling [class*="motion-"] {
    animation-play-state: paused !important;
}
/* Also kill expensive hover effects during scroll — the user can't be
   hovering anything intentionally while scrolling. */
body.is-scrolling * {
    transition: none !important;
}

body.home-target .home-story-intermission {
  order: 20;
}

body.home-target .home-story-cannabis {
  margin-top: 2rem;
  order: 30;
  padding-top: 12px;
  padding-bottom: 28px;
}

body.home-target .home-story-ed {
  order: 40;
}

body.home-target .home-story-testo {
  order: 50;
}

body.home-target .home-story-weight {
  order: 60;
}

body.home-target .home-story-advisors {
  order: 70;
}

body.home-target .home-story-stats {
  order: 80;
}

body.home-target .home-story-comparison {
  order: 90;
}

body.home-target .home-story-press {
  order: 95;
}

body.home-target .home-story-faq {
  order: 100;
}

body.home-target .home-story-cta {
  order: 110;
}

body.home-target .home-story-privacy {
  order: 120;
}

body.home-target .home-story-newsletter {
  order: 130;
}

body.home-target .home-story-cannabis .cannabis-banner-section {
  max-width: var(--home-target-max);
  margin: 0 auto;
  padding: 42px 14px 26px;
  border-radius: 30px;
  background: #d2ddc4;
  overflow: hidden;
  position: relative;
}

body.home-target .home-story-cannabis .cbs-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 8;
}

body.home-target .home-story-cannabis .cbs-pill {
  border-color: #4ca64f;
  color: #2f8f34;
  background: rgba(239, 247, 231, 0.42);
  padding: 8px 20px;
  font-size: 0.71rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

body.home-target .home-story-cannabis .cbs-heading {
  max-width: 100%;
  margin: 0 auto 12px;
  font-family: 'Inter', sans-serif;
  font-size: clamp(2.25rem, 4vw, 3.35rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #10151b;
  text-wrap: balance;
}

body.home-target .home-story-cannabis .cbs-green {
  color: #2f8f34;
}

body.home-target .home-story-cannabis .cbs-hero-img-wrap {
  --cbs-center-x: 50%;
  max-width: 400px;
  margin: 0 auto -2px;
  position: relative;
  z-index: 4;
  text-align: center;
}

body.home-target .home-story-cannabis .cbs-hero-img-wrap::after {
  display: none;
}

body.home-target .home-story-cannabis .cbs-hero-img {
  width: min(100%, 400px);
  height: auto;
  margin-top: -3rem;
  min-height: 388px;
  object-fit: contain;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.1));
  display: block;
  position: relative;
  left: var(--cbs-center-x);
  transform: translateX(-50%);
}

body.home-target .home-story-cannabis .cbs-btns-overlay {
  position: absolute;
  left: var(--cbs-center-x);
  right: auto;
  bottom: -6px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: max-content;
  padding: 0;
  z-index: 50;
}

body.home-target .home-story-cannabis .cbs-btn {
  min-width: 230px;
  padding: 11px 20px;
  font-size: 0.9rem;
  font-weight: 700;
}

body.home-target .home-story-cannabis .cbs-btn-outline {
  background: rgba(255, 255, 255, 0.95);
  color: #111;
  border-color: rgba(0, 0, 0, 0.62);
}

body.home-target .home-story-cannabis .cbs-btn-filled {
  background: #2f8f34;
  border-color: #2f8f34;
  color: #fff;
}

body.home-target .home-story-cannabis .cbs-btn-filled:hover {
  background: #25762a;
  border-color: #25762a;
}

body.home-target .home-story-cannabis .cbs-cards {
  max-width: var(--home-content-max);
  margin: -4px auto 0;
  padding: 0 8px 0;
  gap: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  z-index: 3;
}

body.home-target .home-story-cannabis .cbs-card {
  min-height: 168px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.84);
  background: #dde6de;
  box-shadow: 0 8px 24px rgba(50, 83, 52, 0.08);
  padding: 20px 0 20px 16px;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  text-align: left;
  position: relative;
  overflow: hidden;
}

body.home-target .home-story-cannabis .cbs-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(44, 78, 45, 0.15);
}

body.home-target .home-story-cannabis .cbs-card-text {
  width: 54%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 12px;
  position: relative;
  z-index: 2;
  text-align: left;
}

body.home-target .home-story-cannabis .cbs-card-text h3 {
  max-width: 16rem;
  margin: 0 0 8px;
  font-family: 'Inter', sans-serif;
  font-size: clamp(1.04rem, 1.55vw, 1.28rem);
  font-weight: 800;
  line-height: 1.24;
  color: #111;
}

.wl-hero-img-wrap {
  display: contents;
}

body.home-target .home-story-cannabis .cbs-card-btn {
  background: #2f8f34;
  border: 1px solid #2f8f34;
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  width: fit-content;
}

body.home-target .home-story-cannabis .cbs-card-btn:hover {
  background: #25762a;
  border-color: #25762a;
}

body.home-target .home-story-cannabis .cbs-card-img-wrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 46%;
  height: 100%;
  border-radius: 0 20px 20px 0;
  overflow: hidden;
}

body.home-target .home-story-cannabis .cbs-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.home-target .home-story-cannabis .cbs-card:first-child .cbs-card-img {
  object-fit: contain;
  object-position: center bottom;
}

body.home-target .home-story-cannabis .cbs-card:last-child .cbs-card-img {
  object-fit: contain;
  object-position: center;
}

body.home-target .home-story-weight {
  order: 60;
  padding-top: 14px;
  padding-bottom: 28px;
}

body.home-target .home-story-weight .wl-banner-section {
  max-width: var(--home-target-max);
  margin: 0 auto;
  padding: 46px 18px 28px;
  border-radius: 30px;
  background: #b3d7d5;
  overflow: hidden;
  position: relative;
}

body.home-target .home-story-weight .wl-inner {
  max-width: 980px;
  margin: 0 auto;
  text-align: center;
}

body.home-target .home-story-weight .wl-pill {
  border-color: #008b84;
  color: #006f69;
  background: rgba(220, 248, 245, 0.34);
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  padding: 8px 20px;
}

body.home-target .home-story-weight .wl-heading {
  max-width: 980px;
  margin: 0 auto 12px;
  font-family: 'Inter', sans-serif;
  font-size: clamp(2.45rem, 4.6vw, 1.75rem);
  font-weight: 800;
  line-height: 1.07;
  letter-spacing: -0.02em;
  color: #10151b;
}

body.home-target .home-story-weight .wl-tint {
  color: #008b84;
  display: inline;
}

body.home-target .home-story-weight .wl-sub {
  max-width: 860px;
  margin: 0 auto 24px;
  font-size: 1.08rem;
  line-height: 1.55;
  color: #3d4e55;
}

body.home-target .home-story-weight .wl-hero-img-wrap {
  max-width: 290px;
  margin: 0 auto;
}

body.home-target .home-story-weight .wl-hero-img-wrap::after {
  display: none;
}

body.home-target .home-story-weight .wl-hero-img {
  width: 26%;
  height: auto;
  min-height: 151px;
  object-fit: contain;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.1));
}

body.home-target .home-story-weight .wl-btns-overlay {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  margin-top: -6px;
  padding: 0;
  gap: 10px;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}

body.home-target .home-story-weight .wl-btn {
  min-width: 184px;
  padding: 13px 32px;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.2;
}

body.home-target .home-story-weight .wl-btn-outline {
  border-color: rgba(0, 0, 0, 0.65);
  color: #111;
  background: rgba(255, 255, 255, 0.9);
}

body.home-target .home-story-weight .wl-btn-filled {
  background: #00968d;
  border-color: #00968d;
  color: #fff;
}

body.home-target .home-story-weight .wl-btn-filled:hover {
  background: #007f77;
  border-color: #007f77;
}

body.home-target .home-story-weight .wl-cards {
  max-width: var(--home-content-max);
  margin: 24px auto 0;
  padding: 0 8px 6px;
  gap: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  z-index: 3;
}

body.home-target .home-story-weight .wl-card {
  background: #f3f4f6;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 8px 22px rgba(35, 84, 80, 0.12);
  padding: 20px 0 20px 20px;
  min-height: 158px;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  text-align: left;
  position: relative;
  overflow: hidden;
}

body.home-target .home-story-weight .wl-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(28, 79, 74, 0.16);
}

body.home-target .home-story-weight .wl-card-text {
  width: 55%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 14px;
  position: relative;
  z-index: 2;
  text-align: left;
}

body.home-target .home-story-weight .wl-card-text h3 {
  margin: 0 0 10px;
  font-family: 'Inter', sans-serif;
  font-size: clamp(1.18rem, 1.95vw, 1.9rem);
  font-weight: 800;
  line-height: 1.22;
  color: #111;
}

body.home-target .home-story-weight .wl-card-btn {
  background: #00968d;
  color: #fff;
  border: 1px solid #00968d;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 0.86rem;
  font-weight: 700;
  width: fit-content;
}

body.home-target .home-story-weight .wl-card-btn:hover {
  background: #007f77;
  border-color: #007f77;
}

body.home-target .home-story-weight .wl-card-img-wrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 45%;
  height: 100%;
  overflow: hidden;
  border-radius: 0 22px 22px 0;
}

body.home-target .home-story-weight .wl-card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

body.home-target .home-story-advisors {
  order: 70;
}

body.home-target .home-story-faq {
  order: 100;
}

body.home-target .home-story-intermission {
  order: 20;
}

body.home-target .home-story-newsletter {
  order: 130;
}

body.home-target .home-story-ed {
  padding-top: 10px;
  padding-bottom: 30px;
}

body.home-target .home-story-ed .ed-banner-section {
  padding: 60px 0 22px;
  background: linear-gradient(180deg, #d4dfec 0%, #d2ddea 100%);
}

body.home-target .home-story-ed .ed-inner {
  max-width: 1040px;
  padding: 0 24px;
  text-align: center;
}

body.home-target .home-story-ed .ed-pill {
  border-color: #3e6fd6;
  color: #2e61c9;
  background: rgba(236, 244, 255, 0.45);
  padding: 8px 18px;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  font-weight: 700;
  text-transform: uppercase;
}

body.home-target .home-story-ed .ed-blue {
  color: #3f6fd9;
}

body.home-target .home-story-ed .ed-heading {
  max-width: 860px;
  margin: 0 auto 14px;
  font-size: clamp(1.9rem, 3.2vw, 3rem);
  font-family: 'Inter', sans-serif;
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #10131a;
}

body.home-target .home-story-ed .ed-sub {
  max-width: 660px;
  margin: 0 auto 18px;
}

body.home-target .home-story-ed .ed-hero-img-wrap {
  max-width: 760px;
  margin: 0 auto -28px;
  overflow: visible;
  position: relative;
  z-index: 4;
}

body.home-target .home-story-ed .ed-hero-img {
  width: 60%;
  margin: auto;
  height: auto;
  max-height: 760px;
  object-fit: contain;
  object-position: center bottom;
  display: block;
}

body.home-target .home-story-ed .ed-hero-img-wrap::after {
  height: 170px;
  background: linear-gradient(to bottom, transparent 0%, rgba(210, 221, 234, 0.15) 60%, rgba(210, 221, 234, 0.9) 100%);
}

body.home-target .home-story-ed .ed-btns-overlay {
  bottom: 58px;
  color: white;
  gap: 14px;
  z-index: 60;
}

body.home-target .home-story-ed .ed-btn-outline {
  border-color: #2f3440;
  color: #11141b;
  background: rgba(255, 255, 255, 0.84);
}

body.home-target .home-story-ed .ed-btn {
  min-width: 250px;
  padding: 14px 26px;
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none !important;
  border-radius: 50px;
  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
}

body.home-target .home-story-ed .ed-btn-outline:hover {
  background: #ffffff !important;
  color: #11141b !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}

body.home-target .home-story-ed .ed-btn-filled {
  background: #7b42f6;
  border-color: #7b42f6;
  color: #ffffff !important;
}

body.home-target .home-story-ed .ed-btn-filled:hover {
  background: #2a52a8 !important;
  border-color: #2a52a8 !important;
  color: #ffffff !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(59, 111, 212, 0.35);
}

body.home-target .home-story-ed .ed-cards {
  display: grid;
  max-width: var(--home-content-max);
  margin: 0 auto;
  padding: 0 24px 34px;
  gap: 16px;
  position: relative;
  z-index: 2;
}

body.home-target .home-story-ed .ed-cards-right {
  gap: 16px;
}

body.home-target .home-story-ed .ed-card {
  background: linear-gradient(135deg, #d6e4f4 0%, #e7f0fb 100%);
  border: 1px solid rgba(255, 255, 255, 0.78);
  box-shadow: 0 8px 24px rgba(39, 74, 124, 0.16);
}

body.home-target .home-story-ed .ed-card-large {
  min-height: 500px;
}

body.home-target .home-story-ed .ed-card-text h3 {
  color: #111821;
  font-family: 'Inter', sans-serif;
  font-weight: 800;
}

body.home-target .home-story-ed .ed-card-large .ed-card-text h3 {
  color: #fff !important;
}

body.home-target .home-story-ed .ed-card-btn {
  background: #7b42f6;
  border-color: #7b42f6;
  color: #fff;
}

body.home-target .home-story-ed .ed-card-large .ed-card-btn {
  background: rgba(255, 255, 255, 0.22) !important;
  border-color: rgba(255, 255, 255, 0.6) !important;
}

body.home-target .home-story-testo {
  order: 50;
  padding-top: 12px;
  padding-bottom: 28px;
}

body.home-target .home-story-testo .testo-banner-section {
  max-width: var(--home-target-max);
  margin: 0 auto;
  padding: 42px 14px 26px;
  border-radius: 30px;
  background: linear-gradient(160deg, #f5c6c6 0%, #edb0b0 50%, #f5c6c6 100%);
  overflow: hidden;
  position: relative;
}

body.home-target .home-story-testo .testo-inner {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  position: relative;
  z-index: 8;
}

body.home-target .home-story-testo .testo-pill {
  border-color: #8b6340;
  color: #8b6340;
  background: rgba(250, 248, 255, 0.8);
  padding: 8px 20px;
  font-size: 0.71rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  display: inline-block;
  margin-bottom: 20px;
  border-radius: 50px;
  border: 1px solid #8b6340;
}

body.home-target .home-story-testo .testo-heading {
  max-width: 90%;
  margin: 0 auto 12px;
  font-family: 'Inter', sans-serif;
  font-size: clamp(2.25rem, 4vw, 3.35rem);
  font-weight: 800;
  line-height: 1.08;
  letter-spacing: -0.02em;
  color: #10151b;
  text-wrap: balance;
}

body.home-target .testo-red {
  color: #E24B4A;
}

body.home-target .home-story-testo .testo-sub {
  max-width: 660px;
  margin: 0 auto 18px;
  font-size: 1rem;
  color: #444;
  line-height: 1.6;
  text-align: center;
}

body.home-target .home-story-testo .testo-hero-img-wrap {
  --testo-center-x: 50%;
  max-width: 380px;
  margin: 0 auto -2px;
  position: relative;
  z-index: 4;
  text-align: center;
}

body.home-target .home-story-testo .testo-hero-img {
  width: min(100%, 320px);
  height: auto;
  margin-top: -3rem;
  min-height: 346px;
  object-fit: contain;
  filter: drop-shadow(0 4px 16px rgba(0, 0, 0, 0.1));
  display: block;
  position: relative;
  left: var(--testo-center-x);
  transform: translateX(-50%);
}

body.home-target .home-story-testo .testo-btns-overlay {
  position: absolute;
  left: var(--testo-center-x);
  right: auto;
  bottom: -6px;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: max-content;
  padding: 0;
  z-index: 50;
}

body.home-target .home-story-testo .testo-btn {
  min-width: 230px;
  padding: 11px 20px;
  font-size: 0.9rem;
  font-weight: 700;
  border-radius: 50px;
  text-decoration: none;
  display: inline-block;
  transition: all 0.3s ease;
}

body.home-target .home-story-testo .testo-btn-outline {
  background: rgba(255, 255, 255, 0.95);
  color: #111;
  border: 1px solid rgba(0, 0, 0, 0.62);
}

body.home-target .home-story-testo .testo-btn-outline:hover {
  background: #fff;
  transform: translateY(-2px);
}

body.home-target .home-story-testo .testo-btn-filled {
  background: #E24B4A;
  border: 1px solid #E24B4A;
  color: #fff;
}

body.home-target .home-story-testo .testo-btn-filled:hover {
  background: #d73f3e;
  border-color: #d73f3e;
  transform: translateY(-2px);
}

body.home-target .home-story-testo .testo-cards {
  max-width: var(--home-content-max);
  margin: -4px auto 0;
  padding: 0 8px 0;
  gap: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: relative;
  z-index: 3;
}

body.home-target .home-story-testo .testo-card {
  min-width: 34rem;
  width: 100%;
  min-height: 168px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.84);
  background: linear-gradient(135deg, #fce8e8 0%, #fdf2f2 100%);
  box-shadow: 0 8px 24px rgba(226, 75, 74, 0.08);
  padding: 20px 0 20px 16px;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  text-align: left;
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}

body.home-target .home-story-testo .testo-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(226, 75, 74, 0.15);
}

body.home-target .home-story-testo .testo-card-text {
  width: 54%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-right: 12px;
  position: relative;
  z-index: 2;
  text-align: left;
}

body.home-target .home-story-testo .testo-card-text h3 {
  max-width: 16rem;
  margin: 0 0 8px;
  font-family: 'Inter', sans-serif;
  font-size: clamp(1.04rem, 1.55vw, 1.28rem);
  font-weight: 800;
  line-height: 1.24;
  color: #111;
}

body.home-target .home-story-testo .testo-card-btn {
  background: #E24B4A;
  border: 1px solid #E24B4A;
  color: #fff;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 0.8rem;
  font-weight: 700;
  width: fit-content;
  text-decoration: none;
}

body.home-target .home-story-testo .testo-card-btn:hover {
  background: #c53030;
  border-color: #c53030;
}

body.home-target .home-story-testo .testo-card-img-wrap {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 46%;
  height: 100%;
  border-radius: 0 20px 20px 0;
  overflow: hidden;
}

body.home-target .home-story-testo .testo-card-img {
  width: 100%;
  min-height: 8rem;
  min-width: 5rem;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

body.home-target .home-story-stats .stats-section {
  padding-top: 68px;
  padding-bottom: 74px;
}

body.home-target .home-story-comparison .comparison-section {
  padding-top: 74px;
}

body.home-target .home-story-press .press-logos {
  border-top: 0;
}

body.home-target .home-story-cta .mid-cta {
  padding-top: 84px;
  padding-bottom: 84px;
}

body.home-target .home-story-privacy .privacy-v2 {
  padding-top: 108px;
}

body.home-target .home-story-newsletter .newsletter-hero {
  min-height: 520px;
  width: 100%;
  position: relative;
  overflow: hidden;
}

body.home-target .home-story-newsletter .nl-hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

body.home-target .home-story-newsletter .nl-hero-content {
  padding: 100px 20px;
}

@media (max-width: 991px) {
  body.home-target .home-story-cannabis .cannabis-banner-section {
    padding: 34px 12px 20px;
    border-radius: 24px;
  }

  body.home-target .home-story-cannabis .cbs-hero-img,
  body.home-target .home-story-testo .testo-hero-img {
    height: auto;
    margin-top: -7rem;
    min-height: 24rem;
  }



  body.home-target .home-story-cannabis .cbs-heading {
    max-width: 450px;
    font-size: 2.35rem;
    line-height: 1.08;
  }

  body.home-target .home-story-cannabis .cbs-cards {
    grid-template-columns: 1fr 1fr;
    padding: 0 6px;
    margin-top: -2px;
  }

  body.home-target .home-story-cannabis .cbs-card {
    min-height: 162px;
  }

  body.home-target .home-story-cannabis .cbs-card-text h3 {
    font-size: 1.08rem;
  }

  body.home-target .home-story-weight .wl-banner-section {
    padding: 40px 16px 22px;
    border-radius: 24px;
  }

  body.home-target .home-story-weight .wl-heading {
    font-size: 2.6rem;
    line-height: 1.08;
  }

  body.home-target .home-story-weight .wl-sub {
    font-size: 1rem;
    line-height: 1.52;
  }

  body.home-target .home-story-weight .wl-btn {
    min-width: 172px;
    padding: 12px 26px;
    font-size: 0.94rem;
  }

  body.home-target .home-story-weight .wl-cards {
    margin-top: 16px;
    padding: 0 6px 8px;
    gap: 10px;
  }

  body.home-target .home-story-weight .wl-card {
    padding: 18px 0 18px 18px;
    min-height: 154px;
  }

  body.home-target .home-story-weight .wl-card-text h3 {
    font-size: 1.16rem;
  }

  body.home-target .home-story-ed .ed-banner-section {
    padding: 52px 0 20px;
  }

  body.home-target .home-story-ed .ed-inner {
    padding: 0 18px;
  }

  body.home-target .home-story-ed .ed-heading {
    font-size: 2.15rem;
    line-height: 1.1;
  }

  body.home-target .home-story-ed .ed-hero-img {
    max-height: 540px;
  }

  body.home-target .home-story-ed .ed-btn {
    min-width: 220px;
    padding: 14px 24px;
  }
}

@media (max-width: 767px) {
  body.home-target .home-story-cannabis {
    padding: 0 12px 18px;
  }

  body.home-target .home-story-cannabis .cbs-hero-img {
    width: min(200px, 72vw);
    max-height: 219px;
    margin-top: -3.5rem !important;
  }

  body.home-target .home-story-cannabis .cannabis-banner-section {
    padding: 30px 10px 12px;
    border-radius: 18px;
  }

  body.home-target .home-story-cannabis .cbs-heading {
    max-width: 360px;
    font-size: 2rem;
    line-height: 1.09;
  }

  body.home-target .home-story-cannabis .cbs-hero-img-wrap {
    max-width: 322px;
    margin-bottom: 0;
  }


  body.home-target .home-story-testo .testo-hero-img {
    margin-top: -2.5rem !important;
    max-height: 300px !important;
    min-height: auto !important;
    width: auto !important;
    object-fit: contain;
  }

  body.home-target .home-story-testo .testo-heading {
    font-size: 29px !important;
    max-width: 320px;
    margin: 0 auto 12px !important;
    line-height: 1.2 !important;
  }


  body.home-target .comp-table-card {
    margin-top: -4rem !important;
    border-radius: var(--home-card-radius);
  }

  body.home-target .home-story-cannabis .cbs-btns-overlay,
  body.home-target .home-story-testo .testo-btns-overlay {
    position: absolute;
    bottom: 24px;
    left: 0;
    right: 0;
    display: flex;
    gap: 10px;
    justify-content: center;
    flex-wrap: wrap;
    padding: 0 64px;
    z-index: 5;
    transform: none;
  }

  body.home-target .home-story-cannabis .cbs-btn,
  body.home-target .home-story-testo .testo-btn {
    width: 100%;
    min-width: 0;
    padding: 12px 16px;
    font-size: 0.9rem;
  }

  body.home-target .home-story-cannabis .cbs-cards,
  body.home-target .home-story-testo .testo-cards {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding: 10px 20px 20px !important;
    margin-left: -12px;
    margin-right: -12px;
    gap: 12px;
    scrollbar-width: none;
    /* Firefox */
  }

  body.home-target .home-story-cannabis .cbs-cards::-webkit-scrollbar,
  body.home-target .home-story-testo .testo-cards::-webkit-scrollbar {
    display: none;
    /* Chrome/Safari */
  }

  body.home-target .home-story-cannabis .cbs-card,
  body.home-target .home-story-testo .testo-card {
    flex: 0 0 100%;
    scroll-snap-align: center;
    display: flex;
    flex-direction: row;
    align-items: center;
    text-align: left;
    background: #ffffff;
    border-radius: 20px;
    padding: 16px 12px;
    min-height: 140px;
    min-width: 0 !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  }

  body.home-target .home-story-cannabis .cbs-card-text,
  body.home-target .home-story-testo .testo-card-text {
    flex: 1;
    min-width: 0;
    padding-right: 12px;
    margin-top: 0;
    text-align: left;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
  }

  body.home-target .home-story-cannabis .cbs-card-text h3,
  body.home-target .home-story-testo .testo-card-text h3 {
    font-size: 1.05rem;
    margin-bottom: 8px;
    font-weight: 700;
  }

  body.home-target .home-story-cannabis .cbs-card-img-wrap,
  body.home-target .home-story-testo .testo-card-img-wrap {
    position: relative;
    width: 110px;
    border-radius: 12px;
    margin: 0 0 0 auto;
    margin-left: 12px !important;
  }

  body.home-target .home-story-cannabis .cbs-card-btn,
  body.home-target .home-story-testo .testo-card-btn,
  body.home-target .home-story-weight .wl-card-btn {
    max-width: 100% !important;
    white-space: normal !important;
    padding: 6px 12px !important;
    font-size: 0.78rem !important;
  }


  body.home-target .home-story-weight {
    padding: 0 12px 18px;
  }

  body.home-target .home-story-weight .wl-banner-section {
    padding: 32px 12px 14px;
    border-radius: 18px;
  }

  body.home-target .home-story-weight .wl-heading {
    font-size: 2.15rem;
    line-height: 1.12;
  }

  body.home-target .home-story-weight .wl-sub {
    font-size: 0.94rem;
    line-height: 1.5;
    max-width: 100%;
    margin-bottom: 14px;
  }

  body.home-target .home-story-weight .wl-hero-img-wrap {
    max-width: 220px;
  }

  body.home-target .home-story-weight .wl-hero-img {
    width: min(170px, 70vw);
    max-height: 190px;
  }

  body.home-target .home-story-weight .wl-btns-overlay {
    margin-top: 0;
    padding: 0 6px;
    gap: 10px;
    flex-direction: column;
  }

  body.home-target .home-story-weight .wl-btn {
    width: 100%;
    min-width: 0;
    padding: 13px 18px;
    font-size: 0.92rem;
  }

  body.home-target .home-story-weight .wl-cards {
    grid-template-columns: 1fr !important;
    padding: 0 6px 10px;
    margin-top: 16px;
    gap: 10px;
  }

  body.home-target .home-story-weight .wl-card {
    min-height: 190px;
    padding: 18px 0 18px 18px;
    text-align: left;
  }

  body.home-target .home-story-weight .wl-card-text {
    width: 56%;
    text-align: left;
    margin-bottom: 0;
    padding-right: 10px;
  }

  body.home-target .home-story-weight .wl-card-text h3 {
    font-size: 1.05rem;
    line-height: 1.28;
    margin-bottom: 10px;
  }

  body.home-target .home-story-weight .wl-card-btn {
    font-size: 0.82rem;
    padding: 9px 16px;
  }

  body.home-target .home-story-weight .wl-card-img-wrap {
    width: 44%;
    border-radius: 0 16px 16px 0;
  }

  body.home-target .home-story-ed {
    padding: 0 12px 18px;
  }

  body.home-target .home-story-ed .ed-banner-section {
    padding: 40px 0 16px;
    border-radius: 18px;
  }

  body.home-target .home-story-ed .ed-inner {
    padding: 0 16px;
  }

  body.home-target .home-story-ed .ed-heading {
    font-size: 1.85rem;
    line-height: 1.12;
  }

  body.home-target .home-story-ed .ed-hero-img-wrap {
    max-width: 100%;
    margin: 0 auto;
  }

  body.home-target .home-story-ed .ed-hero-img {
    max-height: 390px;
    width: 15rem;
    object-position: center bottom;
  }

  body.home-target .home-story-ed .ed-btns-overlay {
    bottom: 20px;
    left: 16px;
    right: 16px;
    padding: 0;
    gap: 10px;
    flex-direction: column;
  }

  body.home-target .home-story-ed .ed-btn {
    width: 100%;
    min-width: 0;
    padding: 13px 18px;
    font-size: 0.92rem;
  }

  /* Aggressive Mobile Optimization for Comparison Section */
  body.home-target .home-story-comparison {
    padding-top: 40px !important;
    /* Half of original padding */
  }

  body.home-target .home-story-comparison .comp-board {
    margin-top: 90px !important;
    /* Closest possible gap for the image */
  }

  body.home-target .home-story-comparison .comp-floating-img-wrap {
    width: 200px !important;
    /* Slightly larger image to fill space */
    bottom: calc(100% - 30px);
    /* Deep overlap to anchor it */
  }

  body.home-target .comp-heading {
    margin-bottom: 4px !important;
    font-size: 1.85rem !important;
    line-height: 1.1;
  }

  body.home-target .comp-sub {
    margin-top: 0 !important;
    font-size: 0.9rem;
    max-width: 260px;
    margin: 0 auto;
    opacity: 0.8;
  }
}

@media (max-width: 767px) {
  body.home-target .newsletter-hero {
    padding: 0;
    height: 28rem;
  }

  body.home-target .nl-hero-bg {
    position: absolute;
    inset: 0;
    background-size: contain;
    background-position: center bottom;
    opacity: 0.3;
  }

  body.home-target .nl-hero-bg::before {
    background: radial-gradient(circle at center, transparent 0%, rgba(255, 255, 255, 0.2) 60%, #fff 100%);
  }

  body.home-target .nl-hero-content {
    padding: 32px 18px 48px;
    text-align: center;
  }

  body.home-target .nl-hero-content h2 {
    font-size: 1.9rem;
    margin-bottom: 14px;
  }

  body.home-target .nl-hero-content>p {
    font-size: 0.95rem;
    margin: 0 auto 24px;
    max-width: 100%;
  }

  body.home-target .nl-hero-form {
    max-width: 100%;
    margin: 0 auto;
  }

  body.home-target .nl-hero-legal {
    max-width: 100%;
    margin: 18px auto 0;
    font-size: 0.78rem;
  }
}


body { font-family: 'Inter', sans-serif; }
        h1, h2, h3, h4, h5, h6, .display-4, .display-5 { font-family: 'Inter', sans-serif; }
        h1 span, h2 span, h3 span, h4 span, h5 span, h6 span, .display-4 span, .display-5 span { font-family: inherit; }

/* Hero Background & Blend */
    .hero-fuxx {
        background: linear-gradient(135deg, var(--hero-bg-color, #f5f3ff) 0%, #ffffff 100%) !important;
    }
    .hero-bg-wrapper {
        opacity: 0.6;
        mix-blend-mode: multiply;
    }
    
    /* Premium Button Interactive Styles */
    .btn-hero-premium {
        background-color: var(--primary-color) !important;
        border-color: var(--primary-color) !important;
        color: #ffffff !important;
        padding: 11px 24px !important;
        border-radius: 50px !important;
        font-weight: 600 !important;
        box-shadow: 0 4px 12px rgba(124, 58, 237, 0.4) !important;
        transition: transform 0.3s cubic-bezier(0.165, 0.84, 0.44, 1), box-shadow 0.3s ease, background-color 0.2s ease !important;
        position: relative;
        overflow: hidden;
    }
    
    .btn-hero-premium:hover {
        transform: translateY(-2px) scale(1.02) !important;
        background-color: var(--primary-hover) !important;
        border-color: var(--primary-hover) !important;
        color: #ffffff !important;
        box-shadow: 0 8px 24px rgba(124, 58, 237, 0.3) !important;
    }

    /* Trust Icons */
    .trust-icon-badge {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 2px 6px;
        border: 1px solid #dee2e6;
        border-radius: 4px;
        font-size: 0.75rem;
        background: #fff;
    }

    /* Categories Marquee */
    .categories-marquee-wrapper {
        width: 100%;
        overflow: hidden;
        position: relative;
        z-index: 10;
        mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
        -webkit-mask-image: linear-gradient(to right, transparent 0%, black 15%, black 85%, transparent 100%);
    }
    .categories-marquee-container {
        display: flex;
        width: 100%;
    }
    .categories-marquee-content {
        display: flex;
        gap: 15px;
        animation: marquee-scroll 120s linear infinite;
        padding: 10px 0;
        width: max-content;
        /* Pause the marquee when its section is off-screen so the GPU
           doesn't run the animation for elements the user can't see. */
        animation-play-state: running;
    }
    /* Disable the marquee animation entirely for users who prefer
       reduced motion (accessibility + perf win). */
    @media (prefers-reduced-motion: reduce) {
        .categories-marquee-content { animation: none; }
    }
    @keyframes marquee-scroll {
        0% { transform: translateX(0); }
        100% { transform: translateX(-50%); }
    }
    .category-pill {
        background: #ffffff;
        border: 1px solid rgba(138, 72, 255, 0.1);
        border-radius: 50px;
        padding: 10px 24px;
        color: #1a1a1a;
        font-weight: 600;
        font-size: 0.95rem;
        white-space: nowrap;
        box-shadow: 0 4px 12px rgba(0,0,0,0.04);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        display: inline-block;
    }
    .category-pill-link:hover .category-pill {
        background-color: var(--primary-color);
        color: #ffffff;
        transform: translateY(-3px);
        box-shadow: 0 8px 16px rgba(124, 58, 237, 0.25);
        border-color: var(--primary-color);
    }
    .category-pill-link {
        text-decoration: none !important;
    }

    /* Pause animation on hover */
    .categories-marquee-wrapper:hover .categories-marquee-content {
        animation-play-state: paused;
    }

.hero-ticker-badge {
                    display: inline-block;
                    position: relative;
                }

.btn-cta-pulse {
                        animation: ctaPulse 2.5s ease-in-out infinite;
                        position: relative;
                        border-radius: 50px !important;
                    }
                    @keyframes ctaPulse {
                        0%, 100% { box-shadow: 0 0 0 0 rgba(124, 58, 237, 0.4); }
                        50%       { box-shadow: 0 0 0 12px rgba(124, 58, 237, 0); }
                    }

.hiw-title  { font-size: 2.3rem; font-weight: 600; color: #221f2c; letter-spacing: 0; line-height: 1.12; font-family: 'Inter', sans-serif; }
        .hiw-sub    { font-size: 2.1rem; font-weight: 600; color: #6a40ee; letter-spacing: 0; line-height: 1.12; font-style: normal; font-family: 'Inter', sans-serif; }
        .hiw-badge  { display: inline-flex; align-items: center; gap: 8px; background: #d9d1ef; border: 1px solid #b8a6e8; border-radius: 999px; padding: 7px 16px; font-size: 0.82rem; font-weight: 700; color: #6548cf; box-shadow: 0 2px 10px rgba(95,78,156,0.12); }
        .hiw-dot    { width: 8px; height: 8px; background: #6a40ee; border-radius: 50%; flex-shrink: 0; animation: hiwDotPulse 2s ease-in-out infinite; }
        @keyframes hiwDotPulse { 0%,100%{box-shadow:0 0 0 0 rgba(106,64,238,0.45)} 50%{box-shadow:0 0 0 6px rgba(106,64,238,0)} }

        /* Deck layout — exact reference values */
        .hiw-deck   { display: flex; justify-content: center; align-items: flex-end; gap: 0; padding: 40px 0 20px; }
        .step-card-tilted {
            background: #efedf4;
            border: 1px solid rgba(214, 206, 231, 0.9);
            border-radius: 20px;
            padding: 28px 24px 20px;
            text-align: left;
            position: relative;
            overflow: hidden;
            width: 280px;
            flex-shrink: 0;
            min-height: 360px;
            box-shadow: 0 12px 30px rgba(82, 69, 124, 0.14), 0 1px 4px rgba(0,0,0,0.04);
            transition: transform 0.3s ease, box-shadow 0.3s ease, z-index 0s;
        }
        .step-card-tilted:hover {
            box-shadow: 0 18px 48px rgba(77, 61, 129, 0.24);
        }
        /* Exact transforms from reference */
        .tilt-left   { transform: rotate(-6deg) translateY(10px); z-index: 1; margin-right: -30px; }
        .tilt-center { transform: rotate(0deg) translateY(-20px); z-index: 2; }
        .tilt-right  { transform: rotate(6deg) translateY(10px);  z-index: 1; margin-left: -30px; }
        
        /* JS adds this class to raise the hovered card */
        .step-card-tilted.hiw-active { z-index: 10 !important; }
        .tilt-left.hiw-active   { transform: rotate(-4deg) translateY(0px) scale(1.02); }
        .tilt-center.hiw-active { transform: rotate(0deg)  translateY(-30px) scale(1.02); }
        .tilt-right.hiw-active  { transform: rotate(4deg)  translateY(0px) scale(1.02); }

        .step-num-tilted { width: 38px; height: 38px; background: #6a40ee; color: #fff; border-radius: 50%;
            display: inline-flex; align-items: center; justify-content: center;
            font-weight: 800; font-size: 1rem; margin-bottom: 16px; box-shadow: 0 6px 18px rgba(106,64,238,0.34); }
        .step-card-tilted h3 { font-family: 'Inter', sans-serif; font-size: 1.18rem; font-weight: 600; color: #24212d; line-height: 1.32; margin-bottom: 8px; }
        .step-card-tilted h3 span { color: #6a40ee; display: block; }
        .step-card-tilted > p { color: #666; font-size: 0.88rem; line-height: 1.6; margin-bottom: 16px; }
        .hiw-sub-items { 
            margin-top: 16px; 
            display: flex; 
            flex-wrap: wrap; 
            gap: 10px; 
            justify-content: center; 
        }
        .hiw-sub-item  { 
            flex: 1; 
            min-width: 100px;
            display: flex; 
            flex-direction: column; 
            align-items: center; 
            text-align: center;
            padding: 16px 8px;
            border: 1px solid #e7e2f3; 
            border-radius: 16px; 
            margin-bottom: 0px; 
            background: #f5f2fb;
            box-shadow: 0 4px 12px rgba(79, 63, 125, 0.08);
            transition: transform 0.2s ease;
        }
        .hiw-sub-item:hover { transform: translateY(-3px); border-color: #8c72e2; }
        .hiw-sub-item i { font-size: 1.5rem; margin-bottom: 10px; flex-shrink: 0; }
        .hiw-sub-item i.bi-box-seam { color: #6a40ee; }
        .hiw-sub-item i.bi-house { color: #e24b4a; }
        .hiw-sub-item-label { font-weight: 700; font-size: 0.78rem; color: #111; line-height: 1.2; margin-bottom: 4px; }
        .hiw-sub-item-desc  { font-size: 0.65rem; color: #777; line-height: 1.3; }
        .hiw-card-photo { display: block; width: 100%; margin-top: 20px; object-fit: cover; max-height: 190px; border-radius: 16px; }

@keyframes pulse-green {
    0%   { box-shadow: 0 0 0 0 rgba(34,197,94,0.45); }
    70%  { box-shadow: 0 0 0 7px rgba(34,197,94,0); }
    100% { box-shadow: 0 0 0 0 rgba(34,197,94,0); }
}
@keyframes pulse-grey {
    0%   { box-shadow: 0 0 0 0 rgba(180,180,180,0.45); }
    70%  { box-shadow: 0 0 0 7px rgba(180,180,180,0); }
    100% { box-shadow: 0 0 0 0 rgba(180,180,180,0); }
}

#online-doctors-widget {
    max-width: min(92vw, 520px);
    white-space: nowrap;
}

@media (max-width: 1200px) {
    #online-doctors-widget {
        left: auto !important;
        right: 12px !important;
        transform: none !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
        border-radius: 50px !important;
        padding: 10px 12px 10px 16px !important;
        gap: 10px !important;
    }

    #widget-online-text {
        font-size: 13px !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }

    #widget-cta {
        font-size: 12px !important;
        padding: 7px 14px !important;
        flex-shrink: 0 !important;
    }
}

@media (max-width: 560px) {
    #online-doctors-widget {
        right: 8px !important;
        border-radius: 50px !important;
        padding: 9px 10px 9px 14px !important;
    }

    #widget-online-text {
        font-size: 12px !important;
    }

    #widget-cta {
        font-size: 11px !important;
        padding: 6px 12px !important;
    }
}

.promo-banner {
            background: linear-gradient(180deg, #f2eff6 0%, #f0edf5 100%);
            color: #15141c;
            font-family: 'Inter', sans-serif;
            position: relative;
            z-index: 2;
            border-bottom: 1px solid rgba(151, 142, 175, 0.18);
            display: flex;
            justify-content: center;
            align-items: center;
            overflow: hidden;
            padding: 10px 16px;
        }

        .promo-banner .floral-left,
        .promo-banner .floral-right {
            position: absolute;
            top: 50%;
            width: 90px;
            height: 90px;
            transform: translateY(-50%);
            pointer-events: none;
            opacity: 0.55;
        }

        .promo-banner .floral-left {
            left: 18px;
            background:
                radial-gradient(circle at 30% 35%, rgba(154, 120, 228, 0.27) 0, rgba(154, 120, 228, 0.27) 14px, transparent 15px),
                radial-gradient(circle at 66% 45%, rgba(199, 183, 241, 0.28) 0, rgba(199, 183, 241, 0.28) 11px, transparent 12px),
                radial-gradient(circle at 44% 72%, rgba(171, 139, 235, 0.2) 0, rgba(171, 139, 235, 0.2) 16px, transparent 17px);
        }

        .promo-banner .floral-right {
            right: 18px;
            background:
                radial-gradient(circle at 62% 28%, rgba(154, 120, 228, 0.26) 0, rgba(154, 120, 228, 0.26) 13px, transparent 14px),
                radial-gradient(circle at 30% 52%, rgba(199, 183, 241, 0.24) 0, rgba(199, 183, 241, 0.24) 10px, transparent 11px),
                radial-gradient(circle at 58% 76%, rgba(171, 139, 235, 0.18) 0, rgba(171, 139, 235, 0.18) 15px, transparent 16px);
        }

        .promo-text {
            position: relative;
            z-index: 2;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
            gap: 4px;
            text-align: center;
            font-size: 0.95rem;
            line-height: 1.45;
        }

        .promo-text em {
            font-style: italic;
            color: #6b3ee9;
        }

        .promo-code {
            display: inline-block;
            padding: 0;
            border-radius: 0;
            background: transparent;
            color: #5b36d2;
            font-weight: 800;
            letter-spacing: 0.08em;
        }

        .promo-countdown {
            display: inline-flex;
            align-items: center;
            gap: 7px;
            margin-left: 10px;
        }

        .promo-countdown .cd-block {
            display: inline-flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-width: 30px;
            padding: 0;
            border-radius: 0;
            background: transparent;
            color: #6b3ee9;
            box-shadow: none;
        }

        .promo-countdown .cd-block>span {
            font-size: 0.95rem;
            font-weight: 800;
            line-height: 1.2;
            letter-spacing: 0.02em;
        }

        .promo-countdown .cd-block small {
            margin-top: 2px;
            font-size: 0.55rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: #55506a;
            opacity: 0.85;
        }

        .promo-countdown .cd-sep {
            font-weight: 800;
            color: #8b8598;
            transform: translateY(-3px);
            font-size: 0.9rem;
        }

        @media (max-width: 767px) {
            .promo-banner {
                padding: 10px 12px;
            }

            .promo-banner .floral-left,
            .promo-banner .floral-right {
                width: 54px;
                height: 54px;
                opacity: 0.38;
            }

            .promo-text {
                font-size: 0.82rem;
                gap: 3px;
            }

            .promo-countdown {
                width: 100%;
                justify-content: center;
                margin-left: 0;
                margin-top: 6px;
            }

            .promo-countdown .cd-block {
                min-width: 22px;
                padding: 0;
            }

            .promo-countdown .cd-block>span {
                font-size: 0.82rem;
            }

            .promo-countdown .cd-block small {
                font-size: 0.5rem;
            }
        }

/* ── Language switcher ───────────────────────────────────────── */
    .lang-switch {
        position: relative;
        display: inline-flex;
        align-items: center;
    }
    .lang-switch-toggle {
        /* width/height auto + !important — some page-scoped stylesheets
           (e.g. homepage.css) force .header-icon to a fixed
           42x42 circle; this switcher must stay content-sized regardless. */
        display: inline-flex !important;
        width: auto !important;
        height: auto !important;
        align-items: center;
        gap: 7px;
        background: #f5f3ff;
        border: 1px solid #e9e3ff;
        border-radius: 30px;
        padding: 7px 12px;
        cursor: pointer;
        font-family: 'Inter', sans-serif;
        font-size: 0.85rem;
        font-weight: 600;
        color: #4b2fae;
        line-height: 1;
        transition: background 0.2s, border-color 0.2s;
        white-space: nowrap;
        flex-shrink: 0;
    }
    .lang-switch-toggle:hover {
        background: #ece6ff;
        border-color: #d6c9ff;
    }
    .lang-switch-flag {
        width: 22px;
        height: 15px;
        object-fit: cover;
        border-radius: 3px;
        display: block;
        flex-shrink: 0;
    }
    .lang-switch-caret {
        font-size: 0.7rem;
        transition: transform 0.2s;
        opacity: 0.7;
    }
    .lang-switch.open .lang-switch-caret {
        transform: rotate(180deg);
    }
    .lang-switch-menu {
        position: absolute;
        top: calc(100% + 8px);
        right: 0;
        min-width: 180px;
        background: #fff;
        border: 1px solid rgba(0, 0, 0, 0.06);
        border-radius: 14px;
        box-shadow: 0 15px 40px rgba(0, 0, 0, 0.12);
        padding: 6px;
        z-index: 2100;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-6px);
        transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s;
    }
    .lang-switch.open .lang-switch-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }
    .lang-switch-item {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
        border-radius: 9px;
        color: #1a1a1a;
        text-decoration: none;
        font-size: 0.9rem;
        font-weight: 500;
        transition: background 0.15s;
    }
    .lang-switch-item:hover {
        background: #f5f3ff;
        color: #4b2fae;
    }
    .lang-switch-item.is-active {
        background: #f0ebff;
        color: #4b2fae;
        font-weight: 700;
    }
    .lang-switch-check {
        margin-left: auto;
        color: #7b42f6;
        font-size: 1rem;
        display: none;
    }
    .lang-switch-item.is-active .lang-switch-check {
        display: inline-block;
    }
    /* Tablet / mobile — hide the text label, keep just the flag + caret so
       the navbar stays uncluttered. The dropdown still shows full names. */
    @media (max-width: 991px) {
        .lang-switch-label { display: none; }
        .lang-switch-toggle { padding: 8px 10px; }
    }
    @media (max-width: 480px) {
        .lang-switch-menu { right: -8px; min-width: 168px; }
    }

    .sidebar-overlay {
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        max-width: 400px;
        height: 100%;
        background: #fff;
        z-index: 2000;
        transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        transform: translateX(100%);
        box-shadow: -10px 0 30px rgba(0, 0, 0, 0.05);
        display: flex;
        flex-direction: column;
        padding: 24px;
        font-family: 'Inter', sans-serif;
    }

    .sidebar-overlay.active {
        transform: translateX(0);
    }

    /* Search Suggestions Styles */
    .header-search {
        position: relative;
    }

    .search-suggestions-container {
        position: absolute;
        top: calc(100% + 14px);
        right: 0;
        left: auto;
        background: #fff;
        border-radius: 16px;
        box-shadow: 0 15px 50px rgba(0, 0, 0, 0.12);
        max-height: 400px;
        overflow-y: auto;
        z-index: 2000;
        display: none;
        padding: 14px;
        width: 300px;
        /* Matches .header-search.active .search-form width */
        border: 1px solid rgba(0, 0, 0, 0.05);
    }

    @media (max-width: 768px) {
        .search-suggestions-container {
            width: calc(100vw - 30px);
            right: 15px;
            top: 60px;
            position: fixed;
        }
    }

    .search-suggestions-container.active {
        display: block;
    }

    .suggestion-item {
        display: block;
        padding: 9px 15px;
        color: #1a1a1a;
        text-decoration: none;
        transition: all 0.2s ease-out;
        border-radius: 30px;
        margin-bottom: 8px;
        font-size: 0.85rem;
        background: #f9f9f9;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-weight: 500;
        border: 1px solid #f0f0f0;
    }

    .suggestion-item:last-child {
        margin-bottom: 0;
    }

    .suggestion-item:hover {
        background: #fff;
        color: #7b42f6;
        border-color: #7b42f6;
        box-shadow: 0 4px 15px rgba(123, 66, 246, 0.1);
        transform: translateY(-2px);
    }

    .suggestion-item mark {
        background: none;
        color: #10b981;
        /* Green highlight like in reference */
        padding: 0;
        font-weight: 700;
    }

    .suggestion-type-label {
        font-size: 0.65rem;
        text-transform: uppercase;
        letter-spacing: 1.2px;
        color: #bbb;
        margin: 15px 0 8px 14px;
        font-weight: 800;
    }

    .suggestion-type-label:first-child {
        margin-top: 5px;
    }

    .sidebar-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 24px;
    }

    .sidebar-header h2 {
        font-size: 1.5rem;
        font-weight: 800;
        color: #1a1a1a;
        margin: 0;
    }

    .sidebar-close {
        width: 36px;
        height: 36px;
        background: #f3f0ff;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        cursor: pointer;
        transition: all 0.2s;
    }

    .sidebar-close:hover {
        background: #e7e0ff;
        transform: scale(1.05);
    }

    .sidebar-close i {
        font-size: 1.5rem;
        color: #1a1a1a;
    }

    /* Toggle Buttons */
    .sidebar-toggles {
        display: flex;
        gap: 12px;
        margin-bottom: 32px;
    }

    .toggle-btn {
        flex: 1;
        padding: 12px;
        border-radius: 30px;
        border: 1px solid #eee;
        background: #fff;
        font-weight: 700;
        font-size: 0.95rem;
        cursor: pointer;
        transition: all 0.3s;
        text-align: center;
    }

    .toggle-btn.active {
        background: #7b42f6;
        color: #fff;
        border-color: #7b42f6;
        box-shadow: 0 4px 15px rgba(123, 66, 246, 0.2);
    }

    /* Solo variant: when the toggle bar contains only "Mit Rezept" (the
       "Ohne Rezept" option was removed). Don't stretch full-width like a
       half-broken segmented control — render as a compact pill aligned
       to the left, with the brand icon inline. */
    .toggle-btn-solo {
        flex: 0 0 auto;
        padding: 10px 22px;
        cursor: default;
        display: inline-flex;
        align-items: center;
    }
    .toggle-btn-solo i { font-size: 1rem; }

    /* Menu List */
    .sidebar-content {
        flex: 1;
        overflow-y: auto;
        margin-right: -10px;
        padding-right: 10px;
    }

    .sidebar-menu {
        list-style: none;
        padding: 0;
        margin: 0;
    }

    .menu-section-header {
        color: #999;
        font-size: 0.75rem;
        font-weight: 800;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        margin: 24px 0 16px 0;
        padding-left: 4px;
    }

    .sidebar-menu li {
        margin-bottom: 8px;
    }

    .sidebar-menu a {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 14px 16px;
        color: #1a1a1a;
        text-decoration: none;
        font-weight: 600;
        font-size: 1.05rem;
        border-radius: 12px;
        transition: all 0.2s;
    }

    .sidebar-menu a:hover {
        background: #f8f6ff;
        color: #7b42f6;
    }

    .menu-label-wrapper {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .badge-neu {
        background: #7b42f6;
        color: #fff;
        font-size: 0.6rem;
        font-weight: 900;
        padding: 2px 8px;
        border-radius: 20px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
    }

    .menu-arrow {
        color: #ccc;
        font-size: 0.9rem;
        transition: transform 0.2s;
    }

    .sidebar-menu a:hover .menu-arrow {
        transform: translateX(4px);
        color: #7b42f6;
    }

    /* Mobile adjustments */
    @media (max-width: 480px) {
        .sidebar-overlay {
            max-width: 100%;
        }
    }

    /* Submenu Styles */
    .has-submenu .menu-arrow {
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .has-submenu.open .menu-arrow {
        transform: rotate(90deg);
        color: #7b42f6;
    }

    .sidebar-submenu {
        list-style: none;
        padding: 0;
        margin: 0;
        max-height: 0;
        overflow: hidden;
        transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
        background: #f9f9ff;
        border-radius: 0 0 12px 12px;
        opacity: 0;
    }

    .has-submenu.open+.sidebar-submenu {
        max-height: 2000px;
        /* Allow for many subcategories */
        margin-bottom: 12px;
        opacity: 1;
        padding: 8px 0;
    }

    .sidebar-submenu li {
        margin-bottom: 2px;
    }

    .sidebar-submenu li a {
        padding: 10px 16px 10px 48px !important;
        font-size: 0.95rem !important;
        font-weight: 500 !important;
        color: #666 !important;
        background: transparent !important;
    }

    .sidebar-submenu li a:hover {
        color: #7b42f6 !important;
        background: #f1eeff !important;
    }

    /* ── Drill-down sidebar panels ─────────────────────────────── */
    .sidebar-content {
        position: relative;
        overflow: hidden;
        flex: 1;
    }
    .sidebar-panel {
        position: absolute;
        top: 0; left: 0;
        width: 100%;
        height: 100%;
        overflow-y: auto;
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
        will-change: transform;
    }
    .sidebar-panel.panel-main  { transform: translateX(0); }
    .sidebar-panel.panel-sub   { transform: translateX(100%); }

    /* When a sub-panel is active */
    .sidebar-content.drilled .panel-main { transform: translateX(-100%); }
    .sidebar-content.drilled .panel-sub  { transform: translateX(0); }

    /* Back row */
    .sidebar-back-row {
        display: flex;
        align-items: center;
        gap: 10px;
        padding: 14px 4px 18px;
        cursor: pointer;
        font-weight: 700;
        font-size: 1rem;
        color: #7b42f6;
        border-bottom: 1px solid #eee;
        margin-bottom: 8px;
    }
    .sidebar-back-row i { font-size: 1.1rem; }
    .sidebar-back-row:hover { opacity: .75; }

    /* Parent-row items (has sub-items) */
    .has-submenu > .menu-parent-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 14px 4px;
        cursor: pointer;
        font-weight: 600;
        color: #2d2d2d;
        border-radius: 12px;
        transition: background 0.2s, color 0.2s;
    }
    .has-submenu > .menu-parent-row:hover { color: #7b42f6; }
    .has-submenu > .menu-parent-row .submenu-arrow { transition: transform 0.3s; }


    /* Keep the widget host RENDERABLE — off-screen, NOT display:none.
       Google's translation engine stops functioning entirely if its
       host element is display:none (the goog-te-combo <select> is
       never built), so we clip it off-screen instead. */
    #google_translate_element {
        position: absolute !important;
        width: 1px !important;
        height: 1px !important;
        overflow: hidden !important;
        clip: rect(0 0 0 0) !important;
        left: -9999px !important;
        top: 0 !important;
    }

/* Collapsible mobile footer styles moved to new-design.css */