@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Poppins:wght@300;400;500;600;700;800&display=swap');

/* ============================================================
   ZENGOLDRA — HOMEPAGE PROFESSIONAL REDESIGN
   ============================================================ */

:root {
    --primary:        #024c96;
    --primary-dark:   #013a73;
    --primary-light:  #0a5db0;
    --accent:         #2550ea;
    --accent-light:   #4a6ff0;
    --grad:           linear-gradient(135deg, #024c96 0%, #2550ea 100%);
    --grad-r:         linear-gradient(135deg, #2550ea 0%, #024c96 100%);
    --orange:         linear-gradient(135deg, #F44C01 0%, #ff8c42 100%);
    --green:          linear-gradient(135deg, #00b894 0%, #00d2a0 100%);
    --error:          #dc3545;
    --text-dark:      #0d1b35;
    --text-body:      #3d4a5c;
    --text-muted:     #6b7a90;
    --text-light:     #a0aec0;
    --border:         rgba(2,76,150,0.1);
    --surface:        #f7f9fc;
    --card-bg:        #ffffff;
    --shadow-sm:      0 2px 12px rgba(13,27,53,0.06);
    --shadow-md:      0 6px 28px rgba(13,27,53,0.1);
    --shadow-lg:      0 16px 56px rgba(13,27,53,0.14);
    --shadow-blue:    0 8px 32px rgba(37,80,234,0.22);
    --radius-sm:      8px;
    --radius-md:      14px;
    --radius-lg:      20px;
    --radius-xl:      28px;
    --tr:             all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
    --max-w:          1200px;
}

/* === Base === */
html { scroll-behavior: smooth; overflow-x: hidden; }
body { overflow-x: hidden; font-family: 'Inter', 'Poppins', sans-serif !important; color: var(--text-body) !important; background: #fff !important; }

*, *::before, *::after { box-sizing: border-box; }

h1, h2, h3, h4, h5, h6 {
    font-family: 'Inter', 'Poppins', sans-serif !important;
    color: var(--text-dark) !important;
    letter-spacing: -0.02em !important;
    line-height: 1.18 !important;
    font-weight: 700 !important;
}

p { font-family: 'Inter', sans-serif !important; color: var(--text-body) !important; line-height: 1.75 !important; }

/* ============================================================
   NAVIGATION
   ============================================================ */

/* Top header bar */
#top-header {
    background: #0d1b35 !important;
    border-bottom: 1px solid rgba(255,255,255,0.06) !important;
}

#top-header a,
#top-header .et-secondary-nav li a {
    color: rgba(255,255,255,0.7) !important;
    font-size: 12.5px !important;
    letter-spacing: 0.02em !important;
    transition: var(--tr) !important;
}

#top-header a:hover { color: #fff !important; }

/* Main nav wrapper */
#main-header {
    background: rgba(8, 18, 40, 0.92) !important;
    backdrop-filter: blur(20px) saturate(180%) !important;
    -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
    border-bottom: 1px solid rgba(255,255,255,0.07) !important;
    box-shadow: 0 4px 40px rgba(0,0,0,0.3) !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    transition: var(--tr) !important;
}

/* When not scrolled — fully transparent */
#main-header.et-fixed-header,
body.et_transparent_nav #main-header {
    background: rgba(8, 18, 40, 0.92) !important;
}

/* Nav menu links */
#top-menu > li > a,
.et_pb_menu_0_tb_header.et_pb_menu ul li a {
    color: rgba(255,255,255,0.85) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: 0.03em !important;
    padding-bottom: 4px !important;
    transition: var(--tr) !important;
    position: relative;
}

#top-menu > li > a::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    width: 0;
    height: 2px;
    background: var(--grad);
    border-radius: 2px;
    transition: width 0.28s ease;
}

#top-menu > li:hover > a::after,
#top-menu > li.current-menu-item > a::after { width: 100%; }

#top-menu > li:hover > a,
#top-menu > li.current-menu-item > a,
#top-menu > li.current-menu-ancestor > a {
    color: #fff !important;
}

/* Dropdown menus */
#top-menu li ul,
.nav li ul {
    background: rgba(8,18,40,0.97) !important;
    backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
    border-top: 2px solid var(--accent) !important;
    border-radius: 0 0 var(--radius-sm) var(--radius-sm) !important;
    box-shadow: 0 16px 48px rgba(0,0,0,0.4) !important;
    padding: 8px 0 !important;
}

#top-menu li ul li a,
.nav li ul li a {
    color: rgba(255,255,255,0.75) !important;
    font-size: 13.5px !important;
    padding: 9px 20px !important;
    transition: var(--tr) !important;
}

#top-menu li ul li a:hover,
.nav li ul li a:hover {
    background: rgba(37,80,234,0.12) !important;
    color: #fff !important;
}

/* Mobile menu */
.et_mobile_menu {
    background: #0d1b35 !important;
    border-top: 2px solid var(--accent) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.4) !important;
}

.et_mobile_menu li a {
    color: rgba(255,255,255,0.8) !important;
    border-bottom-color: rgba(255,255,255,0.06) !important;
    font-size: 14px !important;
    padding: 12px 5% !important;
}

.et_mobile_menu li a:hover { color: #fff !important; background: rgba(37,80,234,0.1) !important; }

.mobile_menu_bar:before { color: #fff !important; }

/* Push content down to compensate for fixed nav */
#page-container { padding-top: 0 !important; }

/* ============================================================
   HERO SECTION (section_0 — video background)
   ============================================================ */

.et_pb_section_0 {
    min-height: 100vh !important;
    display: flex !important;
    align-items: center !important;
    position: relative !important;
}

/* Overlay on top of the video */
.et_pb_section_0::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, rgba(8,18,40,0.78) 0%, rgba(2,76,150,0.45) 60%, rgba(8,18,40,0.6) 100%);
    z-index: 1;
    pointer-events: none;
}

.et_pb_section_0 > * { position: relative; z-index: 2; }

/* Hero text */
.et_pb_section_0 .et_pb_text_0 h1:first-child {
    font-size: clamp(36px, 5.5vw, 72px) !important;
    font-weight: 900 !important;
    color: #fff !important;
    line-height: 1.08 !important;
    letter-spacing: -0.035em !important;
    text-shadow: 0 4px 32px rgba(0,0,0,0.3) !important;
    margin-bottom: 20px !important;
}

.et_pb_section_0 .et_pb_text_0 h1:last-child,
.et_pb_section_0 .et_pb_text_0 h1 span {
    font-size: clamp(18px, 2.2vw, 28px) !important;
    font-weight: 400 !important;
    color: rgba(204,220,234,0.9) !important;
    line-height: 1.4 !important;
    letter-spacing: 0 !important;
    font-style: normal !important;
    text-shadow: none !important;
}

/* Hero CTA button */
.et_pb_section_0 .et_pb_button_0,
a.et_pb_button_0 {
    background: var(--grad) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--radius-sm) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    padding: 16px 36px !important;
    text-transform: uppercase !important;
    box-shadow: var(--shadow-blue) !important;
    transition: var(--tr) !important;
    margin-top: 24px !important;
}

.et_pb_section_0 .et_pb_button_0:hover,
a.et_pb_button_0:hover {
    background: var(--grad-r) !important;
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 40px rgba(37,80,234,0.4) !important;
}

/* ============================================================
   SECTION 1 — About / Powering Global Progress
   ============================================================ */

.et_pb_section_1 {
    background: #fff !important;
    padding: 100px 0 80px !important;
}

/* Section label style (e.g. "OUR SERVICES", "WHY US") */
.et_pb_section_1 .et_pb_text_1 h2,
.et_pb_section_2 .et_pb_text_8 h3,
.et_pb_section_2 .et_pb_text_8 h2 {
    color: var(--text-dark) !important;
    font-size: clamp(32px, 4vw, 52px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.03em !important;
}

.et_pb_section_1 .et_pb_text_1 h2 span {
    color: var(--primary) !important;
}

.et_pb_section_1 .et_pb_text_2 p {
    font-size: 16px !important;
    line-height: 1.8 !important;
    color: var(--text-muted) !important;
    max-width: 560px !important;
}

/* About section image */
.et_pb_section_1 .et_pb_image_0 img {
    border-radius: var(--radius-lg) !important;
    box-shadow: var(--shadow-lg) !important;
    transition: var(--tr) !important;
}

.et_pb_section_1 .et_pb_image_0 img:hover {
    transform: translateY(-6px) !important;
    box-shadow: 0 24px 64px rgba(13,27,53,0.18) !important;
}

/* "OUR SERVICES" sub-label */
.et_pb_text_3 h3 {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--accent) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.et_pb_text_3 h3::before {
    content: '';
    display: inline-block;
    width: 24px;
    height: 2px;
    background: var(--grad);
    border-radius: 2px;
    vertical-align: middle;
}

/* Service item images (4 columns) */
.et_pb_row_3 .et_pb_image img {
    border-radius: var(--radius-md) !important;
    transition: var(--tr) !important;
}

.et_pb_row_3 .et_pb_column:hover .et_pb_image img {
    transform: scale(1.04) translateY(-3px) !important;
    box-shadow: var(--shadow-md) !important;
}

.et_pb_row_3 .et_pb_text h2 {
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--text-dark) !important;
    letter-spacing: -0.01em !important;
    line-height: 1.3 !important;
    margin-top: 12px !important;
}

/* ============================================================
   SECTION 2 — Why Us (blurbs)
   ============================================================ */

.et_pb_section_2 {
    background: var(--surface) !important;
    padding: 90px 0 !important;
}

.et_pb_section_2 .et_pb_text_8 h3 {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--accent) !important;
}

/* Blurb cards */
.et_pb_section_2 .et_pb_blurb {
    background: var(--card-bg) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    padding: 36px 28px !important;
    box-shadow: var(--shadow-sm) !important;
    transition: var(--tr) !important;
    text-align: center !important;
}

.et_pb_section_2 .et_pb_blurb:hover {
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-6px) !important;
    border-color: rgba(37,80,234,0.18) !important;
}

.et_pb_section_2 .et_pb_blurb .et_pb_main_blurb_image img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, rgba(2,76,150,0.08), rgba(37,80,234,0.12)) !important;
    padding: 12px !important;
    margin-bottom: 20px !important;
    transition: var(--tr) !important;
}

.et_pb_section_2 .et_pb_blurb:hover .et_pb_main_blurb_image img {
    transform: scale(1.08) !important;
}

.et_pb_section_2 .et_pb_module_header span {
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: var(--text-dark) !important;
}

.et_pb_section_2 .et_pb_blurb_description p {
    font-size: 14px !important;
    color: var(--text-muted) !important;
    line-height: 1.7 !important;
    margin-top: 8px !important;
}

/* Stats row (if any counters) */
.et_pb_section_2 .et_pb_counter_amount,
.et_pb_section_2 .et_pb_number_counter .title {
    color: var(--primary) !important;
    font-weight: 800 !important;
}

/* ============================================================
   SECTION 3 — Specialty / Oil & Gas / Case Study
   ============================================================ */

.et_pb_section_3 {
    background: #fff !important;
    padding: 80px 0 !important;
}

.et_pb_section_3 .cs_frase p {
    font-size: clamp(28px, 4vw, 48px) !important;
    font-weight: 800 !important;
    color: var(--primary) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.03em !important;
}

.et_pb_section_3 h2 {
    font-size: clamp(22px, 3vw, 34px) !important;
    font-weight: 700 !important;
    color: var(--text-dark) !important;
}

.et_pb_section_3 p {
    font-size: 15px !important;
    color: var(--text-muted) !important;
    line-height: 1.8 !important;
}

.et_pb_section_3 p b {
    color: var(--text-dark) !important;
    font-weight: 600 !important;
}

/* ============================================================
   SECTION 4 — Testimonials
   ============================================================ */

.et_pb_section_4 {
    background: var(--surface) !important;
    padding: 90px 0 !important;
}

.et_pb_section_4 .et_pb_text_16 p {
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--accent) !important;
}

/* Testimonial slider items */
.single-item-wrapper {
    background: var(--card-bg) !important;
    border: 1px solid var(--border) !important;
    border-radius: var(--radius-lg) !important;
    padding: 36px !important;
    box-shadow: var(--shadow-sm) !important;
    transition: var(--tr) !important;
    display: flex !important;
    gap: 24px !important;
    align-items: flex-start !important;
}

.single-item-wrapper:hover {
    box-shadow: var(--shadow-md) !important;
    transform: translateY(-4px) !important;
}

.profile-img-wrapper img {
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    border: 3px solid rgba(37,80,234,0.15) !important;
    flex-shrink: 0 !important;
}

.author-name {
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--text-dark) !important;
    margin: 10px 0 4px !important;
    letter-spacing: -0.01em !important;
}

.item-content {
    font-size: 15.5px !important;
    color: var(--text-body) !important;
    line-height: 1.75 !important;
    font-style: italic !important;
    position: relative !important;
}

.item-content::before {
    content: '\201C';
    font-size: 72px;
    color: var(--accent);
    opacity: 0.15;
    position: absolute;
    top: -20px;
    left: -10px;
    font-family: Georgia, serif;
    line-height: 1;
    pointer-events: none;
}

.swiper-pagination-bullet {
    background: rgba(37,80,234,0.25) !important;
    opacity: 1 !important;
}

.swiper-pagination-bullet-active {
    background: var(--accent) !important;
    transform: scale(1.3);
}

/* ============================================================
   SECTION 5 — Contact / CTA
   ============================================================ */

.et_pb_section_5,
.p_sec_contactofooter {
    background: linear-gradient(135deg, #0d1b35 0%, #024c96 60%, #0a1f4a 100%) !important;
    padding: 100px 0 !important;
    position: relative !important;
    overflow: hidden !important;
}

.et_pb_section_5::before {
    content: '';
    position: absolute;
    top: -200px;
    right: -200px;
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(37,80,234,0.15) 0%, transparent 65%);
    pointer-events: none;
}

.et_pb_section_5::after {
    content: '';
    position: absolute;
    bottom: -200px;
    left: -100px;
    width: 500px;
    height: 500px;
    background: radial-gradient(circle, rgba(2,76,150,0.12) 0%, transparent 65%);
    pointer-events: none;
}

.et_pb_section_5 h1,
.et_pb_section_5 h2,
.et_pb_section_5 h3,
.et_pb_section_5 h4,
.et_pb_section_5 h5 {
    color: #fff !important;
}

.et_pb_section_5 p {
    color: rgba(255,255,255,0.75) !important;
    font-size: 15px !important;
    line-height: 1.8 !important;
}

.et_pb_section_5 p span {
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
}

.et_pb_section_5 b, .et_pb_section_5 strong {
    color: rgba(255,255,255,0.9) !important;
}

/* ============================================================
   SECTION 6 — Stats / Numbers
   ============================================================ */

.et_pb_section_6 {
    background: #0d1b35 !important;
    padding: 60px 0 !important;
}

.et_pb_section_6 h2, .et_pb_section_6 h3, .et_pb_section_6 p {
    color: rgba(255,255,255,0.8) !important;
}

/* ============================================================
   GLOBAL DIVI COMPONENT IMPROVEMENTS
   ============================================================ */

/* All buttons */
.et_pb_button,
a.et_pb_button {
    border-radius: var(--radius-sm) !important;
    font-weight: 600 !important;
    letter-spacing: 0.04em !important;
    transition: var(--tr) !important;
    font-family: 'Inter', sans-serif !important;
}

.et_pb_button:hover,
a.et_pb_button:hover {
    transform: translateY(-2px) !important;
}

/* Divi divider */
.et_pb_divider .et_pb_divider_internal {
    border-top-color: var(--border) !important;
}

/* Blurb image centered */
.et_pb_blurb_position_top .et_pb_main_blurb_image {
    display: flex !important;
    justify-content: center !important;
    margin-bottom: 16px !important;
}

/* Better image rendering */
img { image-rendering: -webkit-optimize-contrast; }

/* Section headings refinement */
.et_pb_text h1,
.et_pb_text h2,
.et_pb_text h3 {
    letter-spacing: -0.02em !important;
    line-height: 1.2 !important;
}

/* ============================================================
   PRICING CARDS (public / homepage version)
   ============================================================ */

.price-block {
    position: relative;
    margin-bottom: 32px;
}

.price-block .inner-box {
    position: relative;
    border-radius: var(--radius-lg);
    background: var(--card-bg);
    border: 1.5px solid var(--border);
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: var(--tr);
}

.price-block .inner-box:hover {
    box-shadow: var(--shadow-lg);
    transform: translateY(-6px);
    border-color: rgba(37,80,234,0.2);
}

.price-block .inner-box .recomend {
    position: absolute;
    left: 0; top: -40px; width: 100%;
    color: #fff;
    font-size: 11px; font-weight: 700;
    text-align: center;
    padding: 10px 12px;
    background: var(--grad);
    border-radius: var(--radius-sm) var(--radius-sm) 0 0;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.price-block .inner-box .title-box {
    position: relative;
    padding: 32px 28px 20px;
}

.price-block .inner-box .title-box h5 {
    color: var(--text-dark) !important;
    font-weight: 800 !important;
    font-size: 20px !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 10px !important;
}

.price-block .inner-box .title-box .text {
    font-size: 14px;
    color: var(--text-muted);
    line-height: 1.65;
}

.price-block .inner-box .price {
    display: block;
    color: #fff;
    font-size: 40px;
    font-weight: 900;
    line-height: 1;
    padding: 24px 28px 20px;
    text-align: center;
    background: var(--orange);
    letter-spacing: -0.04em;
}

.price-block.style-two .inner-box .price { background: var(--grad); }
.price-block.style-two .inner-box .recomend { background: var(--green); }

.price-block .inner-box .price span {
    font-weight: 400;
    font-size: 15px;
    opacity: 0.85;
    letter-spacing: 0;
}

.price-block .inner-box .lower-box {
    padding: 24px 28px 28px;
}

.price-block .inner-box .price-list li {
    color: var(--text-muted);
    font-size: 14px;
    font-weight: 500;
    padding: 10px 10px 10px 30px;
    border-radius: var(--radius-sm);
    transition: var(--tr);
    line-height: 1.5;
    position: relative;
}

.price-block .inner-box .price-list li::before {
    content: '';
    position: absolute;
    left: 10px; top: 50%;
    transform: translateY(-50%);
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--grad);
}

.price-block .inner-box .price-list li:hover {
    background: #f4f7ff;
    color: var(--text-dark);
}

.price-block .inner-box .lower-box .theme-btn,
.price-block .btn-success,
.price-block center a button,
.price-block a .btn-success {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    padding: 15px 20px !important;
    border-radius: var(--radius-sm) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    background: var(--grad) !important;
    color: #fff !important;
    text-decoration: none !important;
    transition: var(--tr) !important;
    border: none !important;
    cursor: pointer !important;
    box-shadow: 0 4px 14px rgba(37,80,234,0.22) !important;
}

.price-block .inner-box .lower-box .theme-btn:hover,
.price-block .btn-success:hover,
.price-block center a button:hover {
    background: var(--grad-r) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-blue) !important;
    color: #fff !important;
}

/* ============================================================
   PRICING TABS
   ============================================================ */

.pricing-tabs .tab-btns {
    text-align: center;
    margin-bottom: 56px;
}

.pricing-tabs .tab-btns .tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14.5px;
    color: var(--text-muted);
    font-weight: 500;
    cursor: pointer;
    margin: 0 6px;
    padding: 10px 22px;
    border-radius: 50px;
    transition: var(--tr);
    background: transparent;
    border: 1.5px solid transparent;
}

.pricing-tabs .tab-btns .tab-btn:hover {
    color: var(--text-dark);
    background: rgba(2,76,150,0.05);
}

.pricing-tabs .tab-btns .tab-btn.active-btn {
    color: var(--primary);
    background: rgba(37,80,234,0.07);
    border-color: rgba(37,80,234,0.2);
    font-weight: 600;
}

.pricing-tabs .tab-btns .tab-btn .circle {
    width: 18px; height: 18px;
    border-radius: 50%;
    border: 2px solid #ccc;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: var(--tr);
    flex-shrink: 0;
    position: relative;
}

.pricing-tabs .tab-btns .tab-btn:hover .circle,
.pricing-tabs .tab-btns .tab-btn.active-btn .circle {
    border-color: var(--accent);
}

.pricing-tabs .tab-btns .tab-btn .circle::before {
    content: '';
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--accent);
    opacity: 0;
    transition: var(--tr);
    position: absolute;
}

.pricing-tabs .tab-btns .tab-btn:hover .circle::before,
.pricing-tabs .tab-btns .tab-btn.active-btn .circle::before { opacity: 1; }

.pricing-tabs .tab-btns .tab-btn .save {
    font-size: 11px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 50px;
    background: rgba(37,80,234,0.08);
    color: var(--accent);
    letter-spacing: 0.02em;
}

.pricing-tabs .tabs-content .tab { display: none; }
.pricing-tabs .tabs-content .tab.active-tab {
    display: block;
    animation: fadeSlideUp 0.35s ease;
}

@keyframes fadeSlideUp {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* ============================================================
   FAQ SECTION
   ============================================================ */

.faq-container { margin: 0 auto; max-width: 720px; }

.faq {
    background: var(--card-bg);
    border: 1.5px solid var(--border);
    border-radius: var(--radius-md);
    margin: 12px 0;
    overflow: hidden;
    transition: var(--tr);
    box-shadow: var(--shadow-sm);
}

.faq:hover {
    border-color: rgba(37,80,234,0.18);
    box-shadow: var(--shadow-md);
    transform: translateY(-2px);
}

.faq.active {
    border-color: rgba(2,76,150,0.25);
    box-shadow: 0 8px 32px rgba(2,76,150,0.1);
}

.faq-header {
    padding: 22px 56px 22px 22px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 14px;
    position: relative;
}

.faq-icon-wrap {
    width: 42px; height: 42px;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(2,76,150,0.07), rgba(37,80,234,0.12));
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
    transition: var(--tr);
}

.faq.active .faq-icon-wrap { background: var(--grad); }

.faq-icon-wrap i { color: var(--primary); font-size: 14px; transition: var(--tr); }
.faq.active .faq-icon-wrap i { color: #fff; }

.faq-title {
    margin: 0;
    font-size: 15px !important;
    font-weight: 600 !important;
    color: var(--text-dark) !important;
    line-height: 1.4 !important;
    flex: 1;
    letter-spacing: -0.01em !important;
}

.faq-text {
    display: none;
    margin: 0;
    padding: 0 24px 24px 78px;
    font-size: 14.5px;
    line-height: 1.8;
    color: var(--text-muted);
}

.faq.active .faq-text { display: block; animation: fadeSlideUp 0.25s ease; }

.faq-toggle {
    position: absolute;
    right: 18px; top: 50%;
    transform: translateY(-50%);
    width: 32px; height: 32px;
    border-radius: 50%;
    border: 1.5px solid var(--border);
    background: transparent;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px;
    color: var(--text-muted);
    transition: var(--tr);
    padding: 0;
}

.faq.active .faq-toggle {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    transform: translateY(-50%) rotate(45deg);
}

.faq-toggle .fa-times,
.faq.active .faq-toggle .fa-chevron-down { display: none; }
.faq.active .faq-toggle .fa-times { display: block; }
.faq-toggle .fa-chevron-down { display: block; }

/* ============================================================
   CONTACT FORM (CF7)
   ============================================================ */

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea,
.wpcf7-form select {
    border: 1.5px solid rgba(255,255,255,0.15) !important;
    border-radius: var(--radius-sm) !important;
    padding: 14px 18px !important;
    font-size: 14.5px !important;
    transition: var(--tr) !important;
    background: rgba(255,255,255,0.07) !important;
    color: #fff !important;
    width: 100% !important;
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder { color: rgba(255,255,255,0.45) !important; }

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
    outline: none !important;
    border-color: rgba(37,80,234,0.6) !important;
    box-shadow: 0 0 0 3px rgba(37,80,234,0.15) !important;
    background: rgba(255,255,255,0.1) !important;
}

.wpcf7-form input[type="submit"] {
    background: #fff !important;
    color: var(--primary) !important;
    border: none !important;
    padding: 15px 36px !important;
    border-radius: var(--radius-sm) !important;
    font-weight: 700 !important;
    font-size: 14px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    transition: var(--tr) !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2) !important;
}

.wpcf7-form input[type="submit"]:hover {
    background: var(--grad) !important;
    color: #fff !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-blue) !important;
}

/* ============================================================
   FOOTER
   ============================================================ */

.et_pb_section_0_tb_footer {
    background: linear-gradient(135deg, #0d1b35 0%, #024c96 100%) !important;
    position: relative !important;
    overflow: hidden !important;
}

.et_pb_section_0_tb_footer::before {
    content: '';
    position: absolute;
    top: -100px; right: -100px;
    width: 400px; height: 400px;
    background: radial-gradient(circle, rgba(37,80,234,0.12) 0%, transparent 70%);
    pointer-events: none;
}

.et_pb_text_0_tb_footer,
.et_pb_text_0_tb_footer a {
    color: #fff !important;
    letter-spacing: 0.04em !important;
}

/* Bottom footer bar */
.et_pb_section_1_tb_footer,
.et_pb_section_2_tb_footer {
    background: #080e1a !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
}

.et_pb_text_1_tb_footer,
.et_pb_text_1_tb_footer a {
    color: rgba(255,255,255,0.45) !important;
    font-size: 12.5px !important;
}

.et_pb_text_1_tb_footer a:hover { color: rgba(255,255,255,0.8) !important; }

/* Social icons */
.et_pb_social_media_follow_network a.icon {
    border-radius: 50% !important;
    transition: var(--tr) !important;
}

.et_pb_social_media_follow_network a.icon:hover {
    transform: translateY(-3px) scale(1.1) !important;
    box-shadow: 0 6px 20px rgba(0,0,0,0.3) !important;
}

/* ============================================================
   GLOBAL ERROR / VALIDATION STYLES
   ============================================================ */

.text-danger {
    color: var(--error) !important;
    font-size: 0.78rem;
    font-weight: 500;
    margin-bottom: 10px;
    letter-spacing: 0.01em;
    display: block;
}

.input-error {
    border-color: var(--error) !important;
    padding-right: calc(1.5em + 0.75rem) !important;
}

/* ============================================================
   SCROLL ANIMATIONS
   ============================================================ */

@media (prefers-reduced-motion: no-preference) {
    .et_pb_module.et_animated {
        transition: opacity 0.5s ease, transform 0.5s ease;
    }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 980px) {
    .et_pb_section_0 .et_pb_text_0 h1:first-child { font-size: 42px !important; }
    .et_pb_section_0 .et_pb_button_0 { padding: 14px 28px !important; }

    .et_pb_section_1,
    .et_pb_section_2,
    .et_pb_section_3,
    .et_pb_section_4 { padding: 60px 0 !important; }

    .et_pb_section_5 { padding: 70px 0 !important; }

    .single-item-wrapper { flex-direction: column !important; }

    .faq-text { padding: 0 18px 20px !important; }
    .faq-icon-wrap { display: none !important; }

    .price-block .inner-box .price { font-size: 32px !important; }
}

@media (max-width: 767px) {
    .et_pb_section_0 .et_pb_text_0 h1:first-child { font-size: 32px !important; }
    .et_pb_section_0 .et_pb_text_0 h1:last-child { font-size: 17px !important; }

    .pricing-tabs .tab-btns .tab-btn { font-size: 13px !important; padding: 9px 16px !important; margin: 3px !important; }

    .price-block .inner-box .title-box { padding: 24px 20px 16px !important; }
    .price-block .inner-box .lower-box { padding: 18px 20px 22px !important; }
    .price-block .inner-box .price { padding: 18px 20px !important; font-size: 28px !important; }
}
