/* HIKE THE STRIP: full render (Cards + Connectors + Tracks + Headers/Footers)
   Fixes:
   1) Mobile cards too wide, tracks stay visible
   2) Footer labels pinned, lifted to match header gap
   3) Tracks stop above footer row
   4) Dot pulse from center, NO track showing through
   5) Less black buffer at bottom
   6) BLUE neon boosted (cleaner, brighter)
*/
 
:root{
  --bg: #000;
  --pink: #ff1493;
  --green: #39FF14;
  --blue: #00bfff;
 
  /* Blue tuning (clean neon) */
  --blueCore: rgba(170, 245, 255, 0.95);  /* near-white cyan */
  --blueGlow1: rgba(0, 191, 255, 0.95);
  --blueGlow2: rgba(0, 191, 255, 0.70);
  --blueGlow3: rgba(0, 191, 255, 0.50);
 
  --edgePad: 22px;
  --dotOffset: 10px;
 
  --radius: 12px;
  --lineH: 3px;
 
  /* Card sizing */
  --cardMax: 560px;
  --cardMin: 300px;
 
  --cardW: min(
    var(--cardMax),
    max(var(--cardMin), calc(100vw - (2 * var(--edgePad)) - 96px))
  );
 
  --trackTop: 54px;
 
  /* Footer geometry */
  --footerH: 70px;
  --footerPadBottom: 18px;
  --footerLift: 18px;
 
  --stagePadBottom: calc(var(--footerH) + var(--footerPadBottom) + var(--footerLift));
  --trackBottom: calc(var(--footerH) + var(--footerPadBottom) + var(--footerLift));
}
 
html, body{
  margin:0;
  padding:0;
  background: var(--bg);
  color:#fff;
  overflow-x: hidden;
}
 
#vegasStripEmbedRoot{
  position: relative;
  width: 100%;
  background: var(--bg);
  box-sizing: border-box;
  isolation: isolate;
  font-family: 'Open Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}
#vegasStripEmbedRoot *{ box-sizing: border-box; }
 
/* Stage */
#vegasStripEmbedRoot .strip-stage{
  position: relative;
  width: 100%;
  background: var(--bg);
  overflow: hidden;
  padding-bottom: var(--stagePadBottom);
}
 
/* Bottom fade, short */
#vegasStripEmbedRoot .strip-stage::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height: 84px;
  background: linear-gradient(to bottom, rgba(0,0,0,0), #000 72%);
  z-index: 2;
  pointer-events:none;
}
 
/* Vertical tracks */
#vegasStripEmbedRoot .pink-track,
#vegasStripEmbedRoot .las-vegas-blvd,
#vegasStripEmbedRoot .blue-track{
  position: absolute;
  top: var(--trackTop);
  bottom: var(--trackBottom);
  width: var(--lineH);
  z-index: 1;
  pointer-events: none;
}
 
#vegasStripEmbedRoot .pink-track{
  left: var(--edgePad);
  background: var(--pink);
  box-shadow: 0 0 10px var(--pink), 0 0 20px var(--pink);
}
 
#vegasStripEmbedRoot .las-vegas-blvd{
  left: 50%;
  transform: translateX(-50%);
  background: var(--green);
  box-shadow: 0 0 10px var(--green), 0 0 20px var(--green);
  animation: pulseTrackGreen 3s ease-in-out infinite;
}
 
#vegasStripEmbedRoot .blue-track{
  right: var(--edgePad);
  background: var(--blue);
  box-shadow:
    0 0 10px var(--blueGlow1),
    0 0 22px var(--blueGlow2),
    0 0 36px var(--blueGlow3);
}
 
/* Header labels row */
#vegasStripEmbedRoot .labels-row{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 10;
  padding: 16px 0 18px 0;
}
 
/* Footer pinned, lifted */
#vegasStripEmbedRoot .labels-row-bottom{
  position: absolute;
  left: 0;
  right: 0;
  bottom: var(--footerLift);
  z-index: 10;
  padding: 16px 0 var(--footerPadBottom) 0;
  margin: 0;
}
 
#vegasStripEmbedRoot .label{
  font-size: 1.05em;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 2px;
  padding: 4px 10px;
  background: var(--bg);
  white-space: nowrap;
}
 
#vegasStripEmbedRoot .label-west{
  color: var(--pink);
  text-shadow: 0 0 10px var(--pink);
  transform: translateX(-10px);
}
#vegasStripEmbedRoot .label-center{
  color: var(--green);
  text-shadow: 0 0 10px var(--green);
}
#vegasStripEmbedRoot .label-east{
  color: var(--blue);
  text-shadow:
    0 0 10px var(--blueGlow1),
    0 0 18px var(--blueGlow2);
  transform: translateX(10px);
}
 
/* Sections */
#vegasStripEmbedRoot .strip-section{
  position: relative;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  margin: 46px 0;
  z-index: 3;
}
 
/* Station wrapper */
#vegasStripEmbedRoot .station{
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: stretch;
  padding: 0 16px;
}
 
/* Link wrapper */
#vegasStripEmbedRoot .station-link{
  display: block;
  width: var(--cardW);
  margin: 0 auto;
  text-decoration: none;
}
 
/* Card */
#vegasStripEmbedRoot .station-card{
  background: var(--bg);
  border-radius: var(--radius);
  overflow: hidden;
  width: 100%;
  min-height: 300px;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 4;
}
 
/* Card borders by side */
#vegasStripEmbedRoot .station-card.side-west{
  border: 2px solid var(--pink);
  box-shadow: 0 0 22px rgba(255, 20, 147, 0.35);
}
#vegasStripEmbedRoot .station-card.side-east{
  border: 2px solid var(--blue);
  box-shadow:
    0 0 18px var(--blueGlow2),
    0 0 34px var(--blueGlow3);
}
#vegasStripEmbedRoot .station-card.side-center{
  border: 2px solid var(--green);
  box-shadow: 0 0 22px rgba(57, 255, 20, 0.30);
}
 
/* Image */
#vegasStripEmbedRoot .property-image{
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
  flex-shrink: 0;
}
 
/* Placeholder image */
#vegasStripEmbedRoot .image-placeholder{
  width: 100%;
  height: 220px;
  display: block;
  flex-shrink: 0;
  background:
    radial-gradient(circle at 20% 20%, rgba(57,255,20,0.35), transparent 55%),
    radial-gradient(circle at 80% 30%, rgba(0,191,255,0.30), transparent 60%),
    radial-gradient(circle at 40% 80%, rgba(255,20,147,0.28), transparent 60%),
    linear-gradient(135deg, rgba(255,255,255,0.04), rgba(0,0,0,0.0));
}
 
/* Text */
#vegasStripEmbedRoot .card-content{
  padding: 20px 24px 22px 24px;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
 
#vegasStripEmbedRoot .station-card h3{
  margin: 0 0 10px 0;
  font-size: 1.35em;
  font-weight: 700;
  line-height: 1.1;
}
 
#vegasStripEmbedRoot .station-card.side-west h3{
  color: var(--pink);
  text-shadow: 0 0 10px var(--pink);
}
#vegasStripEmbedRoot .station-card.side-east h3{
  color: var(--blue);
  text-shadow:
    0 0 10px var(--blueGlow1),
    0 0 20px var(--blueGlow2),
    0 0 34px var(--blueGlow3);
}
#vegasStripEmbedRoot .station-card.side-center h3{
  color: var(--green);
  text-shadow: 0 0 10px var(--green);
}
 
#vegasStripEmbedRoot .station-card p{
  color: #fff;
  margin: 0;
  font-size: 0.95em;
  line-height: 1.65;
}
 
/* Dots */
#vegasStripEmbedRoot .west-dot,
#vegasStripEmbedRoot .east-dot{
  position: absolute;
  top: 50%;
  width: 18px;
  height: 18px;
  z-index: 6;
  pointer-events: none;
  background: transparent;
  border-radius: 50%;
}
 
#vegasStripEmbedRoot .west-dot{
  left: calc(var(--edgePad) + 1px);
  transform: translate(-50%, -50%);
}
 
#vegasStripEmbedRoot .east-dot{
  right: calc(var(--edgePad) + 1px);
  transform: translate(50%, -50%);
}
 
/* Core disc (solid, hides track) */
#vegasStripEmbedRoot .west-dot::before,
#vegasStripEmbedRoot .east-dot::before{
  content:'';
  position:absolute;
  inset: 2px;
  border-radius: 50%;
  background: #000;
  z-index: 1;
}
 
/* Ring + glow */
#vegasStripEmbedRoot .west-dot::after,
#vegasStripEmbedRoot .east-dot::after{
  content:'';
  position:absolute;
  inset: 0;
  border-radius: 50%;
  z-index: 2;
}
 
#vegasStripEmbedRoot .west-dot::after{
  border: 3px solid var(--pink);
  box-shadow:
    0 0 8px rgba(255,20,147,0.80),
    0 0 18px rgba(255,20,147,0.60),
    0 0 32px rgba(255,20,147,0.42);
  animation: pulsePinkRing 2.4s ease-in-out infinite;
}
 
/* Blue dot: add a crisp inner cyan halo to avoid “mud” */
#vegasStripEmbedRoot .east-dot::after{
  border: 3px solid var(--blueCore);
  box-shadow:
    0 0 0 2px rgba(0,191,255,0.95),
    0 0 10px rgba(170,245,255,0.95),
    0 0 22px var(--blueGlow2),
    0 0 40px var(--blueGlow3);
  animation: pulseBlueRing 2.4s ease-in-out infinite;
}
 
/* Horizontal connectors */
#vegasStripEmbedRoot .west-connector{
  position: absolute;
  left: calc(var(--edgePad) + var(--dotOffset));
  right: calc(50% - (var(--cardW) / 2));
  top: 50%;
  transform: translateY(-50%);
  height: var(--lineH);
  background: var(--pink);
  z-index: 3;
  pointer-events: none;
  box-shadow: 0 0 12px rgba(255,20,147,0.55);
}
 
#vegasStripEmbedRoot .east-connector{
  position: absolute;
  right: calc(var(--edgePad) + var(--dotOffset));
  left: calc(50% + (var(--cardW) / 2));
  top: 50%;
  transform: translateY(-50%);
  height: var(--lineH);
  background: var(--blue);
  z-index: 3;
  pointer-events: none;
  box-shadow:
    0 0 12px var(--blueGlow2),
    0 0 22px var(--blueGlow3);
}
 
/* Center connector vertical stub */
#vegasStripEmbedRoot .center-stub{
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: calc(100% - 10px);
  width: var(--lineH);
  height: 18px;
  background: var(--green);
  box-shadow: 0 0 8px var(--green);
  z-index: 2;
  pointer-events: none;
}
 
/* Green connection card */
#vegasStripEmbedRoot .distance-connector{
  position: relative;
  width: 100%;
  margin: 26px 0;
  display: flex;
  justify-content: center;
  z-index: 3;
  padding: 0 16px;
}
 
#vegasStripEmbedRoot .connector-card{
  width: var(--cardW);
  background: var(--bg);
  border: 2px solid var(--green);
  border-radius: var(--radius);
  padding: 16px 18px;
  box-shadow: 0 0 22px rgba(57, 255, 20, 0.28);
  text-align: center;
  position: relative;
  z-index: 4;
}
 
#vegasStripEmbedRoot .connector-label{
  color: var(--green);
  text-transform: uppercase;
  font-size: 0.78em;
  letter-spacing: 2px;
  font-weight: 700;
  margin-bottom: 8px;
  text-shadow: 0 0 10px var(--green);
}
 
#vegasStripEmbedRoot .connector-value{
  color: #fff;
  font-size: 0.98em;
  line-height: 1.35;
  font-weight: 700;
}
 
/* Animations */
@keyframes pulsePinkRing{
  0%,100%{
    box-shadow:
      0 0 8px rgba(255,20,147,0.80),
      0 0 18px rgba(255,20,147,0.60),
      0 0 32px rgba(255,20,147,0.42);
  }
  50%{
    box-shadow:
      0 0 12px rgba(255,20,147,0.92),
      0 0 26px rgba(255,20,147,0.72),
      0 0 44px rgba(255,20,147,0.54);
  }
}
 
@keyframes pulseBlueRing{
  0%,100%{
    box-shadow:
      0 0 0 2px rgba(0,191,255,0.95),
      0 0 10px rgba(170,245,255,0.95),
      0 0 22px rgba(0,191,255,0.70),
      0 0 40px rgba(0,191,255,0.50);
  }
  50%{
    box-shadow:
      0 0 0 3px rgba(0,191,255,0.98),
      0 0 14px rgba(205,250,255,0.98),
      0 0 30px rgba(0,191,255,0.78),
      0 0 54px rgba(0,191,255,0.58);
  }
}
 
@keyframes pulseTrackGreen{
  0%,100%{ box-shadow: 0 0 10px var(--green), 0 0 20px var(--green); }
  50%{ box-shadow: 0 0 16px var(--green), 0 0 30px var(--green); }
}
 
/* Mobile tweaks */
@media (max-width: 520px){
  :root{
    --edgePad: 16px;
 
    --cardMin: 280px;
    --cardMax: 520px;
 
    --cardW: min(
      var(--cardMax),
      max(var(--cardMin), calc(100vw - (2 * var(--edgePad)) - 112px))
    );
 
    --footerH: 76px;
    --footerPadBottom: 14px;
    --footerLift: 20px;
  }
 
  #vegasStripEmbedRoot .station{ padding: 0 12px; }
  #vegasStripEmbedRoot .distance-connector{ padding: 0 12px; }
 
  #vegasStripEmbedRoot .label{
    font-size: 0.98em;
    letter-spacing: 1px;
  }
  #vegasStripEmbedRoot .label-west{ transform: translateX(-6px); }
  #vegasStripEmbedRoot .label-east{ tr
 