/* Roots BPO Main CSS v3.0 - Clean, Plugin-Compatible */
:root {
  --rb-navy:  #0a1628;
  --rb-blue:  #1a4fa0;
  --rb-blue2: #2560c0;
  --rb-gold:  #e8a020;
  --rb-gold2: #f5c842;
  --rb-light: #f4f7fc;
  --rb-text:  #1a1f2e;
  --rb-muted: #6b7a99;
  --rb-border:#e2e8f0;
  --rb-font:  "Segoe UI", system-ui, -apple-system, sans-serif;
  --rb-r:     .3s cubic-bezier(.4,0,.2,1);
  --rb-sh:    0 4px 24px rgba(0,0,0,.08);
  --rb-shlg:  0 16px 56px rgba(0,0,0,.16);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--rb-font);color:var(--rb-text);background:#fff;overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:var(--rb-font);cursor:pointer;border:none}
ul,ol{list-style:none}

/* ANIMATIONS */
@keyframes rbFadeUp    {from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}
@keyframes rbFadeLeft  {from{opacity:0;transform:translateX(-48px)}to{opacity:1;transform:none}}
@keyframes rbFadeRight {from{opacity:0;transform:translateX(48px)}to{opacity:1;transform:none}}
@keyframes rbFloatY    {0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@keyframes rbPulse     {0%,100%{box-shadow:0 0 0 0 rgba(232,160,32,.5)}70%{box-shadow:0 0 0 18px rgba(232,160,32,0)}}
@keyframes rbTicker    {0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes rbGradient  {0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes rbLineSlide {from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1)}}
@keyframes rbScrollHint{0%,100%{opacity:.4;transform:translateY(0)}50%{opacity:1;transform:translateY(8px)}}
@keyframes rbBorderGlow{0%,100%{border-color:rgba(26,79,160,.2)}50%{border-color:rgba(232,160,32,.5)}}
@keyframes rbSlideDown {from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes rbShimmer   {0%{left:-100%}100%{left:200%}}

/* SCROLL REVEAL */
.rb-sr{opacity:0;transition:opacity .7s var(--rb-r),transform .7s var(--rb-r),filter .4s}
.rb-sr.up{transform:translateY(48px)}.rb-sr.left{transform:translateX(-48px)}.rb-sr.right{transform:translateX(48px)}
.rb-sr.sc{transform:scale(.88);filter:blur(4px)}.rb-sr.flip{transform:rotateY(-15deg) scale(.94)}
.rb-sr.in{opacity:1!important;transform:none!important;filter:none!important}
.d1{transition-delay:.1s}.d2{transition-delay:.2s}.d3{transition-delay:.3s}
.d4{transition-delay:.4s}.d5{transition-delay:.5s}.d6{transition-delay:.6s}

/* TOPBAR */
.rb-topbar{background:linear-gradient(90deg,var(--rb-navy),#0d2248,var(--rb-navy));color:rgba(255,255,255,.78);font-size:.8rem;padding:10px 0;display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap;letter-spacing:.02em}
.rb-topbar a{color:var(--rb-gold);transition:opacity var(--rb-r)}.rb-topbar a:hover{opacity:.72}
.rb-topbar .rb-sep{color:rgba(255,255,255,.2)}

/* NAV */
.rb-nav{position:sticky;top:0;z-index:9999;background:rgba(255,255,255,.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(26,79,160,.08);box-shadow:0 2px 24px rgba(0,0,0,.05);transition:all var(--rb-r)}
.rb-nav.rb-scrolled{box-shadow:0 4px 36px rgba(0,0,0,.13)}
.rb-nav-inner{max-width:1240px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;height:76px}
.rb-logo{display:flex;align-items:center;flex-shrink:0}
.rb-logo img{height:58px;width:auto;object-fit:contain;transition:transform var(--rb-r)}
.rb-logo:hover img{transform:scale(1.05)}
.rb-nav-links{display:flex;gap:2px;align-items:center}
.rb-nav-links a{font-size:.9rem;font-weight:600;color:var(--rb-text);padding:9px 18px;border-radius:10px;transition:all var(--rb-r);position:relative;letter-spacing:.01em}
.rb-nav-links a::after{content:'';position:absolute;bottom:4px;left:50%;right:50%;height:2px;background:linear-gradient(90deg,var(--rb-blue),var(--rb-gold));border-radius:2px;transition:all .35s var(--rb-r)}
.rb-nav-links a:hover{color:var(--rb-blue);background:rgba(26,79,160,.06)}
.rb-nav-links a:hover::after,.rb-nav-links a.current-menu-item::after,.rb-nav-links a.active::after{left:14px;right:14px}
.rb-nav-links a.current-menu-item,.rb-nav-links a.active{color:var(--rb-blue);font-weight:700}
.rb-nav-links a.rb-cta{background:linear-gradient(135deg,var(--rb-blue),var(--rb-blue2))!important;color:white!important;box-shadow:0 4px 18px rgba(26,79,160,.3)}
.rb-nav-links a.rb-cta::after{display:none}
.rb-nav-links a.rb-cta:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(26,79,160,.5)}

/* HAMBURGER */
.rb-hamburger{display:none;cursor:pointer;flex-direction:column;gap:5px;padding:8px;border-radius:9px;background:none;transition:background var(--rb-r)}
.rb-hamburger:hover{background:var(--rb-light)}
.rb-hamburger span{display:block;width:24px;height:2px;background:var(--rb-navy);border-radius:2px;transition:all .3s cubic-bezier(.4,0,.2,1)}
.rb-hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}
.rb-hamburger.open span:nth-child(2){opacity:0;transform:translateX(-10px)}
.rb-hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* MOBILE MENU */
.rb-mob-menu{display:none;flex-direction:column;background:#fff;border-top:1px solid rgba(26,79,160,.08);padding:14px 18px 22px;gap:4px;box-shadow:0 16px 40px rgba(0,0,0,.12);animation:rbSlideDown .28s ease}
.rb-mob-menu.open{display:flex}
.rb-mob-menu a{padding:13px 18px;color:var(--rb-text);font-size:.94rem;font-weight:600;border-radius:11px;display:flex;align-items:center;gap:10px;transition:all var(--rb-r)}
.rb-mob-menu a:hover{background:var(--rb-light);color:var(--rb-blue);transform:translateX(4px)}
.rb-mob-menu a.current-menu-item,.rb-mob-menu a.active{color:var(--rb-blue);background:rgba(26,79,160,.08)}
.rb-mob-menu a.rb-mob-cta{background:linear-gradient(135deg,var(--rb-blue),var(--rb-blue2));color:white!important;margin-top:10px;justify-content:center}

/* SHARED */
.rb-container{max-width:1240px;margin:0 auto;padding:0 28px}
.rb-section{padding:96px 0}
.rb-lbl{font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rb-blue);margin-bottom:14px;display:flex;align-items:center;gap:10px}
.rb-lbl::before{content:'';display:block;width:28px;height:2px;background:linear-gradient(90deg,var(--rb-gold),var(--rb-blue));flex-shrink:0;border-radius:2px}
.rb-lbl.c{justify-content:center}.rb-lbl.c::before{display:none}
.rb-lbl.w{color:var(--rb-gold2)}.rb-lbl.w::before{background:linear-gradient(90deg,var(--rb-gold),var(--rb-gold2))}
.rb-h2{font-size:clamp(1.85rem,3.5vw,2.75rem);font-weight:700;color:var(--rb-navy);line-height:1.16;margin-bottom:18px;letter-spacing:-.025em}
.rb-h2 .hl{color:var(--rb-blue);position:relative}
.rb-h2 .hl::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rb-blue),var(--rb-gold));border-radius:2px;transform:scaleX(0);transform-origin:left;animation:rbLineSlide .9s ease .3s both}
.rb-h2.white{color:white}.rb-h2.white .hl{color:var(--rb-gold)}.rb-h2.white .hl::after{background:linear-gradient(90deg,var(--rb-gold),var(--rb-gold2))}
.rb-sub{color:var(--rb-muted);font-size:1.02rem;line-height:1.75;max-width:580px}
.rb-sub.c{margin:0 auto;text-align:center}

/* BUTTONS */
.rb-btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:.95rem;padding:15px 32px;border-radius:12px;border:none;cursor:pointer;transition:all var(--rb-r);letter-spacing:.01em;position:relative;overflow:hidden;font-family:var(--rb-font);text-decoration:none}
.rb-btn::before{content:'';position:absolute;top:0;left:-100%;width:60%;height:100%;background:rgba(255,255,255,.18);transform:skewX(-20deg);transition:left .5s}
.rb-btn:hover::before{left:200%}
.rb-btn-gold{background:linear-gradient(135deg,var(--rb-gold),#f0b030);color:var(--rb-navy)}
.rb-btn-gold:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(232,160,32,.45);color:var(--rb-navy)}
.rb-btn-blue{background:linear-gradient(135deg,var(--rb-blue),var(--rb-blue2));color:#fff}
.rb-btn-blue:hover{transform:translateY(-3px);box-shadow:0 10px 32px rgba(26,79,160,.45);color:#fff}
.rb-btn-white{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.38)}
.rb-btn-white:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.7);transform:translateY(-2px);color:#fff}
.rb-btn-outline{background:transparent;color:var(--rb-navy);border:2px solid var(--rb-border)}
.rb-btn-outline:hover{border-color:var(--rb-blue);color:var(--rb-blue)}

/* PAGE BANNER */
.rb-ph{background:linear-gradient(130deg,var(--rb-navy) 0%,#0d2450 60%,#163070 100%);padding:90px 0 78px;position:relative;overflow:hidden}
.rb-ph::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 65% 85% at 88% 50%,rgba(26,79,160,.32) 0%,transparent 70%)}
.rb-ph::after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--rb-blue),var(--rb-gold),var(--rb-blue2),var(--rb-gold));background-size:300% 100%;animation:rbGradient 4s ease infinite}
.rb-ph-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:48px 48px}
.rb-ph-inner{position:relative;z-index:1}
.rb-ph h1{font-size:clamp(2rem,5vw,3.2rem);font-weight:700;color:#fff;margin-bottom:16px;letter-spacing:-.025em;animation:rbFadeLeft .55s ease both}
.rb-bc{display:flex;gap:8px;align-items:center;color:rgba(255,255,255,.5);font-size:.88rem;flex-wrap:wrap}
.rb-bc a{color:var(--rb-gold)}.rb-bc a:hover{opacity:.72}
.rb-bc .sep{color:rgba(255,255,255,.25)}

/* STATS */
.rb-stats-section{background:linear-gradient(135deg,#080f1e,var(--rb-navy))}
.rb-stats-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.rb-sb{padding:68px 32px;text-align:center;border:1px solid rgba(255,255,255,.05);position:relative;overflow:hidden;transition:background var(--rb-r),transform var(--rb-r)}
.rb-sb::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rb-blue),var(--rb-gold));transform:scaleX(0);transition:transform .45s}
.rb-sb:hover{background:rgba(255,255,255,.04);transform:translateY(-4px)}.rb-sb:hover::before{transform:scaleX(1)}
.rb-sn{font-size:3.6rem;font-weight:700;color:var(--rb-gold);line-height:1;margin-bottom:8px;letter-spacing:-.03em}
.rb-sl{color:rgba(255,255,255,.5);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600}

/* CTA BAND */
.rb-cta-band{background:linear-gradient(135deg,#0d2248,var(--rb-navy),#0d2248);background-size:300% 300%;animation:rbGradient 10s ease infinite;padding:100px 0;text-align:center;position:relative;overflow:hidden}
.rb-cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 50% 50%,rgba(232,160,32,.08) 0%,transparent 70%)}
.rb-cta-inner{position:relative;z-index:1}
.rb-cta-inner h2{font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:700;color:#fff;margin-bottom:16px;letter-spacing:-.025em}
.rb-cta-inner p{color:rgba(255,255,255,.65);font-size:1rem;margin-bottom:36px;max-width:540px;margin-left:auto;margin-right:auto;line-height:1.72}
.rb-cta-btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}

/* TICKER */
.rb-ticker{background:linear-gradient(90deg,var(--rb-gold),#f0b030,var(--rb-gold));color:var(--rb-navy);padding:13px 0;overflow:hidden;white-space:nowrap}
.rb-ticker-inner{display:inline-flex;animation:rbTicker 40s linear infinite}
.rb-ticker-inner:hover{animation-play-state:paused}
.rb-ticker-item{display:inline-flex;align-items:center;gap:12px;font-weight:700;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding-right:44px}
.rb-ticker-dot{width:6px;height:6px;background:rgba(10,22,40,.3);border-radius:50%;flex-shrink:0}

/* CLIENTS */
.rb-clients-section{background:#fff;padding:60px 0}
.rb-clients-label{text-align:center;color:var(--rb-muted);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:32px}
.rb-clients-row{display:flex;justify-content:center;align-items:center;gap:20px;flex-wrap:wrap}
.rb-cl-chip{background:var(--rb-light);border:2px solid var(--rb-border);border-radius:11px;padding:12px 24px;font-weight:700;font-size:.88rem;color:var(--rb-muted);transition:all var(--rb-r)}
.rb-cl-chip:hover{border-color:var(--rb-blue);color:var(--rb-blue);background:rgba(26,79,160,.05);transform:translateY(-3px)}

/* SERVICE CARDS */
.rb-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.rb-sc{background:#fff;border-radius:22px;padding:40px 30px;transition:all var(--rb-r);border:2px solid var(--rb-border);position:relative;overflow:hidden}
.rb-sc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rb-blue),var(--rb-gold));transform:scaleX(0);transition:transform .4s;transform-origin:left}
.rb-sc:hover{transform:translateY(-10px);box-shadow:var(--rb-shlg);border-color:rgba(26,79,160,.15)}.rb-sc:hover::after{transform:scaleX(1)}
.rb-sc-icon{width:62px;height:62px;background:linear-gradient(135deg,rgba(26,79,160,.1),rgba(232,160,32,.08));border-radius:18px;display:flex;align-items:center;justify-content:center;margin-bottom:24px;font-size:1.7rem;transition:all var(--rb-r)}
.rb-sc:hover .rb-sc-icon{transform:scale(1.12) rotate(-8deg)}
.rb-sc h3{font-weight:700;font-size:1.1rem;color:var(--rb-navy);margin-bottom:12px}
.rb-sc p{color:var(--rb-muted);font-size:.9rem;line-height:1.7}

/* CAMPAIGN CARDS */
.rb-cg{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rb-cc{border-radius:22px;padding:36px 28px;background:var(--rb-navy);color:#fff;position:relative;overflow:hidden;transition:all var(--rb-r)}
.rb-cc::before{content:'';position:absolute;top:-60%;right:-20%;width:220px;height:220px;background:radial-gradient(circle,rgba(255,255,255,.08) 0%,transparent 70%);pointer-events:none;transition:all .5s}
.rb-cc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--rb-gold),transparent);transform:scaleX(0);transition:transform .45s}
.rb-cc:hover::before{top:-30%}.rb-cc:hover::after{transform:scaleX(1)}
.rb-cc:nth-child(2){background:linear-gradient(135deg,#1a4fa0,#2a66c0)}
.rb-cc:nth-child(3){background:linear-gradient(135deg,#c06800,var(--rb-gold));color:var(--rb-navy)}
.rb-cc:nth-child(4){background:linear-gradient(135deg,#0d3818,#1a6830)}
.rb-cc:nth-child(5){background:linear-gradient(135deg,#280a44,#581890)}
.rb-cc:nth-child(6){background:linear-gradient(135deg,#182240,#082850)}
.rb-cc:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--rb-shlg)}
.rb-cc-num{font-size:2.8rem;font-weight:700;opacity:.1;line-height:1;margin-bottom:16px}
.rb-cc-icon{font-size:2.1rem;margin-bottom:14px;display:block;transition:transform .35s}
.rb-cc:hover .rb-cc-icon{transform:scale(1.18) rotate(-5deg)}
.rb-cc h3{font-weight:700;font-size:1.06rem;margin-bottom:8px}
.rb-cc p{font-size:.85rem;opacity:.72;line-height:1.6}

/* ABOUT */
.rb-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.rb-av{position:relative}
.rb-aib{background:linear-gradient(135deg,var(--rb-navy) 0%,var(--rb-blue) 100%);border-radius:26px;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}
.rb-adots{position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='32' height='32' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='16' cy='16' r='1.5' fill='rgba(255,255,255,0.07)'/%3E%3C/svg%3E")}
.rb-aii{position:relative;z-index:1;text-align:center;padding:40px}
.rb-aii-icon{font-size:5rem;display:block;margin-bottom:20px;animation:rbFloatY 4s ease-in-out infinite}
.rb-aii-txt{font-size:1.4rem;font-weight:700;color:#fff;line-height:1.3}
.rb-atag{position:absolute;bottom:-22px;right:-22px;background:linear-gradient(135deg,var(--rb-gold),#f0b030);border-radius:18px;padding:20px 26px;box-shadow:0 10px 32px rgba(232,160,32,.5);animation:rbFloatY 5s ease-in-out infinite}
.rb-atn{font-size:1.9rem;font-weight:700;color:var(--rb-navy);line-height:1}
.rb-att{font-size:.75rem;color:var(--rb-navy);font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.rb-about-text p{color:var(--rb-muted);font-size:.97rem;line-height:1.82;margin-bottom:18px}
.rb-vals{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}
.rb-vi{display:flex;align-items:flex-start;gap:13px;padding:17px;background:var(--rb-light);border-radius:14px;border:2px solid transparent;transition:all var(--rb-r)}
.rb-vi:hover{border-color:rgba(26,79,160,.2);background:rgba(26,79,160,.04);transform:translateY(-2px)}
.rb-vi-icon{font-size:1.45rem;flex-shrink:0;line-height:1}
.rb-vi-title{font-weight:700;font-size:.86rem;color:var(--rb-navy)}
.rb-vi-desc{font-size:.78rem;color:var(--rb-muted);margin-top:2px}

/* TEAM */
.rb-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.rb-tc{background:#fff;border-radius:22px;overflow:hidden;transition:all var(--rb-r);border:2px solid var(--rb-border)}
.rb-tc:hover{transform:translateY(-8px);box-shadow:var(--rb-shlg);border-color:rgba(26,79,160,.15)}
.rb-ta{height:210px;display:flex;align-items:center;justify-content:center;font-size:4.2rem;position:relative}
.rb-ta::after{content:'';position:absolute;inset:0;background:rgba(0,0,0,.18);opacity:0;transition:opacity var(--rb-r)}
.rb-tc:hover .rb-ta::after{opacity:1}
.rb-ta.c1{background:linear-gradient(135deg,#0a1628,#1a4fa0)}
.rb-ta.c2{background:linear-gradient(135deg,#102a5e,#2560c0)}
.rb-ta.c3{background:linear-gradient(135deg,#1a3a10,#2a6b20)}
.rb-ta.c4{background:linear-gradient(135deg,#3a0a10,#8a2020)}
.rb-ta.c5{background:linear-gradient(135deg,#1a1a3a,#3a3a8a)}
.rb-ti{padding:24px}
.rb-ti h3{font-weight:700;color:var(--rb-navy);font-size:1.06rem;margin-bottom:5px}
.rb-ti .role{color:var(--rb-blue);font-size:.82rem;font-weight:600;letter-spacing:.02em}

/* VISION */
.rb-vision-section{background:linear-gradient(135deg,var(--rb-navy) 0%,#0d2248 100%);position:relative;overflow:hidden}
.rb-vision-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 100% 50%,rgba(26,79,160,.3) 0%,transparent 70%)}
.rb-vg{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}
.rb-vt p{color:rgba(255,255,255,.72);font-size:.97rem;line-height:1.82;margin-bottom:16px}
.rb-vpills{display:flex;flex-direction:column;gap:16px}
.rb-vp{display:flex;align-items:flex-start;gap:17px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:17px;padding:22px;transition:all var(--rb-r)}
.rb-vp:hover{background:rgba(255,255,255,.1);transform:translateX(6px)}
.rb-vp-icon{font-size:1.65rem;flex-shrink:0}
.rb-vp h4{font-weight:700;color:#fff;font-size:.96rem;margin-bottom:5px}
.rb-vp p{color:rgba(255,255,255,.55);font-size:.83rem;line-height:1.55;margin:0}

/* SERVICES FULL */
.rb-sfg{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.rb-sfc{border-radius:22px;border:2px solid var(--rb-border);padding:42px 32px;background:#fff;transition:all var(--rb-r);position:relative;overflow:hidden}
.rb-sfc::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--rb-blue),var(--rb-gold));transform:scaleX(0);transition:transform .4s;transform-origin:left}
.rb-sfc:hover{transform:translateY(-8px);box-shadow:var(--rb-shlg);border-color:rgba(26,79,160,.15)}.rb-sfc:hover::before{transform:scaleX(1)}
.rb-sfc-num{font-size:.72rem;font-weight:700;color:var(--rb-blue);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.rb-sfc-icon{font-size:2.6rem;margin-bottom:22px;display:block;transition:transform .35s}
.rb-sfc:hover .rb-sfc-icon{transform:scale(1.15) rotate(-8deg)}
.rb-sfc h3{font-weight:700;font-size:1.15rem;color:var(--rb-navy);margin-bottom:12px}
.rb-sfc p{color:var(--rb-muted);font-size:.9rem;line-height:1.72;margin-bottom:20px}
.rb-sfcf{display:flex;flex-direction:column;gap:9px}
.rb-sfcf li{display:flex;align-items:center;gap:8px;font-size:.86rem;color:var(--rb-text)}
.rb-sfcf li::before{content:'✓';color:var(--rb-blue);font-weight:700;flex-shrink:0}

/* CAMPAIGN LIGHT */
.rb-clg{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.rb-clc{background:#fff;border-radius:22px;border:2px solid var(--rb-border);padding:38px 28px;transition:all var(--rb-r);position:relative;overflow:hidden}
.rb-clc::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rb-blue),var(--rb-gold));transform:scaleX(0);transition:transform .4s}
.rb-clc:hover{transform:translateY(-7px);box-shadow:var(--rb-shlg);border-color:rgba(26,79,160,.12)}.rb-clc:hover::after{transform:scaleX(1)}
.rb-clc-icon{font-size:2.3rem;margin-bottom:16px;display:block;transition:transform .35s}
.rb-clc:hover .rb-clc-icon{transform:scale(1.14) rotate(-6deg)}
.rb-clc h3{font-weight:700;font-size:1.1rem;color:var(--rb-navy);margin-bottom:10px}
.rb-clc p{color:var(--rb-muted);font-size:.88rem;line-height:1.7}
.rb-badge{display:inline-block;background:rgba(26,79,160,.08);color:var(--rb-blue);font-size:.72rem;font-weight:700;padding:5px 12px;border-radius:7px;margin-top:14px;letter-spacing:.06em;text-transform:uppercase}

/* CAREER */
.rb-perks{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.rb-pk{display:flex;align-items:flex-start;gap:12px;padding:15px;background:var(--rb-light);border-radius:13px;transition:all var(--rb-r)}
.rb-pk:hover{background:rgba(26,79,160,.06);transform:translateY(-2px)}
.rb-pk-icon{font-size:1.4rem;flex-shrink:0}
.rb-pk-title{font-weight:700;font-size:.86rem;color:var(--rb-navy)}
.rb-pk-desc{font-size:.78rem;color:var(--rb-muted)}
.rb-job-list{display:flex;flex-direction:column;gap:20px}
.rb-jc{background:#fff;border-radius:20px;padding:32px 36px;border:2px solid var(--rb-border);display:flex;justify-content:space-between;align-items:center;gap:24px;transition:all var(--rb-r)}
.rb-jc:hover{box-shadow:var(--rb-shlg);transform:translateY(-3px);border-color:rgba(26,79,160,.18)}
.rb-jl{display:flex;gap:20px;align-items:flex-start;flex:1}
.rb-ji{width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,var(--rb-blue),var(--rb-blue2));display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;transition:transform .35s}
.rb-jc:hover .rb-ji{transform:scale(1.1) rotate(-6deg)}
.rb-jt{font-weight:700;font-size:1rem;color:var(--rb-navy);margin-bottom:6px}
.rb-jd{color:var(--rb-muted);font-size:.85rem;line-height:1.55;margin-bottom:12px}
.rb-jtags{display:flex;gap:8px;flex-wrap:wrap}
.rb-jtag{background:rgba(26,79,160,.08);color:var(--rb-blue);font-size:.72rem;font-weight:700;padding:4px 11px;border-radius:7px;letter-spacing:.04em}
.rb-jtag.green{background:rgba(22,163,74,.08);color:#16a34a}

/* FORMS - Plugin friendly */
.rb-form-wrap{background:var(--rb-light);border-radius:24px;padding:44px;border:2px solid var(--rb-border)}
.rb-form-wrap h3{font-weight:700;font-size:1.35rem;color:var(--rb-navy);margin-bottom:8px}
.rb-form-wrap>p{color:var(--rb-muted);font-size:.88rem;margin-bottom:28px}
.rb-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.rb-fg{margin-bottom:22px}
.rb-fg label{display:block;font-size:.82rem;font-weight:700;color:var(--rb-navy);margin-bottom:8px}
.rb-fg input,.rb-fg textarea,.rb-fg select{width:100%;padding:13px 16px;border:2px solid var(--rb-border);border-radius:11px;font-family:var(--rb-font);font-size:.92rem;color:var(--rb-text);background:#fff;outline:none;transition:all var(--rb-r);-webkit-appearance:none}
.rb-fg input:focus,.rb-fg textarea:focus,.rb-fg select:focus{border-color:var(--rb-blue);box-shadow:0 0 0 4px rgba(26,79,160,.1);background:#fafcff}
.rb-fg textarea{resize:vertical;min-height:120px}
.rb-form-success{display:none;background:rgba(22,163,74,.1);border:2px solid rgba(22,163,74,.3);color:#166534;padding:16px 20px;border-radius:12px;margin-bottom:20px;font-weight:600}
.rb-form-success.show{display:block}
.rb-form-error{display:none;background:rgba(220,38,38,.08);border:2px solid rgba(220,38,38,.3);color:#991b1b;padding:16px 20px;border-radius:12px;margin-bottom:20px;font-weight:600}
.rb-form-error.show{display:block}
/* WPForms / CF7 override to match theme */
.rb-form-wrap .wpforms-field-label,.rb-form-wrap .wpcf7-form-control-wrap label{font-size:.82rem;font-weight:700;color:var(--rb-navy)!important}
.rb-form-wrap .wpforms-field-text input,.rb-form-wrap .wpforms-field-email input,.rb-form-wrap .wpforms-field-textarea textarea,.rb-form-wrap .wpcf7-text,.rb-form-wrap .wpcf7-textarea,.rb-form-wrap .wpcf7-select{border:2px solid var(--rb-border)!important;border-radius:11px!important;font-family:var(--rb-font)!important;font-size:.92rem!important;padding:13px 16px!important;width:100%!important;background:#fff!important}
.rb-form-wrap .wpforms-submit,.rb-form-wrap .wpcf7-submit{background:linear-gradient(135deg,var(--rb-gold),#f0b030)!important;color:var(--rb-navy)!important;border:none!important;border-radius:12px!important;font-weight:700!important;font-size:.95rem!important;padding:15px 32px!important;cursor:pointer!important;font-family:var(--rb-font)!important;transition:all var(--rb-r)!important}
.rb-form-wrap .wpforms-submit:hover,.rb-form-wrap .wpcf7-submit:hover{transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(232,160,32,.4)!important}

/* CONTACT */
.rb-con-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.rb-con-item{display:flex;gap:16px;align-items:flex-start}
.rb-con-icon{width:52px;height:52px;background:linear-gradient(135deg,rgba(26,79,160,.1),rgba(232,160,32,.06));border-radius:15px;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0;transition:all .35s}
.rb-con-item:hover .rb-con-icon{transform:scale(1.1);background:rgba(26,79,160,.15)}
.rb-con-lbl{font-weight:700;font-size:.84rem;color:var(--rb-navy);margin-bottom:3px;letter-spacing:.02em}
.rb-con-val{color:var(--rb-muted);font-size:.9rem;line-height:1.6}
.rb-con-val a{color:var(--rb-blue)}.rb-con-val a:hover{text-decoration:underline}
.rb-map-box{background:linear-gradient(135deg,var(--rb-light),#e8eef8);border-radius:18px;height:210px;display:flex;align-items:center;justify-content:center;border:2px solid var(--rb-border)}
.rb-map-in{text-align:center}
.rb-map-in .rb-map-icon{font-size:2.5rem;display:block;margin-bottom:10px;animation:rbFloatY 3s ease-in-out infinite}
.rb-map-in p{color:var(--rb-muted);font-size:.85rem;line-height:1.5}
.rb-apply-box{max-width:740px;margin:0 auto;background:#fff;border:2px solid var(--rb-border);border-radius:26px;padding:56px;box-shadow:var(--rb-sh)}

/* SCROLL TOP */
.rb-scroll-top{position:fixed;bottom:28px;right:28px;z-index:9998;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--rb-blue),var(--rb-blue2));color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.2rem;font-weight:700;box-shadow:0 6px 24px rgba(26,79,160,.45);opacity:0;pointer-events:none;transform:translateY(20px);transition:all var(--rb-r)}
.rb-scroll-top.show{opacity:1;pointer-events:auto;transform:translateY(0)}
.rb-scroll-top:hover{transform:translateY(-4px);box-shadow:0 10px 36px rgba(26,79,160,.6)}

/* FOOTER */
.rb-footer{background:linear-gradient(135deg,#060f1e,var(--rb-navy),#060f1e);color:rgba(255,255,255,.65);padding:80px 0 0;position:relative;overflow:hidden}
.rb-footer::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--rb-blue),var(--rb-gold),var(--rb-blue2),var(--rb-gold));background-size:300% 100%;animation:rbGradient 5s ease infinite}
.rb-footer-grid{display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:52px;margin-bottom:60px}
.rb-fb-logo{display:flex;align-items:center;margin-bottom:18px}
.rb-fb-logo img{height:54px;width:auto;object-fit:contain;transition:transform var(--rb-r)}
.rb-fb-logo:hover img{transform:scale(1.07)}
.rb-fb p{font-size:.87rem;line-height:1.78;margin-bottom:26px;color:rgba(255,255,255,.48)}
.rb-socials{display:flex;gap:10px}
.rb-soc{width:40px;height:40px;background:rgba(255,255,255,.07);border-radius:11px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.55);font-size:.85rem;transition:all var(--rb-r);font-weight:700;border:1.5px solid rgba(255,255,255,.08)}
.rb-soc:hover{background:var(--rb-blue);color:#fff;border-color:var(--rb-blue);transform:translateY(-3px)}
.rb-fc h4{font-weight:700;color:#fff;font-size:.92rem;margin-bottom:22px;letter-spacing:.02em;display:flex;align-items:center;gap:8px}
.rb-fc h4::before{content:'';display:block;width:16px;height:2px;background:var(--rb-gold);border-radius:2px}
.rb-fc ul{display:flex;flex-direction:column;gap:12px}
.rb-fc ul li a{color:rgba(255,255,255,.5);font-size:.87rem;transition:all var(--rb-r);display:flex;align-items:center;gap:7px}
.rb-fc ul li a::before{content:'›';color:var(--rb-gold);font-weight:700;opacity:0;transition:all var(--rb-r);transform:translateX(-4px)}
.rb-fc ul li a:hover{color:rgba(255,255,255,.88);padding-left:6px}.rb-fc ul li a:hover::before{opacity:1;transform:translateX(0)}
.rb-fbot{border-top:1px solid rgba(255,255,255,.07);padding:24px 0;display:flex;justify-content:space-between;align-items:center;font-size:.82rem;flex-wrap:wrap;gap:12px}
.rb-fbot-links{display:flex;gap:20px;flex-wrap:wrap}
.rb-fbot-links a{color:rgba(255,255,255,.38);transition:color var(--rb-r)}.rb-fbot-links a:hover{color:var(--rb-gold)}

/* HERO SECTION */
.rb-hero-section{min-height:92vh;background:linear-gradient(135deg,var(--rb-navy) 0%,#0d2248 50%,#102a5e 100%);display:flex;align-items:center;position:relative;overflow:hidden;padding:0}
.rb-hero-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px}
.rb-hero-glow{position:absolute;inset:0;background:radial-gradient(ellipse 70% 70% at 80% 40%,rgba(26,79,160,.3) 0%,transparent 70%)}
.rb-hero-orb{position:absolute;border-radius:50%;filter:blur(72px);pointer-events:none;animation:rbFloatY 7s ease-in-out infinite}
.rb-hero-content{max-width:1240px;margin:0 auto;padding:88px 28px;position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.rb-hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(232,160,32,.15);border:1px solid rgba(232,160,32,.3);color:var(--rb-gold2);font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:8px 18px;border-radius:100px;margin-bottom:24px;animation:rbPulse 2.5s ease-in-out infinite}
.rb-hero h1{font-size:clamp(2.3rem,4.5vw,3.7rem);font-weight:700;line-height:1.1;color:#fff;margin-bottom:20px;letter-spacing:-.025em;animation:rbFadeLeft .7s .1s ease both;opacity:0;animation-fill-mode:both}
.rb-hero-sub{color:rgba(255,255,255,.72);font-size:1.06rem;line-height:1.75;margin-bottom:36px;max-width:490px;animation:rbFadeLeft .7s .22s ease both;opacity:0;animation-fill-mode:both}
.rb-hero-btns{display:flex;gap:16px;flex-wrap:wrap;animation:rbFadeUp .7s .36s ease both;opacity:0;animation-fill-mode:both}
.rb-hero-scroll-hint{margin-top:48px;display:flex;align-items:center;gap:10px;animation:rbFadeUp .7s .5s ease both;opacity:0;animation-fill-mode:both}
.rb-hero-scroll-dot{display:flex;flex-direction:column;align-items:center;gap:3px;animation:rbScrollHint 2s ease-in-out infinite}
.rb-hero-visual{display:flex;flex-direction:column;gap:16px;animation:rbFadeRight .8s .2s ease both;opacity:0;animation-fill-mode:both}
.rb-hero-stat-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.rb-hs{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:26px;backdrop-filter:blur(12px);transition:all .3s;animation:rbBorderGlow 4s ease-in-out infinite}
.rb-hs:hover{background:rgba(255,255,255,.12);transform:translateY(-3px)}
.rb-hs-num{font-size:2.3rem;font-weight:700;color:var(--rb-gold);line-height:1;margin-bottom:4px}
.rb-hs-lbl{color:rgba(255,255,255,.6);font-size:.83rem}
.rb-hero-tag{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:24px 28px;backdrop-filter:blur(12px)}
.rb-hero-tag-title{font-weight:700;color:#fff;margin-bottom:8px}
.rb-hero-tag p{color:rgba(255,255,255,.55);font-size:.84rem;line-height:1.65;margin:0}
.rb-hero-accent-line{position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--rb-blue),var(--rb-gold),var(--rb-blue2));background-size:300% 100%;animation:rbGradient 4s ease infinite}

/* ELEMENTOR COMPAT */
.elementor-section,.e-con{font-family:var(--rb-font)}
.elementor-widget-heading .elementor-heading-title{font-family:var(--rb-font);font-weight:700}
.elementor-widget-button .elementor-button{border-radius:12px;font-family:var(--rb-font);font-weight:700;transition:all var(--rb-r)}
.elementor-editor-active .rb-nav{position:relative!important}

/* TABLET ≤1024px */
@media(max-width:1024px){
  .rb-nav-links{display:none!important}
  .rb-hamburger{display:flex!important}
  .rb-svc-grid,.rb-sfg,.rb-cg,.rb-clg,.rb-team-grid{grid-template-columns:repeat(2,1fr)}
  .rb-stats-grid{grid-template-columns:repeat(2,1fr)}
  .rb-footer-grid{grid-template-columns:1fr 1fr}
  .rb-about-grid,.rb-vg{grid-template-columns:1fr}
  .rb-av{display:none}
  .rb-con-grid{grid-template-columns:1fr}
  .rb-section{padding:78px 0}
  .rb-apply-box{padding:40px}
  .rb-hero-content{grid-template-columns:1fr;gap:40px}
  .rb-hero-visual{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .rb-hero-stat-row{display:contents}
  .rb-hero-tag{grid-column:1/-1}
  .rb-jc{flex-direction:column;align-items:flex-start}
}

/* MOBILE ≤640px */
@media(max-width:640px){
  .rb-topbar{flex-direction:column;gap:6px;padding:10px 16px;font-size:.75rem}
  .rb-nav-inner{height:66px;padding:0 16px}
  .rb-logo img{height:46px}
  .rb-container{padding:0 16px}
  .rb-section{padding:62px 0}
  .rb-h2{font-size:clamp(1.65rem,6.5vw,2.2rem)}
  .rb-sn{font-size:2.8rem}
  .rb-sb{padding:48px 20px}
  .rb-svc-grid,.rb-sfg,.rb-cg,.rb-clg,.rb-team-grid{grid-template-columns:1fr}
  .rb-stats-grid{grid-template-columns:1fr 1fr}
  .rb-vals,.rb-perks{grid-template-columns:1fr}
  .rb-form-row{grid-template-columns:1fr}
  .rb-footer-grid{grid-template-columns:1fr}
  .rb-fbot{flex-direction:column;align-items:flex-start}
  .rb-btn{padding:13px 24px;font-size:.9rem}
  .rb-ph{padding:66px 0 56px}
  .rb-ph h1{font-size:clamp(1.7rem,7vw,2.4rem)}
  .rb-clients-section{padding:48px 0}
  .rb-cta-band{padding:68px 0}
  .rb-apply-box{padding:26px 18px}
  .rb-form-wrap{padding:24px 20px}
  .rb-jc{padding:24px 18px}
  .rb-scroll-top{bottom:18px;right:16px;width:44px;height:44px}
  .rb-hero-section{min-height:auto;padding:80px 0 60px}
  .rb-hero-visual{grid-template-columns:1fr 1fr}
  .rb-hero h1{font-size:clamp(2rem,7.5vw,2.6rem)}
  .rb-hs{padding:18px 16px}
  .rb-hs-num{font-size:1.85rem}
  .rb-hero-tag{grid-column:1/-1}
}
@media(max-width:420px){
  .rb-stats-grid{grid-template-columns:1fr}
  .rb-cta-btns{flex-direction:column;align-items:center}
  .rb-btn{width:100%;justify-content:center}
  .rb-hero-visual{grid-template-columns:1fr}
  .rb-hero-tag{grid-column:auto}
}

/* ACCESSIBILITY */
:focus-visible{outline:3px solid var(--rb-gold);outline-offset:3px}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  .rb-sr{opacity:1!important;transform:none!important}
}

/* CAREER TOP GRID TABLET */
@media(max-width:1024px){
  .rb-career-top-grid{grid-template-columns:1fr!important}
  .rb-job-list .rb-jc{flex-direction:column;align-items:flex-start}
}
