v/* --- Base Reset & Typography --- */
.rbks-catchup-wrapper {
  background-color: #F8F9FA; 
  padding: 4rem 0;
  font-family: inherit;
  color: #1A1A1A;
  overflow: hidden; 
}

.rcb-gold-text {
  color: #D4AF37;
}

/* --- Centralized Title with Floating Background --- */
.rcb-title-container {
  background-color: #e9ecef; /* Light Grey Background */
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0,0,0,0.08); /* Permanent floating effect */
  margin-bottom: 1rem;
}

.rcb-main-title {
  font-weight: 900;
  font-size: 3rem;
  line-height: 1.1;
  letter-spacing: -1px;
  margin-bottom: 0.5rem;
}

@media (min-width: 992px) {
  .rcb-main-title { font-size: 4.5rem; }
}

.rcb-subtitle-row {
  display: flex;
  align-items: center;
  gap: 15px;
}

.rcb-subtitle {
  letter-spacing: 4px;
  font-weight: 700;
  font-size: 1rem;
  color: #FFFFFF;
  background-color: #1A1A1A;
  padding: 4px 12px;
  border-radius: 4px;
}

.rcb-line {
  height: 2px;
  width: 40px; 
  background-color: #D4AF37;
}

/* --- Segue Intro Container (Floating Gold Box) --- */
.rcb-segue-container {
  background-color: #FDF8E7; /* Light Gold Background */
  border-radius: 16px;
  box-shadow: 0 15px 35px rgba(212, 175, 55, 0.15); /* Permanent gold-tinted floating effect */
  border: 1px solid rgba(212, 175, 55, 0.3);
}

.rcb-headline-centered {
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.5;
  color: #1A1A1A;
}

/* --- Vertical Word Slider (Upper Half) --- */
.rcb-process-slider-wrapper {
  width: 100%;
  height: 60px; /* Locks the box to show exactly one item at a time */
  background-color: #1A1A1A;
  border: 2px solid #D4AF37;
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 10px 25px rgba(212, 175, 55, 0.15);
}

.rcb-slide-container {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  /* 12 second total loop, pausing on each item */
  animation: rcb-vertical-slide 12s infinite cubic-bezier(0.8, 0, 0.2, 1);
}

.rcb-process-slider-wrapper:hover .rcb-slide-container {
  animation-play-state: paused;
}

.rcb-slide-item {
  height: 60px; 
  color: #FFFFFF;
  font-weight: 800;
  font-size: 1.05rem;
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex-shrink: 0;
}

/* Animation Math: Holds position for 15% of the time, uses 5% to slide up (-60px) */
@keyframes rcb-vertical-slide {
  0%, 15%   { transform: translateY(0); }
  20%, 35%  { transform: translateY(-60px); }
  40%, 55%  { transform: translateY(-120px); }
  60%, 75%  { transform: translateY(-180px); }
  80%, 95%  { transform: translateY(-240px); }
  100%      { transform: translateY(-300px); }
}

/* --- Center Graphic Update --- */
.rcb-center-graphic {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.rcb-center-graphic img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  filter: drop-shadow(0 15px 25px rgba(0,0,0,0.1));
  mix-blend-mode: darken;
}

/* --- Badge & Feature Lists --- */
.rcb-top-badge {
  background-color: #000000;
  border: 2px solid #D4AF37;
  border-right: none;
  border-radius: 40px 0 0 40px; 
  padding: 1rem 1.5rem;
  color: #FFFFFF;
  margin-right: -15px; 
  transition: all 0.3s ease;
  cursor: pointer;
}

.rcb-top-badge:hover {
  transform: scale(1.05) translateX(-5px);
  box-shadow: 0 10px 25px rgba(212, 175, 55, 0.3);
  background-color: #1A1A1A;
}

.rcb-badge-icon {
  width: 50px;
  height: 50px;
  border: 2px solid #D4AF37;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 15px;
}

.rcb-badge-icon svg {
  width: 24px;
  height: 24px;
  fill: #D4AF37;
}

.rcb-badge-text {
  font-weight: 700;
  line-height: 1.2;
  font-size: 1.1rem;
}

.rcb-feature-list {
  display: flex;
  flex-direction: column;
  gap: 1rem; 
  position: relative;
}

.rcb-feature-item {
  display: flex;
  align-items: flex-start;
  gap: 15px;
  padding: 15px;
  border-radius: 12px;
  transition: all 0.3s ease;
  background-color: transparent;
  border: 1px solid transparent;
  cursor: default;
}

.rcb-feature-item:hover {
  background-color: #ffffff;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  transform: translateY(-4px);
  border: 1px solid #eaeaea;
}

.rcb-feature-content h4 {
  font-size: 1.05rem;
  font-weight: 800;
  margin-bottom: 0.25rem;
  color: #1A1A1A;
  text-transform: uppercase;
}

.rcb-feature-content p {
  font-size: 0.9rem;
  line-height: 1.5;
  color: #555555;
  margin: 0;
}

/* --- 3D EFFECT FOR ALL ICONS --- */
.rcb-feature-icon, 
.rcb-benefit-icon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  background: linear-gradient(145deg, #2b2b2b, #151515); 
  box-shadow: 
    4px 4px 10px rgba(0,0,0,0.15), 
    -4px -4px 10px rgba(255,255,255,0.8), 
    inset 1px 1px 3px rgba(255,255,255,0.2), 
    inset -2px -2px 5px rgba(0,0,0,0.5);
  transition: transform 0.3s ease;
}

.rcb-feature-icon::after, 
.rcb-benefit-icon::after {
  content: '';
  position: absolute;
  top: 3px; left: 3px; right: 3px; bottom: 3px;
  border: 2px solid #D4AF37;
  border-radius: 50%;
  pointer-events: none;
  opacity: 0.85;
}

.rcb-feature-icon svg,
.rcb-benefit-icon svg {
  width: 26px;
  height: 26px;
  fill: #D4AF37;
  z-index: 2;
  filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.6)); 
}

/* --- Benefits Banner (Middle Black Block) --- */
.rcb-benefits-banner {
  background-color: #1A1A1A;
  border-radius: 20px;
  padding: 2.5rem;
  border: 1px solid #333;
}

.rcb-benefit-item {
  display: flex;
  align-items: center;
  gap: 15px;
  color: #fff;
}

.rcb-benefit-text h6 {
  font-size: 1rem;
  font-weight: 800;
  color: #D4AF37;
  margin-bottom: 0.2rem;
}

.rcb-benefit-text p {
  font-size: 0.85rem;
  line-height: 1.4;
  margin: 0;
  opacity: 0.85;
}

/* --- Bottom Footer Banner --- */
.rcb-bottom-banner {
  background-color: #1A1A1A;
  border-radius: 15px;
  padding: 1.5rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.rcb-bb-left, .rcb-bb-right {
  display: flex;
  align-items: center;
  gap: 15px;
}

.rcb-bb-icon svg {
  width: 32px;
  height: 32px;
  fill: #D4AF37;
}

.rcb-bb-text {
  display: flex;
  flex-direction: column;
  font-size: 1rem;
  font-weight: 600;
  color: #FFFFFF;
}

.rcb-bb-divider {
  width: 2px;
  background-color: #D4AF37;
  opacity: 0.5;
  margin: 0 2rem;
}

@media (min-width: 992px) {
  .rcb-bottom-banner {
    flex-direction: row;
    align-items: center;
  }
}