/* ==========================================================
   RB Sticky Services Showcase v2.7.1
   Left service index + sticky image/video stage.
   Scroll drives the selected service; previews slide vertically.
========================================================== */
.rbss{
  --rbss-left:53%;
  --rbss-gap:72px;
  --rbss-row-min:230px;
  --rbss-stage-h:560px;
  --rbss-sticky-top:120px;
  --rbss-dur:650ms;
  position:relative;
  width:100%;
  background:#fff;
  color:#081425;
  isolation:isolate;
}
.rbss *{box-sizing:border-box}
.rbss__inner{width:100%;max-width:1380px;margin:0 auto;padding:110px 28px}

/* Header */
.rbss__header{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(300px,.62fr);gap:72px;align-items:end;margin-bottom:78px}
.rbss__kicker{display:flex;align-items:center;gap:12px;margin:0 0 18px;color:#8E9CB0;font:700 12px/1.2 Inter,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.rbss__kicker::before{content:"";display:block;width:34px;height:1px;background:#E88200;flex:0 0 auto}
.rbss__heading{max-width:900px;margin:0;color:#081425;font:700 clamp(50px,5.7vw,86px)/.94 "League Spartan",Inter,Arial,sans-serif;letter-spacing:-.045em}
.rbss__heading span{display:inline}
.rbss__heading-accent{color:#E88200;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-weight:500;letter-spacing:-.035em}
.rbss__header-side{align-self:end;padding-bottom:5px}
.rbss__intro{max-width:520px;margin:0;color:#5D687A;font:400 17px/1.65 Inter,Arial,sans-serif}
.rbss__header-cta{display:inline-flex;align-items:center;gap:9px;margin-top:22px;color:#081425;font:700 13px/1.2 Inter,Arial,sans-serif;text-decoration:none;text-transform:uppercase;letter-spacing:.06em;transition:color .25s ease,transform .25s ease}
.rbss__header-cta:hover{color:#E88200;transform:translateX(3px)}

/* Main split */
.rbss__body{display:grid;grid-template-columns:minmax(0,var(--rbss-left)) minmax(0,1fr);gap:var(--rbss-gap);align-items:start}
.rbss__list{min-width:0;border-top:1px solid #E3E8EF}
.rbss__item{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) 46px;column-gap:22px;align-items:start;min-height:var(--rbss-row-min);padding:38px 16px 38px 0;border-bottom:1px solid #E3E8EF;opacity:.58;transition:opacity .35s ease,background-color .35s ease}
.rbss__item:hover{opacity:.86}
.rbss__item.is-active{opacity:1}
.rbss__item:focus{outline:none}
.rbss__item:focus-visible{outline:2px solid rgba(232,130,0,.9);outline-offset:6px;border-radius:12px}
.rbss__marker{display:flex;min-height:100%;flex-direction:column;align-items:center;align-self:stretch;padding-top:7px}
.rbss__number{padding:0;color:#98A2B3;font:700 12px/1.2 Inter,Arial,sans-serif;letter-spacing:.12em;transition:color .3s ease}
.rbss__marker-line{display:block;width:2px;height:104px;max-height:calc(var(--rbss-row-min) - 72px);margin-top:10px;border-radius:999px;background:#E88200;opacity:0;transform:scaleY(.18);transform-origin:top center;transition:opacity .28s ease,transform .5s cubic-bezier(.16,1,.3,1)}
.rbss__item.is-active .rbss__marker-line{opacity:1;transform:scaleY(1)}
.rbss__copy{transition:transform .45s cubic-bezier(.16,1,.3,1)}
.rbss__item.is-active .rbss__copy{transform:translateX(8px)}
.rbss__item.is-active .rbss__number{color:#E88200}
.rbss__title{margin:0;color:#081425;font:650 clamp(31px,3vw,44px)/1 "League Spartan",Inter,Arial,sans-serif;letter-spacing:-.03em}
.rbss__desc{max-width:610px;margin:12px 0 0;color:#5D687A;font:400 16px/1.55 Inter,Arial,sans-serif}
.rbss__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.rbss__tag{display:inline-flex;align-items:center;min-height:30px;padding:7px 11px;border:1px solid #D7DEE8;border-radius:999px;color:#344054;font:600 11px/1 Inter,Arial,sans-serif;white-space:nowrap}
.rbss__row-cta{display:inline-flex;align-items:center;gap:7px;margin-top:20px;color:#E88200;font:700 13px/1.2 Inter,Arial,sans-serif;text-decoration:none;transition:gap .25s ease}
.rbss__row-cta:hover{gap:11px;color:#E88200}
.rbss__arrow{display:grid;place-items:center;width:42px;height:42px;margin-top:1px;border:1px solid #D7DEE8;border-radius:50%;color:#667085;background:#fff;text-decoration:none;font-size:16px;transition:border-color .3s ease,color .3s ease,background-color .3s ease,transform .4s cubic-bezier(.16,1,.3,1)}
.rbss__item.is-active .rbss__arrow{border-color:#E88200;color:#E88200;background:#FFF8EC;transform:rotate(45deg)}
.rbss__arrow:hover{border-color:#E88200;color:#fff;background:#E88200;transform:rotate(45deg) scale(1.06)}


/* Presets --------------------------------------------------
   Light is the default for the refreshed section. Presets intentionally
   override old saved color values so an existing v2.7.0 instance can be
   switched to the new look without rebuilding it. Use Custom Colors when
   you want Elementor's individual color controls to take over.
---------------------------------------------------------- */
.rbss--light{background:#fff!important;color:#081425!important}
.rbss--light .rbss__kicker{color:#667085!important}
.rbss--light .rbss__heading,.rbss--light .rbss__title{color:#081425!important}
.rbss--light .rbss__heading-accent,.rbss--light .rbss__item.is-active .rbss__number,.rbss--light .rbss__row-cta{color:#E88200!important}
.rbss--light .rbss__intro,.rbss--light .rbss__desc{color:#5D687A!important}
.rbss--light .rbss__header-cta{color:#081425!important}
.rbss--light .rbss__header-cta:hover{color:#E88200!important}
.rbss--light .rbss__list{border-top-color:#E3E8EF!important}
.rbss--light .rbss__item{border-bottom-color:#E3E8EF!important}
.rbss--light .rbss__number{color:#98A2B3!important}
.rbss--light .rbss__tag{color:#344054!important;border-color:#D7DEE8!important;background:#fff}
.rbss--light .rbss__marker-line{background:#E88200!important}
.rbss--light .rbss__arrow{color:#667085!important;border-color:#D7DEE8!important;background:#fff!important}
.rbss--light .rbss__item.is-active .rbss__arrow{color:#E88200!important;border-color:#E88200!important;background:#FFF8EC!important}
.rbss--light .rbss__arrow:hover{color:#fff!important;border-color:#E88200!important;background:#E88200!important}
.rbss--light .rbss__stage,.rbss--light .rbss__mobile-media{background:#F5F7FA!important;border-color:#E3E8EF!important;box-shadow:0 26px 70px rgba(8,20,37,.10)}
.rbss--light .rbss__placeholder{background:#F5F7FA;color:#081425}
.rbss--light .rbss__placeholder-title{color:#081425}
.rbss--light .rbss__placeholder-kicker{color:#667085}
.rbss--light .rbss__placeholder-bars,.rbss--light .rbss__placeholder-card{background:#fff;border-color:#E3E8EF}
.rbss--light .rbss__placeholder-bars i{background:#D5DCE6}
.rbss--light .rbss__placeholder-bars i:nth-child(4),.rbss--light .rbss__placeholder-bars i:nth-child(5){background:#E88200}
.rbss--light .rbss__placeholder-card span{color:#667085}

.rbss--dark{background:#040917!important;color:#fff!important}
.rbss--dark .rbss__kicker{color:#8E9CB0!important}
.rbss--dark .rbss__heading,.rbss--dark .rbss__title{color:#fff!important}
.rbss--dark .rbss__intro,.rbss--dark .rbss__desc{color:#A7B3C6!important}
.rbss--dark .rbss__header-cta{color:#fff!important}
.rbss--dark .rbss__list{border-top-color:rgba(255,255,255,.12)!important}
.rbss--dark .rbss__item{border-bottom-color:rgba(255,255,255,.12)!important}
.rbss--dark .rbss__number{color:#6F7D91!important}
.rbss--dark .rbss__tag{color:#C6CEDB!important;border-color:rgba(255,255,255,.14)!important;background:transparent}
.rbss--dark .rbss__arrow{color:#A7B3C6!important;border-color:rgba(255,255,255,.15)!important;background:transparent!important}
.rbss--dark .rbss__item.is-active .rbss__arrow{color:#E88200!important;border-color:#E88200!important;background:rgba(232,130,0,.06)!important}
.rbss--dark .rbss__arrow:hover{color:#040917!important;background:#E88200!important}
.rbss--dark .rbss__stage,.rbss--dark .rbss__mobile-media{background:#0A152D!important;border-color:rgba(255,255,255,.12)!important;box-shadow:0 30px 80px rgba(0,0,0,.22)}

/* Sticky preview */
.rbss__media-col{position:relative;min-width:0;align-self:stretch}
.rbss__sticky{position:sticky;top:var(--rbss-sticky-top)}
.rbss__stage{position:relative;width:100%;height:var(--rbss-stage-h);overflow:hidden;border:1px solid #E3E8EF;border-radius:28px;background:#F5F7FA;box-shadow:0 26px 70px rgba(8,20,37,.10)}
.rbss__layer{position:absolute;inset:0;z-index:0;opacity:0;pointer-events:none;transform:translate3d(0,64px,0) scale(.975);filter:blur(8px);transition:opacity calc(var(--rbss-dur) * .75) ease,transform var(--rbss-dur) cubic-bezier(.16,1,.3,1),filter calc(var(--rbss-dur) * .75) ease}
.rbss__layer.is-before{transform:translate3d(0,-64px,0) scale(.975)}
.rbss__layer.is-after{transform:translate3d(0,64px,0) scale(.975)}
.rbss__layer.is-active{z-index:2;opacity:1;pointer-events:auto;transform:translate3d(0,0,0) scale(1);filter:none}
.rbss__media-shell{position:relative;width:100%;height:100%;overflow:hidden}
.rbss__media{display:block;width:100%;height:100%;object-fit:cover;background:#0A152D}
.rbss__video{background:#040917}
.rbss__media-meta{position:absolute;left:22px;bottom:22px;z-index:4;display:flex;flex-direction:column;align-items:flex-start;max-width:calc(100% - 44px);padding:14px 17px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(4,9,23,.88);box-shadow:0 14px 38px rgba(0,0,0,.25)}
.rbss__media-label{color:#A7B3C6;font:600 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.rbss__media-metric{margin-top:6px;color:#E88200;font:700 27px/1 "League Spartan",Inter,Arial,sans-serif;letter-spacing:-.02em}

/* Useful designed fallback when no upload has been selected yet */
.rbss__placeholder{position:absolute;inset:0;padding:42px;display:flex;flex-direction:column;justify-content:center;background:#0A152D;color:#fff;overflow:hidden}
.rbss__placeholder::before,.rbss__placeholder::after{content:"";position:absolute;border:1px solid rgba(232,130,0,.16);border-radius:50%;pointer-events:none}
.rbss__placeholder::before{width:430px;height:430px;right:-160px;top:-180px}
.rbss__placeholder::after{width:280px;height:280px;right:-80px;top:-90px;border-color:rgba(255,255,255,.08)}
.rbss__placeholder-kicker{position:relative;z-index:1;color:#7F8CA1;font:700 10px/1.2 Inter,Arial,sans-serif;letter-spacing:.14em}
.rbss__placeholder-title{position:relative;z-index:1;display:block;max-width:82%;margin-top:12px;color:#fff;font:700 clamp(42px,4vw,64px)/.95 "League Spartan",Inter,Arial,sans-serif;letter-spacing:-.04em}
.rbss__placeholder-bars{position:relative;z-index:1;display:flex;align-items:end;gap:9px;width:72%;height:112px;margin-top:45px;padding:18px 20px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#091221}
.rbss__placeholder-bars i{display:block;flex:1;border-radius:7px 7px 2px 2px;background:#263246}
.rbss__placeholder-bars i:nth-child(1){height:28%}.rbss__placeholder-bars i:nth-child(2){height:43%}.rbss__placeholder-bars i:nth-child(3){height:54%}.rbss__placeholder-bars i:nth-child(4){height:72%;background:#E88200}.rbss__placeholder-bars i:nth-child(5){height:88%;background:#E88200}
.rbss__placeholder-card{position:relative;z-index:1;display:flex;justify-content:space-between;align-items:center;gap:22px;width:72%;margin-top:14px;padding:16px 18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#091221}
.rbss__placeholder-card span{color:#7F8CA1;font:600 11px/1.2 Inter,Arial,sans-serif;text-transform:uppercase;letter-spacing:.08em}
.rbss__placeholder-card strong{color:#E88200;font:700 20px/1 "League Spartan",Inter,Arial,sans-serif}

/* Mobile media is not duplicated visually on desktop. */
.rbss__mobile-media{display:none;position:relative;grid-column:1/-1;width:100%;height:340px;margin-top:26px;overflow:hidden;border:1px solid #E3E8EF;border-radius:24px;background:#F5F7FA}

@media(max-width:1024px){
  .rbss__header{grid-template-columns:1fr;gap:24px}
  .rbss__header-side{max-width:650px}
  .rbss__body{gap:42px}
  .rbss__item{grid-template-columns:48px minmax(0,1fr) 42px;column-gap:15px}
}

/* Default CSS fallback breakpoint. JS also honors the user-configurable breakpoint. */
@media(max-width:860px){
  .rbss:not(.is-ready) .rbss__body{display:block}
  .rbss:not(.is-ready) .rbss__media-col{display:none}
  .rbss:not(.is-ready) .rbss__item{transform:none!important;opacity:1!important}
  .rbss:not(.is-ready) .rbss__mobile-media{display:block}
}

.rbss.is-stacked .rbss__body{display:block}
.rbss.is-stacked .rbss__media-col{display:none}
.rbss.is-stacked .rbss__item{transform:none!important;opacity:1!important}
.rbss.is-stacked .rbss__item.is-active .rbss__copy{transform:none}
.rbss.is-stacked .rbss__mobile-media{display:block}

@media(max-width:767px){
  .rbss__inner{padding:76px 18px}
  .rbss__heading{font-size:clamp(44px,13vw,62px)}
  .rbss__header{margin-bottom:48px}
  .rbss__item{grid-template-columns:38px minmax(0,1fr) 38px;column-gap:12px;padding:30px 4px 30px 0;min-height:auto}
  .rbss__number{font-size:10px}
  .rbss__marker{padding-top:3px}
  .rbss__marker-line{height:58px;max-height:58px;margin-top:8px}
  .rbss__title{font-size:clamp(31px,9vw,42px)}
  .rbss__desc{font-size:15px}
  .rbss__tag{font-size:10px;padding:7px 9px}
  .rbss__arrow{width:36px;height:36px;font-size:14px}
  .rbss__mobile-media{height:290px;border-radius:20px}
  .rbss__placeholder{padding:28px}
  .rbss__placeholder-title{font-size:42px}
  .rbss__placeholder-bars,.rbss__placeholder-card{width:88%}
  .rbss__media-meta{left:16px;bottom:16px;max-width:calc(100% - 32px)}
}

@media(prefers-reduced-motion:reduce){
  .rbss__item,.rbss__copy,.rbss__marker-line,.rbss__layer,.rbss__arrow,.rbss__header-cta{transition:none!important}
  .rbss__layer{filter:none!important}
}
