/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* =========================================================
   Rank Builders – Elementor kit styles
   Paste into: Appearance > Customize > Additional CSS
   (or Elementor Pro: Site Settings > Custom CSS)
   ========================================================= */

body { background: #15191B; }
::selection { background: #56B947; color: #0C1410; }

/* ---------- gradient text inside headings ---------- */
.rb-g {
  background: linear-gradient(90deg, #56B947, #9BE27A);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.rb-accent { color: #56B947; }
.rb-unit { font-size: 13px; color: #B4C0BB; font-family: "Instrument Sans", sans-serif; }

/* ---------- framed panels with light beams ---------- */
.rb-beam {
  background-image:
    linear-gradient(115deg, transparent 36%, rgba(255,255,255,.05) 43%, transparent 50%),
    linear-gradient(104deg, transparent 54%, rgba(255,255,255,.04) 60%, transparent 66%),
    radial-gradient(80% 90% at 50% 0%, rgba(86,185,71,.26), transparent 65%) !important;
}
.rb-glow { background-image: radial-gradient(80% 110% at 90% -20%, rgba(86,185,71,.22), transparent 60%) !important; }
.rb-glow-left { background-image: radial-gradient(70% 120% at 0% 0%, rgba(86,185,71,.18), transparent 60%) !important; }
.rb-hot { background-image: radial-gradient(90% 120% at 100% 0%, rgba(86,185,71,.30), transparent 60%) !important; }
.rb-price-hot { background-image: radial-gradient(100% 120% at 100% 0%, rgba(86,185,71,.40), transparent 65%) !important; }
.rb-plan-hot { box-shadow: 0 24px 70px rgba(86,185,71,.16); }

/* ---------- cards ---------- */
.rb-card { position: relative; overflow: hidden; transition: transform .25s, border-color .25s, box-shadow .25s; }
.rb-card:hover { transform: translateY(-6px); border-color: #56B947 !important; box-shadow: 0 24px 60px rgba(86,185,71,.14); }
.rb-nolift:hover, .rb-plan:hover { transform: none; }
.rb-num { position: absolute !important; right: 24px; top: 10px; width: auto !important; pointer-events: none; }

/* ---------- pill labels ---------- */
.rb-pill .elementor-heading-title { display: inline-flex; align-items: center; gap: 8px; }
.rb-pill .elementor-heading-title::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: #56B947; }
.rb-pill.elementor-widget { align-self: auto; }

/* ---------- shining buttons with a round arrow ---------- */
.rb-btn .elementor-button {
  background: linear-gradient(135deg, #A4EC84 0%, #56B947 45%, #2F8F2C 100%);
  position: relative; overflow: hidden; min-height: 48px;
  box-shadow: 0 10px 30px rgba(86,185,71,.38), inset 0 1px 0 rgba(255,255,255,.5);
}
.rb-btn .elementor-button::after {
  content: ""; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.55), transparent);
  transform: skewX(-20deg); animation: rb-shine 3.2s ease-in-out infinite; pointer-events: none;
}
.rb-btn .elementor-button-content-wrapper { align-items: center; }
.rb-btn .elementor-button-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 50%; background: #0C1410; color: #EEF2F0; font-size: 13px;
}
.rb-btn .elementor-button-icon svg { fill: #EEF2F0; width: 13px; height: 13px; }
.rb-btn-dark .elementor-button { background: #0C1410; box-shadow: none; }
.rb-btn-dark .elementor-button::after { display: none; }
.rb-btn-dark .elementor-button-icon { background: #56B947; color: #0C1410; }
.rb-btn-dark .elementor-button-icon svg { fill: #0C1410; }
@keyframes rb-shine { 0% { left: -60%; } 55%, 100% { left: 130%; } }

/* ---------- header ---------- */
.rb-logo { display: inline-flex; align-items: center; gap: 10px; color: #EEF2F0 !important; font: 600 22px/1 "Outfit", sans-serif; min-height: 44px; }
.rb-nav .elementor-icon-list-item a { min-height: 44px; display: inline-flex; align-items: center; }
.rb-nav-home .elementor-icon-list-item:nth-child(1) .elementor-icon-list-text,
.rb-nav-about .elementor-icon-list-item:nth-child(2) .elementor-icon-list-text,
.rb-nav-services .elementor-icon-list-item:nth-child(3) .elementor-icon-list-text,
.rb-nav-industries .elementor-icon-list-item:nth-child(4) .elementor-icon-list-text,
.rb-nav-pricing .elementor-icon-list-item:nth-child(5) .elementor-icon-list-text,
.rb-nav-contact .elementor-icon-list-item:nth-child(6) .elementor-icon-list-text { color: #56B947 !important; }

/* ---------- photo slots ---------- */
.rb-ph img { width: 100%; object-fit: cover; background: #20282A; }

/* ---------- icon tiles ---------- */
.rb-ico .elementor-icon { border: 1px solid #36423F; }

/* ---------- specialist photo + search result overlap ---------- */
.rb-overlap { position: relative; }
.rb-overlap .rb-serp { position: absolute; left: 20px; bottom: 20px; width: min(310px, 80%); }
.rb-serp { background: #F3F7F5; color: #0C1410; border-radius: 18px; padding: 16px; display: flex; flex-direction: column; gap: 10px; box-shadow: 0 24px 60px rgba(0,0,0,.5); font-family: "Instrument Sans", sans-serif; }
.rb-serp-q { display: flex; gap: 8px; align-items: center; padding: 8px 14px; border-radius: 999px; background: #E1E8E4; font-size: 13px; color: #3A4743; }
.rb-serp-top { display: flex; gap: 12px; align-items: center; padding: 11px; border-radius: 12px; background: #0C1410; color: #EEF2F0; }
.rb-serp-top b { flex: none; width: 30px; height: 30px; border-radius: 50%; background: #56B947; color: #0C1410; display: grid; place-items: center; }
.rb-serp-top strong { display: block; font-size: 14px; } .rb-serp-top small { font-size: 12px; color: #A3AFAB; }
.rb-serp-row { display: flex; gap: 12px; align-items: center; padding: 0 11px; }
.rb-serp-row b { flex: none; width: 30px; text-align: center; color: #66736E; }
.rb-serp-row div { flex: 1; display: flex; flex-direction: column; gap: 6px; }
.rb-serp-row i { display: block; height: 8px; border-radius: 4px; background: #C8D2CD; }
.rb-serp-row i + i { height: 6px; background: #DBE3DF; }

/* ---------- industry picker (home hero) ---------- */
.rb-picker { max-width: 480px; margin-left: auto; background: rgba(28,34,36,.72); backdrop-filter: blur(10px); border: 1px solid #36423F; border-radius: 24px; padding: 22px; color: #EEF2F0; font-family: "Instrument Sans", sans-serif; }
.rb-picker-top { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 14px; font-size: 13px; color: #C9D4CF; }
.rb-live::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #56B947; animation: rb-pulse 1.8s infinite; }
@keyframes rb-pulse { 0% { box-shadow: 0 0 0 0 rgba(86,185,71,.55); } 100% { box-shadow: 0 0 0 12px rgba(86,185,71,0); } }
.rb-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.rb-tabs button { min-height: 44px; padding: 0 16px; border-radius: 999px; border: 1px solid #3C4946; background: transparent; color: #D3DCD8; font: 600 14px "Instrument Sans", sans-serif; cursor: pointer; }
.rb-tabs button[aria-selected="true"] { background: #56B947; border-color: #56B947; color: #0C1410; }
.rb-panel { background: radial-gradient(90% 80% at 50% -10%, rgba(86,185,71,.20), transparent 62%), #232B2D; border-radius: 18px; padding: 22px; }
.rb-panel h3 { margin: 0 0 6px; font: 500 22px/1.2 "Outfit", sans-serif; color: #EEF2F0; }
.rb-panel p { margin: 0 0 12px; font-size: 14px; color: #B4C0BB; }
.rb-panel ul { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; font-size: 14px; color: #DCE4E0; }
.rb-panel li { position: relative; padding-left: 18px; }
.rb-panel li::before { content: ""; position: absolute; left: 0; top: 7px; width: 7px; height: 7px; border-radius: 50%; background: #56B947; }
.rb-picker-stat { display: flex; align-items: center; gap: 16px; padding: 18px 8px 4px; }
.rb-picker-stat b { font: 400 44px/1 "Outfit", sans-serif; } .rb-picker-stat em { color: #56B947; font-style: normal; }
.rb-picker-stat span { font-size: 13px; color: #B4C0BB; }

/* ---------- avatars row ---------- */
.rb-avatars { display: flex; align-items: center; gap: 0; font-size: 13px; color: #C9D4CF; font-family: "Instrument Sans", sans-serif; }
.rb-avatars span { margin-right: 12px; }
.rb-avatars i { width: 34px; height: 34px; border-radius: 50%; border: 2px solid #1A2022; margin-left: -10px; background: #20282A radial-gradient(circle at 80% 10%, rgba(86,185,71,.4), transparent 60%); }
.rb-avatars span + i { margin-left: 0; }

/* ---------- chips ---------- */
.rb-chips { display: flex; flex-wrap: wrap; gap: 10px; font-family: "Instrument Sans", sans-serif; }
.rb-chips span { padding: 10px 18px; border: 1px solid #2E383A; border-radius: 999px; background: #1C2224; font-size: 15px; color: #DCE4E0; }
.rb-chips-center { justify-content: center; gap: 12px; }
.rb-chips-center span { padding: 12px 28px; background: transparent; font: 500 19px "Outfit", sans-serif; color: #8E9B96; }

/* ---------- giant marquee band ---------- */
.rb-marquee { overflow: hidden; }
.rb-marquee-track { display: flex; align-items: center; gap: 48px; width: max-content; animation: rb-marq 40s linear infinite; font: 500 clamp(56px, 8vw, 110px)/1 "Outfit", sans-serif; color: #262F31; white-space: nowrap; }
.rb-marquee-track i { color: #56B947; font-size: .5em; font-style: normal; }
@keyframes rb-marq { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ---------- audit bars (optimization hero) ---------- */
.rb-audit { max-width: 420px; margin-left: auto; background: rgba(28,34,36,.8); border: 1px solid #36423F; border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 16px; color: #EEF2F0; font-family: "Instrument Sans", sans-serif; }
.rb-audit-t { font-size: 13px; color: #C9D4CF; }
.rb-audit p { margin: 0 0 8px; display: flex; justify-content: space-between; font-size: 14px; } .rb-audit b { color: #56B947; font-weight: 600; }
.rb-audit i { display: block; height: 10px; border-radius: 5px; background: #232B2D; }
.rb-audit u { display: block; height: 10px; border-radius: 5px; background: linear-gradient(90deg, #2F8F2C, #A4EC84); }

/* ---------- pricing table ---------- */
.rb-table-wrap { overflow-x: auto; }
.rb-table { width: 100%; min-width: 640px; border-collapse: collapse; font: 15px "Instrument Sans", sans-serif; margin: 0; }
.rb-table th, .rb-table td { padding: 16px 18px; text-align: center; border: 0; border-bottom: 1px solid #2E383A; background: transparent; color: #95A19C; }
.rb-table th { font: 500 17px "Outfit", sans-serif; color: #EEF2F0; }
.rb-table th:first-child, .rb-table td:first-child { text-align: left; color: #DCE4E0; }
.rb-table td.y { color: #56B947; font-weight: 700; }
.rb-table tr:last-child td { border-bottom: 0; }

/* ---------- FAQ accordion ---------- */
.rb-faq .elementor-accordion-item { border: 0 !important; margin-bottom: 12px; border-radius: 14px; overflow: hidden; background: #1C2224; }
.rb-faq .elementor-tab-title.elementor-active { background: linear-gradient(90deg, #1C2224 0%, #2F8F2C 60%, #56B947 100%) !important; }
.rb-faq .elementor-accordion-icon { width: 28px; height: 28px; border-radius: 50%; background: #EEF2F0; display: inline-flex !important; align-items: center; justify-content: center; font-size: 12px; }
.rb-faq .elementor-accordion-icon svg { fill: #0C1410; width: 12px; }
.rb-faq .elementor-tab-content { border: 0 !important; }

/* ---------- contact form ---------- */
.rb-form .elementor-field-textual:focus { outline: 2px solid #56B947; outline-offset: 1px; }
.rb-form .elementor-button { background: linear-gradient(135deg, #A4EC84 0%, #56B947 45%, #2F8F2C 100%); }

@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

