/* RJ Tech House — WordPress/Elementor Styles v3.0 */
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700;14..32,800&family=Lily+Script+One&display=swap');

:root {
  --rj-navy:#2A3E95;--rj-sky:#219CD8;--rj-mid:#2596BE;
  --rj-bg:#111D38;--rj-bg2:#162240;--rj-bg3:#192648;
  --rj-surface:#1E2E56;--rj-surface2:#243568;
  --rj-border:rgba(42,62,149,.38);--rj-border-h:rgba(33,156,216,.55);
  --rj-text:#F0F4FF;--rj-text2:#BDC9E5;--rj-muted:#6E80AA;
  --rj-brand:linear-gradient(135deg,#219CD8 0%,#2A3E95 100%);
  --rj-card:linear-gradient(135deg,rgba(33,156,216,.08) 0%,rgba(42,62,149,.08) 100%);
  --rj-shadow-md:0 4px 16px rgba(0,0,0,.35);--rj-shadow-lg:0 8px 32px rgba(0,0,0,.40);
  --rj-glow:0 0 28px rgba(33,156,216,.18),0 0 56px rgba(42,62,149,.12);
  --rj-r-sm:6px;--rj-r-md:10px;--rj-r-lg:14px;--rj-r-xl:18px;--rj-r-2xl:24px;--rj-r-full:9999px;
}

/* GLOBAL */
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif!important;background-color:var(--rj-bg)!important;color:var(--rj-text)!important;line-height:1.65!important;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{text-decoration:none}
img{display:block;max-width:100%}
.site-main,.entry-content,#content,#primary,.elementor-section-wrap,.e-con{background:transparent}

/* Remove Astra conflicts */
.ast-container,.ast-row{max-width:none;padding:0}
.page h1,.page h2,.page h3,.page h4,.page h5,.page h6,.page p{margin:0}
.entry-title{display:none!important}

/* ELEMENTOR CONTAINER RESET — boxed containers only */
.e-con-boxed>.e-con-inner{max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(16px,5vw,40px)!important;padding-right:clamp(16px,5vw,40px)!important}

/* SCROLL REVEAL */
.rjth-reveal{opacity:0;transform:translateY(24px);transition:opacity 600ms ease,transform 600ms ease}
.rjth-reveal.in-view{opacity:1;transform:translateY(0)}
.rjth-reveal-d1.in-view{transition-delay:.1s}
.rjth-reveal-d2.in-view{transition-delay:.2s}
.rjth-reveal-d3.in-view{transition-delay:.3s}

/* TYPOGRAPHY — section labels */
.rjth-eyebrow .elementor-heading-title{font-size:12px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;margin-bottom:12px!important;display:inline-block!important}
.rjth-h2 .elementor-heading-title{font-size:clamp(28px,4vw,44px)!important;font-weight:800!important;letter-spacing:-.025em!important;line-height:1.15!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:16px!important}
.rjth-sub .elementor-text-editor p{font-size:17px!important;color:var(--rj-text2)!important;max-width:560px!important;line-height:1.7!important;margin:0!important}
.rjth-section-header{margin-bottom:56px!important}
.rjth-section-cta{margin-top:48px!important;text-align:center!important}

/* BUTTONS */
.rjth-btn-primary .elementor-button,.rjth-btn-primary-lg .elementor-button,.rjth-btn-primary-xl .elementor-button{background:var(--rj-brand)!important;color:#fff!important;border:none!important;font-weight:600!important;box-shadow:0 4px 20px rgba(33,156,216,.30)!important;transition:all 260ms ease!important}
.rjth-btn-primary .elementor-button{border-radius:var(--rj-r-md)!important;font-size:15px!important;padding:12px 24px!important}
.rjth-btn-primary-lg .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:16px!important;padding:14px 28px!important}
.rjth-btn-primary-xl .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:18px!important;padding:18px 36px!important}
.rjth-btn-primary .elementor-button:hover,.rjth-btn-primary-lg .elementor-button:hover,.rjth-btn-primary-xl .elementor-button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 32px rgba(33,156,216,.45)!important}
.rjth-btn-outline .elementor-button,.rjth-btn-outline-lg .elementor-button,.rjth-btn-ghost-lg .elementor-button{background:transparent!important;border:1.5px solid var(--rj-border-h)!important;color:var(--rj-sky)!important;font-weight:600!important;transition:all 260ms ease!important}
.rjth-btn-outline .elementor-button{border-radius:var(--rj-r-md)!important;font-size:15px!important;padding:12px 24px!important}
.rjth-btn-outline-lg .elementor-button,.rjth-btn-ghost-lg .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:16px!important;padding:14px 28px!important}
.rjth-btn-outline .elementor-button:hover,.rjth-btn-outline-lg .elementor-button:hover,.rjth-btn-ghost-lg .elementor-button:hover{background:rgba(33,156,216,.08)!important;border-color:var(--rj-sky)!important}

/* ── HERO ─────────────────────────────────────────────── */
.rjth-hero{position:relative!important;overflow:hidden!important;min-height:100vh!important;background-color:var(--rj-bg)!important;padding:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.rjth-orbs{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:0!important;overflow:hidden!important}
@keyframes rjFloatOrb{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(24px,-18px) scale(1.04)}66%{transform:translate(-18px,24px) scale(.97)}}

/* Hero row: 2 columns */
.rjth-hero-row{display:grid!important;grid-template-columns:55fr 45fr!important;align-items:center!important;gap:64px!important;padding:100px clamp(24px,6vw,80px) 80px!important;position:relative!important;z-index:1!important;min-height:100vh!important}

/* Hero copy column */
.rjth-hero-copy{display:flex!important;flex-direction:column!important;}
.rjth-hero-badge .elementor-heading-title{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(33,156,216,.10)!important;border:1px solid rgba(33,156,216,.30)!important;border-radius:9999px!important;padding:6px 14px!important;font-size:13px!important;font-weight:500!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;margin-bottom:28px!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-h1 .elementor-heading-title{font-size:clamp(34px,5vw,62px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.1!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:22px!important}
.rjth-hero-sub .elementor-text-editor p{font-size:clamp(15px,1.8vw,18px)!important;color:var(--rj-text2)!important;line-height:1.75!important;margin-bottom:36px!important}
.rjth-trust-chip .elementor-heading-title{background:rgba(255,255,255,.05)!important;border:1px solid var(--rj-border)!important;border-radius:9999px!important;padding:4px 12px!important;font-size:12px!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;font-weight:500!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* Hero CTA buttons row */
.rjth-hero-btns{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-bottom:36px!important;}

/* Hero chips row */
.rjth-hero-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;}

/* Hero visual column */
.rjth-hero-visual{display:flex!important;justify-content:center!important;align-items:center!important;}
.rjth-hero-device-outer{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;}
.rjth-hero-img .elementor-image img{border-radius:var(--rj-r-2xl)!important;border:1px solid var(--rj-border-h)!important;box-shadow:var(--rj-shadow-lg),var(--rj-glow)!important;transform:perspective(1200px) rotateY(-12deg) rotateX(4deg)!important;animation:rjDeviceFloat 6s ease-in-out infinite!important;max-width:100%!important;}
@keyframes rjDeviceFloat{0%,100%{transform:perspective(1200px) rotateY(-12deg) rotateX(4deg) translateY(0)}50%{transform:perspective(1200px) rotateY(-10deg) rotateX(3deg) translateY(-10px)}}

/* ── TRUST / METRICS ──────────────────────────────────── */
.rjth-trust{padding:64px 0 0!important;background:var(--rj-bg)!important}

/* Metrics: 4 counters + 3 dividers = 7-col grid */
.rjth-metrics-row{display:grid!important;grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr!important;align-items:center!important;gap:0!important;padding:48px clamp(16px,5vw,80px)!important}
.rjth-metric{text-align:center!important;padding:20px!important}
.rjth-metric-div{width:1px!important;height:60px!important;background:var(--rj-border)!important;align-self:center!important}
.rjth-counter-num .elementor-counter-number-wrapper,.rjth-counter-num .elementor-counter-number-suffix,.rjth-counter-num .elementor-counter-number-prefix{font-size:clamp(36px,4vw,52px)!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1.1!important}
.rjth-counter-title .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-top:8px!important}
.rjth-metric-sub .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-top:8px!important}

/* Marquee */
.rjth-marquee-wrap{overflow:hidden!important;border-top:1px solid var(--rj-border)!important;border-bottom:1px solid var(--rj-border)!important;padding:0!important;margin-top:48px!important;background:rgba(22,34,64,.6)!important}
.rjth-marquee-track{display:flex!important;width:max-content!important;animation:rjMarquee 30s linear infinite!important;padding:20px 0!important;}
.rjth-marquee-track:hover{animation-play-state:paused!important}
@keyframes rjMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rjth-mlabel .elementor-heading-title{font-size:13px!important;font-weight:600!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;letter-spacing:.05em!important;white-space:nowrap!important;padding:0 20px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-mlabel .elementor-heading-title:hover{color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important}
.rjth-msep .elementor-heading-title{color:var(--rj-border-h)!important;-webkit-text-fill-color:var(--rj-border-h)!important;font-size:16px!important;padding:0 4px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── SERVICES ─────────────────────────────────────────── */
.rjth-services{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-services-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-service-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:32px!important;cursor:pointer!important;transition:border-color 260ms,transform 260ms,box-shadow 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-service-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-4px)!important;box-shadow:var(--rj-glow)!important}
.rjth-service-card-featured{background:linear-gradient(135deg,rgba(33,156,216,.12) 0%,rgba(42,62,149,.12) 100%)!important;border-color:var(--rj-border-h)!important}
.rjth-sc-icon{width:52px!important;height:52px!important;background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-sc-icon-fa .elementor-icon{font-size:22px!important;color:var(--rj-sky)!important;}
.rjth-sc-title .elementor-heading-title{font-size:17px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;line-height:1.3!important}
.rjth-sc-desc .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.65!important;margin:0!important}
.rjth-sc-arrow .elementor-heading-title{font-size:13px!important;font-weight:600!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;margin-top:auto!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── PORTFOLIO/WORK ───────────────────────────────────── */
.rjth-work{padding:96px 0!important;background:var(--rj-bg2)!important}
.rjth-bento-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important;margin-bottom:20px!important}
.rjth-bento-grid-three{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-bento-card{border-radius:var(--rj-r-2xl)!important;overflow:hidden!important;position:relative!important;min-height:320px!important;cursor:pointer!important;transition:transform 300ms ease,box-shadow 300ms ease!important;display:block!important;text-decoration:none!important}
.rjth-bento-card:hover{transform:translateY(-4px)!important;box-shadow:var(--rj-glow)!important}
.rjth-bento-real{border:1px solid var(--rj-border)!important;}
.rjth-bento-real::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(to top,rgba(17,29,56,.92) 0%,rgba(17,29,56,.4) 50%,transparent 100%)!important;z-index:1!important}
/* Content inside real bento at bottom */
.rjth-bento-real>.rjth-bento-tags,.rjth-bento-real>.rjth-bento-title,.rjth-bento-real>.rjth-bento-desc,.rjth-bento-real>.rjth-live-badge,.rjth-bento-real>.rjth-metric-pill-wrap,.rjth-bento-real>.rjth-bento-cta-link{position:relative!important;z-index:2!important}
.rjth-bento-tags{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:10px!important;padding:0 24px!important;position:absolute!important;bottom:80px!important;left:0!important;right:0!important;z-index:2!important}
.rjth-tag .elementor-heading-title{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;font-size:11px!important;font-weight:500!important;padding:3px 10px!important;border-radius:9999px!important;-webkit-text-fill-color:#fff!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important}
.rjth-tag-sky .elementor-heading-title{background:rgba(33,156,216,.25)!important;border-color:rgba(33,156,216,.4)!important;color:#9dd9f5!important;-webkit-text-fill-color:#9dd9f5!important}
.rjth-tag-amber .elementor-heading-title{background:rgba(251,191,36,.15)!important;border-color:rgba(251,191,36,.3)!important;color:#fbbf24!important;-webkit-text-fill-color:#fbbf24!important}
.rjth-tag-teal .elementor-heading-title{background:rgba(20,184,166,.15)!important;border-color:rgba(20,184,166,.3)!important;color:#5eead4!important;-webkit-text-fill-color:#5eead4!important}
.rjth-live-badge .elementor-heading-title{background:rgba(34,197,94,.15)!important;border:1px solid rgba(34,197,94,.3)!important;color:#4ade80!important;font-size:11px!important;font-weight:600!important;padding:3px 10px!important;border-radius:9999px!important;-webkit-text-fill-color:#4ade80!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-title .elementor-heading-title{font-size:16px!important;font-weight:700!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin-bottom:6px!important}
.rjth-bento-desc .elementor-text-editor p{font-size:13px!important;color:rgba(240,244,255,.75)!important;line-height:1.5!important;margin:0!important}
.rjth-metric-pill-wrap{padding:4px 0 0!important}
.rjth-metric-pill .elementor-heading-title{display:inline-block!important;background:rgba(33,156,216,.15)!important;border:1px solid rgba(33,156,216,.25)!important;color:var(--rj-sky)!important;font-size:12px!important;font-weight:600!important;padding:4px 12px!important;border-radius:9999px!important;-webkit-text-fill-color:var(--rj-sky)!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-cta-link .elementor-heading-title{font-size:12px!important;font-weight:600!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;opacity:0!important;transition:opacity 260ms!important;display:inline-block!important;margin-top:10px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-card:hover .rjth-bento-cta-link .elementor-heading-title{opacity:1!important}

/* Placeholder bento cards */
.rjth-bento-small{min-height:240px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:24px!important}
.rjth-bento-fintech{background:linear-gradient(135deg,#0f2750 0%,#1a3a6b 100%)!important}
.rjth-bento-health{background:linear-gradient(135deg,#0d2b2b 0%,#0f3d3d 100%)!important}
.rjth-bento-logistics{background:linear-gradient(135deg,#2d1a00 0%,#3d2600 100%)!important}

/* ── INDUSTRIES ───────────────────────────────────────── */
.rjth-industries{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-industries-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-industry-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-xl)!important;padding:28px 24px!important;cursor:pointer!important;transition:border-color 260ms,transform 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;text-decoration:none!important}
.rjth-industry-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-3px)!important}
.rjth-industry-icon{width:44px!important;height:44px!important;background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-md)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-industry-icon .elementor-icon{font-size:20px!important;color:var(--rj-sky)!important;}
.rjth-industry-title .elementor-heading-title{font-size:15px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}
.rjth-industry-text .elementor-text-editor p{font-size:13px!important;color:var(--rj-text2)!important;line-height:1.6!important;margin:0!important}

/* ── TECHNOLOGY ───────────────────────────────────────── */
.rjth-technology{padding:96px 0!important;background:var(--rj-bg3)!important}
.rjth-tech-marquees{overflow:hidden!important;margin-top:48px!important}
.rjth-tech-row{overflow:hidden!important;padding:6px 0!important}
.rjth-tech-track{display:flex!important;width:max-content!important;gap:12px!important;animation:rjTechMarquee 25s linear infinite!important;}
.rjth-tech-track-rev{animation-direction:reverse!important;animation-duration:30s!important}
@keyframes rjTechMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rjth-tech-tag .elementor-heading-title{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:9999px!important;padding:8px 18px!important;font-size:13px!important;font-weight:500!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;white-space:nowrap!important;transition:border-color 200ms,color 200ms!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-tech-tag .elementor-heading-title:hover{border-color:var(--rj-border-h)!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}

/* ── PROCESS ──────────────────────────────────────────── */
.rjth-process{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-process-steps{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-step-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:28px!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-step-number{display:flex!important;align-items:center!important;justify-content:center!important;width:52px!important;height:52px!important;background:rgba(33,156,216,.10)!important;border:1px solid rgba(33,156,216,.25)!important;border-radius:var(--rj-r-lg)!important;flex-shrink:0!important;}
.rjth-step-num .elementor-heading-title{font-size:22px!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1!important;}
.rjth-step-body{display:flex!important;flex-direction:column!important;gap:8px!important;}
.rjth-step-title .elementor-heading-title{font-size:16px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;}
.rjth-step-desc .elementor-text-editor p{font-size:13px!important;color:var(--rj-text2)!important;line-height:1.7!important;margin:0!important}

/* ── TESTIMONIALS ─────────────────────────────────────── */
.rjth-testimonials{padding:96px 0!important;background:var(--rj-bg2)!important}
.rjth-testi-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-testi-card{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:32px!important;transition:border-color 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-testi-card:hover{border-color:var(--rj-border-h)!important}
.rjth-testi-top{display:flex!important;flex-direction:column!important;gap:12px!important;}
.rjth-stars .elementor-heading-title{color:#fbbf24!important;-webkit-text-fill-color:#fbbf24!important;font-size:16px!important;letter-spacing:2px!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-testi-quote .elementor-text-editor p{font-size:15px!important;color:var(--rj-text)!important;line-height:1.7!important;font-style:italic!important;margin:0!important}
.rjth-testi-info{display:flex!important;align-items:center!important;gap:12px!important;margin-top:auto!important;}
.rjth-avatar{width:44px!important;height:44px!important;background:var(--rj-brand)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-avatar-init .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin:0!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-testi-name .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:2px!important}
.rjth-testi-role .elementor-heading-title{font-size:12px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── RESULTS ──────────────────────────────────────────── */
.rjth-results{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-results-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-result-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:36px 28px!important;text-align:center!important;transition:border-color 260ms,transform 260ms!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;}
.rjth-result-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-3px)!important}
.rjth-result-number .elementor-counter-number-wrapper,.rjth-result-number .elementor-counter-number-suffix,.rjth-result-number .elementor-counter-number-prefix{font-size:clamp(40px,4vw,56px)!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1!important}
.rjth-result-label .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}
.rjth-result-sub .elementor-text-editor p{font-size:13px!important;color:var(--rj-muted)!important;line-height:1.6!important;margin:0!important}

/* ── FAQ ──────────────────────────────────────────────── */
.rjth-faq{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-faq-list{display:flex!important;flex-direction:column!important;gap:10px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-faq-item{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;overflow:hidden!important;transition:border-color 260ms!important;display:flex!important;flex-direction:column!important;}
.rjth-faq-item:hover{border-color:var(--rj-border-h)!important}
.rjth-faq-q .elementor-heading-title{padding:18px 20px!important;font-size:15px!important;font-weight:600!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;cursor:pointer!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important;margin:0!important}
.rjth-faq-a .elementor-text-editor{padding:0 20px 16px!important;}
.rjth-faq-a .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.75!important;margin:0!important}
.rjth-faq-cta{margin-top:48px!important;text-align:center!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-faq-cta-text .elementor-text-editor p,.rjth-faq-cta-text .elementor-text-editor a{font-size:15px!important;color:var(--rj-text2)!important;}

/* ── CTA SECTION ──────────────────────────────────────── */
.rjth-cta-section{padding:120px 0!important;background:var(--rj-bg3)!important;position:relative!important;overflow:hidden!important}
.rjth-cta-content{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:0 clamp(16px,5vw,40px)!important;position:relative!important;z-index:1!important;gap:24px!important}
.rjth-cta-section .rjth-h2 .elementor-heading-title{font-size:clamp(28px,4vw,48px)!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;text-align:center!important}
.rjth-cta-section .rjth-sub .elementor-text-editor p{font-size:17px!important;color:var(--rj-text2)!important;max-width:500px!important;margin:0!important;line-height:1.7!important;text-align:center!important}
.rjth-cta-btns{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;}
.rjth-cta-chips{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;}
.rjth-cta-chips .rjth-trust-chip .elementor-heading-title{font-size:13px!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;font-weight:500!important;}

/* ── CONTACT ──────────────────────────────────────────── */
.rjth-contact{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-contact-grid{display:grid!important;grid-template-columns:1fr 1.5fr!important;gap:64px!important;align-items:start!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-contact-left{display:flex!important;flex-direction:column!important;gap:24px!important;}
.rjth-contact-info-group{display:flex!important;flex-direction:column!important;gap:12px!important;}
.rjth-contact-info-item{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-xl)!important;padding:20px!important;display:flex!important;flex-direction:column!important;gap:4px!important;}
.rjth-contact-label .elementor-heading-title{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;margin-bottom:2px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-contact-value .elementor-text-editor p,.rjth-contact-value .elementor-text-editor a{font-size:15px!important;color:var(--rj-text)!important;font-weight:500!important;margin:0!important}
.rjth-contact-socials{display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
.rjth-social-btn .elementor-button{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;color:var(--rj-text2)!important;font-size:14px!important;font-weight:500!important;padding:10px 18px!important;transition:all 200ms!important;}
.rjth-social-btn .elementor-button:hover{border-color:var(--rj-border-h)!important;color:var(--rj-text)!important;}
.rjth-contact-right{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:40px!important;display:flex!important;flex-direction:column!important;gap:24px!important;}
.rjth-contact-form-wrap{display:block!important;}
.rjth-contact-form-wrap .wpforms-field input,.rjth-contact-form-wrap .wpforms-field textarea,.rjth-contact-form-wrap .wpforms-field select{background:var(--rj-bg)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-md)!important;color:var(--rj-text)!important;padding:12px 16px!important;font-size:15px!important;font-family:'Inter',sans-serif!important;width:100%!important;transition:border-color 200ms!important}
.rjth-contact-form-wrap .wpforms-field input:focus,.rjth-contact-form-wrap .wpforms-field textarea:focus,.rjth-contact-form-wrap .wpforms-field select:focus{border-color:var(--rj-sky)!important;outline:none!important}
.rjth-contact-form-wrap .wpforms-field-label,.rjth-contact-form-wrap label{font-size:13px!important;font-weight:600!important;color:var(--rj-text2)!important;margin-bottom:6px!important;display:block!important}
.rjth-contact-form-wrap .wpforms-submit-container button{background:var(--rj-brand)!important;border:none!important;border-radius:var(--rj-r-lg)!important;color:#fff!important;font-size:16px!important;font-weight:600!important;padding:14px 28px!important;cursor:pointer!important;transition:all 260ms!important;width:100%!important;font-family:'Inter',sans-serif!important}
.rjth-contact-form-wrap .wpforms-submit-container button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 32px rgba(33,156,216,.45)!important}
.rjth-contact-form-wrap .wpforms-form{padding:0!important}
.rjth-contact-form-wrap .wpforms-field{margin-bottom:20px!important}
.rjth-contact-form-wrap .wpforms-field-select select option{background:var(--rj-surface)!important;color:var(--rj-text)!important}

/* Contact section header context */
.rjth-contact .rjth-h2 .elementor-heading-title{margin-bottom:12px!important}
.rjth-contact .rjth-sub .elementor-text-editor p{max-width:400px!important;}

/* ── FOOTER (XPRO) ────────────────────────────────────── */
.rjth-footer,footer.xpro-theme-builder-footer{background:var(--rj-bg2)!important;border-top:1px solid var(--rj-border)!important;padding:64px 0 0!important}
.rjth-footer-grid{display:grid!important;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr!important;gap:48px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-footer-brand{display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-footer-logo-row{display:flex!important;align-items:center!important;gap:12px!important;}
.rjth-footer-logo .elementor-image img{width:52px!important;height:52px!important;border-radius:10px!important;object-fit:cover!important}
.rjth-footer-name .elementor-heading-title{font-family:'Lily Script One',cursive!important;font-size:19px!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;font-weight:400!important;letter-spacing:-.01em!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-tagline .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.6!important;margin:0!important;max-width:280px!important}
.rjth-footer-col-head .elementor-heading-title{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:rgba(240,244,255,.5)!important;-webkit-text-fill-color:rgba(240,244,255,.5)!important;margin-bottom:16px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-link .elementor-text-editor p,.rjth-footer-link .elementor-text-editor a{font-size:14px!important;color:var(--rj-text2)!important;margin-bottom:10px!important;transition:color 200ms!important;margin-top:0!important}
.rjth-footer-link .elementor-text-editor a:hover{color:var(--rj-text)!important}
.rjth-footer-links{display:flex!important;flex-direction:column!important;gap:0!important;}
.rjth-footer-bottom{border-top:1px solid var(--rj-border)!important;margin-top:48px!important;padding:24px clamp(16px,5vw,80px)!important}
.rjth-footer-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important;}
.rjth-copyright .elementor-text-editor p{font-size:13px!important;color:var(--rj-muted)!important;margin:0!important}
.rjth-footer-legal{display:flex!important;gap:20px!important;}
.rjth-footer-legal .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;transition:color 200ms!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-legal .elementor-heading-title:hover{color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important}

/* ── HEADER (XPRO) ────────────────────────────────────── */
#masthead,.site-header,header.xpro-theme-builder-header{background:rgba(17,29,56,.88)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-bottom:1px solid var(--rj-border)!important;position:sticky!important;top:0!important;z-index:1000!important;transition:background 260ms,box-shadow 260ms!important}
body.scrolled #masthead,body.scrolled .site-header,body.scrolled header.xpro-theme-builder-header{background:rgba(17,29,56,.97)!important;box-shadow:0 4px 16px rgba(0,0,0,.35)!important}
.rjth-header-inner{display:flex!important;align-items:center!important;height:68px!important;gap:32px!important;padding:0 clamp(16px,5vw,80px)!important;}
.rjth-logo-row{display:flex!important;align-items:center!important;gap:12px!important;}
.rjth-logo-img .elementor-image img,.rjth-header-logo .elementor-image img{width:52px!important;height:52px!important;border-radius:10px!important;object-fit:cover!important}
.rjth-logo-name .elementor-heading-title,.rjth-header-name .elementor-heading-title{font-family:'Lily Script One',cursive!important;font-size:19px!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-nav-wrap{margin-left:auto!important}
.rjth-header-ctas{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important;}
.xpro-nav-menu .xpro-menu-item>a{font-size:14px!important;font-weight:500!important;color:var(--rj-text2)!important;padding:8px 14px!important;border-radius:var(--rj-r-md)!important;transition:all 150ms!important}
.xpro-nav-menu .xpro-menu-item:hover>a,.xpro-nav-menu .xpro-menu-item.current-menu-item>a{color:var(--rj-text)!important;background:rgba(255,255,255,.05)!important}

/* ── SECTION PADDING NORMALIZER ───────────────────────── */
/* All section e-con roots: remove Elementor default padding */
.rjth-hero,.rjth-trust,.rjth-services,.rjth-work,.rjth-industries,.rjth-technology,.rjth-process,.rjth-testimonials,.rjth-results,.rjth-faq,.rjth-cta-section,.rjth-contact{padding-left:0!important;padding-right:0!important;}
/* Grid/flex children: remove elementor-added padding */
.rjth-services-grid,.rjth-bento-grid,.rjth-bento-grid-three,.rjth-industries-grid,.rjth-testi-grid,.rjth-results-grid,.rjth-process-steps,.rjth-faq-list,.rjth-metrics-row,.rjth-contact-grid{box-sizing:border-box!important}

/* ── RESPONSIVE ───────────────────────────────────────── */
@media(max-width:1200px){
.rjth-process-steps{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:1024px){
.rjth-services-grid,.rjth-bento-grid,.rjth-bento-grid-three{grid-template-columns:1fr 1fr!important}
.rjth-testi-grid{grid-template-columns:1fr 1fr!important}
.rjth-results-grid{grid-template-columns:1fr 1fr!important}
.rjth-process-steps{grid-template-columns:1fr 1fr!important}
.rjth-industries-grid{grid-template-columns:1fr 1fr 1fr!important}
.rjth-footer-grid{grid-template-columns:1fr 1fr!important}
.rjth-hero-row{gap:32px!important}
}
@media(max-width:768px){
.rjth-hero-row{display:flex!important;flex-direction:column!important;padding-top:80px!important;padding-bottom:60px!important;min-height:auto!important;}
.rjth-services-grid,.rjth-industries-grid,.rjth-testi-grid,.rjth-bento-grid,.rjth-bento-grid-three{grid-template-columns:1fr!important}
.rjth-results-grid{grid-template-columns:1fr 1fr!important}
.rjth-contact-grid{grid-template-columns:1fr!important;gap:40px!important}
.rjth-metrics-row{grid-template-columns:1fr 1fr!important;}
.rjth-metric-div{display:none!important}
.rjth-footer-grid{grid-template-columns:1fr!important}
.rjth-process-steps{grid-template-columns:1fr!important}
}
@media(max-width:480px){
.rjth-results-grid,.rjth-process-steps{grid-template-columns:1fr!important}
.rjth-metrics-row{grid-template-columns:1fr!important}
}


/* FLEX WIDGET SHRINK FIXES */
/* Elementor widget elements default to width:100% inside flex containers */
.rjth-hero-btns .elementor-widget,
.rjth-hero-btns .elementor-button-wrapper,
.rjth-hero-btns .elementor-button-link{width:auto!important;flex:0 0 auto!important;}

.rjth-hero-chips .elementor-widget,
.rjth-cta-chips .elementor-widget,
.rjth-bento-tags .elementor-widget,
.rjth-contact-socials .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Marquee and tech track: headings must not wrap */
.rjth-marquee-track .elementor-widget,
.rjth-tech-track .elementor-widget,
.rjth-tech-track-rev .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* CTA buttons row */
.rjth-cta-btns .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Bento real card: portfolio image fills card */
.rjth-bento-real .elementor-widget-image{position:absolute!important;inset:0!important;z-index:0!important;margin:0!important;width:100%!important;}
.rjth-bento-real .elementor-widget-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important;}
.rjth-bento-real .elementor-widget-image .elementor-widget-container{height:100%!important;}

/* Bento real card: text content overlays at bottom, above the gradient */
.rjth-bento-real .elementor-widget:not(.elementor-widget-image){position:relative!important;z-index:2!important;}

/* Fix metrics section scroll position by ensuring section has correct height */
.rjth-trust{min-height:auto!important;}

/* Testi info row: flex */
.rjth-testi-info .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Process step number */
.rjth-step-number .elementor-widget{width:auto!important;}

/* Footer legal links */
.rjth-footer-legal .elementor-widget{width:auto!important;flex:0 0 auto!important;}


/* FLEX DIRECTION FIX */
/* Elementor sets --flex-direction:column via CSS var; must explicitly override */
.rjth-hero-btns{flex-direction:row!important;}
.rjth-hero-chips{flex-direction:row!important;}
.rjth-cta-btns{flex-direction:row!important;}
.rjth-cta-chips{flex-direction:row!important;}
.rjth-marquee-track{flex-direction:row!important;}
.rjth-tech-track{flex-direction:row!important;}
.rjth-tech-track-rev{flex-direction:row!important;}
.rjth-bento-tags{flex-direction:row!important;}
.rjth-contact-socials{flex-direction:row!important;}
.rjth-header-inner{flex-direction:row!important;}
.rjth-header-ctas{flex-direction:row!important;}
.rjth-logo-row{flex-direction:row!important;}
.rjth-footer-logo-row{flex-direction:row!important;}
.rjth-footer-bottom{flex-direction:row!important;}
.rjth-footer-legal{flex-direction:row!important;}
.rjth-testi-info{flex-direction:row!important;}
.rjth-contact-info-item{flex-direction:row!important;}
.rjth-section-cta{flex-direction:row!important;justify-content:center!important;}


/* METRICS COUNTER WIDGET STYLES (counters have no custom CSS class) */
.rjth-metric .elementor-counter-number-wrapper,
.rjth-metric .elementor-counter-number-suffix,
.rjth-metric .elementor-counter-number-prefix{
  font-size:clamp(36px,4vw,52px)!important;
  font-weight:800!important;
  background:var(--rj-brand)!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  line-height:1.1!important;
}
.rjth-metric .elementor-counter-title{
  font-size:13px!important;
  font-weight:500!important;
  color:var(--rj-muted)!important;
  -webkit-text-fill-color:var(--rj-muted)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-top:8px!important;
  display:block!important;
}

/* RESULTS counter styled brighter */
.rjth-result-number .elementor-counter-number-wrapper,
.rjth-result-number .elementor-counter-number-suffix,
.rjth-result-number .elementor-counter-number-prefix{
  color:#219CD8!important;
  -webkit-text-fill-color:#219CD8!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
}

/* PORTFOLIO IMAGES — show real images in bento cards */
.rjth-bento-real .elementor-widget-image .elementor-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:top center!important;
  position:absolute!important;
  inset:0!important;
}
.rjth-bento-real .elementor-widget-image .elementor-widget-container{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.rjth-bento-real .elementor-widget-image{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}

/* Make bento card content stack at bottom */
.rjth-bento-real{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:24px!important;
}
.rjth-bento-real .elementor-widget:not(.elementor-widget-image){
  position:relative!important;
  z-index:2!important;
}


/* FIX: rjth-counter-num static metric number - use solid color, not gradient clip */
.rjth-counter-num .elementor-heading-title{
  font-size:clamp(36px,4vw,52px)!important;
  font-weight:800!important;
  color:#219CD8!important;
  -webkit-text-fill-color:#219CD8!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
  line-height:1.1!important;
  display:block!important;
}
.rjth-counter-title .elementor-heading-title{
  font-size:13px!important;
  font-weight:500!important;
  color:rgba(240,244,255,.45)!important;
  -webkit-text-fill-color:rgba(240,244,255,.45)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-top:4px!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
}

/* FIX: Bento real card overlay - lighter gradient so images show through */
.rjth-bento-real::after{
  background:linear-gradient(to top,rgba(17,29,56,.95) 0%,rgba(17,29,56,.55) 40%,rgba(17,29,56,.15) 100%)!important;
}

/* ═══════════════════════════════════════════════════
   HEADER LAYOUT FIXES (v3.6)
   e-con-full sets width:100% on all flex children;
   override with flex: 0 0 auto / flex: 1 1 auto
   ═══════════════════════════════════════════════════ */

/* Wrapper: full width, transparent bg */
.xpro-theme-builder-header{
  background:rgba(17,29,56,.92)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  width:100%!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
.xpro-theme-builder-header-nav{
  width:100%!important;
  display:block!important;
}
/* Elementor wrapper */
.elementor-749{
  width:100%!important;
}

/* Inner row: flex, constrained */
.rjth-header-inner{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  height:68px!important;
  padding:0 clamp(16px,5vw,80px)!important;
  gap:32px!important;
  width:100%!important;
  box-sizing:border-box!important;
}

/* Logo row: shrink to content */
.rjth-logo-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:12px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
.rjth-logo-row .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-logo-row .xpro-site-logo img,
.rjth-logo-row .elementor-widget-xpro-site-logo img{
  width:52px!important;
  height:52px!important;
  border-radius:10px!important;
  object-fit:cover!important;
  display:block!important;
}
.rjth-logo-row .xpro-site-logo,
.rjth-logo-row .elementor-widget-container{
  width:auto!important;
  display:block!important;
}

/* Nav: take all remaining space */
.rjth-nav-wrap{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  margin-left:0!important;
}
.rjth-nav-wrap .elementor-widget-container{
  width:auto!important;
  display:flex!important;
  align-items:center!important;
}

/* Force XPRO nav to desktop mode at 769px+
   The plugin adds responsive-tablet class regardless of viewport;
   we force the desktop navbar to show and hide the mobile toggle */
.xpro-elementor-horizontal-navbar-wrapper{
  display:flex!important;
  align-items:center!important;
}
.xpro-elementor-horizontal-navbar{
  display:flex!important;
}
.xpro-elementor-horizontal-navbar-nav{
  display:flex!important;
  flex-direction:row!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  gap:4px!important;
  align-items:center!important;
}
.xpro-elementor-horizontal-menu-close,
.xpro-elementor-horizontal-menu-toggle{
  display:none!important;
}

/* Nav link styles */
.xpro-elementor-horizontal-navbar-nav .menu-item>a,
.xpro-nav-menu .xpro-menu-item>a{
  font-size:14px!important;
  font-weight:500!important;
  color:rgba(240,244,255,.75)!important;
  padding:8px 14px!important;
  border-radius:8px!important;
  text-decoration:none!important;
  display:block!important;
  transition:all 150ms!important;
  white-space:nowrap!important;
}
.xpro-elementor-horizontal-navbar-nav .menu-item:hover>a,
.xpro-elementor-horizontal-navbar-nav .menu-item.current-menu-item>a{
  color:#fff!important;
  background:rgba(255,255,255,.07)!important;
}

/* CTA container: shrink to content */
.rjth-header-ctas{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
.rjth-header-ctas .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}

/* ═══════════════════════════════════════════════════
   FOOTER LAYOUT FIXES (v3.6)
   ═══════════════════════════════════════════════════ */

#xpro-theme-builder-footer{
  background:var(--rj-navy)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  padding:0!important;
  width:100%!important;
}
.elementor-750{
  width:100%!important;
}

/* Footer grid: 5 cols */
.rjth-footer-grid{
  display:grid!important;
  grid-template-columns:1.5fr 1fr 1fr 1fr 1fr!important;
  gap:48px!important;
  padding:64px clamp(16px,5vw,80px)!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.rjth-footer-grid.e-con{
  flex:unset!important;
  width:100%!important;
}
/* Ensure grid children don't flex-grow */
.rjth-footer-grid>.e-con,
.rjth-footer-grid>.elementor-widget{
  flex:unset!important;
  width:auto!important;
}

/* Footer brand column */
.rjth-footer-brand{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  width:auto!important;
  flex:unset!important;
}
.rjth-footer-logo-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
  width:auto!important;
}
.rjth-footer-logo-row .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-footer-logo-row .xpro-site-logo img,
.rjth-footer-logo-row .elementor-widget-xpro-site-logo img{
  width:40px!important;
  height:40px!important;
  border-radius:8px!important;
  object-fit:cover!important;
  display:block!important;
}
.rjth-footer-name .elementor-heading-title{
  font-family:'Lily Script One',cursive!important;
  font-size:16px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
  font-weight:400!important;
}
.rjth-footer-tagline .elementor-heading-title,
.rjth-footer-tagline p{
  font-size:14px!important;
  color:rgba(240,244,255,.55)!important;
  -webkit-text-fill-color:rgba(240,244,255,.55)!important;
  background:none!important;
  line-height:1.6!important;
  max-width:260px!important;
}

/* Footer link columns */
.rjth-footer-links{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  width:auto!important;
  flex:unset!important;
}
.rjth-footer-col-head .elementor-heading-title{
  font-size:11px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  color:rgba(240,244,255,.4)!important;
  -webkit-text-fill-color:rgba(240,244,255,.4)!important;
  background:none!important;
  margin-bottom:8px!important;
}
.rjth-footer-link a,
.rjth-footer-link .elementor-button{
  font-size:14px!important;
  color:rgba(240,244,255,.65)!important;
  text-decoration:none!important;
  display:block!important;
  padding:2px 0!important;
  transition:color 150ms!important;
  background:none!important;
  border:none!important;
  text-align:left!important;
}
.rjth-footer-link a:hover{
  color:#fff!important;
}

/* Footer bottom bar */
.rjth-footer-bottom{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:20px clamp(16px,5vw,80px)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  gap:16px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.rjth-footer-bottom.e-con{
  flex:unset!important;
  width:100%!important;
}
.rjth-copyright .elementor-heading-title,
.rjth-copyright p{
  font-size:13px!important;
  color:rgba(240,244,255,.4)!important;
  -webkit-text-fill-color:rgba(240,244,255,.4)!important;
  background:none!important;
}
.rjth-footer-legal{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:20px!important;
  flex:0 0 auto!important;
  width:auto!important;
}
.rjth-footer-legal .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-footer-legal a,
.rjth-footer-legal .elementor-button{
  font-size:13px!important;
  color:rgba(240,244,255,.4)!important;
  text-decoration:none!important;
  background:none!important;
  border:none!important;
}
.rjth-footer-legal a:hover{
  color:rgba(240,244,255,.7)!important;
}
/* ═══════════════════════════════════════════════════════
   RESPONSIVE: HEADER & FOOTER FIXES
   ═══════════════════════════════════════════════════════ */

/* ── MOBILE HEADER (≤ 768px) ──────────────────────────── */
@media (max-width: 768px) {
  .rjth-header-inner {
    height: 60px !important;
    gap: 0 !important;
    padding: 0 16px !important;
  }
  /* Hide desktop nav and CTA buttons on mobile */
  .rjth-nav-wrap { display: none !important; }
  .rjth-header-ctas { display: none !important; }
  /* Logo row: push to full width minus hamburger space */
  .rjth-logo-row {
    flex: 1 1 auto !important;
    gap: 10px !important;
  }
  .rjth-logo-row .xpro-site-logo img,
  .rjth-logo-row .elementor-widget-xpro-site-logo img {
    width: 40px !important;
    height: 40px !important;
  }
  .rjth-logo-name .elementor-heading-title,
  .rjth-header-name .elementor-heading-title {
    font-size: 17px !important;
  }
  /* Show XPRO hamburger toggle */
  .xpro-elementor-horizontal-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,.07) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    border: none !important;
    color: #fff !important;
    font-size: 18px !important;
  }
  /* Mobile nav overlay */
  .xpro-elementor-horizontal-navbar {
    display: none !important;
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(17,29,56,.97) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    padding: 16px 0 !important;
    z-index: 9998 !important;
  }
  .xpro-elementor-horizontal-navbar.xpro-menu-open,
  .xpro-elementor-horizontal-navbar-wrapper.xpro-nav-open .xpro-elementor-horizontal-navbar {
    display: block !important;
  }
  .xpro-elementor-horizontal-navbar-nav {
    flex-direction: column !important;
    padding: 0 24px !important;
    gap: 4px !important;
  }
  .xpro-elementor-horizontal-navbar-nav .menu-item > a {
    padding: 12px 0 !important;
    font-size: 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 0 !important;
  }
}

/* ── MOBILE FOOTER (≤ 768px) ──────────────────────────── */
@media (max-width: 768px) {
  .rjth-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 48px 24px 32px !important;
  }
  .rjth-footer-tagline .elementor-heading-title,
  .rjth-footer-tagline p {
    max-width: 100% !important;
  }
  .rjth-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 20px 24px !important;
  }
  .rjth-footer-legal {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }
}

/* ── TABLET FOOTER (769px – 1024px) ──────────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .rjth-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    padding: 48px 32px !important;
  }
}

/* ── HERO RESPONSIVE ─────────────────────────────────── */
/* On small screens, remove the massive top-padding gap */
@media (max-width: 768px) {
  .rjth-hero-row {
    padding-top: 60px !important;
  }
}

/* ── TABLET NAV (769px – 1024px) ─────────────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .rjth-header-ctas { display: none !important; }
  .rjth-nav-wrap { margin-left: auto !important; flex: 1 1 auto !important; }
}
/* ======================================================
   MOBILE NAV HAMBURGER (v3.9)
   ====================================================== */
@media (max-width: 768px) {
  /* Show the nav wrapper on mobile so we can target its content */
  .rjth-nav-wrap { display: flex !important; flex: 0 0 auto !important; width: auto !important; }
  /* Hide desktop nav list on mobile */
  .xpro-elementor-horizontal-navbar { display: none !important; }
  .xpro-elementor-horizontal-menu-close { display: none !important; }
  /* Hamburger button (injected by JS) */
  .rjth-hamburger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    cursor: pointer !important;
    background: rgba(255,255,255,.06) !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 0 !important;
  }
  .rjth-hamburger span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 2px !important;
    transition: all 200ms !important;
  }
  /* Mobile nav panel - slides down from header */
  .rjth-mobile-nav {
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(17,29,56,.98) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    z-index: 9998 !important;
    transform: translateY(-100%) !important;
    transition: transform 250ms ease !important;
    padding: 0 !important;
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    display: block !important;
  }
  .rjth-mobile-nav.open {
    transform: translateY(0) !important;
  }
  .rjth-mobile-nav ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 8px 0 16px !important;
  }
  .rjth-mobile-nav li a {
    display: block !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: rgba(240,244,255,.85) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
  }
  .rjth-mobile-nav li:last-child a { border-bottom: none !important; }
  .rjth-mobile-nav li a:active { background: rgba(255,255,255,.06) !important; }
  /* Mobile nav CTAs */
  .rjth-mobile-nav .mob-ctas {
    display: flex !important;
    gap: 12px !important;
    padding: 12px 24px 20px !important;
  }
  .rjth-mobile-nav .mob-cta-outline {
    flex: 1 !important;
    padding: 11px 16px !important;
    border: 1px solid rgba(33,156,216,.6) !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #219CD8 !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
  .rjth-mobile-nav .mob-cta-primary {
    flex: 1 !important;
    padding: 11px 16px !important;
    background: linear-gradient(135deg,#219CD8,#2A3E95) !important;
    border-radius: 10px !important;
    color: #fff !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
}

/* ======================================================
   FOOTER MOBILE CONTENT VISIBILITY
   ====================================================== */
@media (max-width: 768px) {
  /* Ensure footer sections are visible */
  .rjth-footer-links,
  .rjth-footer-brand {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  /* Ensure col heading visible */
  .rjth-footer-col-head .elementor-heading-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: rgba(240,244,255,.4) !important;
    -webkit-text-fill-color: rgba(240,244,255,.4) !important;
    margin-bottom: 4px !important;
  }
  /* Footer brand tagline */
  .rjth-footer-tagline .elementor-heading-title {
    font-size: 14px !important;
    color: rgba(240,244,255,.55) !important;
    -webkit-text-fill-color: rgba(240,244,255,.55) !important;
  }
}
/* Fix pointer-events on hidden mobile nav */
@media (max-width: 768px) {
  .rjth-mobile-nav { pointer-events: none !important; }
  .rjth-mobile-nav.open { pointer-events: auto !important; }
}
/* ===================================================
   MOBILE HEADER FINAL FIX (v3.9-b)
   Use high-specificity selectors to win vs Elementor
   =================================================== */
@media (max-width: 768px) {
  /* Force-hide CTAs at mobile using e-con class combo */
  .rjth-header-ctas.e-con,
  .rjth-header-ctas.e-flex,
  .rjth-header-inner .rjth-header-ctas {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  /* Logo row fills remaining space (left of hamburger) */
  .rjth-header-inner .rjth-logo-row {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  /* Force-hide desktop nav at mobile */
  .rjth-nav-wrap .xpro-elementor-horizontal-navbar,
  .rjth-nav-wrap .xpro-elementor-horizontal-navbar-nav {
    display: none !important;
  }
  /* Nav wrapper = just the hamburger button space */
  .rjth-nav-wrap.elementor-widget {
    display: flex !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }
  .rjth-nav-wrap .elementor-widget-container {
    width: 40px !important;
    display: flex !important;
    align-items: center !important;
  }
  .xpro-elementor-horizontal-navbar-wrapper {
    display: none !important;
  }
  /* Hamburger button fills the nav-wrap area */
  .rjth-hamburger {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}
/* ===================================================
   MOBILE NAV PANEL POSITIONING FIX (v3.11)
   top:0 + padding-top:60px ensures panel is
   fully above viewport when closed (not partially shown)
   =================================================== */
@media (max-width: 768px) {
  .rjth-mobile-nav {
    top: 0 !important;
    padding-top: 60px !important;
  }
}
/* ===================================================
   FOOTER BACKGROUND FIX (v3.13)
   Use original --c-bg2 dark navy #162240
   =================================================== */
#xpro-theme-builder-footer {
  background: #162240 !important;
}
.rjth-footer-grid,
.rjth-footer-bottom {
  background: transparent !important;
}

/* ===================================================
   FAQ ACCORDION COLLAPSE (v3.13)
   Items start closed; .open toggles via main.js
   =================================================== */
.rjth-faq-a {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.35s ease;
}
.rjth-faq-item.open .rjth-faq-a {
  max-height: 600px !important;
  overflow: visible !important;
}
/* FAQ question cursor */
.rjth-faq-q {
  cursor: pointer !important;
}/* RJ Tech House — WordPress/Elementor Styles v3.0 */
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700;14..32,800&family=Lily+Script+One&display=swap');

:root {
  --rj-navy:#2A3E95;--rj-sky:#219CD8;--rj-mid:#2596BE;
  --rj-bg:#111D38;--rj-bg2:#162240;--rj-bg3:#192648;
  --rj-surface:#1E2E56;--rj-surface2:#243568;
  --rj-border:rgba(42,62,149,.38);--rj-border-h:rgba(33,156,216,.55);
  --rj-text:#F0F4FF;--rj-text2:#BDC9E5;--rj-muted:#6E80AA;
  --rj-brand:linear-gradient(135deg,#219CD8 0%,#2A3E95 100%);
  --rj-card:linear-gradient(135deg,rgba(33,156,216,.08) 0%,rgba(42,62,149,.08) 100%);
  --rj-shadow-md:0 4px 16px rgba(0,0,0,.35);--rj-shadow-lg:0 8px 32px rgba(0,0,0,.40);
  --rj-glow:0 0 28px rgba(33,156,216,.18),0 0 56px rgba(42,62,149,.12);
  --rj-r-sm:6px;--rj-r-md:10px;--rj-r-lg:14px;--rj-r-xl:18px;--rj-r-2xl:24px;--rj-r-full:9999px;
}

/* GLOBAL */
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif!important;background-color:var(--rj-bg)!important;color:var(--rj-text)!important;line-height:1.65!important;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{text-decoration:none}
img{display:block;max-width:100%}
.site-main,.entry-content,#content,#primary,.elementor-section-wrap,.e-con{background:transparent}

/* Remove Astra conflicts */
.ast-container,.ast-row{max-width:none;padding:0}
.page h1,.page h2,.page h3,.page h4,.page h5,.page h6,.page p{margin:0}
.entry-title{display:none!important}

/* ELEMENTOR CONTAINER RESET — boxed containers only */
.e-con-boxed>.e-con-inner{max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(16px,5vw,40px)!important;padding-right:clamp(16px,5vw,40px)!important}

/* SCROLL REVEAL */
.rjth-reveal{opacity:0;transform:translateY(24px);transition:opacity 600ms ease,transform 600ms ease}
.rjth-reveal.in-view{opacity:1;transform:translateY(0)}
.rjth-reveal-d1.in-view{transition-delay:.1s}
.rjth-reveal-d2.in-view{transition-delay:.2s}
.rjth-reveal-d3.in-view{transition-delay:.3s}

/* TYPOGRAPHY — section labels */
.rjth-eyebrow .elementor-heading-title{font-size:12px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;margin-bottom:12px!important;display:inline-block!important}
.rjth-h2 .elementor-heading-title{font-size:clamp(28px,4vw,44px)!important;font-weight:800!important;letter-spacing:-.025em!important;line-height:1.15!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:16px!important}
.rjth-sub .elementor-text-editor p{font-size:17px!important;color:var(--rj-text2)!important;max-width:560px!important;line-height:1.7!important;margin:0!important}
.rjth-section-header{margin-bottom:56px!important}
.rjth-section-cta{margin-top:48px!important;text-align:center!important}

/* BUTTONS */
.rjth-btn-primary .elementor-button,.rjth-btn-primary-lg .elementor-button,.rjth-btn-primary-xl .elementor-button{background:var(--rj-brand)!important;color:#fff!important;border:none!important;font-weight:600!important;box-shadow:0 4px 20px rgba(33,156,216,.30)!important;transition:all 260ms ease!important}
.rjth-btn-primary .elementor-button{border-radius:var(--rj-r-md)!important;font-size:15px!important;padding:12px 24px!important}
.rjth-btn-primary-lg .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:16px!important;padding:14px 28px!important}
.rjth-btn-primary-xl .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:18px!important;padding:18px 36px!important}
.rjth-btn-primary .elementor-button:hover,.rjth-btn-primary-lg .elementor-button:hover,.rjth-btn-primary-xl .elementor-button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 32px rgba(33,156,216,.45)!important}
.rjth-btn-outline .elementor-button,.rjth-btn-outline-lg .elementor-button,.rjth-btn-ghost-lg .elementor-button{background:transparent!important;border:1.5px solid var(--rj-border-h)!important;color:var(--rj-sky)!important;font-weight:600!important;transition:all 260ms ease!important}
.rjth-btn-outline .elementor-button{border-radius:var(--rj-r-md)!important;font-size:15px!important;padding:12px 24px!important}
.rjth-btn-outline-lg .elementor-button,.rjth-btn-ghost-lg .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:16px!important;padding:14px 28px!important}
.rjth-btn-outline .elementor-button:hover,.rjth-btn-outline-lg .elementor-button:hover,.rjth-btn-ghost-lg .elementor-button:hover{background:rgba(33,156,216,.08)!important;border-color:var(--rj-sky)!important}

/* ── HERO ─────────────────────────────────────────────── */
.rjth-hero{position:relative!important;overflow:hidden!important;min-height:100vh!important;background-color:var(--rj-bg)!important;padding:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.rjth-orbs{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:0!important;overflow:hidden!important}
@keyframes rjFloatOrb{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(24px,-18px) scale(1.04)}66%{transform:translate(-18px,24px) scale(.97)}}

/* Hero row: 2 columns */
.rjth-hero-row{display:grid!important;grid-template-columns:55fr 45fr!important;align-items:center!important;gap:64px!important;padding:100px clamp(24px,6vw,80px) 80px!important;position:relative!important;z-index:1!important;min-height:100vh!important}

/* Hero copy column */
.rjth-hero-copy{display:flex!important;flex-direction:column!important;}
.rjth-hero-badge .elementor-heading-title{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(33,156,216,.10)!important;border:1px solid rgba(33,156,216,.30)!important;border-radius:9999px!important;padding:6px 14px!important;font-size:13px!important;font-weight:500!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;margin-bottom:28px!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-h1 .elementor-heading-title{font-size:clamp(34px,5vw,62px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.1!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:22px!important}
.rjth-hero-sub .elementor-text-editor p{font-size:clamp(15px,1.8vw,18px)!important;color:var(--rj-text2)!important;line-height:1.75!important;margin-bottom:36px!important}
.rjth-trust-chip .elementor-heading-title{background:rgba(255,255,255,.05)!important;border:1px solid var(--rj-border)!important;border-radius:9999px!important;padding:4px 12px!important;font-size:12px!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;font-weight:500!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* Hero CTA buttons row */
.rjth-hero-btns{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-bottom:36px!important;}

/* Hero chips row */
.rjth-hero-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;}

/* Hero visual column */
.rjth-hero-visual{display:flex!important;justify-content:center!important;align-items:center!important;}
.rjth-hero-device-outer{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;}
.rjth-hero-img .elementor-image img{border-radius:var(--rj-r-2xl)!important;border:1px solid var(--rj-border-h)!important;box-shadow:var(--rj-shadow-lg),var(--rj-glow)!important;transform:perspective(1200px) rotateY(-12deg) rotateX(4deg)!important;animation:rjDeviceFloat 6s ease-in-out infinite!important;max-width:100%!important;}
@keyframes rjDeviceFloat{0%,100%{transform:perspective(1200px) rotateY(-12deg) rotateX(4deg) translateY(0)}50%{transform:perspective(1200px) rotateY(-10deg) rotateX(3deg) translateY(-10px)}}

/* ── TRUST / METRICS ──────────────────────────────────── */
.rjth-trust{padding:64px 0 0!important;background:var(--rj-bg)!important}

/* Metrics: 4 counters + 3 dividers = 7-col grid */
.rjth-metrics-row{display:grid!important;grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr!important;align-items:center!important;gap:0!important;padding:48px clamp(16px,5vw,80px)!important}
.rjth-metric{text-align:center!important;padding:20px!important}
.rjth-metric-div{width:1px!important;height:60px!important;background:var(--rj-border)!important;align-self:center!important}
.rjth-counter-num .elementor-counter-number-wrapper,.rjth-counter-num .elementor-counter-number-suffix,.rjth-counter-num .elementor-counter-number-prefix{font-size:clamp(36px,4vw,52px)!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1.1!important}
.rjth-counter-title .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-top:8px!important}
.rjth-metric-sub .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-top:8px!important}

/* Marquee */
.rjth-marquee-wrap{overflow:hidden!important;border-top:1px solid var(--rj-border)!important;border-bottom:1px solid var(--rj-border)!important;padding:0!important;margin-top:48px!important;background:rgba(22,34,64,.6)!important}
.rjth-marquee-track{display:flex!important;width:max-content!important;animation:rjMarquee 30s linear infinite!important;padding:20px 0!important;}
.rjth-marquee-track:hover{animation-play-state:paused!important}
@keyframes rjMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rjth-mlabel .elementor-heading-title{font-size:13px!important;font-weight:600!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;letter-spacing:.05em!important;white-space:nowrap!important;padding:0 20px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-mlabel .elementor-heading-title:hover{color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important}
.rjth-msep .elementor-heading-title{color:var(--rj-border-h)!important;-webkit-text-fill-color:var(--rj-border-h)!important;font-size:16px!important;padding:0 4px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── SERVICES ─────────────────────────────────────────── */
.rjth-services{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-services-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-service-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:32px!important;cursor:pointer!important;transition:border-color 260ms,transform 260ms,box-shadow 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-service-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-4px)!important;box-shadow:var(--rj-glow)!important}
.rjth-service-card-featured{background:linear-gradient(135deg,rgba(33,156,216,.12) 0%,rgba(42,62,149,.12) 100%)!important;border-color:var(--rj-border-h)!important}
.rjth-sc-icon{width:52px!important;height:52px!important;background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-sc-icon-fa .elementor-icon{font-size:22px!important;color:var(--rj-sky)!important;}
.rjth-sc-title .elementor-heading-title{font-size:17px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;line-height:1.3!important}
.rjth-sc-desc .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.65!important;margin:0!important}
.rjth-sc-arrow .elementor-heading-title{font-size:13px!important;font-weight:600!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;margin-top:auto!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── PORTFOLIO/WORK ───────────────────────────────────── */
.rjth-work{padding:96px 0!important;background:var(--rj-bg2)!important}
.rjth-bento-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important;margin-bottom:20px!important}
.rjth-bento-grid-three{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-bento-card{border-radius:var(--rj-r-2xl)!important;overflow:hidden!important;position:relative!important;min-height:320px!important;cursor:pointer!important;transition:transform 300ms ease,box-shadow 300ms ease!important;display:block!important;text-decoration:none!important}
.rjth-bento-card:hover{transform:translateY(-4px)!important;box-shadow:var(--rj-glow)!important}
.rjth-bento-real{border:1px solid var(--rj-border)!important;}
.rjth-bento-real::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(to top,rgba(17,29,56,.92) 0%,rgba(17,29,56,.4) 50%,transparent 100%)!important;z-index:1!important}
/* Content inside real bento at bottom */
.rjth-bento-real>.rjth-bento-tags,.rjth-bento-real>.rjth-bento-title,.rjth-bento-real>.rjth-bento-desc,.rjth-bento-real>.rjth-live-badge,.rjth-bento-real>.rjth-metric-pill-wrap,.rjth-bento-real>.rjth-bento-cta-link{position:relative!important;z-index:2!important}
.rjth-bento-tags{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:10px!important;padding:0 24px!important;position:absolute!important;bottom:80px!important;left:0!important;right:0!important;z-index:2!important}
.rjth-tag .elementor-heading-title{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;font-size:11px!important;font-weight:500!important;padding:3px 10px!important;border-radius:9999px!important;-webkit-text-fill-color:#fff!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important}
.rjth-tag-sky .elementor-heading-title{background:rgba(33,156,216,.25)!important;border-color:rgba(33,156,216,.4)!important;color:#9dd9f5!important;-webkit-text-fill-color:#9dd9f5!important}
.rjth-tag-amber .elementor-heading-title{background:rgba(251,191,36,.15)!important;border-color:rgba(251,191,36,.3)!important;color:#fbbf24!important;-webkit-text-fill-color:#fbbf24!important}
.rjth-tag-teal .elementor-heading-title{background:rgba(20,184,166,.15)!important;border-color:rgba(20,184,166,.3)!important;color:#5eead4!important;-webkit-text-fill-color:#5eead4!important}
.rjth-live-badge .elementor-heading-title{background:rgba(34,197,94,.15)!important;border:1px solid rgba(34,197,94,.3)!important;color:#4ade80!important;font-size:11px!important;font-weight:600!important;padding:3px 10px!important;border-radius:9999px!important;-webkit-text-fill-color:#4ade80!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-title .elementor-heading-title{font-size:16px!important;font-weight:700!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin-bottom:6px!important}
.rjth-bento-desc .elementor-text-editor p{font-size:13px!important;color:rgba(240,244,255,.75)!important;line-height:1.5!important;margin:0!important}
.rjth-metric-pill-wrap{padding:4px 0 0!important}
.rjth-metric-pill .elementor-heading-title{display:inline-block!important;background:rgba(33,156,216,.15)!important;border:1px solid rgba(33,156,216,.25)!important;color:var(--rj-sky)!important;font-size:12px!important;font-weight:600!important;padding:4px 12px!important;border-radius:9999px!important;-webkit-text-fill-color:var(--rj-sky)!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-cta-link .elementor-heading-title{font-size:12px!important;font-weight:600!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;opacity:0!important;transition:opacity 260ms!important;display:inline-block!important;margin-top:10px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-card:hover .rjth-bento-cta-link .elementor-heading-title{opacity:1!important}

/* Placeholder bento cards */
.rjth-bento-small{min-height:240px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:24px!important}
.rjth-bento-fintech{background:linear-gradient(135deg,#0f2750 0%,#1a3a6b 100%)!important}
.rjth-bento-health{background:linear-gradient(135deg,#0d2b2b 0%,#0f3d3d 100%)!important}
.rjth-bento-logistics{background:linear-gradient(135deg,#2d1a00 0%,#3d2600 100%)!important}

/* ── INDUSTRIES ───────────────────────────────────────── */
.rjth-industries{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-industries-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-industry-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-xl)!important;padding:28px 24px!important;cursor:pointer!important;transition:border-color 260ms,transform 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;text-decoration:none!important}
.rjth-industry-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-3px)!important}
.rjth-industry-icon{width:44px!important;height:44px!important;background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-md)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-industry-icon .elementor-icon{font-size:20px!important;color:var(--rj-sky)!important;}
.rjth-industry-title .elementor-heading-title{font-size:15px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}
.rjth-industry-text .elementor-text-editor p{font-size:13px!important;color:var(--rj-text2)!important;line-height:1.6!important;margin:0!important}

/* ── TECHNOLOGY ───────────────────────────────────────── */
.rjth-technology{padding:96px 0!important;background:var(--rj-bg3)!important}
.rjth-tech-marquees{overflow:hidden!important;margin-top:48px!important}
.rjth-tech-row{overflow:hidden!important;padding:6px 0!important}
.rjth-tech-track{display:flex!important;width:max-content!important;gap:12px!important;animation:rjTechMarquee 25s linear infinite!important;}
.rjth-tech-track-rev{animation-direction:reverse!important;animation-duration:30s!important}
@keyframes rjTechMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rjth-tech-tag .elementor-heading-title{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:9999px!important;padding:8px 18px!important;font-size:13px!important;font-weight:500!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;white-space:nowrap!important;transition:border-color 200ms,color 200ms!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-tech-tag .elementor-heading-title:hover{border-color:var(--rj-border-h)!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}

/* ── PROCESS ──────────────────────────────────────────── */
.rjth-process{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-process-steps{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-step-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:28px!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-step-number{display:flex!important;align-items:center!important;justify-content:center!important;width:52px!important;height:52px!important;background:rgba(33,156,216,.10)!important;border:1px solid rgba(33,156,216,.25)!important;border-radius:var(--rj-r-lg)!important;flex-shrink:0!important;}
.rjth-step-num .elementor-heading-title{font-size:22px!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1!important;}
.rjth-step-body{display:flex!important;flex-direction:column!important;gap:8px!important;}
.rjth-step-title .elementor-heading-title{font-size:16px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;}
.rjth-step-desc .elementor-text-editor p{font-size:13px!important;color:var(--rj-text2)!important;line-height:1.7!important;margin:0!important}

/* ── TESTIMONIALS ─────────────────────────────────────── */
.rjth-testimonials{padding:96px 0!important;background:var(--rj-bg2)!important}
.rjth-testi-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-testi-card{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:32px!important;transition:border-color 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-testi-card:hover{border-color:var(--rj-border-h)!important}
.rjth-testi-top{display:flex!important;flex-direction:column!important;gap:12px!important;}
.rjth-stars .elementor-heading-title{color:#fbbf24!important;-webkit-text-fill-color:#fbbf24!important;font-size:16px!important;letter-spacing:2px!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-testi-quote .elementor-text-editor p{font-size:15px!important;color:var(--rj-text)!important;line-height:1.7!important;font-style:italic!important;margin:0!important}
.rjth-testi-info{display:flex!important;align-items:center!important;gap:12px!important;margin-top:auto!important;}
.rjth-avatar{width:44px!important;height:44px!important;background:var(--rj-brand)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-avatar-init .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin:0!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-testi-name .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:2px!important}
.rjth-testi-role .elementor-heading-title{font-size:12px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── RESULTS ──────────────────────────────────────────── */
.rjth-results{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-results-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-result-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:36px 28px!important;text-align:center!important;transition:border-color 260ms,transform 260ms!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;}
.rjth-result-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-3px)!important}
.rjth-result-number .elementor-counter-number-wrapper,.rjth-result-number .elementor-counter-number-suffix,.rjth-result-number .elementor-counter-number-prefix{font-size:clamp(40px,4vw,56px)!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1!important}
.rjth-result-label .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}
.rjth-result-sub .elementor-text-editor p{font-size:13px!important;color:var(--rj-muted)!important;line-height:1.6!important;margin:0!important}

/* ── FAQ ──────────────────────────────────────────────── */
.rjth-faq{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-faq-list{display:flex!important;flex-direction:column!important;gap:10px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-faq-item{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;overflow:hidden!important;transition:border-color 260ms!important;display:flex!important;flex-direction:column!important;}
.rjth-faq-item:hover{border-color:var(--rj-border-h)!important}
.rjth-faq-q .elementor-heading-title{padding:18px 20px!important;font-size:15px!important;font-weight:600!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;cursor:pointer!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important;margin:0!important}
.rjth-faq-a .elementor-text-editor{padding:0 20px 16px!important;}
.rjth-faq-a .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.75!important;margin:0!important}
.rjth-faq-cta{margin-top:48px!important;text-align:center!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-faq-cta-text .elementor-text-editor p,.rjth-faq-cta-text .elementor-text-editor a{font-size:15px!important;color:var(--rj-text2)!important;}

/* ── CTA SECTION ──────────────────────────────────────── */
.rjth-cta-section{padding:120px 0!important;background:var(--rj-bg3)!important;position:relative!important;overflow:hidden!important}
.rjth-cta-content{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:0 clamp(16px,5vw,40px)!important;position:relative!important;z-index:1!important;gap:24px!important}
.rjth-cta-section .rjth-h2 .elementor-heading-title{font-size:clamp(28px,4vw,48px)!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;text-align:center!important}
.rjth-cta-section .rjth-sub .elementor-text-editor p{font-size:17px!important;color:var(--rj-text2)!important;max-width:500px!important;margin:0!important;line-height:1.7!important;text-align:center!important}
.rjth-cta-btns{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;}
.rjth-cta-chips{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;}
.rjth-cta-chips .rjth-trust-chip .elementor-heading-title{font-size:13px!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;font-weight:500!important;}

/* ── CONTACT ──────────────────────────────────────────── */
.rjth-contact{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-contact-grid{display:grid!important;grid-template-columns:1fr 1.5fr!important;gap:64px!important;align-items:start!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-contact-left{display:flex!important;flex-direction:column!important;gap:24px!important;}
.rjth-contact-info-group{display:flex!important;flex-direction:column!important;gap:12px!important;}
.rjth-contact-info-item{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-xl)!important;padding:20px!important;display:flex!important;flex-direction:column!important;gap:4px!important;}
.rjth-contact-label .elementor-heading-title{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;margin-bottom:2px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-contact-value .elementor-text-editor p,.rjth-contact-value .elementor-text-editor a{font-size:15px!important;color:var(--rj-text)!important;font-weight:500!important;margin:0!important}
.rjth-contact-socials{display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
.rjth-social-btn .elementor-button{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;color:var(--rj-text2)!important;font-size:14px!important;font-weight:500!important;padding:10px 18px!important;transition:all 200ms!important;}
.rjth-social-btn .elementor-button:hover{border-color:var(--rj-border-h)!important;color:var(--rj-text)!important;}
.rjth-contact-right{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:40px!important;display:flex!important;flex-direction:column!important;gap:24px!important;}
.rjth-contact-form-wrap{display:block!important;}
.rjth-contact-form-wrap .wpforms-field input,.rjth-contact-form-wrap .wpforms-field textarea,.rjth-contact-form-wrap .wpforms-field select{background:var(--rj-bg)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-md)!important;color:var(--rj-text)!important;padding:12px 16px!important;font-size:15px!important;font-family:'Inter',sans-serif!important;width:100%!important;transition:border-color 200ms!important}
.rjth-contact-form-wrap .wpforms-field input:focus,.rjth-contact-form-wrap .wpforms-field textarea:focus,.rjth-contact-form-wrap .wpforms-field select:focus{border-color:var(--rj-sky)!important;outline:none!important}
.rjth-contact-form-wrap .wpforms-field-label,.rjth-contact-form-wrap label{font-size:13px!important;font-weight:600!important;color:var(--rj-text2)!important;margin-bottom:6px!important;display:block!important}
.rjth-contact-form-wrap .wpforms-submit-container button{background:var(--rj-brand)!important;border:none!important;border-radius:var(--rj-r-lg)!important;color:#fff!important;font-size:16px!important;font-weight:600!important;padding:14px 28px!important;cursor:pointer!important;transition:all 260ms!important;width:100%!important;font-family:'Inter',sans-serif!important}
.rjth-contact-form-wrap .wpforms-submit-container button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 32px rgba(33,156,216,.45)!important}
.rjth-contact-form-wrap .wpforms-form{padding:0!important}
.rjth-contact-form-wrap .wpforms-field{margin-bottom:20px!important}
.rjth-contact-form-wrap .wpforms-field-select select option{background:var(--rj-surface)!important;color:var(--rj-text)!important}

/* Contact section header context */
.rjth-contact .rjth-h2 .elementor-heading-title{margin-bottom:12px!important}
.rjth-contact .rjth-sub .elementor-text-editor p{max-width:400px!important;}

/* ── FOOTER (XPRO) ────────────────────────────────────── */
.rjth-footer,footer.xpro-theme-builder-footer{background:var(--rj-bg2)!important;border-top:1px solid var(--rj-border)!important;padding:64px 0 0!important}
.rjth-footer-grid{display:grid!important;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr!important;gap:48px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-footer-brand{display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-footer-logo-row{display:flex!important;align-items:center!important;gap:12px!important;}
.rjth-footer-logo .elementor-image img{width:52px!important;height:52px!important;border-radius:10px!important;object-fit:cover!important}
.rjth-footer-name .elementor-heading-title{font-family:'Lily Script One',cursive!important;font-size:19px!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;font-weight:400!important;letter-spacing:-.01em!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-tagline .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.6!important;margin:0!important;max-width:280px!important}
.rjth-footer-col-head .elementor-heading-title{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:rgba(240,244,255,.5)!important;-webkit-text-fill-color:rgba(240,244,255,.5)!important;margin-bottom:16px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-link .elementor-text-editor p,.rjth-footer-link .elementor-text-editor a{font-size:14px!important;color:var(--rj-text2)!important;margin-bottom:10px!important;transition:color 200ms!important;margin-top:0!important}
.rjth-footer-link .elementor-text-editor a:hover{color:var(--rj-text)!important}
.rjth-footer-links{display:flex!important;flex-direction:column!important;gap:0!important;}
.rjth-footer-bottom{border-top:1px solid var(--rj-border)!important;margin-top:48px!important;padding:24px clamp(16px,5vw,80px)!important}
.rjth-footer-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important;}
.rjth-copyright .elementor-text-editor p{font-size:13px!important;color:var(--rj-muted)!important;margin:0!important}
.rjth-footer-legal{display:flex!important;gap:20px!important;}
.rjth-footer-legal .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;transition:color 200ms!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-legal .elementor-heading-title:hover{color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important}

/* ── HEADER (XPRO) ────────────────────────────────────── */
#masthead,.site-header,header.xpro-theme-builder-header{background:rgba(17,29,56,.88)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-bottom:1px solid var(--rj-border)!important;position:sticky!important;top:0!important;z-index:1000!important;transition:background 260ms,box-shadow 260ms!important}
body.scrolled #masthead,body.scrolled .site-header,body.scrolled header.xpro-theme-builder-header{background:rgba(17,29,56,.97)!important;box-shadow:0 4px 16px rgba(0,0,0,.35)!important}
.rjth-header-inner{display:flex!important;align-items:center!important;height:68px!important;gap:32px!important;padding:0 clamp(16px,5vw,80px)!important;}
.rjth-logo-row{display:flex!important;align-items:center!important;gap:12px!important;}
.rjth-logo-img .elementor-image img,.rjth-header-logo .elementor-image img{width:52px!important;height:52px!important;border-radius:10px!important;object-fit:cover!important}
.rjth-logo-name .elementor-heading-title,.rjth-header-name .elementor-heading-title{font-family:'Lily Script One',cursive!important;font-size:19px!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-nav-wrap{margin-left:auto!important}
.rjth-header-ctas{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important;}
.xpro-nav-menu .xpro-menu-item>a{font-size:14px!important;font-weight:500!important;color:var(--rj-text2)!important;padding:8px 14px!important;border-radius:var(--rj-r-md)!important;transition:all 150ms!important}
.xpro-nav-menu .xpro-menu-item:hover>a,.xpro-nav-menu .xpro-menu-item.current-menu-item>a{color:var(--rj-text)!important;background:rgba(255,255,255,.05)!important}

/* ── SECTION PADDING NORMALIZER ───────────────────────── */
/* All section e-con roots: remove Elementor default padding */
.rjth-hero,.rjth-trust,.rjth-services,.rjth-work,.rjth-industries,.rjth-technology,.rjth-process,.rjth-testimonials,.rjth-results,.rjth-faq,.rjth-cta-section,.rjth-contact{padding-left:0!important;padding-right:0!important;}
/* Grid/flex children: remove elementor-added padding */
.rjth-services-grid,.rjth-bento-grid,.rjth-bento-grid-three,.rjth-industries-grid,.rjth-testi-grid,.rjth-results-grid,.rjth-process-steps,.rjth-faq-list,.rjth-metrics-row,.rjth-contact-grid{box-sizing:border-box!important}

/* ── RESPONSIVE ───────────────────────────────────────── */
@media(max-width:1200px){
.rjth-process-steps{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:1024px){
.rjth-services-grid,.rjth-bento-grid,.rjth-bento-grid-three{grid-template-columns:1fr 1fr!important}
.rjth-testi-grid{grid-template-columns:1fr 1fr!important}
.rjth-results-grid{grid-template-columns:1fr 1fr!important}
.rjth-process-steps{grid-template-columns:1fr 1fr!important}
.rjth-industries-grid{grid-template-columns:1fr 1fr 1fr!important}
.rjth-footer-grid{grid-template-columns:1fr 1fr!important}
.rjth-hero-row{gap:32px!important}
}
@media(max-width:768px){
.rjth-hero-row{display:flex!important;flex-direction:column!important;padding-top:80px!important;padding-bottom:60px!important;min-height:auto!important;}
.rjth-services-grid,.rjth-industries-grid,.rjth-testi-grid,.rjth-bento-grid,.rjth-bento-grid-three{grid-template-columns:1fr!important}
.rjth-results-grid{grid-template-columns:1fr 1fr!important}
.rjth-contact-grid{grid-template-columns:1fr!important;gap:40px!important}
.rjth-metrics-row{grid-template-columns:1fr 1fr!important;}
.rjth-metric-div{display:none!important}
.rjth-footer-grid{grid-template-columns:1fr!important}
.rjth-process-steps{grid-template-columns:1fr!important}
}
@media(max-width:480px){
.rjth-results-grid,.rjth-process-steps{grid-template-columns:1fr!important}
.rjth-metrics-row{grid-template-columns:1fr!important}
}


/* FLEX WIDGET SHRINK FIXES */
/* Elementor widget elements default to width:100% inside flex containers */
.rjth-hero-btns .elementor-widget,
.rjth-hero-btns .elementor-button-wrapper,
.rjth-hero-btns .elementor-button-link{width:auto!important;flex:0 0 auto!important;}

.rjth-hero-chips .elementor-widget,
.rjth-cta-chips .elementor-widget,
.rjth-bento-tags .elementor-widget,
.rjth-contact-socials .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Marquee and tech track: headings must not wrap */
.rjth-marquee-track .elementor-widget,
.rjth-tech-track .elementor-widget,
.rjth-tech-track-rev .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* CTA buttons row */
.rjth-cta-btns .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Bento real card: portfolio image fills card */
.rjth-bento-real .elementor-widget-image{position:absolute!important;inset:0!important;z-index:0!important;margin:0!important;width:100%!important;}
.rjth-bento-real .elementor-widget-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important;}
.rjth-bento-real .elementor-widget-image .elementor-widget-container{height:100%!important;}

/* Bento real card: text content overlays at bottom, above the gradient */
.rjth-bento-real .elementor-widget:not(.elementor-widget-image){position:relative!important;z-index:2!important;}

/* Fix metrics section scroll position by ensuring section has correct height */
.rjth-trust{min-height:auto!important;}

/* Testi info row: flex */
.rjth-testi-info .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Process step number */
.rjth-step-number .elementor-widget{width:auto!important;}

/* Footer legal links */
.rjth-footer-legal .elementor-widget{width:auto!important;flex:0 0 auto!important;}


/* FLEX DIRECTION FIX */
/* Elementor sets --flex-direction:column via CSS var; must explicitly override */
.rjth-hero-btns{flex-direction:row!important;}
.rjth-hero-chips{flex-direction:row!important;}
.rjth-cta-btns{flex-direction:row!important;}
.rjth-cta-chips{flex-direction:row!important;}
.rjth-marquee-track{flex-direction:row!important;}
.rjth-tech-track{flex-direction:row!important;}
.rjth-tech-track-rev{flex-direction:row!important;}
.rjth-bento-tags{flex-direction:row!important;}
.rjth-contact-socials{flex-direction:row!important;}
.rjth-header-inner{flex-direction:row!important;}
.rjth-header-ctas{flex-direction:row!important;}
.rjth-logo-row{flex-direction:row!important;}
.rjth-footer-logo-row{flex-direction:row!important;}
.rjth-footer-bottom{flex-direction:row!important;}
.rjth-footer-legal{flex-direction:row!important;}
.rjth-testi-info{flex-direction:row!important;}
.rjth-contact-info-item{flex-direction:row!important;}
.rjth-section-cta{flex-direction:row!important;justify-content:center!important;}


/* METRICS COUNTER WIDGET STYLES (counters have no custom CSS class) */
.rjth-metric .elementor-counter-number-wrapper,
.rjth-metric .elementor-counter-number-suffix,
.rjth-metric .elementor-counter-number-prefix{
  font-size:clamp(36px,4vw,52px)!important;
  font-weight:800!important;
  background:var(--rj-brand)!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  line-height:1.1!important;
}
.rjth-metric .elementor-counter-title{
  font-size:13px!important;
  font-weight:500!important;
  color:var(--rj-muted)!important;
  -webkit-text-fill-color:var(--rj-muted)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-top:8px!important;
  display:block!important;
}

/* RESULTS counter styled brighter */
.rjth-result-number .elementor-counter-number-wrapper,
.rjth-result-number .elementor-counter-number-suffix,
.rjth-result-number .elementor-counter-number-prefix{
  color:#219CD8!important;
  -webkit-text-fill-color:#219CD8!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
}

/* PORTFOLIO IMAGES — show real images in bento cards */
.rjth-bento-real .elementor-widget-image .elementor-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:top center!important;
  position:absolute!important;
  inset:0!important;
}
.rjth-bento-real .elementor-widget-image .elementor-widget-container{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.rjth-bento-real .elementor-widget-image{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}

/* Make bento card content stack at bottom */
.rjth-bento-real{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:24px!important;
}
.rjth-bento-real .elementor-widget:not(.elementor-widget-image){
  position:relative!important;
  z-index:2!important;
}


/* FIX: rjth-counter-num static metric number - use solid color, not gradient clip */
.rjth-counter-num .elementor-heading-title{
  font-size:clamp(36px,4vw,52px)!important;
  font-weight:800!important;
  color:#219CD8!important;
  -webkit-text-fill-color:#219CD8!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
  line-height:1.1!important;
  display:block!important;
}
.rjth-counter-title .elementor-heading-title{
  font-size:13px!important;
  font-weight:500!important;
  color:rgba(240,244,255,.45)!important;
  -webkit-text-fill-color:rgba(240,244,255,.45)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-top:4px!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
}

/* FIX: Bento real card overlay - lighter gradient so images show through */
.rjth-bento-real::after{
  background:linear-gradient(to top,rgba(17,29,56,.95) 0%,rgba(17,29,56,.55) 40%,rgba(17,29,56,.15) 100%)!important;
}

/* ═══════════════════════════════════════════════════
   HEADER LAYOUT FIXES (v3.6)
   e-con-full sets width:100% on all flex children;
   override with flex: 0 0 auto / flex: 1 1 auto
   ═══════════════════════════════════════════════════ */

/* Wrapper: full width, transparent bg */
.xpro-theme-builder-header{
  background:rgba(17,29,56,.92)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  width:100%!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
.xpro-theme-builder-header-nav{
  width:100%!important;
  display:block!important;
}
/* Elementor wrapper */
.elementor-749{
  width:100%!important;
}

/* Inner row: flex, constrained */
.rjth-header-inner{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  height:68px!important;
  padding:0 clamp(16px,5vw,80px)!important;
  gap:32px!important;
  width:100%!important;
  box-sizing:border-box!important;
}

/* Logo row: shrink to content */
.rjth-logo-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:12px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
.rjth-logo-row .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-logo-row .xpro-site-logo img,
.rjth-logo-row .elementor-widget-xpro-site-logo img{
  width:52px!important;
  height:52px!important;
  border-radius:10px!important;
  object-fit:cover!important;
  display:block!important;
}
.rjth-logo-row .xpro-site-logo,
.rjth-logo-row .elementor-widget-container{
  width:auto!important;
  display:block!important;
}

/* Nav: take all remaining space */
.rjth-nav-wrap{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  margin-left:0!important;
}
.rjth-nav-wrap .elementor-widget-container{
  width:auto!important;
  display:flex!important;
  align-items:center!important;
}

/* Force XPRO nav to desktop mode at 769px+
   The plugin adds responsive-tablet class regardless of viewport;
   we force the desktop navbar to show and hide the mobile toggle */
.xpro-elementor-horizontal-navbar-wrapper{
  display:flex!important;
  align-items:center!important;
}
.xpro-elementor-horizontal-navbar{
  display:flex!important;
}
.xpro-elementor-horizontal-navbar-nav{
  display:flex!important;
  flex-direction:row!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  gap:4px!important;
  align-items:center!important;
}
.xpro-elementor-horizontal-menu-close,
.xpro-elementor-horizontal-menu-toggle{
  display:none!important;
}

/* Nav link styles */
.xpro-elementor-horizontal-navbar-nav .menu-item>a,
.xpro-nav-menu .xpro-menu-item>a{
  font-size:14px!important;
  font-weight:500!important;
  color:rgba(240,244,255,.75)!important;
  padding:8px 14px!important;
  border-radius:8px!important;
  text-decoration:none!important;
  display:block!important;
  transition:all 150ms!important;
  white-space:nowrap!important;
}
.xpro-elementor-horizontal-navbar-nav .menu-item:hover>a,
.xpro-elementor-horizontal-navbar-nav .menu-item.current-menu-item>a{
  color:#fff!important;
  background:rgba(255,255,255,.07)!important;
}

/* CTA container: shrink to content */
.rjth-header-ctas{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
.rjth-header-ctas .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}

/* ═══════════════════════════════════════════════════
   FOOTER LAYOUT FIXES (v3.6)
   ═══════════════════════════════════════════════════ */

#xpro-theme-builder-footer{
  background:var(--rj-navy)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  padding:0!important;
  width:100%!important;
}
.elementor-750{
  width:100%!important;
}

/* Footer grid: 5 cols */
.rjth-footer-grid{
  display:grid!important;
  grid-template-columns:1.5fr 1fr 1fr 1fr 1fr!important;
  gap:48px!important;
  padding:64px clamp(16px,5vw,80px)!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.rjth-footer-grid.e-con{
  flex:unset!important;
  width:100%!important;
}
/* Ensure grid children don't flex-grow */
.rjth-footer-grid>.e-con,
.rjth-footer-grid>.elementor-widget{
  flex:unset!important;
  width:auto!important;
}

/* Footer brand column */
.rjth-footer-brand{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  width:auto!important;
  flex:unset!important;
}
.rjth-footer-logo-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
  width:auto!important;
}
.rjth-footer-logo-row .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-footer-logo-row .xpro-site-logo img,
.rjth-footer-logo-row .elementor-widget-xpro-site-logo img{
  width:40px!important;
  height:40px!important;
  border-radius:8px!important;
  object-fit:cover!important;
  display:block!important;
}
.rjth-footer-name .elementor-heading-title{
  font-family:'Lily Script One',cursive!important;
  font-size:16px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
  font-weight:400!important;
}
.rjth-footer-tagline .elementor-heading-title,
.rjth-footer-tagline p{
  font-size:14px!important;
  color:rgba(240,244,255,.55)!important;
  -webkit-text-fill-color:rgba(240,244,255,.55)!important;
  background:none!important;
  line-height:1.6!important;
  max-width:260px!important;
}

/* Footer link columns */
.rjth-footer-links{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  width:auto!important;
  flex:unset!important;
}
.rjth-footer-col-head .elementor-heading-title{
  font-size:11px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  color:rgba(240,244,255,.4)!important;
  -webkit-text-fill-color:rgba(240,244,255,.4)!important;
  background:none!important;
  margin-bottom:8px!important;
}
.rjth-footer-link a,
.rjth-footer-link .elementor-button{
  font-size:14px!important;
  color:rgba(240,244,255,.65)!important;
  text-decoration:none!important;
  display:block!important;
  padding:2px 0!important;
  transition:color 150ms!important;
  background:none!important;
  border:none!important;
  text-align:left!important;
}
.rjth-footer-link a:hover{
  color:#fff!important;
}

/* Footer bottom bar */
.rjth-footer-bottom{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:20px clamp(16px,5vw,80px)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  gap:16px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.rjth-footer-bottom.e-con{
  flex:unset!important;
  width:100%!important;
}
.rjth-copyright .elementor-heading-title,
.rjth-copyright p{
  font-size:13px!important;
  color:rgba(240,244,255,.4)!important;
  -webkit-text-fill-color:rgba(240,244,255,.4)!important;
  background:none!important;
}
.rjth-footer-legal{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:20px!important;
  flex:0 0 auto!important;
  width:auto!important;
}
.rjth-footer-legal .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-footer-legal a,
.rjth-footer-legal .elementor-button{
  font-size:13px!important;
  color:rgba(240,244,255,.4)!important;
  text-decoration:none!important;
  background:none!important;
  border:none!important;
}
.rjth-footer-legal a:hover{
  color:rgba(240,244,255,.7)!important;
}
/* ═══════════════════════════════════════════════════════
   RESPONSIVE: HEADER & FOOTER FIXES
   ═══════════════════════════════════════════════════════ */

/* ── MOBILE HEADER (≤ 768px) ──────────────────────────── */
@media (max-width: 768px) {
  .rjth-header-inner {
    height: 60px !important;
    gap: 0 !important;
    padding: 0 16px !important;
  }
  /* Hide desktop nav and CTA buttons on mobile */
  .rjth-nav-wrap { display: none !important; }
  .rjth-header-ctas { display: none !important; }
  /* Logo row: push to full width minus hamburger space */
  .rjth-logo-row {
    flex: 1 1 auto !important;
    gap: 10px !important;
  }
  .rjth-logo-row .xpro-site-logo img,
  .rjth-logo-row .elementor-widget-xpro-site-logo img {
    width: 40px !important;
    height: 40px !important;
  }
  .rjth-logo-name .elementor-heading-title,
  .rjth-header-name .elementor-heading-title {
    font-size: 17px !important;
  }
  /* Show XPRO hamburger toggle */
  .xpro-elementor-horizontal-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,.07) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    border: none !important;
    color: #fff !important;
    font-size: 18px !important;
  }
  /* Mobile nav overlay */
  .xpro-elementor-horizontal-navbar {
    display: none !important;
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(17,29,56,.97) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    padding: 16px 0 !important;
    z-index: 9998 !important;
  }
  .xpro-elementor-horizontal-navbar.xpro-menu-open,
  .xpro-elementor-horizontal-navbar-wrapper.xpro-nav-open .xpro-elementor-horizontal-navbar {
    display: block !important;
  }
  .xpro-elementor-horizontal-navbar-nav {
    flex-direction: column !important;
    padding: 0 24px !important;
    gap: 4px !important;
  }
  .xpro-elementor-horizontal-navbar-nav .menu-item > a {
    padding: 12px 0 !important;
    font-size: 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 0 !important;
  }
}

/* ── MOBILE FOOTER (≤ 768px) ──────────────────────────── */
@media (max-width: 768px) {
  .rjth-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 48px 24px 32px !important;
  }
  .rjth-footer-tagline .elementor-heading-title,
  .rjth-footer-tagline p {
    max-width: 100% !important;
  }
  .rjth-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 20px 24px !important;
  }
  .rjth-footer-legal {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }
}

/* ── TABLET FOOTER (769px – 1024px) ──────────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .rjth-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    padding: 48px 32px !important;
  }
}

/* ── HERO RESPONSIVE ─────────────────────────────────── */
/* On small screens, remove the massive top-padding gap */
@media (max-width: 768px) {
  .rjth-hero-row {
    padding-top: 60px !important;
  }
}

/* ── TABLET NAV (769px – 1024px) ─────────────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .rjth-header-ctas { display: none !important; }
  .rjth-nav-wrap { margin-left: auto !important; flex: 1 1 auto !important; }
}
/* ======================================================
   MOBILE NAV HAMBURGER (v3.9)
   ====================================================== */
@media (max-width: 768px) {
  /* Show the nav wrapper on mobile so we can target its content */
  .rjth-nav-wrap { display: flex !important; flex: 0 0 auto !important; width: auto !important; }
  /* Hide desktop nav list on mobile */
  .xpro-elementor-horizontal-navbar { display: none !important; }
  .xpro-elementor-horizontal-menu-close { display: none !important; }
  /* Hamburger button (injected by JS) */
  .rjth-hamburger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    cursor: pointer !important;
    background: rgba(255,255,255,.06) !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 0 !important;
  }
  .rjth-hamburger span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 2px !important;
    transition: all 200ms !important;
  }
  /* Mobile nav panel - slides down from header */
  .rjth-mobile-nav {
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(17,29,56,.98) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    z-index: 9998 !important;
    transform: translateY(-100%) !important;
    transition: transform 250ms ease !important;
    padding: 0 !important;
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    display: block !important;
  }
  .rjth-mobile-nav.open {
    transform: translateY(0) !important;
  }
  .rjth-mobile-nav ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 8px 0 16px !important;
  }
  .rjth-mobile-nav li a {
    display: block !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: rgba(240,244,255,.85) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
  }
  .rjth-mobile-nav li:last-child a { border-bottom: none !important; }
  .rjth-mobile-nav li a:active { background: rgba(255,255,255,.06) !important; }
  /* Mobile nav CTAs */
  .rjth-mobile-nav .mob-ctas {
    display: flex !important;
    gap: 12px !important;
    padding: 12px 24px 20px !important;
  }
  .rjth-mobile-nav .mob-cta-outline {
    flex: 1 !important;
    padding: 11px 16px !important;
    border: 1px solid rgba(33,156,216,.6) !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #219CD8 !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
  .rjth-mobile-nav .mob-cta-primary {
    flex: 1 !important;
    padding: 11px 16px !important;
    background: linear-gradient(135deg,#219CD8,#2A3E95) !important;
    border-radius: 10px !important;
    color: #fff !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
}

/* ======================================================
   FOOTER MOBILE CONTENT VISIBILITY
   ====================================================== */
@media (max-width: 768px) {
  /* Ensure footer sections are visible */
  .rjth-footer-links,
  .rjth-footer-brand {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  /* Ensure col heading visible */
  .rjth-footer-col-head .elementor-heading-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: rgba(240,244,255,.4) !important;
    -webkit-text-fill-color: rgba(240,244,255,.4) !important;
    margin-bottom: 4px !important;
  }
  /* Footer brand tagline */
  .rjth-footer-tagline .elementor-heading-title {
    font-size: 14px !important;
    color: rgba(240,244,255,.55) !important;
    -webkit-text-fill-color: rgba(240,244,255,.55) !important;
  }
}
/* Fix pointer-events on hidden mobile nav */
@media (max-width: 768px) {
  .rjth-mobile-nav { pointer-events: none !important; }
  .rjth-mobile-nav.open { pointer-events: auto !important; }
}
/* ===================================================
   MOBILE HEADER FINAL FIX (v3.9-b)
   Use high-specificity selectors to win vs Elementor
   =================================================== */
@media (max-width: 768px) {
  /* Force-hide CTAs at mobile using e-con class combo */
  .rjth-header-ctas.e-con,
  .rjth-header-ctas.e-flex,
  .rjth-header-inner .rjth-header-ctas {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  /* Logo row fills remaining space (left of hamburger) */
  .rjth-header-inner .rjth-logo-row {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  /* Force-hide desktop nav at mobile */
  .rjth-nav-wrap .xpro-elementor-horizontal-navbar,
  .rjth-nav-wrap .xpro-elementor-horizontal-navbar-nav {
    display: none !important;
  }
  /* Nav wrapper = just the hamburger button space */
  .rjth-nav-wrap.elementor-widget {
    display: flex !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }
  .rjth-nav-wrap .elementor-widget-container {
    width: 40px !important;
    display: flex !important;
    align-items: center !important;
  }
  .xpro-elementor-horizontal-navbar-wrapper {
    display: none !important;
  }
  /* Hamburger button fills the nav-wrap area */
  .rjth-hamburger {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}
/* ===================================================
   MOBILE NAV PANEL POSITIONING FIX (v3.11)
   top:0 + padding-top:60px ensures panel is
   fully above viewport when closed (not partially shown)
   =================================================== */
@media (max-width: 768px) {
  .rjth-mobile-nav {
    top: 0 !important;
    padding-top: 60px !important;
  }
}
/* ===================================================
   FOOTER BACKGROUND FIX (v3.13)
   Use original --c-bg2 dark navy #162240
   =================================================== */
#xpro-theme-builder-footer {
  background: #162240 !important;
}
.rjth-footer-grid,
.rjth-footer-bottom {
  background: transparent !important;
}

/* ===================================================
   FAQ ACCORDION COLLAPSE (v3.13)
   Items start closed; .open toggles via main.js
   =================================================== */
.rjth-faq-a {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.35s ease;
}
.rjth-faq-item.open .rjth-faq-a {
  max-height: 600px !important;
  overflow: visible !important;
}
/* FAQ question cursor */
.rjth-faq-q {
  cursor: pointer !important;
}
/* ===================================================
   C-4: MOBILE HAMBURGER Z-INDEX FIX (v3.15)
   Raises hamburger above nav overlay (z-index 9998)
   =================================================== */
.rjth-hamburger {
  position: fixed !important;
  z-index: 9999 !important;
}

/* ===================================================
   M-4: HIDE HERO VISUAL ON MOBILE (v3.15)
   =================================================== */
@media (max-width: 640px) {
  .rjth-hero-visual {
    display: none !important;
  }
}

/* ===================================================
   M-12: CTA SECTION GRADIENT BACKGROUND (v3.15)
   =================================================== */
.rjth-cta-section {
  background: linear-gradient(135deg, #219CD8 0%, #2A3E95 100%) !important;
}
.rjth-cta-section * {
  color: #ffffff !important;
}
.rjth-cta-section .rjth-btn-outline,
.rjth-cta-section .elementor-button {
  border-color: rgba(255,255,255,0.6) !important;
  color: #ffffff !important;
}
.rjth-cta-section .rjth-btn-outline:hover {
  background: rgba(255,255,255,0.15) !important;
}

/* ===================================================
   M-3: TABLET GRID FIXES — rjth-prefixed classes (v3.15)
   =================================================== */
@media (max-width: 900px) {
  .rjth-services-grid,
  .rjth-process-steps,
  .rjth-testi-grid,
  .rjth-bento-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .rjth-industries-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .rjth-services-grid,
  .rjth-process-steps,
  .rjth-testi-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ===================================================
   M-5: FOOTER 2-COLUMN AT 768px (v3.15)
   =================================================== */
@media (min-width: 641px) and (max-width: 900px) {
  .rjth-footer-grid {
    grid-template-columns: 2fr 1fr 1fr !important;
    gap: 32px !important;
  }
  .rjth-footer-brand {
    grid-column: 1 / -1 !important;
  }
}

/* ===================================================
   M-6: INDUSTRIES GRID 2-COLUMN AT 480px (v3.15)
   =================================================== */
@media (max-width: 480px) {
  .rjth-industries-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}/* RJ Tech House — WordPress/Elementor Styles v3.0 */
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700;14..32,800&family=Lily+Script+One&display=swap');

:root {
  --rj-navy:#2A3E95;--rj-sky:#219CD8;--rj-mid:#2596BE;
  --rj-bg:#111D38;--rj-bg2:#162240;--rj-bg3:#192648;
  --rj-surface:#1E2E56;--rj-surface2:#243568;
  --rj-border:rgba(42,62,149,.38);--rj-border-h:rgba(33,156,216,.55);
  --rj-text:#F0F4FF;--rj-text2:#BDC9E5;--rj-muted:#6E80AA;
  --rj-brand:linear-gradient(135deg,#219CD8 0%,#2A3E95 100%);
  --rj-card:linear-gradient(135deg,rgba(33,156,216,.08) 0%,rgba(42,62,149,.08) 100%);
  --rj-shadow-md:0 4px 16px rgba(0,0,0,.35);--rj-shadow-lg:0 8px 32px rgba(0,0,0,.40);
  --rj-glow:0 0 28px rgba(33,156,216,.18),0 0 56px rgba(42,62,149,.12);
  --rj-r-sm:6px;--rj-r-md:10px;--rj-r-lg:14px;--rj-r-xl:18px;--rj-r-2xl:24px;--rj-r-full:9999px;
}

/* GLOBAL */
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif!important;background-color:var(--rj-bg)!important;color:var(--rj-text)!important;line-height:1.65!important;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{text-decoration:none}
img{display:block;max-width:100%}
.site-main,.entry-content,#content,#primary,.elementor-section-wrap,.e-con{background:transparent}

/* Remove Astra conflicts */
.ast-container,.ast-row{max-width:none;padding:0}
.page h1,.page h2,.page h3,.page h4,.page h5,.page h6,.page p{margin:0}
.entry-title{display:none!important}

/* ELEMENTOR CONTAINER RESET — boxed containers only */
.e-con-boxed>.e-con-inner{max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(16px,5vw,40px)!important;padding-right:clamp(16px,5vw,40px)!important}

/* SCROLL REVEAL */
.rjth-reveal{opacity:0;transform:translateY(24px);transition:opacity 600ms ease,transform 600ms ease}
.rjth-reveal.in-view{opacity:1;transform:translateY(0)}
.rjth-reveal-d1.in-view{transition-delay:.1s}
.rjth-reveal-d2.in-view{transition-delay:.2s}
.rjth-reveal-d3.in-view{transition-delay:.3s}

/* TYPOGRAPHY — section labels */
.rjth-eyebrow .elementor-heading-title{font-size:12px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;margin-bottom:12px!important;display:inline-block!important}
.rjth-h2 .elementor-heading-title{font-size:clamp(28px,4vw,44px)!important;font-weight:800!important;letter-spacing:-.025em!important;line-height:1.15!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:16px!important}
.rjth-sub .elementor-text-editor p{font-size:17px!important;color:var(--rj-text2)!important;max-width:560px!important;line-height:1.7!important;margin:0!important}
.rjth-section-header{margin-bottom:56px!important}
.rjth-section-cta{margin-top:48px!important;text-align:center!important}

/* BUTTONS */
.rjth-btn-primary .elementor-button,.rjth-btn-primary-lg .elementor-button,.rjth-btn-primary-xl .elementor-button{background:var(--rj-brand)!important;color:#fff!important;border:none!important;font-weight:600!important;box-shadow:0 4px 20px rgba(33,156,216,.30)!important;transition:all 260ms ease!important}
.rjth-btn-primary .elementor-button{border-radius:var(--rj-r-md)!important;font-size:15px!important;padding:12px 24px!important}
.rjth-btn-primary-lg .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:16px!important;padding:14px 28px!important}
.rjth-btn-primary-xl .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:18px!important;padding:18px 36px!important}
.rjth-btn-primary .elementor-button:hover,.rjth-btn-primary-lg .elementor-button:hover,.rjth-btn-primary-xl .elementor-button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 32px rgba(33,156,216,.45)!important}
.rjth-btn-outline .elementor-button,.rjth-btn-outline-lg .elementor-button,.rjth-btn-ghost-lg .elementor-button{background:transparent!important;border:1.5px solid var(--rj-border-h)!important;color:var(--rj-sky)!important;font-weight:600!important;transition:all 260ms ease!important}
.rjth-btn-outline .elementor-button{border-radius:var(--rj-r-md)!important;font-size:15px!important;padding:12px 24px!important}
.rjth-btn-outline-lg .elementor-button,.rjth-btn-ghost-lg .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:16px!important;padding:14px 28px!important}
.rjth-btn-outline .elementor-button:hover,.rjth-btn-outline-lg .elementor-button:hover,.rjth-btn-ghost-lg .elementor-button:hover{background:rgba(33,156,216,.08)!important;border-color:var(--rj-sky)!important}

/* ── HERO ─────────────────────────────────────────────── */
.rjth-hero{position:relative!important;overflow:hidden!important;min-height:100vh!important;background-color:var(--rj-bg)!important;padding:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.rjth-orbs{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:0!important;overflow:hidden!important}
@keyframes rjFloatOrb{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(24px,-18px) scale(1.04)}66%{transform:translate(-18px,24px) scale(.97)}}

/* Hero row: 2 columns */
.rjth-hero-row{display:grid!important;grid-template-columns:55fr 45fr!important;align-items:center!important;gap:64px!important;padding:100px clamp(24px,6vw,80px) 80px!important;position:relative!important;z-index:1!important;min-height:100vh!important}

/* Hero copy column */
.rjth-hero-copy{display:flex!important;flex-direction:column!important;}
.rjth-hero-badge .elementor-heading-title{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(33,156,216,.10)!important;border:1px solid rgba(33,156,216,.30)!important;border-radius:9999px!important;padding:6px 14px!important;font-size:13px!important;font-weight:500!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;margin-bottom:28px!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-h1 .elementor-heading-title{font-size:clamp(34px,5vw,62px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.1!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:22px!important}
.rjth-hero-sub .elementor-text-editor p{font-size:clamp(15px,1.8vw,18px)!important;color:var(--rj-text2)!important;line-height:1.75!important;margin-bottom:36px!important}
.rjth-trust-chip .elementor-heading-title{background:rgba(255,255,255,.05)!important;border:1px solid var(--rj-border)!important;border-radius:9999px!important;padding:4px 12px!important;font-size:12px!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;font-weight:500!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* Hero CTA buttons row */
.rjth-hero-btns{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-bottom:36px!important;}

/* Hero chips row */
.rjth-hero-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;}

/* Hero visual column */
.rjth-hero-visual{display:flex!important;justify-content:center!important;align-items:center!important;}
.rjth-hero-device-outer{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;}
.rjth-hero-img .elementor-image img{border-radius:var(--rj-r-2xl)!important;border:1px solid var(--rj-border-h)!important;box-shadow:var(--rj-shadow-lg),var(--rj-glow)!important;transform:perspective(1200px) rotateY(-12deg) rotateX(4deg)!important;animation:rjDeviceFloat 6s ease-in-out infinite!important;max-width:100%!important;}
@keyframes rjDeviceFloat{0%,100%{transform:perspective(1200px) rotateY(-12deg) rotateX(4deg) translateY(0)}50%{transform:perspective(1200px) rotateY(-10deg) rotateX(3deg) translateY(-10px)}}

/* ── TRUST / METRICS ──────────────────────────────────── */
.rjth-trust{padding:64px 0 0!important;background:var(--rj-bg)!important}

/* Metrics: 4 counters + 3 dividers = 7-col grid */
.rjth-metrics-row{display:grid!important;grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr!important;align-items:center!important;gap:0!important;padding:48px clamp(16px,5vw,80px)!important}
.rjth-metric{text-align:center!important;padding:20px!important}
.rjth-metric-div{width:1px!important;height:60px!important;background:var(--rj-border)!important;align-self:center!important}
.rjth-counter-num .elementor-counter-number-wrapper,.rjth-counter-num .elementor-counter-number-suffix,.rjth-counter-num .elementor-counter-number-prefix{font-size:clamp(36px,4vw,52px)!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1.1!important}
.rjth-counter-title .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-top:8px!important}
.rjth-metric-sub .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-top:8px!important}

/* Marquee */
.rjth-marquee-wrap{overflow:hidden!important;border-top:1px solid var(--rj-border)!important;border-bottom:1px solid var(--rj-border)!important;padding:0!important;margin-top:48px!important;background:rgba(22,34,64,.6)!important}
.rjth-marquee-track{display:flex!important;width:max-content!important;animation:rjMarquee 30s linear infinite!important;padding:20px 0!important;}
.rjth-marquee-track:hover{animation-play-state:paused!important}
@keyframes rjMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rjth-mlabel .elementor-heading-title{font-size:13px!important;font-weight:600!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;letter-spacing:.05em!important;white-space:nowrap!important;padding:0 20px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-mlabel .elementor-heading-title:hover{color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important}
.rjth-msep .elementor-heading-title{color:var(--rj-border-h)!important;-webkit-text-fill-color:var(--rj-border-h)!important;font-size:16px!important;padding:0 4px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── SERVICES ─────────────────────────────────────────── */
.rjth-services{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-services-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-service-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:32px!important;cursor:pointer!important;transition:border-color 260ms,transform 260ms,box-shadow 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-service-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-4px)!important;box-shadow:var(--rj-glow)!important}
.rjth-service-card-featured{background:linear-gradient(135deg,rgba(33,156,216,.12) 0%,rgba(42,62,149,.12) 100%)!important;border-color:var(--rj-border-h)!important}
.rjth-sc-icon{width:52px!important;height:52px!important;background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-sc-icon-fa .elementor-icon{font-size:22px!important;color:var(--rj-sky)!important;}
.rjth-sc-title .elementor-heading-title{font-size:17px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;line-height:1.3!important}
.rjth-sc-desc .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.65!important;margin:0!important}
.rjth-sc-arrow .elementor-heading-title{font-size:13px!important;font-weight:600!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;margin-top:auto!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── PORTFOLIO/WORK ───────────────────────────────────── */
.rjth-work{padding:96px 0!important;background:var(--rj-bg2)!important}
.rjth-bento-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important;margin-bottom:20px!important}
.rjth-bento-grid-three{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-bento-card{border-radius:var(--rj-r-2xl)!important;overflow:hidden!important;position:relative!important;min-height:320px!important;cursor:pointer!important;transition:transform 300ms ease,box-shadow 300ms ease!important;display:block!important;text-decoration:none!important}
.rjth-bento-card:hover{transform:translateY(-4px)!important;box-shadow:var(--rj-glow)!important}
.rjth-bento-real{border:1px solid var(--rj-border)!important;}
.rjth-bento-real::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(to top,rgba(17,29,56,.92) 0%,rgba(17,29,56,.4) 50%,transparent 100%)!important;z-index:1!important}
/* Content inside real bento at bottom */
.rjth-bento-real>.rjth-bento-tags,.rjth-bento-real>.rjth-bento-title,.rjth-bento-real>.rjth-bento-desc,.rjth-bento-real>.rjth-live-badge,.rjth-bento-real>.rjth-metric-pill-wrap,.rjth-bento-real>.rjth-bento-cta-link{position:relative!important;z-index:2!important}
.rjth-bento-tags{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:10px!important;padding:0 24px!important;position:absolute!important;bottom:80px!important;left:0!important;right:0!important;z-index:2!important}
.rjth-tag .elementor-heading-title{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;font-size:11px!important;font-weight:500!important;padding:3px 10px!important;border-radius:9999px!important;-webkit-text-fill-color:#fff!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important}
.rjth-tag-sky .elementor-heading-title{background:rgba(33,156,216,.25)!important;border-color:rgba(33,156,216,.4)!important;color:#9dd9f5!important;-webkit-text-fill-color:#9dd9f5!important}
.rjth-tag-amber .elementor-heading-title{background:rgba(251,191,36,.15)!important;border-color:rgba(251,191,36,.3)!important;color:#fbbf24!important;-webkit-text-fill-color:#fbbf24!important}
.rjth-tag-teal .elementor-heading-title{background:rgba(20,184,166,.15)!important;border-color:rgba(20,184,166,.3)!important;color:#5eead4!important;-webkit-text-fill-color:#5eead4!important}
.rjth-live-badge .elementor-heading-title{background:rgba(34,197,94,.15)!important;border:1px solid rgba(34,197,94,.3)!important;color:#4ade80!important;font-size:11px!important;font-weight:600!important;padding:3px 10px!important;border-radius:9999px!important;-webkit-text-fill-color:#4ade80!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-title .elementor-heading-title{font-size:16px!important;font-weight:700!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin-bottom:6px!important}
.rjth-bento-desc .elementor-text-editor p{font-size:13px!important;color:rgba(240,244,255,.75)!important;line-height:1.5!important;margin:0!important}
.rjth-metric-pill-wrap{padding:4px 0 0!important}
.rjth-metric-pill .elementor-heading-title{display:inline-block!important;background:rgba(33,156,216,.15)!important;border:1px solid rgba(33,156,216,.25)!important;color:var(--rj-sky)!important;font-size:12px!important;font-weight:600!important;padding:4px 12px!important;border-radius:9999px!important;-webkit-text-fill-color:var(--rj-sky)!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-cta-link .elementor-heading-title{font-size:12px!important;font-weight:600!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;opacity:0!important;transition:opacity 260ms!important;display:inline-block!important;margin-top:10px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-card:hover .rjth-bento-cta-link .elementor-heading-title{opacity:1!important}

/* Placeholder bento cards */
.rjth-bento-small{min-height:240px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:24px!important}
.rjth-bento-fintech{background:linear-gradient(135deg,#0f2750 0%,#1a3a6b 100%)!important}
.rjth-bento-health{background:linear-gradient(135deg,#0d2b2b 0%,#0f3d3d 100%)!important}
.rjth-bento-logistics{background:linear-gradient(135deg,#2d1a00 0%,#3d2600 100%)!important}

/* ── INDUSTRIES ───────────────────────────────────────── */
.rjth-industries{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-industries-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-industry-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-xl)!important;padding:28px 24px!important;cursor:pointer!important;transition:border-color 260ms,transform 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;text-decoration:none!important}
.rjth-industry-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-3px)!important}
.rjth-industry-icon{width:44px!important;height:44px!important;background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-md)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-industry-icon .elementor-icon{font-size:20px!important;color:var(--rj-sky)!important;}
.rjth-industry-title .elementor-heading-title{font-size:15px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}
.rjth-industry-text .elementor-text-editor p{font-size:13px!important;color:var(--rj-text2)!important;line-height:1.6!important;margin:0!important}

/* ── TECHNOLOGY ───────────────────────────────────────── */
.rjth-technology{padding:96px 0!important;background:var(--rj-bg3)!important}
.rjth-tech-marquees{overflow:hidden!important;margin-top:48px!important}
.rjth-tech-row{overflow:hidden!important;padding:6px 0!important}
.rjth-tech-track{display:flex!important;width:max-content!important;gap:12px!important;animation:rjTechMarquee 25s linear infinite!important;}
.rjth-tech-track-rev{animation-direction:reverse!important;animation-duration:30s!important}
@keyframes rjTechMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rjth-tech-tag .elementor-heading-title{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:9999px!important;padding:8px 18px!important;font-size:13px!important;font-weight:500!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;white-space:nowrap!important;transition:border-color 200ms,color 200ms!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-tech-tag .elementor-heading-title:hover{border-color:var(--rj-border-h)!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}

/* ── PROCESS ──────────────────────────────────────────── */
.rjth-process{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-process-steps{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-step-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:28px!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-step-number{display:flex!important;align-items:center!important;justify-content:center!important;width:52px!important;height:52px!important;background:rgba(33,156,216,.10)!important;border:1px solid rgba(33,156,216,.25)!important;border-radius:var(--rj-r-lg)!important;flex-shrink:0!important;}
.rjth-step-num .elementor-heading-title{font-size:22px!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1!important;}
.rjth-step-body{display:flex!important;flex-direction:column!important;gap:8px!important;}
.rjth-step-title .elementor-heading-title{font-size:16px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;}
.rjth-step-desc .elementor-text-editor p{font-size:13px!important;color:var(--rj-text2)!important;line-height:1.7!important;margin:0!important}

/* ── TESTIMONIALS ─────────────────────────────────────── */
.rjth-testimonials{padding:96px 0!important;background:var(--rj-bg2)!important}
.rjth-testi-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-testi-card{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:32px!important;transition:border-color 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-testi-card:hover{border-color:var(--rj-border-h)!important}
.rjth-testi-top{display:flex!important;flex-direction:column!important;gap:12px!important;}
.rjth-stars .elementor-heading-title{color:#fbbf24!important;-webkit-text-fill-color:#fbbf24!important;font-size:16px!important;letter-spacing:2px!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-testi-quote .elementor-text-editor p{font-size:15px!important;color:var(--rj-text)!important;line-height:1.7!important;font-style:italic!important;margin:0!important}
.rjth-testi-info{display:flex!important;align-items:center!important;gap:12px!important;margin-top:auto!important;}
.rjth-avatar{width:44px!important;height:44px!important;background:var(--rj-brand)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-avatar-init .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin:0!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-testi-name .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:2px!important}
.rjth-testi-role .elementor-heading-title{font-size:12px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── RESULTS ──────────────────────────────────────────── */
.rjth-results{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-results-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-result-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:36px 28px!important;text-align:center!important;transition:border-color 260ms,transform 260ms!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;}
.rjth-result-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-3px)!important}
.rjth-result-number .elementor-counter-number-wrapper,.rjth-result-number .elementor-counter-number-suffix,.rjth-result-number .elementor-counter-number-prefix{font-size:clamp(40px,4vw,56px)!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1!important}
.rjth-result-label .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}
.rjth-result-sub .elementor-text-editor p{font-size:13px!important;color:var(--rj-muted)!important;line-height:1.6!important;margin:0!important}

/* ── FAQ ──────────────────────────────────────────────── */
.rjth-faq{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-faq-list{display:flex!important;flex-direction:column!important;gap:10px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-faq-item{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;overflow:hidden!important;transition:border-color 260ms!important;display:flex!important;flex-direction:column!important;}
.rjth-faq-item:hover{border-color:var(--rj-border-h)!important}
.rjth-faq-q .elementor-heading-title{padding:18px 20px!important;font-size:15px!important;font-weight:600!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;cursor:pointer!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important;margin:0!important}
.rjth-faq-a .elementor-text-editor{padding:0 20px 16px!important;}
.rjth-faq-a .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.75!important;margin:0!important}
.rjth-faq-cta{margin-top:48px!important;text-align:center!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-faq-cta-text .elementor-text-editor p,.rjth-faq-cta-text .elementor-text-editor a{font-size:15px!important;color:var(--rj-text2)!important;}

/* ── CTA SECTION ──────────────────────────────────────── */
.rjth-cta-section{padding:120px 0!important;background:var(--rj-bg3)!important;position:relative!important;overflow:hidden!important}
.rjth-cta-content{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:0 clamp(16px,5vw,40px)!important;position:relative!important;z-index:1!important;gap:24px!important}
.rjth-cta-section .rjth-h2 .elementor-heading-title{font-size:clamp(28px,4vw,48px)!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;text-align:center!important}
.rjth-cta-section .rjth-sub .elementor-text-editor p{font-size:17px!important;color:var(--rj-text2)!important;max-width:500px!important;margin:0!important;line-height:1.7!important;text-align:center!important}
.rjth-cta-btns{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;}
.rjth-cta-chips{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;}
.rjth-cta-chips .rjth-trust-chip .elementor-heading-title{font-size:13px!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;font-weight:500!important;}

/* ── CONTACT ──────────────────────────────────────────── */
.rjth-contact{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-contact-grid{display:grid!important;grid-template-columns:1fr 1.5fr!important;gap:64px!important;align-items:start!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-contact-left{display:flex!important;flex-direction:column!important;gap:24px!important;}
.rjth-contact-info-group{display:flex!important;flex-direction:column!important;gap:12px!important;}
.rjth-contact-info-item{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-xl)!important;padding:20px!important;display:flex!important;flex-direction:column!important;gap:4px!important;}
.rjth-contact-label .elementor-heading-title{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;margin-bottom:2px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-contact-value .elementor-text-editor p,.rjth-contact-value .elementor-text-editor a{font-size:15px!important;color:var(--rj-text)!important;font-weight:500!important;margin:0!important}
.rjth-contact-socials{display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
.rjth-social-btn .elementor-button{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;color:var(--rj-text2)!important;font-size:14px!important;font-weight:500!important;padding:10px 18px!important;transition:all 200ms!important;}
.rjth-social-btn .elementor-button:hover{border-color:var(--rj-border-h)!important;color:var(--rj-text)!important;}
.rjth-contact-right{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:40px!important;display:flex!important;flex-direction:column!important;gap:24px!important;}
.rjth-contact-form-wrap{display:block!important;}
.rjth-contact-form-wrap .wpforms-field input,.rjth-contact-form-wrap .wpforms-field textarea,.rjth-contact-form-wrap .wpforms-field select{background:var(--rj-bg)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-md)!important;color:var(--rj-text)!important;padding:12px 16px!important;font-size:15px!important;font-family:'Inter',sans-serif!important;width:100%!important;transition:border-color 200ms!important}
.rjth-contact-form-wrap .wpforms-field input:focus,.rjth-contact-form-wrap .wpforms-field textarea:focus,.rjth-contact-form-wrap .wpforms-field select:focus{border-color:var(--rj-sky)!important;outline:none!important}
.rjth-contact-form-wrap .wpforms-field-label,.rjth-contact-form-wrap label{font-size:13px!important;font-weight:600!important;color:var(--rj-text2)!important;margin-bottom:6px!important;display:block!important}
.rjth-contact-form-wrap .wpforms-submit-container button{background:var(--rj-brand)!important;border:none!important;border-radius:var(--rj-r-lg)!important;color:#fff!important;font-size:16px!important;font-weight:600!important;padding:14px 28px!important;cursor:pointer!important;transition:all 260ms!important;width:100%!important;font-family:'Inter',sans-serif!important}
.rjth-contact-form-wrap .wpforms-submit-container button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 32px rgba(33,156,216,.45)!important}
.rjth-contact-form-wrap .wpforms-form{padding:0!important}
.rjth-contact-form-wrap .wpforms-field{margin-bottom:20px!important}
.rjth-contact-form-wrap .wpforms-field-select select option{background:var(--rj-surface)!important;color:var(--rj-text)!important}

/* Contact section header context */
.rjth-contact .rjth-h2 .elementor-heading-title{margin-bottom:12px!important}
.rjth-contact .rjth-sub .elementor-text-editor p{max-width:400px!important;}

/* ── FOOTER (XPRO) ────────────────────────────────────── */
.rjth-footer,footer.xpro-theme-builder-footer{background:var(--rj-bg2)!important;border-top:1px solid var(--rj-border)!important;padding:64px 0 0!important}
.rjth-footer-grid{display:grid!important;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr!important;gap:48px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-footer-brand{display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-footer-logo-row{display:flex!important;align-items:center!important;gap:12px!important;}
.rjth-footer-logo .elementor-image img{width:52px!important;height:52px!important;border-radius:10px!important;object-fit:cover!important}
.rjth-footer-name .elementor-heading-title{font-family:'Lily Script One',cursive!important;font-size:19px!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;font-weight:400!important;letter-spacing:-.01em!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-tagline .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.6!important;margin:0!important;max-width:280px!important}
.rjth-footer-col-head .elementor-heading-title{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:rgba(240,244,255,.5)!important;-webkit-text-fill-color:rgba(240,244,255,.5)!important;margin-bottom:16px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-link .elementor-text-editor p,.rjth-footer-link .elementor-text-editor a{font-size:14px!important;color:var(--rj-text2)!important;margin-bottom:10px!important;transition:color 200ms!important;margin-top:0!important}
.rjth-footer-link .elementor-text-editor a:hover{color:var(--rj-text)!important}
.rjth-footer-links{display:flex!important;flex-direction:column!important;gap:0!important;}
.rjth-footer-bottom{border-top:1px solid var(--rj-border)!important;margin-top:48px!important;padding:24px clamp(16px,5vw,80px)!important}
.rjth-footer-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important;}
.rjth-copyright .elementor-text-editor p{font-size:13px!important;color:var(--rj-muted)!important;margin:0!important}
.rjth-footer-legal{display:flex!important;gap:20px!important;}
.rjth-footer-legal .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;transition:color 200ms!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-legal .elementor-heading-title:hover{color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important}

/* ── HEADER (XPRO) ────────────────────────────────────── */
#masthead,.site-header,header.xpro-theme-builder-header{background:rgba(17,29,56,.88)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-bottom:1px solid var(--rj-border)!important;position:sticky!important;top:0!important;z-index:1000!important;transition:background 260ms,box-shadow 260ms!important}
body.scrolled #masthead,body.scrolled .site-header,body.scrolled header.xpro-theme-builder-header{background:rgba(17,29,56,.97)!important;box-shadow:0 4px 16px rgba(0,0,0,.35)!important}
.rjth-header-inner{display:flex!important;align-items:center!important;height:68px!important;gap:32px!important;padding:0 clamp(16px,5vw,80px)!important;}
.rjth-logo-row{display:flex!important;align-items:center!important;gap:12px!important;}
.rjth-logo-img .elementor-image img,.rjth-header-logo .elementor-image img{width:52px!important;height:52px!important;border-radius:10px!important;object-fit:cover!important}
.rjth-logo-name .elementor-heading-title,.rjth-header-name .elementor-heading-title{font-family:'Lily Script One',cursive!important;font-size:19px!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-nav-wrap{margin-left:auto!important}
.rjth-header-ctas{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important;}
.xpro-nav-menu .xpro-menu-item>a{font-size:14px!important;font-weight:500!important;color:var(--rj-text2)!important;padding:8px 14px!important;border-radius:var(--rj-r-md)!important;transition:all 150ms!important}
.xpro-nav-menu .xpro-menu-item:hover>a,.xpro-nav-menu .xpro-menu-item.current-menu-item>a{color:var(--rj-text)!important;background:rgba(255,255,255,.05)!important}

/* ── SECTION PADDING NORMALIZER ───────────────────────── */
/* All section e-con roots: remove Elementor default padding */
.rjth-hero,.rjth-trust,.rjth-services,.rjth-work,.rjth-industries,.rjth-technology,.rjth-process,.rjth-testimonials,.rjth-results,.rjth-faq,.rjth-cta-section,.rjth-contact{padding-left:0!important;padding-right:0!important;}
/* Grid/flex children: remove elementor-added padding */
.rjth-services-grid,.rjth-bento-grid,.rjth-bento-grid-three,.rjth-industries-grid,.rjth-testi-grid,.rjth-results-grid,.rjth-process-steps,.rjth-faq-list,.rjth-metrics-row,.rjth-contact-grid{box-sizing:border-box!important}

/* ── RESPONSIVE ───────────────────────────────────────── */
@media(max-width:1200px){
.rjth-process-steps{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:1024px){
.rjth-services-grid,.rjth-bento-grid,.rjth-bento-grid-three{grid-template-columns:1fr 1fr!important}
.rjth-testi-grid{grid-template-columns:1fr 1fr!important}
.rjth-results-grid{grid-template-columns:1fr 1fr!important}
.rjth-process-steps{grid-template-columns:1fr 1fr!important}
.rjth-industries-grid{grid-template-columns:1fr 1fr 1fr!important}
.rjth-footer-grid{grid-template-columns:1fr 1fr!important}
.rjth-hero-row{gap:32px!important}
}
@media(max-width:768px){
.rjth-hero-row{display:flex!important;flex-direction:column!important;padding-top:80px!important;padding-bottom:60px!important;min-height:auto!important;}
.rjth-services-grid,.rjth-industries-grid,.rjth-testi-grid,.rjth-bento-grid,.rjth-bento-grid-three{grid-template-columns:1fr!important}
.rjth-results-grid{grid-template-columns:1fr 1fr!important}
.rjth-contact-grid{grid-template-columns:1fr!important;gap:40px!important}
.rjth-metrics-row{grid-template-columns:1fr 1fr!important;}
.rjth-metric-div{display:none!important}
.rjth-footer-grid{grid-template-columns:1fr!important}
.rjth-process-steps{grid-template-columns:1fr!important}
}
@media(max-width:480px){
.rjth-results-grid,.rjth-process-steps{grid-template-columns:1fr!important}
.rjth-metrics-row{grid-template-columns:1fr!important}
}


/* FLEX WIDGET SHRINK FIXES */
/* Elementor widget elements default to width:100% inside flex containers */
.rjth-hero-btns .elementor-widget,
.rjth-hero-btns .elementor-button-wrapper,
.rjth-hero-btns .elementor-button-link{width:auto!important;flex:0 0 auto!important;}

.rjth-hero-chips .elementor-widget,
.rjth-cta-chips .elementor-widget,
.rjth-bento-tags .elementor-widget,
.rjth-contact-socials .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Marquee and tech track: headings must not wrap */
.rjth-marquee-track .elementor-widget,
.rjth-tech-track .elementor-widget,
.rjth-tech-track-rev .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* CTA buttons row */
.rjth-cta-btns .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Bento real card: portfolio image fills card */
.rjth-bento-real .elementor-widget-image{position:absolute!important;inset:0!important;z-index:0!important;margin:0!important;width:100%!important;}
.rjth-bento-real .elementor-widget-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important;}
.rjth-bento-real .elementor-widget-image .elementor-widget-container{height:100%!important;}

/* Bento real card: text content overlays at bottom, above the gradient */
.rjth-bento-real .elementor-widget:not(.elementor-widget-image){position:relative!important;z-index:2!important;}

/* Fix metrics section scroll position by ensuring section has correct height */
.rjth-trust{min-height:auto!important;}

/* Testi info row: flex */
.rjth-testi-info .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Process step number */
.rjth-step-number .elementor-widget{width:auto!important;}

/* Footer legal links */
.rjth-footer-legal .elementor-widget{width:auto!important;flex:0 0 auto!important;}


/* FLEX DIRECTION FIX */
/* Elementor sets --flex-direction:column via CSS var; must explicitly override */
.rjth-hero-btns{flex-direction:row!important;}
.rjth-hero-chips{flex-direction:row!important;}
.rjth-cta-btns{flex-direction:row!important;}
.rjth-cta-chips{flex-direction:row!important;}
.rjth-marquee-track{flex-direction:row!important;}
.rjth-tech-track{flex-direction:row!important;}
.rjth-tech-track-rev{flex-direction:row!important;}
.rjth-bento-tags{flex-direction:row!important;}
.rjth-contact-socials{flex-direction:row!important;}
.rjth-header-inner{flex-direction:row!important;}
.rjth-header-ctas{flex-direction:row!important;}
.rjth-logo-row{flex-direction:row!important;}
.rjth-footer-logo-row{flex-direction:row!important;}
.rjth-footer-bottom{flex-direction:row!important;}
.rjth-footer-legal{flex-direction:row!important;}
.rjth-testi-info{flex-direction:row!important;}
.rjth-contact-info-item{flex-direction:row!important;}
.rjth-section-cta{flex-direction:row!important;justify-content:center!important;}


/* METRICS COUNTER WIDGET STYLES (counters have no custom CSS class) */
.rjth-metric .elementor-counter-number-wrapper,
.rjth-metric .elementor-counter-number-suffix,
.rjth-metric .elementor-counter-number-prefix{
  font-size:clamp(36px,4vw,52px)!important;
  font-weight:800!important;
  background:var(--rj-brand)!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  line-height:1.1!important;
}
.rjth-metric .elementor-counter-title{
  font-size:13px!important;
  font-weight:500!important;
  color:var(--rj-muted)!important;
  -webkit-text-fill-color:var(--rj-muted)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-top:8px!important;
  display:block!important;
}

/* RESULTS counter styled brighter */
.rjth-result-number .elementor-counter-number-wrapper,
.rjth-result-number .elementor-counter-number-suffix,
.rjth-result-number .elementor-counter-number-prefix{
  color:#219CD8!important;
  -webkit-text-fill-color:#219CD8!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
}

/* PORTFOLIO IMAGES — show real images in bento cards */
.rjth-bento-real .elementor-widget-image .elementor-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:top center!important;
  position:absolute!important;
  inset:0!important;
}
.rjth-bento-real .elementor-widget-image .elementor-widget-container{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.rjth-bento-real .elementor-widget-image{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}

/* Make bento card content stack at bottom */
.rjth-bento-real{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:24px!important;
}
.rjth-bento-real .elementor-widget:not(.elementor-widget-image){
  position:relative!important;
  z-index:2!important;
}


/* FIX: rjth-counter-num static metric number - use solid color, not gradient clip */
.rjth-counter-num .elementor-heading-title{
  font-size:clamp(36px,4vw,52px)!important;
  font-weight:800!important;
  color:#219CD8!important;
  -webkit-text-fill-color:#219CD8!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
  line-height:1.1!important;
  display:block!important;
}
.rjth-counter-title .elementor-heading-title{
  font-size:13px!important;
  font-weight:500!important;
  color:rgba(240,244,255,.45)!important;
  -webkit-text-fill-color:rgba(240,244,255,.45)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-top:4px!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
}

/* FIX: Bento real card overlay - lighter gradient so images show through */
.rjth-bento-real::after{
  background:linear-gradient(to top,rgba(17,29,56,.95) 0%,rgba(17,29,56,.55) 40%,rgba(17,29,56,.15) 100%)!important;
}

/* ═══════════════════════════════════════════════════
   HEADER LAYOUT FIXES (v3.6)
   e-con-full sets width:100% on all flex children;
   override with flex: 0 0 auto / flex: 1 1 auto
   ═══════════════════════════════════════════════════ */

/* Wrapper: full width, transparent bg */
.xpro-theme-builder-header{
  background:rgba(17,29,56,.92)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  width:100%!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
.xpro-theme-builder-header-nav{
  width:100%!important;
  display:block!important;
}
/* Elementor wrapper */
.elementor-749{
  width:100%!important;
}

/* Inner row: flex, constrained */
.rjth-header-inner{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  height:68px!important;
  padding:0 clamp(16px,5vw,80px)!important;
  gap:32px!important;
  width:100%!important;
  box-sizing:border-box!important;
}

/* Logo row: shrink to content */
.rjth-logo-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:12px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
.rjth-logo-row .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-logo-row .xpro-site-logo img,
.rjth-logo-row .elementor-widget-xpro-site-logo img{
  width:52px!important;
  height:52px!important;
  border-radius:10px!important;
  object-fit:cover!important;
  display:block!important;
}
.rjth-logo-row .xpro-site-logo,
.rjth-logo-row .elementor-widget-container{
  width:auto!important;
  display:block!important;
}

/* Nav: take all remaining space */
.rjth-nav-wrap{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  margin-left:0!important;
}
.rjth-nav-wrap .elementor-widget-container{
  width:auto!important;
  display:flex!important;
  align-items:center!important;
}

/* Force XPRO nav to desktop mode at 769px+
   The plugin adds responsive-tablet class regardless of viewport;
   we force the desktop navbar to show and hide the mobile toggle */
.xpro-elementor-horizontal-navbar-wrapper{
  display:flex!important;
  align-items:center!important;
}
.xpro-elementor-horizontal-navbar{
  display:flex!important;
}
.xpro-elementor-horizontal-navbar-nav{
  display:flex!important;
  flex-direction:row!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  gap:4px!important;
  align-items:center!important;
}
.xpro-elementor-horizontal-menu-close,
.xpro-elementor-horizontal-menu-toggle{
  display:none!important;
}

/* Nav link styles */
.xpro-elementor-horizontal-navbar-nav .menu-item>a,
.xpro-nav-menu .xpro-menu-item>a{
  font-size:14px!important;
  font-weight:500!important;
  color:rgba(240,244,255,.75)!important;
  padding:8px 14px!important;
  border-radius:8px!important;
  text-decoration:none!important;
  display:block!important;
  transition:all 150ms!important;
  white-space:nowrap!important;
}
.xpro-elementor-horizontal-navbar-nav .menu-item:hover>a,
.xpro-elementor-horizontal-navbar-nav .menu-item.current-menu-item>a{
  color:#fff!important;
  background:rgba(255,255,255,.07)!important;
}

/* CTA container: shrink to content */
.rjth-header-ctas{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
.rjth-header-ctas .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}

/* ═══════════════════════════════════════════════════
   FOOTER LAYOUT FIXES (v3.6)
   ═══════════════════════════════════════════════════ */

#xpro-theme-builder-footer{
  background:var(--rj-navy)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  padding:0!important;
  width:100%!important;
}
.elementor-750{
  width:100%!important;
}

/* Footer grid: 5 cols */
.rjth-footer-grid{
  display:grid!important;
  grid-template-columns:1.5fr 1fr 1fr 1fr 1fr!important;
  gap:48px!important;
  padding:64px clamp(16px,5vw,80px)!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.rjth-footer-grid.e-con{
  flex:unset!important;
  width:100%!important;
}
/* Ensure grid children don't flex-grow */
.rjth-footer-grid>.e-con,
.rjth-footer-grid>.elementor-widget{
  flex:unset!important;
  width:auto!important;
}

/* Footer brand column */
.rjth-footer-brand{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  width:auto!important;
  flex:unset!important;
}
.rjth-footer-logo-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
  width:auto!important;
}
.rjth-footer-logo-row .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-footer-logo-row .xpro-site-logo img,
.rjth-footer-logo-row .elementor-widget-xpro-site-logo img{
  width:40px!important;
  height:40px!important;
  border-radius:8px!important;
  object-fit:cover!important;
  display:block!important;
}
.rjth-footer-name .elementor-heading-title{
  font-family:'Lily Script One',cursive!important;
  font-size:16px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
  font-weight:400!important;
}
.rjth-footer-tagline .elementor-heading-title,
.rjth-footer-tagline p{
  font-size:14px!important;
  color:rgba(240,244,255,.55)!important;
  -webkit-text-fill-color:rgba(240,244,255,.55)!important;
  background:none!important;
  line-height:1.6!important;
  max-width:260px!important;
}

/* Footer link columns */
.rjth-footer-links{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  width:auto!important;
  flex:unset!important;
}
.rjth-footer-col-head .elementor-heading-title{
  font-size:11px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  color:rgba(240,244,255,.4)!important;
  -webkit-text-fill-color:rgba(240,244,255,.4)!important;
  background:none!important;
  margin-bottom:8px!important;
}
.rjth-footer-link a,
.rjth-footer-link .elementor-button{
  font-size:14px!important;
  color:rgba(240,244,255,.65)!important;
  text-decoration:none!important;
  display:block!important;
  padding:2px 0!important;
  transition:color 150ms!important;
  background:none!important;
  border:none!important;
  text-align:left!important;
}
.rjth-footer-link a:hover{
  color:#fff!important;
}

/* Footer bottom bar */
.rjth-footer-bottom{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:20px clamp(16px,5vw,80px)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  gap:16px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.rjth-footer-bottom.e-con{
  flex:unset!important;
  width:100%!important;
}
.rjth-copyright .elementor-heading-title,
.rjth-copyright p{
  font-size:13px!important;
  color:rgba(240,244,255,.4)!important;
  -webkit-text-fill-color:rgba(240,244,255,.4)!important;
  background:none!important;
}
.rjth-footer-legal{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:20px!important;
  flex:0 0 auto!important;
  width:auto!important;
}
.rjth-footer-legal .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-footer-legal a,
.rjth-footer-legal .elementor-button{
  font-size:13px!important;
  color:rgba(240,244,255,.4)!important;
  text-decoration:none!important;
  background:none!important;
  border:none!important;
}
.rjth-footer-legal a:hover{
  color:rgba(240,244,255,.7)!important;
}
/* ═══════════════════════════════════════════════════════
   RESPONSIVE: HEADER & FOOTER FIXES
   ═══════════════════════════════════════════════════════ */

/* ── MOBILE HEADER (≤ 768px) ──────────────────────────── */
@media (max-width: 768px) {
  .rjth-header-inner {
    height: 60px !important;
    gap: 0 !important;
    padding: 0 16px !important;
  }
  /* Hide desktop nav and CTA buttons on mobile */
  .rjth-nav-wrap { display: none !important; }
  .rjth-header-ctas { display: none !important; }
  /* Logo row: push to full width minus hamburger space */
  .rjth-logo-row {
    flex: 1 1 auto !important;
    gap: 10px !important;
  }
  .rjth-logo-row .xpro-site-logo img,
  .rjth-logo-row .elementor-widget-xpro-site-logo img {
    width: 40px !important;
    height: 40px !important;
  }
  .rjth-logo-name .elementor-heading-title,
  .rjth-header-name .elementor-heading-title {
    font-size: 17px !important;
  }
  /* Show XPRO hamburger toggle */
  .xpro-elementor-horizontal-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,.07) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    border: none !important;
    color: #fff !important;
    font-size: 18px !important;
  }
  /* Mobile nav overlay */
  .xpro-elementor-horizontal-navbar {
    display: none !important;
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(17,29,56,.97) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    padding: 16px 0 !important;
    z-index: 9998 !important;
  }
  .xpro-elementor-horizontal-navbar.xpro-menu-open,
  .xpro-elementor-horizontal-navbar-wrapper.xpro-nav-open .xpro-elementor-horizontal-navbar {
    display: block !important;
  }
  .xpro-elementor-horizontal-navbar-nav {
    flex-direction: column !important;
    padding: 0 24px !important;
    gap: 4px !important;
  }
  .xpro-elementor-horizontal-navbar-nav .menu-item > a {
    padding: 12px 0 !important;
    font-size: 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 0 !important;
  }
}

/* ── MOBILE FOOTER (≤ 768px) ──────────────────────────── */
@media (max-width: 768px) {
  .rjth-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 48px 24px 32px !important;
  }
  .rjth-footer-tagline .elementor-heading-title,
  .rjth-footer-tagline p {
    max-width: 100% !important;
  }
  .rjth-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 20px 24px !important;
  }
  .rjth-footer-legal {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }
}

/* ── TABLET FOOTER (769px – 1024px) ──────────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .rjth-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    padding: 48px 32px !important;
  }
}

/* ── HERO RESPONSIVE ─────────────────────────────────── */
/* On small screens, remove the massive top-padding gap */
@media (max-width: 768px) {
  .rjth-hero-row {
    padding-top: 60px !important;
  }
}

/* ── TABLET NAV (769px – 1024px) ─────────────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .rjth-header-ctas { display: none !important; }
  .rjth-nav-wrap { margin-left: auto !important; flex: 1 1 auto !important; }
}
/* ======================================================
   MOBILE NAV HAMBURGER (v3.9)
   ====================================================== */
@media (max-width: 768px) {
  /* Show the nav wrapper on mobile so we can target its content */
  .rjth-nav-wrap { display: flex !important; flex: 0 0 auto !important; width: auto !important; }
  /* Hide desktop nav list on mobile */
  .xpro-elementor-horizontal-navbar { display: none !important; }
  .xpro-elementor-horizontal-menu-close { display: none !important; }
  /* Hamburger button (injected by JS) */
  .rjth-hamburger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    cursor: pointer !important;
    background: rgba(255,255,255,.06) !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 0 !important;
  }
  .rjth-hamburger span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 2px !important;
    transition: all 200ms !important;
  }
  /* Mobile nav panel - slides down from header */
  .rjth-mobile-nav {
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(17,29,56,.98) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    z-index: 9998 !important;
    transform: translateY(-100%) !important;
    transition: transform 250ms ease !important;
    padding: 0 !important;
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    display: block !important;
  }
  .rjth-mobile-nav.open {
    transform: translateY(0) !important;
  }
  .rjth-mobile-nav ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 8px 0 16px !important;
  }
  .rjth-mobile-nav li a {
    display: block !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: rgba(240,244,255,.85) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
  }
  .rjth-mobile-nav li:last-child a { border-bottom: none !important; }
  .rjth-mobile-nav li a:active { background: rgba(255,255,255,.06) !important; }
  /* Mobile nav CTAs */
  .rjth-mobile-nav .mob-ctas {
    display: flex !important;
    gap: 12px !important;
    padding: 12px 24px 20px !important;
  }
  .rjth-mobile-nav .mob-cta-outline {
    flex: 1 !important;
    padding: 11px 16px !important;
    border: 1px solid rgba(33,156,216,.6) !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #219CD8 !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
  .rjth-mobile-nav .mob-cta-primary {
    flex: 1 !important;
    padding: 11px 16px !important;
    background: linear-gradient(135deg,#219CD8,#2A3E95) !important;
    border-radius: 10px !important;
    color: #fff !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
}

/* ======================================================
   FOOTER MOBILE CONTENT VISIBILITY
   ====================================================== */
@media (max-width: 768px) {
  /* Ensure footer sections are visible */
  .rjth-footer-links,
  .rjth-footer-brand {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  /* Ensure col heading visible */
  .rjth-footer-col-head .elementor-heading-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: rgba(240,244,255,.4) !important;
    -webkit-text-fill-color: rgba(240,244,255,.4) !important;
    margin-bottom: 4px !important;
  }
  /* Footer brand tagline */
  .rjth-footer-tagline .elementor-heading-title {
    font-size: 14px !important;
    color: rgba(240,244,255,.55) !important;
    -webkit-text-fill-color: rgba(240,244,255,.55) !important;
  }
}
/* Fix pointer-events on hidden mobile nav */
@media (max-width: 768px) {
  .rjth-mobile-nav { pointer-events: none !important; }
  .rjth-mobile-nav.open { pointer-events: auto !important; }
}
/* ===================================================
   MOBILE HEADER FINAL FIX (v3.9-b)
   Use high-specificity selectors to win vs Elementor
   =================================================== */
@media (max-width: 768px) {
  /* Force-hide CTAs at mobile using e-con class combo */
  .rjth-header-ctas.e-con,
  .rjth-header-ctas.e-flex,
  .rjth-header-inner .rjth-header-ctas {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  /* Logo row fills remaining space (left of hamburger) */
  .rjth-header-inner .rjth-logo-row {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  /* Force-hide desktop nav at mobile */
  .rjth-nav-wrap .xpro-elementor-horizontal-navbar,
  .rjth-nav-wrap .xpro-elementor-horizontal-navbar-nav {
    display: none !important;
  }
  /* Nav wrapper = just the hamburger button space */
  .rjth-nav-wrap.elementor-widget {
    display: flex !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }
  .rjth-nav-wrap .elementor-widget-container {
    width: 40px !important;
    display: flex !important;
    align-items: center !important;
  }
  .xpro-elementor-horizontal-navbar-wrapper {
    display: none !important;
  }
  /* Hamburger button fills the nav-wrap area */
  .rjth-hamburger {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}
/* ===================================================
   MOBILE NAV PANEL POSITIONING FIX (v3.11)
   top:0 + padding-top:60px ensures panel is
   fully above viewport when closed (not partially shown)
   =================================================== */
@media (max-width: 768px) {
  .rjth-mobile-nav {
    top: 0 !important;
    padding-top: 60px !important;
  }
}
/* ===================================================
   FOOTER BACKGROUND FIX (v3.13)
   Use original --c-bg2 dark navy #162240
   =================================================== */
#xpro-theme-builder-footer {
  background: #162240 !important;
}
.rjth-footer-grid,
.rjth-footer-bottom {
  background: transparent !important;
}

/* ===================================================
   FAQ ACCORDION COLLAPSE (v3.13)
   Items start closed; .open toggles via main.js
   =================================================== */
.rjth-faq-a {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.35s ease;
}
.rjth-faq-item.open .rjth-faq-a {
  max-height: 600px !important;
  overflow: visible !important;
}
/* FAQ question cursor */
.rjth-faq-q {
  cursor: pointer !important;
}/* RJ Tech House — WordPress/Elementor Styles v3.0 */
@import url('https://fonts.googleapis.com/css2?family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700;14..32,800&family=Lily+Script+One&display=swap');

:root {
  --rj-navy:#2A3E95;--rj-sky:#219CD8;--rj-mid:#2596BE;
  --rj-bg:#111D38;--rj-bg2:#162240;--rj-bg3:#192648;
  --rj-surface:#1E2E56;--rj-surface2:#243568;
  --rj-border:rgba(42,62,149,.38);--rj-border-h:rgba(33,156,216,.55);
  --rj-text:#F0F4FF;--rj-text2:#BDC9E5;--rj-muted:#6E80AA;
  --rj-brand:linear-gradient(135deg,#219CD8 0%,#2A3E95 100%);
  --rj-card:linear-gradient(135deg,rgba(33,156,216,.08) 0%,rgba(42,62,149,.08) 100%);
  --rj-shadow-md:0 4px 16px rgba(0,0,0,.35);--rj-shadow-lg:0 8px 32px rgba(0,0,0,.40);
  --rj-glow:0 0 28px rgba(33,156,216,.18),0 0 56px rgba(42,62,149,.12);
  --rj-r-sm:6px;--rj-r-md:10px;--rj-r-lg:14px;--rj-r-xl:18px;--rj-r-2xl:24px;--rj-r-full:9999px;
}

/* GLOBAL */
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif!important;background-color:var(--rj-bg)!important;color:var(--rj-text)!important;line-height:1.65!important;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}
a{text-decoration:none}
img{display:block;max-width:100%}
.site-main,.entry-content,#content,#primary,.elementor-section-wrap,.e-con{background:transparent}

/* Remove Astra conflicts */
.ast-container,.ast-row{max-width:none;padding:0}
.page h1,.page h2,.page h3,.page h4,.page h5,.page h6,.page p{margin:0}
.entry-title{display:none!important}

/* ELEMENTOR CONTAINER RESET — boxed containers only */
.e-con-boxed>.e-con-inner{max-width:1280px!important;margin-left:auto!important;margin-right:auto!important;padding-left:clamp(16px,5vw,40px)!important;padding-right:clamp(16px,5vw,40px)!important}

/* SCROLL REVEAL */
.rjth-reveal{opacity:0;transform:translateY(24px);transition:opacity 600ms ease,transform 600ms ease}
.rjth-reveal.in-view{opacity:1;transform:translateY(0)}
.rjth-reveal-d1.in-view{transition-delay:.1s}
.rjth-reveal-d2.in-view{transition-delay:.2s}
.rjth-reveal-d3.in-view{transition-delay:.3s}

/* TYPOGRAPHY — section labels */
.rjth-eyebrow .elementor-heading-title{font-size:12px!important;font-weight:600!important;letter-spacing:.12em!important;text-transform:uppercase!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;margin-bottom:12px!important;display:inline-block!important}
.rjth-h2 .elementor-heading-title{font-size:clamp(28px,4vw,44px)!important;font-weight:800!important;letter-spacing:-.025em!important;line-height:1.15!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:16px!important}
.rjth-sub .elementor-text-editor p{font-size:17px!important;color:var(--rj-text2)!important;max-width:560px!important;line-height:1.7!important;margin:0!important}
.rjth-section-header{margin-bottom:56px!important}
.rjth-section-cta{margin-top:48px!important;text-align:center!important}

/* BUTTONS */
.rjth-btn-primary .elementor-button,.rjth-btn-primary-lg .elementor-button,.rjth-btn-primary-xl .elementor-button{background:var(--rj-brand)!important;color:#fff!important;border:none!important;font-weight:600!important;box-shadow:0 4px 20px rgba(33,156,216,.30)!important;transition:all 260ms ease!important}
.rjth-btn-primary .elementor-button{border-radius:var(--rj-r-md)!important;font-size:15px!important;padding:12px 24px!important}
.rjth-btn-primary-lg .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:16px!important;padding:14px 28px!important}
.rjth-btn-primary-xl .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:18px!important;padding:18px 36px!important}
.rjth-btn-primary .elementor-button:hover,.rjth-btn-primary-lg .elementor-button:hover,.rjth-btn-primary-xl .elementor-button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 32px rgba(33,156,216,.45)!important}
.rjth-btn-outline .elementor-button,.rjth-btn-outline-lg .elementor-button,.rjth-btn-ghost-lg .elementor-button{background:transparent!important;border:1.5px solid var(--rj-border-h)!important;color:var(--rj-sky)!important;font-weight:600!important;transition:all 260ms ease!important}
.rjth-btn-outline .elementor-button{border-radius:var(--rj-r-md)!important;font-size:15px!important;padding:12px 24px!important}
.rjth-btn-outline-lg .elementor-button,.rjth-btn-ghost-lg .elementor-button{border-radius:var(--rj-r-lg)!important;font-size:16px!important;padding:14px 28px!important}
.rjth-btn-outline .elementor-button:hover,.rjth-btn-outline-lg .elementor-button:hover,.rjth-btn-ghost-lg .elementor-button:hover{background:rgba(33,156,216,.08)!important;border-color:var(--rj-sky)!important}

/* ── HERO ─────────────────────────────────────────────── */
.rjth-hero{position:relative!important;overflow:hidden!important;min-height:100vh!important;background-color:var(--rj-bg)!important;padding:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important}
.rjth-orbs{position:absolute!important;inset:0!important;pointer-events:none!important;z-index:0!important;overflow:hidden!important}
@keyframes rjFloatOrb{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(24px,-18px) scale(1.04)}66%{transform:translate(-18px,24px) scale(.97)}}

/* Hero row: 2 columns */
.rjth-hero-row{display:grid!important;grid-template-columns:55fr 45fr!important;align-items:center!important;gap:64px!important;padding:100px clamp(24px,6vw,80px) 80px!important;position:relative!important;z-index:1!important;min-height:100vh!important}

/* Hero copy column */
.rjth-hero-copy{display:flex!important;flex-direction:column!important;}
.rjth-hero-badge .elementor-heading-title{display:inline-flex!important;align-items:center!important;gap:8px!important;background:rgba(33,156,216,.10)!important;border:1px solid rgba(33,156,216,.30)!important;border-radius:9999px!important;padding:6px 14px!important;font-size:13px!important;font-weight:500!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;margin-bottom:28px!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-h1 .elementor-heading-title{font-size:clamp(34px,5vw,62px)!important;font-weight:800!important;letter-spacing:-.035em!important;line-height:1.1!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:22px!important}
.rjth-hero-sub .elementor-text-editor p{font-size:clamp(15px,1.8vw,18px)!important;color:var(--rj-text2)!important;line-height:1.75!important;margin-bottom:36px!important}
.rjth-trust-chip .elementor-heading-title{background:rgba(255,255,255,.05)!important;border:1px solid var(--rj-border)!important;border-radius:9999px!important;padding:4px 12px!important;font-size:12px!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;font-weight:500!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* Hero CTA buttons row */
.rjth-hero-btns{display:flex!important;flex-wrap:wrap!important;gap:12px!important;margin-bottom:36px!important;}

/* Hero chips row */
.rjth-hero-chips{display:flex!important;flex-wrap:wrap!important;gap:8px!important;align-items:center!important;}

/* Hero visual column */
.rjth-hero-visual{display:flex!important;justify-content:center!important;align-items:center!important;}
.rjth-hero-device-outer{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important;}
.rjth-hero-img .elementor-image img{border-radius:var(--rj-r-2xl)!important;border:1px solid var(--rj-border-h)!important;box-shadow:var(--rj-shadow-lg),var(--rj-glow)!important;transform:perspective(1200px) rotateY(-12deg) rotateX(4deg)!important;animation:rjDeviceFloat 6s ease-in-out infinite!important;max-width:100%!important;}
@keyframes rjDeviceFloat{0%,100%{transform:perspective(1200px) rotateY(-12deg) rotateX(4deg) translateY(0)}50%{transform:perspective(1200px) rotateY(-10deg) rotateX(3deg) translateY(-10px)}}

/* ── TRUST / METRICS ──────────────────────────────────── */
.rjth-trust{padding:64px 0 0!important;background:var(--rj-bg)!important}

/* Metrics: 4 counters + 3 dividers = 7-col grid */
.rjth-metrics-row{display:grid!important;grid-template-columns:1fr 1px 1fr 1px 1fr 1px 1fr!important;align-items:center!important;gap:0!important;padding:48px clamp(16px,5vw,80px)!important}
.rjth-metric{text-align:center!important;padding:20px!important}
.rjth-metric-div{width:1px!important;height:60px!important;background:var(--rj-border)!important;align-self:center!important}
.rjth-counter-num .elementor-counter-number-wrapper,.rjth-counter-num .elementor-counter-number-suffix,.rjth-counter-num .elementor-counter-number-prefix{font-size:clamp(36px,4vw,52px)!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1.1!important}
.rjth-counter-title .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-top:8px!important}
.rjth-metric-sub .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:500!important;text-transform:uppercase!important;letter-spacing:.08em!important;margin-top:8px!important}

/* Marquee */
.rjth-marquee-wrap{overflow:hidden!important;border-top:1px solid var(--rj-border)!important;border-bottom:1px solid var(--rj-border)!important;padding:0!important;margin-top:48px!important;background:rgba(22,34,64,.6)!important}
.rjth-marquee-track{display:flex!important;width:max-content!important;animation:rjMarquee 30s linear infinite!important;padding:20px 0!important;}
.rjth-marquee-track:hover{animation-play-state:paused!important}
@keyframes rjMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rjth-mlabel .elementor-heading-title{font-size:13px!important;font-weight:600!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;letter-spacing:.05em!important;white-space:nowrap!important;padding:0 20px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-mlabel .elementor-heading-title:hover{color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important}
.rjth-msep .elementor-heading-title{color:var(--rj-border-h)!important;-webkit-text-fill-color:var(--rj-border-h)!important;font-size:16px!important;padding:0 4px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── SERVICES ─────────────────────────────────────────── */
.rjth-services{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-services-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-service-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:32px!important;cursor:pointer!important;transition:border-color 260ms,transform 260ms,box-shadow 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-service-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-4px)!important;box-shadow:var(--rj-glow)!important}
.rjth-service-card-featured{background:linear-gradient(135deg,rgba(33,156,216,.12) 0%,rgba(42,62,149,.12) 100%)!important;border-color:var(--rj-border-h)!important}
.rjth-sc-icon{width:52px!important;height:52px!important;background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-sc-icon-fa .elementor-icon{font-size:22px!important;color:var(--rj-sky)!important;}
.rjth-sc-title .elementor-heading-title{font-size:17px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;line-height:1.3!important}
.rjth-sc-desc .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.65!important;margin:0!important}
.rjth-sc-arrow .elementor-heading-title{font-size:13px!important;font-weight:600!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;margin-top:auto!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── PORTFOLIO/WORK ───────────────────────────────────── */
.rjth-work{padding:96px 0!important;background:var(--rj-bg2)!important}
.rjth-bento-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important;margin-bottom:20px!important}
.rjth-bento-grid-three{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:20px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-bento-card{border-radius:var(--rj-r-2xl)!important;overflow:hidden!important;position:relative!important;min-height:320px!important;cursor:pointer!important;transition:transform 300ms ease,box-shadow 300ms ease!important;display:block!important;text-decoration:none!important}
.rjth-bento-card:hover{transform:translateY(-4px)!important;box-shadow:var(--rj-glow)!important}
.rjth-bento-real{border:1px solid var(--rj-border)!important;}
.rjth-bento-real::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(to top,rgba(17,29,56,.92) 0%,rgba(17,29,56,.4) 50%,transparent 100%)!important;z-index:1!important}
/* Content inside real bento at bottom */
.rjth-bento-real>.rjth-bento-tags,.rjth-bento-real>.rjth-bento-title,.rjth-bento-real>.rjth-bento-desc,.rjth-bento-real>.rjth-live-badge,.rjth-bento-real>.rjth-metric-pill-wrap,.rjth-bento-real>.rjth-bento-cta-link{position:relative!important;z-index:2!important}
.rjth-bento-tags{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin-bottom:10px!important;padding:0 24px!important;position:absolute!important;bottom:80px!important;left:0!important;right:0!important;z-index:2!important}
.rjth-tag .elementor-heading-title{background:rgba(255,255,255,.12)!important;border:1px solid rgba(255,255,255,.18)!important;color:#fff!important;font-size:11px!important;font-weight:500!important;padding:3px 10px!important;border-radius:9999px!important;-webkit-text-fill-color:#fff!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important}
.rjth-tag-sky .elementor-heading-title{background:rgba(33,156,216,.25)!important;border-color:rgba(33,156,216,.4)!important;color:#9dd9f5!important;-webkit-text-fill-color:#9dd9f5!important}
.rjth-tag-amber .elementor-heading-title{background:rgba(251,191,36,.15)!important;border-color:rgba(251,191,36,.3)!important;color:#fbbf24!important;-webkit-text-fill-color:#fbbf24!important}
.rjth-tag-teal .elementor-heading-title{background:rgba(20,184,166,.15)!important;border-color:rgba(20,184,166,.3)!important;color:#5eead4!important;-webkit-text-fill-color:#5eead4!important}
.rjth-live-badge .elementor-heading-title{background:rgba(34,197,94,.15)!important;border:1px solid rgba(34,197,94,.3)!important;color:#4ade80!important;font-size:11px!important;font-weight:600!important;padding:3px 10px!important;border-radius:9999px!important;-webkit-text-fill-color:#4ade80!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-title .elementor-heading-title{font-size:16px!important;font-weight:700!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin-bottom:6px!important}
.rjth-bento-desc .elementor-text-editor p{font-size:13px!important;color:rgba(240,244,255,.75)!important;line-height:1.5!important;margin:0!important}
.rjth-metric-pill-wrap{padding:4px 0 0!important}
.rjth-metric-pill .elementor-heading-title{display:inline-block!important;background:rgba(33,156,216,.15)!important;border:1px solid rgba(33,156,216,.25)!important;color:var(--rj-sky)!important;font-size:12px!important;font-weight:600!important;padding:4px 12px!important;border-radius:9999px!important;-webkit-text-fill-color:var(--rj-sky)!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-cta-link .elementor-heading-title{font-size:12px!important;font-weight:600!important;color:var(--rj-sky)!important;-webkit-text-fill-color:var(--rj-sky)!important;opacity:0!important;transition:opacity 260ms!important;display:inline-block!important;margin-top:10px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-bento-card:hover .rjth-bento-cta-link .elementor-heading-title{opacity:1!important}

/* Placeholder bento cards */
.rjth-bento-small{min-height:240px!important;display:flex!important;flex-direction:column!important;justify-content:flex-end!important;padding:24px!important}
.rjth-bento-fintech{background:linear-gradient(135deg,#0f2750 0%,#1a3a6b 100%)!important}
.rjth-bento-health{background:linear-gradient(135deg,#0d2b2b 0%,#0f3d3d 100%)!important}
.rjth-bento-logistics{background:linear-gradient(135deg,#2d1a00 0%,#3d2600 100%)!important}

/* ── INDUSTRIES ───────────────────────────────────────── */
.rjth-industries{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-industries-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:16px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-industry-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-xl)!important;padding:28px 24px!important;cursor:pointer!important;transition:border-color 260ms,transform 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;text-decoration:none!important}
.rjth-industry-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-3px)!important}
.rjth-industry-icon{width:44px!important;height:44px!important;background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-md)!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-industry-icon .elementor-icon{font-size:20px!important;color:var(--rj-sky)!important;}
.rjth-industry-title .elementor-heading-title{font-size:15px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}
.rjth-industry-text .elementor-text-editor p{font-size:13px!important;color:var(--rj-text2)!important;line-height:1.6!important;margin:0!important}

/* ── TECHNOLOGY ───────────────────────────────────────── */
.rjth-technology{padding:96px 0!important;background:var(--rj-bg3)!important}
.rjth-tech-marquees{overflow:hidden!important;margin-top:48px!important}
.rjth-tech-row{overflow:hidden!important;padding:6px 0!important}
.rjth-tech-track{display:flex!important;width:max-content!important;gap:12px!important;animation:rjTechMarquee 25s linear infinite!important;}
.rjth-tech-track-rev{animation-direction:reverse!important;animation-duration:30s!important}
@keyframes rjTechMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rjth-tech-tag .elementor-heading-title{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:9999px!important;padding:8px 18px!important;font-size:13px!important;font-weight:500!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;white-space:nowrap!important;transition:border-color 200ms,color 200ms!important;display:inline-block!important;letter-spacing:0!important;text-transform:none!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-tech-tag .elementor-heading-title:hover{border-color:var(--rj-border-h)!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}

/* ── PROCESS ──────────────────────────────────────────── */
.rjth-process{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-process-steps{display:grid!important;grid-template-columns:repeat(5,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-step-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:28px!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-step-number{display:flex!important;align-items:center!important;justify-content:center!important;width:52px!important;height:52px!important;background:rgba(33,156,216,.10)!important;border:1px solid rgba(33,156,216,.25)!important;border-radius:var(--rj-r-lg)!important;flex-shrink:0!important;}
.rjth-step-num .elementor-heading-title{font-size:22px!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1!important;}
.rjth-step-body{display:flex!important;flex-direction:column!important;gap:8px!important;}
.rjth-step-title .elementor-heading-title{font-size:16px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;}
.rjth-step-desc .elementor-text-editor p{font-size:13px!important;color:var(--rj-text2)!important;line-height:1.7!important;margin:0!important}

/* ── TESTIMONIALS ─────────────────────────────────────── */
.rjth-testimonials{padding:96px 0!important;background:var(--rj-bg2)!important}
.rjth-testi-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-testi-card{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:32px!important;transition:border-color 260ms!important;display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-testi-card:hover{border-color:var(--rj-border-h)!important}
.rjth-testi-top{display:flex!important;flex-direction:column!important;gap:12px!important;}
.rjth-stars .elementor-heading-title{color:#fbbf24!important;-webkit-text-fill-color:#fbbf24!important;font-size:16px!important;letter-spacing:2px!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-testi-quote .elementor-text-editor p{font-size:15px!important;color:var(--rj-text)!important;line-height:1.7!important;font-style:italic!important;margin:0!important}
.rjth-testi-info{display:flex!important;align-items:center!important;gap:12px!important;margin-top:auto!important;}
.rjth-avatar{width:44px!important;height:44px!important;background:var(--rj-brand)!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0!important;}
.rjth-avatar-init .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:#fff!important;-webkit-text-fill-color:#fff!important;margin:0!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-testi-name .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;margin-bottom:2px!important}
.rjth-testi-role .elementor-heading-title{font-size:12px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}

/* ── RESULTS ──────────────────────────────────────────── */
.rjth-results{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-results-grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:24px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-result-card{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:36px 28px!important;text-align:center!important;transition:border-color 260ms,transform 260ms!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:8px!important;}
.rjth-result-card:hover{border-color:var(--rj-border-h)!important;transform:translateY(-3px)!important}
.rjth-result-number .elementor-counter-number-wrapper,.rjth-result-number .elementor-counter-number-suffix,.rjth-result-number .elementor-counter-number-prefix{font-size:clamp(40px,4vw,56px)!important;font-weight:800!important;background:var(--rj-brand)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;background-clip:text!important;line-height:1!important}
.rjth-result-label .elementor-heading-title{font-size:14px!important;font-weight:700!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important}
.rjth-result-sub .elementor-text-editor p{font-size:13px!important;color:var(--rj-muted)!important;line-height:1.6!important;margin:0!important}

/* ── FAQ ──────────────────────────────────────────────── */
.rjth-faq{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-faq-list{display:flex!important;flex-direction:column!important;gap:10px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-faq-item{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;overflow:hidden!important;transition:border-color 260ms!important;display:flex!important;flex-direction:column!important;}
.rjth-faq-item:hover{border-color:var(--rj-border-h)!important}
.rjth-faq-q .elementor-heading-title{padding:18px 20px!important;font-size:15px!important;font-weight:600!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;cursor:pointer!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important;margin:0!important}
.rjth-faq-a .elementor-text-editor{padding:0 20px 16px!important;}
.rjth-faq-a .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.75!important;margin:0!important}
.rjth-faq-cta{margin-top:48px!important;text-align:center!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-faq-cta-text .elementor-text-editor p,.rjth-faq-cta-text .elementor-text-editor a{font-size:15px!important;color:var(--rj-text2)!important;}

/* ── CTA SECTION ──────────────────────────────────────── */
.rjth-cta-section{padding:120px 0!important;background:var(--rj-bg3)!important;position:relative!important;overflow:hidden!important}
.rjth-cta-content{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;padding:0 clamp(16px,5vw,40px)!important;position:relative!important;z-index:1!important;gap:24px!important}
.rjth-cta-section .rjth-h2 .elementor-heading-title{font-size:clamp(28px,4vw,48px)!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;text-align:center!important}
.rjth-cta-section .rjth-sub .elementor-text-editor p{font-size:17px!important;color:var(--rj-text2)!important;max-width:500px!important;margin:0!important;line-height:1.7!important;text-align:center!important}
.rjth-cta-btns{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;}
.rjth-cta-chips{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:12px!important;}
.rjth-cta-chips .rjth-trust-chip .elementor-heading-title{font-size:13px!important;color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important;font-weight:500!important;}

/* ── CONTACT ──────────────────────────────────────────── */
.rjth-contact{padding:96px 0!important;background:var(--rj-bg)!important}
.rjth-contact-grid{display:grid!important;grid-template-columns:1fr 1.5fr!important;gap:64px!important;align-items:start!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-contact-left{display:flex!important;flex-direction:column!important;gap:24px!important;}
.rjth-contact-info-group{display:flex!important;flex-direction:column!important;gap:12px!important;}
.rjth-contact-info-item{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-xl)!important;padding:20px!important;display:flex!important;flex-direction:column!important;gap:4px!important;}
.rjth-contact-label .elementor-heading-title{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.1em!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;margin-bottom:2px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-contact-value .elementor-text-editor p,.rjth-contact-value .elementor-text-editor a{font-size:15px!important;color:var(--rj-text)!important;font-weight:500!important;margin:0!important}
.rjth-contact-socials{display:flex!important;gap:10px!important;flex-wrap:wrap!important;}
.rjth-social-btn .elementor-button{background:var(--rj-card)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-lg)!important;color:var(--rj-text2)!important;font-size:14px!important;font-weight:500!important;padding:10px 18px!important;transition:all 200ms!important;}
.rjth-social-btn .elementor-button:hover{border-color:var(--rj-border-h)!important;color:var(--rj-text)!important;}
.rjth-contact-right{background:var(--rj-surface)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-2xl)!important;padding:40px!important;display:flex!important;flex-direction:column!important;gap:24px!important;}
.rjth-contact-form-wrap{display:block!important;}
.rjth-contact-form-wrap .wpforms-field input,.rjth-contact-form-wrap .wpforms-field textarea,.rjth-contact-form-wrap .wpforms-field select{background:var(--rj-bg)!important;border:1px solid var(--rj-border)!important;border-radius:var(--rj-r-md)!important;color:var(--rj-text)!important;padding:12px 16px!important;font-size:15px!important;font-family:'Inter',sans-serif!important;width:100%!important;transition:border-color 200ms!important}
.rjth-contact-form-wrap .wpforms-field input:focus,.rjth-contact-form-wrap .wpforms-field textarea:focus,.rjth-contact-form-wrap .wpforms-field select:focus{border-color:var(--rj-sky)!important;outline:none!important}
.rjth-contact-form-wrap .wpforms-field-label,.rjth-contact-form-wrap label{font-size:13px!important;font-weight:600!important;color:var(--rj-text2)!important;margin-bottom:6px!important;display:block!important}
.rjth-contact-form-wrap .wpforms-submit-container button{background:var(--rj-brand)!important;border:none!important;border-radius:var(--rj-r-lg)!important;color:#fff!important;font-size:16px!important;font-weight:600!important;padding:14px 28px!important;cursor:pointer!important;transition:all 260ms!important;width:100%!important;font-family:'Inter',sans-serif!important}
.rjth-contact-form-wrap .wpforms-submit-container button:hover{transform:translateY(-2px)!important;box-shadow:0 8px 32px rgba(33,156,216,.45)!important}
.rjth-contact-form-wrap .wpforms-form{padding:0!important}
.rjth-contact-form-wrap .wpforms-field{margin-bottom:20px!important}
.rjth-contact-form-wrap .wpforms-field-select select option{background:var(--rj-surface)!important;color:var(--rj-text)!important}

/* Contact section header context */
.rjth-contact .rjth-h2 .elementor-heading-title{margin-bottom:12px!important}
.rjth-contact .rjth-sub .elementor-text-editor p{max-width:400px!important;}

/* ── FOOTER (XPRO) ────────────────────────────────────── */
.rjth-footer,footer.xpro-theme-builder-footer{background:var(--rj-bg2)!important;border-top:1px solid var(--rj-border)!important;padding:64px 0 0!important}
.rjth-footer-grid{display:grid!important;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr!important;gap:48px!important;padding:0 clamp(16px,5vw,80px)!important}
.rjth-footer-brand{display:flex!important;flex-direction:column!important;gap:16px!important;}
.rjth-footer-logo-row{display:flex!important;align-items:center!important;gap:12px!important;}
.rjth-footer-logo .elementor-image img{width:52px!important;height:52px!important;border-radius:10px!important;object-fit:cover!important}
.rjth-footer-name .elementor-heading-title{font-family:'Lily Script One',cursive!important;font-size:19px!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;font-weight:400!important;letter-spacing:-.01em!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-tagline .elementor-text-editor p{font-size:14px!important;color:var(--rj-text2)!important;line-height:1.6!important;margin:0!important;max-width:280px!important}
.rjth-footer-col-head .elementor-heading-title{font-size:11px!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.12em!important;color:rgba(240,244,255,.5)!important;-webkit-text-fill-color:rgba(240,244,255,.5)!important;margin-bottom:16px!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-link .elementor-text-editor p,.rjth-footer-link .elementor-text-editor a{font-size:14px!important;color:var(--rj-text2)!important;margin-bottom:10px!important;transition:color 200ms!important;margin-top:0!important}
.rjth-footer-link .elementor-text-editor a:hover{color:var(--rj-text)!important}
.rjth-footer-links{display:flex!important;flex-direction:column!important;gap:0!important;}
.rjth-footer-bottom{border-top:1px solid var(--rj-border)!important;margin-top:48px!important;padding:24px clamp(16px,5vw,80px)!important}
.rjth-footer-bottom{display:flex!important;justify-content:space-between!important;align-items:center!important;flex-wrap:wrap!important;gap:12px!important;}
.rjth-copyright .elementor-text-editor p{font-size:13px!important;color:var(--rj-muted)!important;margin:0!important}
.rjth-footer-legal{display:flex!important;gap:20px!important;}
.rjth-footer-legal .elementor-heading-title{font-size:13px!important;color:var(--rj-muted)!important;-webkit-text-fill-color:var(--rj-muted)!important;transition:color 200ms!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-footer-legal .elementor-heading-title:hover{color:var(--rj-text2)!important;-webkit-text-fill-color:var(--rj-text2)!important}

/* ── HEADER (XPRO) ────────────────────────────────────── */
#masthead,.site-header,header.xpro-theme-builder-header{background:rgba(17,29,56,.88)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important;border-bottom:1px solid var(--rj-border)!important;position:sticky!important;top:0!important;z-index:1000!important;transition:background 260ms,box-shadow 260ms!important}
body.scrolled #masthead,body.scrolled .site-header,body.scrolled header.xpro-theme-builder-header{background:rgba(17,29,56,.97)!important;box-shadow:0 4px 16px rgba(0,0,0,.35)!important}
.rjth-header-inner{display:flex!important;align-items:center!important;height:68px!important;gap:32px!important;padding:0 clamp(16px,5vw,80px)!important;}
.rjth-logo-row{display:flex!important;align-items:center!important;gap:12px!important;}
.rjth-logo-img .elementor-image img,.rjth-header-logo .elementor-image img{width:52px!important;height:52px!important;border-radius:10px!important;object-fit:cover!important}
.rjth-logo-name .elementor-heading-title,.rjth-header-name .elementor-heading-title{font-family:'Lily Script One',cursive!important;font-size:19px!important;color:var(--rj-text)!important;-webkit-text-fill-color:var(--rj-text)!important;font-weight:400!important;background:transparent!important;background-clip:unset!important;-webkit-background-clip:unset!important}
.rjth-nav-wrap{margin-left:auto!important}
.rjth-header-ctas{display:flex!important;align-items:center!important;gap:8px!important;flex-shrink:0!important;}
.xpro-nav-menu .xpro-menu-item>a{font-size:14px!important;font-weight:500!important;color:var(--rj-text2)!important;padding:8px 14px!important;border-radius:var(--rj-r-md)!important;transition:all 150ms!important}
.xpro-nav-menu .xpro-menu-item:hover>a,.xpro-nav-menu .xpro-menu-item.current-menu-item>a{color:var(--rj-text)!important;background:rgba(255,255,255,.05)!important}

/* ── SECTION PADDING NORMALIZER ───────────────────────── */
/* All section e-con roots: remove Elementor default padding */
.rjth-hero,.rjth-trust,.rjth-services,.rjth-work,.rjth-industries,.rjth-technology,.rjth-process,.rjth-testimonials,.rjth-results,.rjth-faq,.rjth-cta-section,.rjth-contact{padding-left:0!important;padding-right:0!important;}
/* Grid/flex children: remove elementor-added padding */
.rjth-services-grid,.rjth-bento-grid,.rjth-bento-grid-three,.rjth-industries-grid,.rjth-testi-grid,.rjth-results-grid,.rjth-process-steps,.rjth-faq-list,.rjth-metrics-row,.rjth-contact-grid{box-sizing:border-box!important}

/* ── RESPONSIVE ───────────────────────────────────────── */
@media(max-width:1200px){
.rjth-process-steps{grid-template-columns:repeat(3,1fr)!important}
}
@media(max-width:1024px){
.rjth-services-grid,.rjth-bento-grid,.rjth-bento-grid-three{grid-template-columns:1fr 1fr!important}
.rjth-testi-grid{grid-template-columns:1fr 1fr!important}
.rjth-results-grid{grid-template-columns:1fr 1fr!important}
.rjth-process-steps{grid-template-columns:1fr 1fr!important}
.rjth-industries-grid{grid-template-columns:1fr 1fr 1fr!important}
.rjth-footer-grid{grid-template-columns:1fr 1fr!important}
.rjth-hero-row{gap:32px!important}
}
@media(max-width:768px){
.rjth-hero-row{display:flex!important;flex-direction:column!important;padding-top:80px!important;padding-bottom:60px!important;min-height:auto!important;}
.rjth-services-grid,.rjth-industries-grid,.rjth-testi-grid,.rjth-bento-grid,.rjth-bento-grid-three{grid-template-columns:1fr!important}
.rjth-results-grid{grid-template-columns:1fr 1fr!important}
.rjth-contact-grid{grid-template-columns:1fr!important;gap:40px!important}
.rjth-metrics-row{grid-template-columns:1fr 1fr!important;}
.rjth-metric-div{display:none!important}
.rjth-footer-grid{grid-template-columns:1fr!important}
.rjth-process-steps{grid-template-columns:1fr!important}
}
@media(max-width:480px){
.rjth-results-grid,.rjth-process-steps{grid-template-columns:1fr!important}
.rjth-metrics-row{grid-template-columns:1fr!important}
}


/* FLEX WIDGET SHRINK FIXES */
/* Elementor widget elements default to width:100% inside flex containers */
.rjth-hero-btns .elementor-widget,
.rjth-hero-btns .elementor-button-wrapper,
.rjth-hero-btns .elementor-button-link{width:auto!important;flex:0 0 auto!important;}

.rjth-hero-chips .elementor-widget,
.rjth-cta-chips .elementor-widget,
.rjth-bento-tags .elementor-widget,
.rjth-contact-socials .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Marquee and tech track: headings must not wrap */
.rjth-marquee-track .elementor-widget,
.rjth-tech-track .elementor-widget,
.rjth-tech-track-rev .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* CTA buttons row */
.rjth-cta-btns .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Bento real card: portfolio image fills card */
.rjth-bento-real .elementor-widget-image{position:absolute!important;inset:0!important;z-index:0!important;margin:0!important;width:100%!important;}
.rjth-bento-real .elementor-widget-image img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:top center!important;}
.rjth-bento-real .elementor-widget-image .elementor-widget-container{height:100%!important;}

/* Bento real card: text content overlays at bottom, above the gradient */
.rjth-bento-real .elementor-widget:not(.elementor-widget-image){position:relative!important;z-index:2!important;}

/* Fix metrics section scroll position by ensuring section has correct height */
.rjth-trust{min-height:auto!important;}

/* Testi info row: flex */
.rjth-testi-info .elementor-widget{width:auto!important;flex:0 0 auto!important;}

/* Process step number */
.rjth-step-number .elementor-widget{width:auto!important;}

/* Footer legal links */
.rjth-footer-legal .elementor-widget{width:auto!important;flex:0 0 auto!important;}


/* FLEX DIRECTION FIX */
/* Elementor sets --flex-direction:column via CSS var; must explicitly override */
.rjth-hero-btns{flex-direction:row!important;}
.rjth-hero-chips{flex-direction:row!important;}
.rjth-cta-btns{flex-direction:row!important;}
.rjth-cta-chips{flex-direction:row!important;}
.rjth-marquee-track{flex-direction:row!important;}
.rjth-tech-track{flex-direction:row!important;}
.rjth-tech-track-rev{flex-direction:row!important;}
.rjth-bento-tags{flex-direction:row!important;}
.rjth-contact-socials{flex-direction:row!important;}
.rjth-header-inner{flex-direction:row!important;}
.rjth-header-ctas{flex-direction:row!important;}
.rjth-logo-row{flex-direction:row!important;}
.rjth-footer-logo-row{flex-direction:row!important;}
.rjth-footer-bottom{flex-direction:row!important;}
.rjth-footer-legal{flex-direction:row!important;}
.rjth-testi-info{flex-direction:row!important;}
.rjth-contact-info-item{flex-direction:row!important;}
.rjth-section-cta{flex-direction:row!important;justify-content:center!important;}


/* METRICS COUNTER WIDGET STYLES (counters have no custom CSS class) */
.rjth-metric .elementor-counter-number-wrapper,
.rjth-metric .elementor-counter-number-suffix,
.rjth-metric .elementor-counter-number-prefix{
  font-size:clamp(36px,4vw,52px)!important;
  font-weight:800!important;
  background:var(--rj-brand)!important;
  -webkit-background-clip:text!important;
  -webkit-text-fill-color:transparent!important;
  background-clip:text!important;
  line-height:1.1!important;
}
.rjth-metric .elementor-counter-title{
  font-size:13px!important;
  font-weight:500!important;
  color:var(--rj-muted)!important;
  -webkit-text-fill-color:var(--rj-muted)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-top:8px!important;
  display:block!important;
}

/* RESULTS counter styled brighter */
.rjth-result-number .elementor-counter-number-wrapper,
.rjth-result-number .elementor-counter-number-suffix,
.rjth-result-number .elementor-counter-number-prefix{
  color:#219CD8!important;
  -webkit-text-fill-color:#219CD8!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
}

/* PORTFOLIO IMAGES — show real images in bento cards */
.rjth-bento-real .elementor-widget-image .elementor-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:top center!important;
  position:absolute!important;
  inset:0!important;
}
.rjth-bento-real .elementor-widget-image .elementor-widget-container{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
.rjth-bento-real .elementor-widget-image{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
}

/* Make bento card content stack at bottom */
.rjth-bento-real{
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  padding:24px!important;
}
.rjth-bento-real .elementor-widget:not(.elementor-widget-image){
  position:relative!important;
  z-index:2!important;
}


/* FIX: rjth-counter-num static metric number - use solid color, not gradient clip */
.rjth-counter-num .elementor-heading-title{
  font-size:clamp(36px,4vw,52px)!important;
  font-weight:800!important;
  color:#219CD8!important;
  -webkit-text-fill-color:#219CD8!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
  line-height:1.1!important;
  display:block!important;
}
.rjth-counter-title .elementor-heading-title{
  font-size:13px!important;
  font-weight:500!important;
  color:rgba(240,244,255,.45)!important;
  -webkit-text-fill-color:rgba(240,244,255,.45)!important;
  text-transform:uppercase!important;
  letter-spacing:.08em!important;
  margin-top:4px!important;
  background:none!important;
  -webkit-background-clip:unset!important;
  background-clip:unset!important;
}

/* FIX: Bento real card overlay - lighter gradient so images show through */
.rjth-bento-real::after{
  background:linear-gradient(to top,rgba(17,29,56,.95) 0%,rgba(17,29,56,.55) 40%,rgba(17,29,56,.15) 100%)!important;
}

/* ═══════════════════════════════════════════════════
   HEADER LAYOUT FIXES (v3.6)
   e-con-full sets width:100% on all flex children;
   override with flex: 0 0 auto / flex: 1 1 auto
   ═══════════════════════════════════════════════════ */

/* Wrapper: full width, transparent bg */
.xpro-theme-builder-header{
  background:rgba(17,29,56,.92)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  position:sticky!important;
  top:0!important;
  z-index:9999!important;
  width:100%!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
.xpro-theme-builder-header-nav{
  width:100%!important;
  display:block!important;
}
/* Elementor wrapper */
.elementor-749{
  width:100%!important;
}

/* Inner row: flex, constrained */
.rjth-header-inner{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  height:68px!important;
  padding:0 clamp(16px,5vw,80px)!important;
  gap:32px!important;
  width:100%!important;
  box-sizing:border-box!important;
}

/* Logo row: shrink to content */
.rjth-logo-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:12px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
.rjth-logo-row .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-logo-row .xpro-site-logo img,
.rjth-logo-row .elementor-widget-xpro-site-logo img{
  width:52px!important;
  height:52px!important;
  border-radius:10px!important;
  object-fit:cover!important;
  display:block!important;
}
.rjth-logo-row .xpro-site-logo,
.rjth-logo-row .elementor-widget-container{
  width:auto!important;
  display:block!important;
}

/* Nav: take all remaining space */
.rjth-nav-wrap{
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:visible!important;
  margin-left:0!important;
}
.rjth-nav-wrap .elementor-widget-container{
  width:auto!important;
  display:flex!important;
  align-items:center!important;
}

/* Force XPRO nav to desktop mode at 769px+
   The plugin adds responsive-tablet class regardless of viewport;
   we force the desktop navbar to show and hide the mobile toggle */
.xpro-elementor-horizontal-navbar-wrapper{
  display:flex!important;
  align-items:center!important;
}
.xpro-elementor-horizontal-navbar{
  display:flex!important;
}
.xpro-elementor-horizontal-navbar-nav{
  display:flex!important;
  flex-direction:row!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  gap:4px!important;
  align-items:center!important;
}
.xpro-elementor-horizontal-menu-close,
.xpro-elementor-horizontal-menu-toggle{
  display:none!important;
}

/* Nav link styles */
.xpro-elementor-horizontal-navbar-nav .menu-item>a,
.xpro-nav-menu .xpro-menu-item>a{
  font-size:14px!important;
  font-weight:500!important;
  color:rgba(240,244,255,.75)!important;
  padding:8px 14px!important;
  border-radius:8px!important;
  text-decoration:none!important;
  display:block!important;
  transition:all 150ms!important;
  white-space:nowrap!important;
}
.xpro-elementor-horizontal-navbar-nav .menu-item:hover>a,
.xpro-elementor-horizontal-navbar-nav .menu-item.current-menu-item>a{
  color:#fff!important;
  background:rgba(255,255,255,.07)!important;
}

/* CTA container: shrink to content */
.rjth-header-ctas{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:8px!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
}
.rjth-header-ctas .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}

/* ═══════════════════════════════════════════════════
   FOOTER LAYOUT FIXES (v3.6)
   ═══════════════════════════════════════════════════ */

#xpro-theme-builder-footer{
  background:var(--rj-navy)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  padding:0!important;
  width:100%!important;
}
.elementor-750{
  width:100%!important;
}

/* Footer grid: 5 cols */
.rjth-footer-grid{
  display:grid!important;
  grid-template-columns:1.5fr 1fr 1fr 1fr 1fr!important;
  gap:48px!important;
  padding:64px clamp(16px,5vw,80px)!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.rjth-footer-grid.e-con{
  flex:unset!important;
  width:100%!important;
}
/* Ensure grid children don't flex-grow */
.rjth-footer-grid>.e-con,
.rjth-footer-grid>.elementor-widget{
  flex:unset!important;
  width:auto!important;
}

/* Footer brand column */
.rjth-footer-brand{
  display:flex!important;
  flex-direction:column!important;
  gap:16px!important;
  width:auto!important;
  flex:unset!important;
}
.rjth-footer-logo-row{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  flex:0 0 auto!important;
  width:auto!important;
}
.rjth-footer-logo-row .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-footer-logo-row .xpro-site-logo img,
.rjth-footer-logo-row .elementor-widget-xpro-site-logo img{
  width:40px!important;
  height:40px!important;
  border-radius:8px!important;
  object-fit:cover!important;
  display:block!important;
}
.rjth-footer-name .elementor-heading-title{
  font-family:'Lily Script One',cursive!important;
  font-size:16px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:none!important;
  font-weight:400!important;
}
.rjth-footer-tagline .elementor-heading-title,
.rjth-footer-tagline p{
  font-size:14px!important;
  color:rgba(240,244,255,.55)!important;
  -webkit-text-fill-color:rgba(240,244,255,.55)!important;
  background:none!important;
  line-height:1.6!important;
  max-width:260px!important;
}

/* Footer link columns */
.rjth-footer-links{
  display:flex!important;
  flex-direction:column!important;
  gap:12px!important;
  width:auto!important;
  flex:unset!important;
}
.rjth-footer-col-head .elementor-heading-title{
  font-size:11px!important;
  font-weight:700!important;
  text-transform:uppercase!important;
  letter-spacing:.1em!important;
  color:rgba(240,244,255,.4)!important;
  -webkit-text-fill-color:rgba(240,244,255,.4)!important;
  background:none!important;
  margin-bottom:8px!important;
}
.rjth-footer-link a,
.rjth-footer-link .elementor-button{
  font-size:14px!important;
  color:rgba(240,244,255,.65)!important;
  text-decoration:none!important;
  display:block!important;
  padding:2px 0!important;
  transition:color 150ms!important;
  background:none!important;
  border:none!important;
  text-align:left!important;
}
.rjth-footer-link a:hover{
  color:#fff!important;
}

/* Footer bottom bar */
.rjth-footer-bottom{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  padding:20px clamp(16px,5vw,80px)!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
  gap:16px!important;
  width:100%!important;
  box-sizing:border-box!important;
}
.rjth-footer-bottom.e-con{
  flex:unset!important;
  width:100%!important;
}
.rjth-copyright .elementor-heading-title,
.rjth-copyright p{
  font-size:13px!important;
  color:rgba(240,244,255,.4)!important;
  -webkit-text-fill-color:rgba(240,244,255,.4)!important;
  background:none!important;
}
.rjth-footer-legal{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:20px!important;
  flex:0 0 auto!important;
  width:auto!important;
}
.rjth-footer-legal .elementor-widget{
  width:auto!important;
  flex:0 0 auto!important;
}
.rjth-footer-legal a,
.rjth-footer-legal .elementor-button{
  font-size:13px!important;
  color:rgba(240,244,255,.4)!important;
  text-decoration:none!important;
  background:none!important;
  border:none!important;
}
.rjth-footer-legal a:hover{
  color:rgba(240,244,255,.7)!important;
}
/* ═══════════════════════════════════════════════════════
   RESPONSIVE: HEADER & FOOTER FIXES
   ═══════════════════════════════════════════════════════ */

/* ── MOBILE HEADER (≤ 768px) ──────────────────────────── */
@media (max-width: 768px) {
  .rjth-header-inner {
    height: 60px !important;
    gap: 0 !important;
    padding: 0 16px !important;
  }
  /* Hide desktop nav and CTA buttons on mobile */
  .rjth-nav-wrap { display: none !important; }
  .rjth-header-ctas { display: none !important; }
  /* Logo row: push to full width minus hamburger space */
  .rjth-logo-row {
    flex: 1 1 auto !important;
    gap: 10px !important;
  }
  .rjth-logo-row .xpro-site-logo img,
  .rjth-logo-row .elementor-widget-xpro-site-logo img {
    width: 40px !important;
    height: 40px !important;
  }
  .rjth-logo-name .elementor-heading-title,
  .rjth-header-name .elementor-heading-title {
    font-size: 17px !important;
  }
  /* Show XPRO hamburger toggle */
  .xpro-elementor-horizontal-menu-toggle {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    background: rgba(255,255,255,.07) !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    border: none !important;
    color: #fff !important;
    font-size: 18px !important;
  }
  /* Mobile nav overlay */
  .xpro-elementor-horizontal-navbar {
    display: none !important;
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(17,29,56,.97) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    padding: 16px 0 !important;
    z-index: 9998 !important;
  }
  .xpro-elementor-horizontal-navbar.xpro-menu-open,
  .xpro-elementor-horizontal-navbar-wrapper.xpro-nav-open .xpro-elementor-horizontal-navbar {
    display: block !important;
  }
  .xpro-elementor-horizontal-navbar-nav {
    flex-direction: column !important;
    padding: 0 24px !important;
    gap: 4px !important;
  }
  .xpro-elementor-horizontal-navbar-nav .menu-item > a {
    padding: 12px 0 !important;
    font-size: 16px !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    border-radius: 0 !important;
  }
}

/* ── MOBILE FOOTER (≤ 768px) ──────────────────────────── */
@media (max-width: 768px) {
  .rjth-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    padding: 48px 24px 32px !important;
  }
  .rjth-footer-tagline .elementor-heading-title,
  .rjth-footer-tagline p {
    max-width: 100% !important;
  }
  .rjth-footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
    padding: 20px 24px !important;
  }
  .rjth-footer-legal {
    flex-wrap: wrap !important;
    gap: 16px !important;
  }
}

/* ── TABLET FOOTER (769px – 1024px) ──────────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .rjth-footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
    padding: 48px 32px !important;
  }
}

/* ── HERO RESPONSIVE ─────────────────────────────────── */
/* On small screens, remove the massive top-padding gap */
@media (max-width: 768px) {
  .rjth-hero-row {
    padding-top: 60px !important;
  }
}

/* ── TABLET NAV (769px – 1024px) ─────────────────────── */
@media (min-width: 769px) and (max-width: 1024px) {
  .rjth-header-ctas { display: none !important; }
  .rjth-nav-wrap { margin-left: auto !important; flex: 1 1 auto !important; }
}
/* ======================================================
   MOBILE NAV HAMBURGER (v3.9)
   ====================================================== */
@media (max-width: 768px) {
  /* Show the nav wrapper on mobile so we can target its content */
  .rjth-nav-wrap { display: flex !important; flex: 0 0 auto !important; width: auto !important; }
  /* Hide desktop nav list on mobile */
  .xpro-elementor-horizontal-navbar { display: none !important; }
  .xpro-elementor-horizontal-menu-close { display: none !important; }
  /* Hamburger button (injected by JS) */
  .rjth-hamburger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 40px !important;
    height: 40px !important;
    cursor: pointer !important;
    background: rgba(255,255,255,.06) !important;
    border-radius: 8px !important;
    border: none !important;
    padding: 0 !important;
  }
  .rjth-hamburger span {
    display: block !important;
    width: 20px !important;
    height: 2px !important;
    background: #fff !important;
    border-radius: 2px !important;
    transition: all 200ms !important;
  }
  /* Mobile nav panel - slides down from header */
  .rjth-mobile-nav {
    position: fixed !important;
    top: 60px !important;
    left: 0 !important;
    right: 0 !important;
    background: rgba(17,29,56,.98) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    z-index: 9998 !important;
    transform: translateY(-100%) !important;
    transition: transform 250ms ease !important;
    padding: 0 !important;
    max-height: calc(100vh - 60px) !important;
    overflow-y: auto !important;
    display: block !important;
  }
  .rjth-mobile-nav.open {
    transform: translateY(0) !important;
  }
  .rjth-mobile-nav ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 8px 0 16px !important;
  }
  .rjth-mobile-nav li a {
    display: block !important;
    padding: 14px 24px !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: rgba(240,244,255,.85) !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255,255,255,.05) !important;
  }
  .rjth-mobile-nav li:last-child a { border-bottom: none !important; }
  .rjth-mobile-nav li a:active { background: rgba(255,255,255,.06) !important; }
  /* Mobile nav CTAs */
  .rjth-mobile-nav .mob-ctas {
    display: flex !important;
    gap: 12px !important;
    padding: 12px 24px 20px !important;
  }
  .rjth-mobile-nav .mob-cta-outline {
    flex: 1 !important;
    padding: 11px 16px !important;
    border: 1px solid rgba(33,156,216,.6) !important;
    border-radius: 10px !important;
    background: transparent !important;
    color: #219CD8 !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
  .rjth-mobile-nav .mob-cta-primary {
    flex: 1 !important;
    padding: 11px 16px !important;
    background: linear-gradient(135deg,#219CD8,#2A3E95) !important;
    border-radius: 10px !important;
    color: #fff !important;
    text-align: center !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
}

/* ======================================================
   FOOTER MOBILE CONTENT VISIBILITY
   ====================================================== */
@media (max-width: 768px) {
  /* Ensure footer sections are visible */
  .rjth-footer-links,
  .rjth-footer-brand {
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    width: 100% !important;
  }
  /* Ensure col heading visible */
  .rjth-footer-col-head .elementor-heading-title {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: .1em !important;
    color: rgba(240,244,255,.4) !important;
    -webkit-text-fill-color: rgba(240,244,255,.4) !important;
    margin-bottom: 4px !important;
  }
  /* Footer brand tagline */
  .rjth-footer-tagline .elementor-heading-title {
    font-size: 14px !important;
    color: rgba(240,244,255,.55) !important;
    -webkit-text-fill-color: rgba(240,244,255,.55) !important;
  }
}
/* Fix pointer-events on hidden mobile nav */
@media (max-width: 768px) {
  .rjth-mobile-nav { pointer-events: none !important; }
  .rjth-mobile-nav.open { pointer-events: auto !important; }
}
/* ===================================================
   MOBILE HEADER FINAL FIX (v3.9-b)
   Use high-specificity selectors to win vs Elementor
   =================================================== */
@media (max-width: 768px) {
  /* Force-hide CTAs at mobile using e-con class combo */
  .rjth-header-ctas.e-con,
  .rjth-header-ctas.e-flex,
  .rjth-header-inner .rjth-header-ctas {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    gap: 0 !important;
  }
  /* Logo row fills remaining space (left of hamburger) */
  .rjth-header-inner .rjth-logo-row {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  /* Force-hide desktop nav at mobile */
  .rjth-nav-wrap .xpro-elementor-horizontal-navbar,
  .rjth-nav-wrap .xpro-elementor-horizontal-navbar-nav {
    display: none !important;
  }
  /* Nav wrapper = just the hamburger button space */
  .rjth-nav-wrap.elementor-widget {
    display: flex !important;
    flex: 0 0 40px !important;
    width: 40px !important;
    min-width: 40px !important;
    align-items: center !important;
    justify-content: flex-end !important;
  }
  .rjth-nav-wrap .elementor-widget-container {
    width: 40px !important;
    display: flex !important;
    align-items: center !important;
  }
  .xpro-elementor-horizontal-navbar-wrapper {
    display: none !important;
  }
  /* Hamburger button fills the nav-wrap area */
  .rjth-hamburger {
    position: absolute !important;
    right: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
  }
}
/* ===================================================
   MOBILE NAV PANEL POSITIONING FIX (v3.11)
   top:0 + padding-top:60px ensures panel is
   fully above viewport when closed (not partially shown)
   =================================================== */
@media (max-width: 768px) {
  .rjth-mobile-nav {
    top: 0 !important;
    padding-top: 60px !important;
  }
}
/* ===================================================
   FOOTER BACKGROUND FIX (v3.13)
   Use original --c-bg2 dark navy #162240
   =================================================== */
#xpro-theme-builder-footer {
  background: #162240 !important;
}
.rjth-footer-grid,
.rjth-footer-bottom {
  background: transparent !important;
}

/* ===================================================
   FAQ ACCORDION COLLAPSE (v3.13)
   Items start closed; .open toggles via main.js
   =================================================== */
.rjth-faq-a {
  max-height: 0 !important;
  overflow: hidden !important;
  transition: max-height 0.35s ease;
}
.rjth-faq-item.open .rjth-faq-a {
  max-height: 600px !important;
  overflow: visible !important;
}
/* FAQ question cursor */
.rjth-faq-q {
  cursor: pointer !important;
}
/* ===================================================
   C-4: MOBILE HAMBURGER Z-INDEX FIX (v3.15)
   Raises hamburger above nav overlay (z-index 9998)
   =================================================== */
.rjth-hamburger {
  position: fixed !important;
  z-index: 9999 !important;
}

/* ===================================================
   M-4: HIDE HERO VISUAL ON MOBILE (v3.15)
   =================================================== */
@media (max-width: 640px) {
  .rjth-hero-visual {
    display: none !important;
  }
}

/* ===================================================
   M-12: CTA SECTION GRADIENT BACKGROUND (v3.15)
   =================================================== */
.rjth-cta-section {
  background: linear-gradient(135deg, #219CD8 0%, #2A3E95 100%) !important;
}
.rjth-cta-section * {
  color: #ffffff !important;
}
.rjth-cta-section .rjth-btn-outline,
.rjth-cta-section .elementor-button {
  border-color: rgba(255,255,255,0.6) !important;
  color: #ffffff !important;
}
.rjth-cta-section .rjth-btn-outline:hover {
  background: rgba(255,255,255,0.15) !important;
}

/* ===================================================
   M-3: TABLET GRID FIXES — rjth-prefixed classes (v3.15)
   =================================================== */
@media (max-width: 900px) {
  .rjth-services-grid,
  .rjth-process-steps,
  .rjth-testi-grid,
  .rjth-bento-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .rjth-industries-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}
@media (max-width: 768px) {
  .rjth-services-grid,
  .rjth-process-steps,
  .rjth-testi-grid {
    grid-template-columns: 1fr !important;
  }
}

/* ===================================================
   M-5: FOOTER 2-COLUMN AT 768px (v3.15)
   =================================================== */
@media (min-width: 641px) and (max-width: 900px) {
  .rjth-footer-grid {
    grid-template-columns: 2fr 1fr 1fr !important;
    gap: 32px !important;
  }
  .rjth-footer-brand {
    grid-column: 1 / -1 !important;
  }
}

/* ===================================================
   M-6: INDUSTRIES GRID 2-COLUMN AT 480px (v3.15)
   =================================================== */
@media (max-width: 480px) {
  .rjth-industries-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}
/* ===================================================
   C-4 FINAL: HAMBURGER BODY-LEVEL POSITIONING (v3.15b)
   Button appended to body to escape header stacking context
   =================================================== */
@media (max-width: 768px) {
  .rjth-hamburger {
    position: fixed !important;
    top: 10px !important;
    right: 16px !important;
    z-index: 9999 !important;
    transform: none !important;
  }
}
/* ============================================================
   HERO DEVICE MOCKUP (v3.16) — CSS-only animated dashboard
   ============================================================ */
.rjth-device-mockup { position: relative; width: 100%; max-width: 480px; }
.rjth-device-screen {
  background: #1E2E56;
  border: 1px solid rgba(33,156,216,0.55);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 8px 32px rgba(0,0,0,.40), 0 0 28px rgba(33,156,216,.18), 0 0 56px rgba(42,62,149,.12);
  transform: perspective(1200px) rotateY(-12deg) rotateX(4deg);
  transition: transform .6s ease, box-shadow .6s ease;
  animation: rjthDeviceFloat 6s ease-in-out infinite;
}
@keyframes rjthDeviceFloat {
  0%,100% { transform: perspective(1200px) rotateY(-12deg) rotateX(4deg) translateY(0); }
  50% { transform: perspective(1200px) rotateY(-10deg) rotateX(3deg) translateY(-10px); }
}
.rjth-device-chrome {
  display: flex; align-items: center; gap: 12px;
  padding: 10px 16px;
  background: #243568;
  border-bottom: 1px solid rgba(42,62,149,0.38);
}
.rjth-chrome-dots { display: flex; gap: 6px; }
.rjth-chrome-dots span { width: 10px; height: 10px; border-radius: 50%; display: block; }
.rjth-chrome-bar {
  flex: 1; background: rgba(255,255,255,.06);
  border-radius: 9999px; height: 24px;
  display: flex; align-items: center;
  padding: 0 12px; font-size: 11px; color: #6E80AA; font-family: Inter, sans-serif;
}
.rjth-device-content { padding: 16px; }
.rjth-dc-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.rjth-dc-title { height: 12px; width: 120px; background: rgba(255,255,255,.12); border-radius: 9999px; }
.rjth-dc-pill { height: 22px; width: 64px; background: rgba(33,156,216,.25); border-radius: 9999px; }
.rjth-dc-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 14px; }
.rjth-dc-metric { height: 56px; border-radius: 14px; }
.rjth-dc-metric.m1 { background: linear-gradient(135deg, rgba(33,156,216,.25), rgba(33,156,216,.10)); }
.rjth-dc-metric.m2 { background: linear-gradient(135deg, rgba(42,62,149,.30), rgba(42,62,149,.12)); }
.rjth-dc-metric.m3 { background: linear-gradient(135deg, rgba(16,185,129,.20), rgba(16,185,129,.08)); }
.rjth-dc-chart { display: flex; align-items: flex-end; gap: 6px; height: 80px; margin-bottom: 12px; }
.rjth-dc-bar { flex: 1; background: linear-gradient(180deg, #219CD8, rgba(42,62,149,.6)); border-radius: 6px 6px 0 0; opacity: .7; }
.rjth-dc-bar.ab { opacity: 1; background: linear-gradient(135deg, #219CD8, #2A3E95); box-shadow: 0 0 12px rgba(33,156,216,.5); }
.rjth-dc-bar:nth-child(1) { height: 55%; }
.rjth-dc-bar:nth-child(2) { height: 72%; }
.rjth-dc-bar:nth-child(3) { height: 40%; }
.rjth-dc-bar:nth-child(4) { height: 88%; }
.rjth-dc-bar:nth-child(5) { height: 65%; }
.rjth-dc-bar:nth-child(6) { height: 95%; }
.rjth-dc-bar:nth-child(7) { height: 78%; }
.rjth-dc-bar:nth-child(8) { height: 100%; }
.rjth-dc-table { display: flex; flex-direction: column; gap: 6px; }
.rjth-dc-row { height: 10px; background: rgba(255,255,255,.06); border-radius: 9999px; }
.rjth-dc-row:nth-child(2) { width: 80%; }
.rjth-dc-row:nth-child(3) { width: 60%; }
.rjth-float-card {
  position: absolute; display: flex; align-items: center; gap: 10px;
  background: #243568; border: 1px solid rgba(33,156,216,0.55);
  border-radius: 18px; padding: 10px 16px;
  box-shadow: 0 4px 16px rgba(0,0,0,.35), 0 0 28px rgba(33,156,216,.18);
  font-family: Inter, sans-serif;
}
.rjth-float-card-1 { top: 18%; left: -60px; animation: rjthFloatCard1 5s ease-in-out infinite; }
.rjth-float-card-2 { bottom: 20%; right: -50px; animation: rjthFloatCard2 5s ease-in-out infinite 1.5s; }
@keyframes rjthFloatCard1 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
@keyframes rjthFloatCard2 { 0%,100% { transform: translateY(0); } 50% { transform: translateY(8px); } }
.rjth-float-icon {
  width: 32px; height: 32px;
  background: linear-gradient(135deg, #219CD8, #2A3E95);
  border-radius: 10px; display: flex; align-items: center;
  justify-content: center; font-size: 14px; flex-shrink: 0; color: #fff;
}
.rjth-float-info { display: flex; flex-direction: column; }
.rjth-float-info strong { font-size: 15px; font-weight: 700; color: #F0F4FF; line-height: 1.2; font-family: Inter, sans-serif; }
.rjth-float-info span { font-size: 11px; color: #6E80AA; font-family: Inter, sans-serif; }
@media (max-width: 900px) {
  .rjth-float-card-1 { left: -20px; }
  .rjth-float-card-2 { right: -20px; }
}
@media (max-width: 768px) {
  .rjth-float-card { display: none !important; }
  .rjth-device-screen { transform: none !important; animation: none !important; }
}

/* CONTACT INFO VALUE VISIBILITY FIX (v3.17) */
.rjth-contact-value .elementor-heading-title {
  font-size: 15px !important;
  font-weight: 500 !important;
  color: #F0F4FF !important;
  -webkit-text-fill-color: #F0F4FF !important;
  background: transparent !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
.rjth-contact-label .elementor-heading-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .1em !important;
  color: #6E80AA !important;
  -webkit-text-fill-color: #6E80AA !important;
  background: transparent !important;
  background-clip: unset !important;
  -webkit-background-clip: unset !important;
  margin-bottom: 4px !important;
}

/* CONTACT INFO ITEM ALIGNMENT FIX (v3.17b) */
/* Force column: label on top, value below, aligned left */
.rjth-contact-info-item.e-con,
.rjth-contact-info-item.elementor-element {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 4px !important;
}
.rjth-contact-info-item .rjth-contact-label,
.rjth-contact-info-item .rjth-contact-value {
  width: 100% !important;
  flex: none !important;
  min-width: 0 !important;
}
.rjth-contact-label .elementor-heading-title {
  display: block !important;
  margin-bottom: 2px !important;
}
.rjth-contact-value .elementor-heading-title {
  display: block !important;
  margin-top: 0 !important;
}

/* ============================================================
   PROCESS SECTION: match index.html layout (v3.18)
   - No card boxes, centered columns with gradient step numbers
   - Faint horizontal connecting line
   ============================================================ */

/* Remove card box */
.rjth-step-card {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 24px !important;
  text-align: center !important;
  align-items: center !important;
  position: relative !important;
  z-index: 1 !important;
}

/* Remove number badge box */
.rjth-step-number {
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  margin-bottom: 16px !important;
  justify-content: center !important;
  flex-shrink: unset !important;
}

/* Large gradient step number */
.rjth-step-num .elementor-heading-title {
  font-size: 40px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  background: linear-gradient(135deg, #219CD8 0%, #2A3E95 100%) !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  background-clip: text !important;
  margin-bottom: 0 !important;
}

/* Center step body */
.rjth-step-body {
  align-items: center !important;
  text-align: center !important;
  gap: 10px !important;
}

/* Step title */
.rjth-step-title .elementor-heading-title {
  font-size: 17px !important;
  font-weight: 700 !important;
  letter-spacing: -.01em !important;
  color: #F0F4FF !important;
  -webkit-text-fill-color: #F0F4FF !important;
  background: transparent !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
  margin-bottom: 0 !important;
}

/* Step description */
.rjth-step-desc .elementor-text-editor p {
  font-size: 14px !important;
  color: #BDC9E5 !important;
  line-height: 1.65 !important;
  margin: 0 !important;
  text-align: center;
}

/* Grid: no gap, position relative for the ::before line */
.rjth-process-steps {
  gap: 0 !important;
  position: relative !important;
}

/* Connecting line */
.rjth-process-steps::before {
  content: "" !important;
  position: absolute !important;
  top: 20px !important;
  left: 10% !important;
  right: 10% !important;
  height: 1px !important;
  background: linear-gradient(90deg, #219CD8, #2A3E95) !important;
  opacity: .2 !important;
  z-index: 0 !important;
  display: block !important;
}

/* Responsive */
@media (max-width: 900px) {
  .rjth-process-steps::before { display: none !important; }
  .rjth-step-card { padding: 0 16px !important; }
}
@media (max-width: 640px) {
  .rjth-step-card {
    flex-direction: row !important;
    gap: 16px !important;
    padding: 0 8px !important;
    text-align: left !important;
    align-items: flex-start !important;
  }
  .rjth-step-body { align-items: flex-start !important; text-align: left !important; }
  .rjth-step-body .rjth-step-desc .elementor-text-editor p { text-align: left; }
  .rjth-step-number { margin-bottom: 0 !important; }
  .rjth-step-num .elementor-heading-title { font-size: 28px !important; min-width: 40px; }
}
