:root {
  --active-w: 75%;
  --side-w: 55%;
  --radius: 10px;
  --blue-rgb: 10 110 180;
  --pink-rgb: 202 22 96;
  --purp-rgb: 114 48 104;
}
h2.carouselH2{transform:translateY(60px);}
#carousel-3way{padding:80px 0;}
#carousel-3way h2{margin-bottom:0;color:var(--white);max-width:calc(100vw - 20px)!important;text-align:center!important}
#carousel-3way p.goldSub{font-size:1.1rem;color:var(--white);width:70ch!important;max-width:calc(100vw - 20px)!important;margin-top:10px;margin-bottom:40px;text-align:center!important}
.carousel-3way{position:relative;max-width:900px;margin:0px auto 80px auto;user-select:none;}
.carousel-3way__viewport{position:relative;height:420px;touch-action:pan-y;}
.carousel-3way__track{position:relative;height:100%;}
.card-3way{position:absolute;top:0;left:50%;width:var(--side-w);max-width:600px;height:auto;transform:translateX(-50%);border-radius:50px;overflow:hidden;box-sizing:border-box;transition:transform 420ms cubic-bezier(.2,.8,.2,1),width 0ms cubic-bezier(.2,.8,.2,1),opacity 420ms ease,filter 420ms ease,z-index 0ms linear 0ms;}
.card-3way img{width:100%;height:300px;object-fit:cover;object-position:top;display:block;z-index:-1;}
.cardHeading-3way {position:relative;padding:20px 30px;padding-bottom:30px;color:var(--white);text-align:center;}
.cardHeading-3way::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% -70%,rgba(40,38,42,0) 50%,rgba(40,38,42,0.5) 100%);z-index:0;pointer-events:none;opacity:0.8;}
.cardHeading-3way a,.cardHeading-3way .subTitle,.cardHeading-3way p{position:relative;z-index:2;color:var(--white);}
.cardHeading-3way p{margin-top:20px;margin-bottom:0;padding:0;line-height:1}
.cardHeading-3way span.price{font-size:1.6rem;display:block;margin-top:0px;padding:0}
.cardHeading-3way span.subTitle::after {display:block;padding-top:20px;content:'Find out more →';}
/*.card-3way a::after{content:' →';}
.card-3way a:hover{text-decoration:underline} */
.card-3way h3{margin:0;padding-top:3px;font-size:1.6rem;font-family:'bold'}
.cardBody-3way{padding:20px 30px 30px;color:var(--white);overflow:hidden;max-height:calc(100% - 300px - 72px);-webkit-overflow-scrolling:touch;display:none;}
a .card-3way {transition:border filter ease 0.75s}
a .card-3way:hover {filter:brightness(1.2);border:transparent solid 2px}
@media (max-width:520px){
.cardHeading-3way{padding:16px 20px;}
.cardBody-3way{padding:16px 20px 20px;max-height:calc(100% - 260px - 64px);}
.card-3way img{height:260px;}
.cardBody-3way p{margin-bottom:8px;}
}

.card-3way.is-active{width:var(--active-w);transform:translateX(-50%) scale(1);z-index:3;opacity:1;filter:none;box-shadow:0 16px 50px rgba(20,20,20,0.8);}
.card-3way.is-left{transform:translateX(-50%) translateX(-50%) scale(.75);z-index:1;opacity:.5;filter:blur(2px);box-shadow:0 10px 22px rgba(0,0,0,.12);}
.card-3way.is-right{transform:translateX(-50%) translateX(50%) scale(.75);z-index:1;opacity:.5;filter:blur(2px);box-shadow:0 10px 22px rgba(0,0,0,.12);}
.card-3way:not(.is-active) .cardBody-3way p{font-size:0.9em;margin-bottom:6px;}
.card-3way:not(.is-active){pointer-events:none;}
.card-3way.is-active{pointer-events:auto;}
.nav-3way{position:absolute;bottom:-48px;transform:translateY(-50%);width:clamp(44px,8vw,80px);height:clamp(44px,8vw,80px);border:none;border-radius:999px;background:none;color:var(--white);font-size:44px;cursor:pointer;display:grid;place-items:center;transition:background 0.25s ease-in-out;z-index:100;opacity:0.8}
.nav-3way--prev{left:10px;}
.nav-3way--next{right:10px;}
.nav-3way--prev:hover{opacity:1;text-shadow:white 0 0 5px}
.nav-3way--next:hover{opacity:1;text-shadow:white 0 0 5px}
.nav-3way:active{transform:translateY(-50%) scale(.96);}


/* =========================
   CAROUSEL CONTAINER (3way_v2)
   ========================= */

.carousel-3way_v2 {
  position: relative;
  max-width: 100%;
  margin: 80px auto ; /* remove later */
  user-select: none;
}

/* Reserve a stable height so the page never jumps */
.carousel-3way_v2__viewport {
  position: relative;
  height: 620px;              /* desktop default */
  touch-action: pan-y;
}

.carousel-3way_v2__track {
  position: relative;
  height: 100%;
}

/* =========================
   CARD BASE (3way_v2)
   ========================= */

.card-3way_v2 {
  position: absolute;
  top: 0;                     /* anchor cards to top */
  left: 50%;
  width: var(--side-w);
  max-width: 800px;
  height: 100%;               /* fill reserved viewport */
  transform: translateX(-50%);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--black);
  border: 1px solid rgba(20,20,20,1);
  box-sizing: border-box;

  transition:
	transform 420ms cubic-bezier(.2,.8,.2,1),
	width 0ms cubic-bezier(.2,.8,.2,1),
	opacity 420ms ease,
	filter 420ms ease,
	z-index 0ms linear 0ms;
}

/* =========================
   CARD CONTENT (3way_v2)
   ========================= */

.card-3way_v2 img {
  width: 100%;
  height: 300px;
  object-fit: cover;
  object-position: top;
  display: block;
  z-index: -1;
}

.cardHeading-3way_v2 {
  padding: 20px 30px;
  color: var(--white);
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.592);
  z-index: 1;
  position: relative;
  z-index: 2;
}

.cardHeading-3way_v2::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -50px;
  height: 50px;
  background: linear-gradient(
	to top,
	rgba(0,0,0,.1),
	rgba(0,0,0,0)
  );
  pointer-events: none;
}

.card-3way_v2 h3 {
  margin: 0;
  padding-top: 3px;
 
  text-align: left;
  font-size: 1.6rem;
  font-family: 'bold';
}

.cardBody-3way_v2 {
  padding: 20px 30px 30px;
  color: var(--white);

  /* Allow long copy without breaking layout */
  overflow: hidden;
  max-height: calc(100% - 300px - 72px);
  -webkit-overflow-scrolling: touch;
}

.cardBody-3way_v2 p {
  margin: 0 0 12px;
}

.cardBody-3way_v2 p:last-child {
  margin-bottom: 0;
}

/* Responsive height tuning */
@media (max-width: 1000px) {
  .carousel-3way_v2__viewport { height: 600px; }
  .card-3way_v2 img { height: 260px; }
}

@media (max-width: 800px) {
  .carousel-3way_v2__viewport { height: 640px; }
  .cardBody-3way_v2 { overflow: auto; }
}

/* Slightly tighter copy on small screens */
@media (max-width: 520px) {
  .cardHeading-3way_v2 { padding: 16px 20px; }
  .cardBody-3way_v2 {
	padding: 16px 20px 20px;
	max-height: calc(100% - 260px - 64px);
  }
  .card-3way_v2 img { height: 260px; }
  .cardBody-3way_v2 p { margin-bottom: 8px; }
}

/* =========================
   STACKED / DEPTH STAGING (3way_v2)
   ========================= */

.card-3way_v2.is-active {
  width: var(--active-w);
  transform: translateX(-50%) scale(1);
  z-index: 3;
  opacity: 1;
  filter: none;
  box-shadow: 0 16px 50px rgba(20,20,20,0.7);
}

.card-3way_v2.is-left {
  transform: translateX(-50%) translateX(-50%) scale(.75);
  z-index: 1;
  opacity: .5;
  filter: blur(2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

.card-3way_v2.is-right {
  transform: translateX(-50%) translateX(50%) scale(.75);
  z-index: 1;
  opacity: .5;
  filter: blur(2px);
  box-shadow: 0 10px 22px rgba(0,0,0,.12);
}

.card-3way_v2:not(.is-active) .cardBody-3way_v2 p {
  font-size: 0.9em;
  margin-bottom: 6px;
}

.card-3way_v2:not(.is-active) {
  pointer-events: none;
}
.card-3way_v2.is-active {
  pointer-events: auto;
}

/* =========================
   NAVIGATION (3way_v2)
   ========================= */

.nav-3way_v2 {
  position: absolute;
  top: 50%;                  /* fixed in reserved height */
  transform: translateY(-50%);
  width:clamp(44px, 8vw, 80px);
  height: clamp(44px, 8vw, 80px);
  border: none;
  border-radius: 999px;
  background: rgba(255,255,255,.3);
  box-shadow: 0 8px 20px rgba(0,0,0,.15);
  font-size: 44px;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background 0.25s ease-in-out;
  z-index: 100;
}

.nav-3way_v2--prev { left: 10px; }
.nav-3way_v2--next { right: 10px; }

.nav-3way_v2--prev:hover {background:var(--white)} 
.nav-3way_v2--next:hover {background:var(--white)} 

.nav-3way_v2:active {
  transform: translateY(-50%) scale(.96);
}
.cardHeading-3way_v2.pinkBack {
	background:linear-gradient(135deg, 
	rgb(var(--pink-rgb) / 0.6) 0%,  
	rgb(var(--pink-rgb) / 0.6) 60%,  
	rgb(var(--pink-rgb) / 0.5) 60%,
	rgb(var(--pink-rgb) / 0.5) 70%,
	rgb(var(--pink-rgb) / 0.4) 70%,
	rgb(var(--pink-rgb) / 0.4) 80%,
	rgb(var(--pink-rgb) / 0.3) 80%,
	rgb(var(--pink-rgb) / 0.3) 90%,
	rgb(var(--pink-rgb) / 0.2) 90%,
	rgb(var(--pink-rgb) / 0.2) 100%)
}
.cardHeading-3way_v2.purpBack {
	background:linear-gradient(135deg, 
	rgb(var(--purp-rgb) / 0.6) 0%,  
	rgb(var(--purp-rgb) / 0.6) 60%,  
	rgb(var(--purp-rgb) / 0.5) 60%,
	rgb(var(--purp-rgb) / 0.5) 70%,
	rgb(var(--purp-rgb) / 0.4) 70%,
	rgb(var(--purp-rgb) / 0.4) 80%,
	rgb(var(--purp-rgb) / 0.3) 80%,
	rgb(var(--purp-rgb) / 0.3) 90%,
	rgb(var(--purp-rgb) / 0.2) 90%,
	rgb(var(--purp-rgb) / 0.2) 100%)
}

.cardHeading-3way_v2.blueBack {
	background:linear-gradient(135deg, 
	rgb(var(--blue-rgb) / 0.6) 0%,  
	rgb(var(--blue-rgb) / 0.6) 60%,  
	rgb(var(--blue-rgb) / 0.5) 60%,
	rgb(var(--blue-rgb) / 0.5) 70%,
	rgb(var(--blue-rgb) / 0.4) 70%,
	rgb(var(--blue-rgb) / 0.4) 80%,
	rgb(var(--blue-rgb) / 0.3) 80%,
	rgb(var(--blue-rgb) / 0.3) 90%,
	rgb(var(--blue-rgb) / 0.2) 90%,
	rgb(var(--blue-rgb) / 0.2) 100%)
}