/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/hello-theme/
Description: Premium Modern SaaS & Technology Company Theme for BeingMash Services Private Limited with Conversion-Driven Landing Pages.
Author: BeingMash Team
Author URI: https://beingmash.com/
Template: hello-elementor
Version: 2.3.0
Text Domain: hello-elementor-child
*/

/* Google Fonts Import */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Inter:wght@300;400;500;600;700&display=swap');

/* ==========================================================================
   1. DESIGN TOKENS & COLOR PALETTE
   ========================================================================== */
:root {
    --bm-brand-green: #2ba347;
    --bm-brand-green-hover: #22883a;
    --bm-brand-green-light: rgba(43, 163, 71, 0.08);
    --bm-brand-green-border: rgba(43, 163, 71, 0.2);

    --bm-dark: #0f172a;
    --bm-dark-surface: #1e293b;
    --bm-dark-bg: #090d16;
    --bm-text: #374151;
    --bm-text-heading: #0f172a;
    --bm-text-muted: #4b5563;
    --bm-text-light: #94a3b8;

    --bm-bg-light: #f8fafc;
    --bm-white: #ffffff;
    --bm-border: #e2e8f0;
    --bm-border-hover: #cbd5e1;

    --bm-font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    --bm-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

    --bm-radius-sm: 8px;
    --bm-radius-md: 14px;
    --bm-radius-lg: 22px;
    --bm-radius-pill: 9999px;

    --bm-shadow-subtle: 0 1px 3px 0 rgba(0, 0, 0, 0.04);
    --bm-shadow-card: 0 4px 6px -1px rgba(15, 23, 42, 0.05), 0 2px 4px -2px rgba(15, 23, 42, 0.03);
    --bm-shadow-hover: 0 20px 25px -5px rgba(15, 23, 42, 0.08), 0 8px 10px -6px rgba(15, 23, 42, 0.04);
    --bm-shadow-dropdown: 0 12px 28px -4px rgba(15, 23, 42, 0.12);
}

/* ==========================================================================
   2. GLOBAL RESETS & BASE TYPOGRAPHY
   ========================================================================== */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 90px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--bm-font-body);
    color: var(--bm-text);
    background-color: var(--bm-white);
    line-height: 1.65;
    font-size: 16.5px;
}

.bm-site-main {
    min-height: 80vh;
    display: block;
    width: 100%;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--bm-font-heading);
    color: var(--bm-text-heading);
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: -0.025em;
    margin-top: 0;
}

a {
    color: inherit;
    text-decoration: none;
    transition: all 0.2s ease;
}

/* Global List Reset for BeingMash components to prevent plugin bullet conflicts */
.bm-header ul, .bm-footer ul, .bm-nav-list, .bm-dropdown-menu, .bm-footer-links, .bm-product-features, .bm-comp-list {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.bm-container {
    max-width: 1240px;
    margin: 0 auto;
    padding: 0 24px;
}

.bm-section {
    padding: 88px 0;
    scroll-margin-top: 80px;
    position: relative;
}

.bm-text-center {
    text-align: center;
}

/* Section Header Component */
.bm-section-header {
    max-width: 780px;
    margin: 0 auto 52px;
}

.bm-section-eyebrow {
    display: inline-block;
    font-family: var(--bm-font-heading);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--bm-brand-green);
    margin-bottom: 12px;
}

.bm-eyebrow-accent {
    color: #4ade80 !important;
}

.bm-eyebrow-light {
    color: #4ade80 !important;
}

.bm-section-title {
    font-size: 38px;
    font-weight: 800;
    color: var(--bm-text-heading);
    line-height: 1.2;
    margin-bottom: 14px;
    letter-spacing: -0.03em;
}

.bm-section-desc {
    font-size: 18px;
    color: var(--bm-text-muted);
    line-height: 1.6;
    margin: 0 auto;
}

/* Section Footer CTA */
.bm-section-footer-cta {
    text-align: center;
    margin-top: 48px;
}

/* Common Dot Separator */
.bm-dot-sep {
    color: var(--bm-brand-green);
    font-weight: 800;
    padding: 0 6px;
}

/* ==========================================================================
   3. BUTTON COMPONENTS
   ========================================================================== */
.bm-btn-primary, .bm-btn-consultation {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bm-font-heading);
    font-size: 15.5px;
    font-weight: 700;
    color: var(--bm-white) !important;
    background-color: var(--bm-dark) !important;
    border: 2px solid var(--bm-dark);
    padding: 13px 28px;
    border-radius: var(--bm-radius-pill);
    box-shadow: var(--bm-shadow-subtle);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.bm-btn-primary:hover, .bm-btn-consultation:hover {
    background-color: var(--bm-brand-green) !important;
    border-color: var(--bm-brand-green);
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(43, 163, 71, 0.25);
}

.bm-btn-primary .bm-arrow, .bm-btn-consultation .bm-arrow {
    transition: transform 0.2s ease;
}

.bm-btn-primary:hover .bm-arrow, .bm-btn-consultation:hover .bm-arrow {
    transform: translateX(4px);
}

.bm-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bm-font-heading);
    font-size: 15.5px;
    font-weight: 700;
    color: var(--bm-text-heading) !important;
    background-color: transparent !important;
    border: 2px solid var(--bm-border);
    padding: 13px 26px;
    border-radius: var(--bm-radius-pill);
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    cursor: pointer;
}

.bm-btn-secondary:hover {
    border-color: var(--bm-text-heading);
    background-color: var(--bm-bg-light) !important;
    transform: translateY(-2px);
}

.bm-btn-sm {
    padding: 10px 22px;
    font-size: 14.5px;
}

.bm-btn-quote, .bm-btn-outline, .bm-btn-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bm-font-heading);
    font-size: 14px;
    font-weight: 700;
    border-radius: var(--bm-radius-pill);
    padding: 10px 22px;
    cursor: pointer;
    transition: all 0.2s ease;
}

/* ==========================================================================
   4. SECTION 1: HEADER & NAVIGATION
   ========================================================================== */
.bm-header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: #ffffff !important;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid #e2e8f0;
    transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.bm-header.bm-scrolled {
    box-shadow: 0 4px 20px rgba(15, 23, 42, 0.08);
    border-color: #cbd5e1;
}

.bm-header-container {
    max-width: 1280px;
    margin: 0 auto;
    padding: 0 24px;
    height: 86px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
}

.bm-logo-area {
    display: flex;
    align-items: center;
}

.bm-brand-logo-link {
    display: inline-flex;
    align-items: center;
}

.bm-logo-img {
    height: 60px !important;
    max-height: 64px !important;
    width: auto !important;
    display: block !important;
    filter: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}
.bm-logo-img:hover {
    opacity: 0.95;
}

.bm-desktop-nav {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

.bm-nav-list {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.bm-nav-item, .bm-has-dropdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

.bm-nav-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: var(--bm-font-heading);
    font-size: 14.5px;
    font-weight: 600;
    color: #0f172a !important;
    padding: 10px 14px;
    border-radius: var(--bm-radius-sm);
    transition: color 0.2s ease, background-color 0.2s ease;
    line-height: 1.2;
}

.bm-nav-link:hover {
    color: #2ba347 !important;
    background: rgba(43, 163, 71, 0.06);
}

.bm-chevron {
    transition: transform 0.2s ease;
    color: #64748b;
}

.bm-nav-item:hover .bm-chevron,
.bm-has-dropdown:hover .bm-chevron,
.bm-has-mega:hover .bm-chevron {
    transform: rotate(180deg);
    color: #2ba347;
}

.bm-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 270px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: var(--bm-radius-md);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
    padding: 8px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1);
    z-index: 1001;
    pointer-events: none;
}

.bm-dropdown-menu::before {
    content: '';
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    height: 32px;
    background: transparent;
    pointer-events: auto;
}

.bm-nav-item:hover .bm-dropdown-menu,
.bm-has-dropdown:hover .bm-dropdown-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.bm-dropdown-menu li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-family: var(--bm-font-body);
    font-size: 14px;
    font-weight: 500;
    color: #334155 !important;
    padding: 10px 20px;
    transition: all 0.2s ease;
}

.bm-dropdown-menu li a:hover {
    color: #2ba347 !important;
    background-color: #f8fafc;
    padding-left: 24px;
}

/* ==========================================================================
   MEGA MENU (4-GRID ENTERPRISE CATALOG)
   ========================================================================= */
.bm-has-mega {
    position: static !important;
    display: inline-flex !important;
    align-items: center !important;
}

.bm-mega-menu {
    position: absolute !important;
    top: 100% !important;
    left: 16px !important;
    right: 16px !important;
    width: calc(100% - 32px) !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 16px !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.16), 0 4px 16px rgba(15, 23, 42, 0.05) !important;
    padding: 22px 24px 18px !important;
    opacity: 0;
    visibility: hidden;
    transform: translateY(6px);
    transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 1002 !important;
    pointer-events: none;
    box-sizing: border-box !important;
}

.bm-mega-menu::before {
    content: '';
    position: absolute;
    top: -30px;
    left: 0;
    right: 0;
    height: 32px;
    background: transparent;
    pointer-events: auto;
}

.bm-has-mega:hover .bm-mega-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.bm-mega-grid {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    align-items: start !important;
}

.bm-mega-col {
    display: flex !important;
    flex-direction: column !important;
    min-width: 0 !important;
}

.bm-mega-col-title,
h4.bm-mega-col-title,
.bm-mega-menu h4.bm-mega-col-title,
.bm-mega-menu .bm-mega-col h4 {
    font-family: var(--bm-font-heading) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #0f172a !important;
    margin: 0 0 10px 0 !important;
    padding: 0 0 8px 0 !important;
    border-bottom: 2px solid rgba(43, 163, 71, 0.35) !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    gap: 7px !important;
    line-height: 1.2 !important;
}

.bm-mega-col-icon {
    font-size: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    line-height: 1 !important;
}

.bm-mega-link-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
}

.bm-mega-link {
    display: block !important;
    font-family: var(--bm-font-body) !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: #475569 !important;
    padding: 4px 6px !important;
    border-radius: 6px !important;
    transition: all 0.15s ease !important;
    line-height: 1.35 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.bm-mega-link:hover {
    color: #16a34a !important;
    background-color: rgba(43, 163, 71, 0.08) !important;
    transform: translateX(3px) !important;
    font-weight: 600 !important;
}

.bm-mega-footer {
    grid-column: 1 / -1;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e2e8f0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #f8fafc;
    margin-left: -24px;
    margin-right: -24px;
    margin-bottom: -18px;
    padding-left: 24px;
    padding-right: 24px;
    padding-bottom: 14px;
    border-radius: 0 0 15px 15px;
}

.bm-mega-footer-text {
    font-size: 13px;
    color: #475569;
    line-height: 1.4;
}

.bm-mega-footer-text strong {
    color: #0f172a;
    font-weight: 700;
    margin-right: 6px;
    display: inline-block;
}

.bm-mega-footer-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.bm-btn-mega-link {
    font-family: var(--bm-font-heading);
    font-size: 13px;
    font-weight: 700;
    color: #0f172a !important;
    transition: color 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    text-decoration: none;
}

.bm-btn-mega-link:hover {
    color: #2ba347 !important;
}

.bm-btn-mega-cta {
    font-family: var(--bm-font-heading);
    font-size: 13px;
    font-weight: 700;
    color: #ffffff !important;
    background: #2ba347 !important;
    padding: 8px 18px;
    border-radius: 9999px;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    transition: all 0.2s ease;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(43, 163, 71, 0.25);
    cursor: pointer;
}

.bm-btn-mega-cta:hover {
    background: #22883a !important;
    transform: translateY(-1px);
    box-shadow: 0 5px 14px rgba(43, 163, 71, 0.35);
}

.bm-badge-micro {
    font-size: 10.5px;
    font-weight: 700;
    text-transform: uppercase;
    color: #16a34a;
    background: rgba(22, 163, 74, 0.1);
    padding: 2px 8px;
    border-radius: var(--bm-radius-pill);
}

.bm-header-actions {
    display: flex;
    align-items: center;
    gap: 16px;
}

.bm-btn-talk {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--bm-font-heading);
    font-weight: 700;
    font-size: 14px;
    color: #ffffff !important;
    background: #2ba347 !important;
    padding: 10px 22px;
    border-radius: var(--bm-radius-pill);
    text-decoration: none;
    transition: all 0.2s ease;
    box-shadow: 0 4px 14px rgba(43, 163, 71, 0.3);
}

.bm-btn-talk:hover {
    background: #22883a !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(43, 163, 71, 0.4);
}

.bm-mobile-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 5px;
    width: 44px;
    height: 44px;
    padding: 10px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.bm-mobile-toggle:hover {
    background: #f1f5f9;
    border-color: #94a3b8;
}

.bm-hamburger-line {
    width: 22px;
    height: 2.5px;
    background-color: #0f172a;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.bm-mobile-toggle.bm-active .bm-hamburger-line:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.bm-mobile-toggle.bm-active .bm-hamburger-line:nth-child(2) { opacity: 0; }
.bm-mobile-toggle.bm-active .bm-hamburger-line:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

.bm-mobile-menu {
    display: none;
    max-height: 0;
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.12);
    transition: max-height 0.35s ease-in-out, opacity 0.25s ease, visibility 0.25s ease;
    padding: 0 20px;
}

.bm-mobile-menu.bm-active {
    max-height: calc(100vh - 74px);
    opacity: 1;
    visibility: visible;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 18px 20px 30px;
}

.bm-mobile-nav-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.bm-mobile-link {
    display: flex;
    align-items: center;
    font-family: var(--bm-font-heading);
    font-size: 16px;
    font-weight: 600;
    color: #0f172a !important;
    padding: 12px 16px;
    border-radius: 8px;
    text-decoration: none;
    transition: all 0.2s ease;
    min-height: 44px;
}

.bm-mobile-link:hover,
.bm-mobile-link:active {
    background: rgba(43, 163, 71, 0.08);
    color: #2ba347 !important;
    transform: translateX(4px);
}

.bm-mobile-cta-box {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #e2e8f0;
}

@media (max-width: 991px) {
    .bm-desktop-nav,
    .bm-header-actions .bm-btn-talk {
        display: none !important;
    }
    .bm-mobile-toggle {
        display: flex;
    }
    .bm-mobile-menu {
        display: block;
    }
}

/* ==========================================================================
   5. SECTION 2: HERO & DASHBOARD MOCKUP
   ========================================================================== */
.bm-home-hero, .bm-hero-section {
    padding: 80px 0 96px;
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%) !important;
    border-bottom: 1px solid #1e293b;
    position: relative;
    overflow: hidden;
}

.bm-hero-glow-bg {
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 960px;
    height: 520px;
    background: radial-gradient(circle, rgba(43, 163, 71, 0.16) 0%, rgba(43, 163, 71, 0) 70%);
    pointer-events: none;
    z-index: 0;
}

.bm-hero-grid {
    display: grid;
    grid-template-columns: 1.12fr 0.88fr;
    align-items: center;
    gap: 56px;
    position: relative;
    z-index: 1;
}

.bm-hero-content {
    max-width: 620px;
}

.bm-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bm-font-heading);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #4ade80 !important;
    background: rgba(74, 222, 128, 0.1);
    border: 1px solid rgba(74, 222, 128, 0.25);
    padding: 6px 14px;
    border-radius: var(--bm-radius-pill);
    margin-bottom: 22px;
}

.bm-eyebrow-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #4ade80;
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.3);
}

.bm-hero-title {
    font-size: 48px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -0.03em;
    color: #ffffff !important;
    margin-bottom: 20px;
}

.bm-hero-subtitle {
    font-size: 17.5px;
    line-height: 1.65;
    color: #94a3b8 !important;
    margin-bottom: 34px;
}

.bm-hero-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 36px;
}

.bm-btn-hero-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #2ba347 !important;
    color: #ffffff !important;
    font-family: var(--bm-font-heading);
    font-weight: 700;
    font-size: 15.5px;
    padding: 14px 30px;
    border-radius: var(--bm-radius-pill);
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 8px 24px rgba(43, 163, 71, 0.35);
}

.bm-btn-hero-primary:hover {
    background: #22883a !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(43, 163, 71, 0.45);
}

.bm-btn-hero-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #1e293b !important;
    border: 1px solid #334155;
    color: #ffffff !important;
    font-family: var(--bm-font-heading);
    font-weight: 700;
    font-size: 15.5px;
    padding: 14px 28px;
    border-radius: var(--bm-radius-pill);
    text-decoration: none;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.bm-btn-hero-secondary:hover {
    background: #334155 !important;
    border-color: #4ade80;
    transform: translateY(-2px);
    color: #ffffff !important;
}

.bm-arrow-svg {
    transition: transform 0.2s ease;
}
.bm-btn-hero-primary:hover .bm-arrow-svg,
.bm-btn-hero-secondary:hover .bm-arrow-svg {
    transform: translateX(4px);
}

.bm-hero-trust-row {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
    border-top: 1px solid #1e293b;
    padding-top: 24px;
}

.bm-trust-item {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #cbd5e1;
}

.bm-hero-visual {
    position: relative;
}

.bm-dashboard-mockup, .bm-cms-mockup {
    position: relative;
    background: #0f172a;
    border: 1px solid #1e293b;
    border-radius: var(--bm-radius-lg);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
    overflow: hidden;
    transition: transform 0.3s ease;
}

.bm-dashboard-mockup:hover, .bm-cms-mockup:hover {
    transform: translateY(-4px);
}

.bm-mockup-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 18px;
    background: var(--bm-bg-light);
    border-bottom: 1px solid var(--bm-border);
}

.bm-mockup-dots {
    display: flex;
    gap: 6px;
}

.bm-mockup-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
}
.bm-dot-red { background-color: #ef4444; }
.bm-dot-yellow { background-color: #f59e0b; }
.bm-dot-green { background-color: #10b981; }

.bm-mockup-url-bar {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: var(--bm-text-light);
    background: var(--bm-white);
    padding: 4px 12px;
    border-radius: var(--bm-radius-sm);
    border: 1px solid var(--bm-border);
}

.bm-live-badge, .bm-mockup-status {
    font-size: 11px;
    font-weight: 700;
    color: #10b981;
    background: rgba(16, 185, 129, 0.1);
    padding: 3px 8px;
    border-radius: var(--bm-radius-pill);
}

.bm-mockup-body, .bm-cms-mockup-body {
    display: grid;
    grid-template-columns: 80px 1fr;
    min-height: 280px;
}

.bm-mockup-sidebar {
    background: #0f172a;
    padding: 16px 10px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bm-msb-item, .bm-sidebar-item {
    height: 18px;
    background: #334155;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0 4px;
}

.bm-msb-active, .bm-sidebar-item.bm-active {
    background: var(--bm-brand-green);
}

.bm-icon-box {
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.5);
    flex-shrink: 0;
}

.bm-line-bar {
    height: 4px;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 2px;
}

.bm-mockup-main, .bm-mockup-content {
    padding: 20px;
    background: #f8fafc;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bm-mockup-stats-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.bm-mstat-box, .bm-mockup-stat-card {
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    padding: 12px;
    border-radius: var(--bm-radius-sm);
    display: flex;
    flex-direction: column;
}

.bm-mstat-label, .bm-stat-label {
    font-size: 11px;
    color: var(--bm-text-light);
    text-transform: uppercase;
    font-weight: 700;
}

.bm-mstat-val, .bm-stat-value {
    font-size: 17px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-top: 2px;
}

.bm-stat-growth {
    font-size: 10.5px;
    font-weight: 700;
    color: #64748b;
    margin-top: 4px;
}

.bm-stat-growth.positive, .bm-mstat-green {
    color: var(--bm-brand-green) !important;
}

.bm-mockup-chart-box, .bm-mockup-chart-row {
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    padding: 16px;
    border-radius: var(--bm-radius-sm);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.bm-chart-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.bm-chart-title {
    font-size: 12.5px;
    font-weight: 700;
    color: var(--bm-text-heading);
}

.bm-chart-tag {
    font-size: 10.5px;
    font-weight: 700;
    color: var(--bm-brand-green);
    background: var(--bm-brand-green-light);
    padding: 2px 6px;
    border-radius: var(--bm-radius-pill);
}

.bm-chart-bars {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 70px;
    padding-top: 10px;
}

.bm-bar-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    height: 100%;
    justify-content: flex-end;
}

.bm-bar-col span {
    font-size: 9.5px;
    color: var(--bm-text-light);
    font-weight: 600;
}

.bm-cbar, .bm-bar {
    width: 100%;
    background: #e2e8f0;
    border-radius: 4px 4px 0 0;
    transition: height 0.3s ease;
}

.bm-cbar-green, .bm-bar.bm-highlight {
    background: var(--bm-brand-green);
}

/* Floating Badges on Hero Mockup */
.bm-floating-card {
    position: absolute;
    background: rgba(15, 23, 42, 0.92);
    backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: var(--bm-radius-md);
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--bm-white);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
    z-index: 10;
}

.bm-float-top-right {
    top: -16px;
    right: -16px;
}

.bm-float-bottom-left {
    bottom: -16px;
    left: -16px;
}

.bm-float-icon {
    font-size: 20px;
}

.bm-float-text {
    display: flex;
    flex-direction: column;
}

.bm-float-text strong {
    font-size: 13px;
    font-weight: 700;
}

.bm-float-text span {
    font-size: 11px;
    color: #94a3b8;
}

/* ==========================================================================
   6. SECTION 3: PRODUCT SHOWCASE SLIDER / CAROUSEL
   ========================================================================== */
.bm-products-showcase-section, .bm-products-section, .bm-hero-slider-section {
    padding: 88px 0;
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
    position: relative;
}

/* Interactive Product Tabs Bar */
.bm-product-tabs-bar {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 36px;
}

.bm-ptab-btn {
    all: unset !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
    font-family: var(--bm-font-heading) !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    padding: 10px 20px !important;
    border-radius: 9999px !important;
    cursor: pointer !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.03) !important;
}

.bm-ptab-btn:hover {
    border-color: #2ba347 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    transform: translateY(-1px) !important;
}

.bm-ptab-btn.bm-ptab-active {
    background: #0f172a !important;
    color: #ffffff !important;
    border-color: #0f172a !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.25) !important;
}

.bm-ptab-icon {
    font-size: 14px;
    line-height: 1;
}

/* Slider Track and Cards */
.bm-product-slider-wrapper {
    max-width: 1120px;
    margin: 0 auto;
    position: relative;
}

.bm-product-track {
    position: relative;
    min-height: 480px;
}

.bm-product-slide {
    display: none;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.bm-product-slide.bm-slide-active {
    display: block;
    opacity: 1;
    transform: translateY(0);
}

.bm-product-card-inner, .bm-product-card {
    display: grid;
    grid-template-columns: 1.12fr 0.88fr;
    gap: 48px;
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    padding: 44px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.bm-product-info-col, .bm-product-info {
    display: flex;
    flex-direction: column;
}

.bm-product-tag-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--bm-font-heading);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #2ba347;
    background: rgba(43, 163, 71, 0.1);
    padding: 4px 12px;
    border-radius: 9999px;
    margin-bottom: 14px;
    align-self: flex-start;
}

.bm-badge-pulse {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #2ba347;
    display: inline-block;
}

.bm-product-heading {
    font-size: 28px;
    font-weight: 800;
    color: #0f172a !important;
    line-height: 1.25;
    margin-bottom: 12px;
}

.bm-product-desc {
    font-size: 15.5px;
    color: #475569;
    line-height: 1.6;
    margin-bottom: 24px;
}

.bm-product-feature-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 0 28px !important;
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.bm-product-feature-list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    font-weight: 600;
    color: #1e293b;
}

.bm-check-icon {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(43, 163, 71, 0.12);
    color: #2ba347;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 800;
    flex-shrink: 0;
}

.bm-product-actions {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bm-btn-product-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #0f172a !important;
    color: #ffffff !important;
    font-family: var(--bm-font-heading);
    font-weight: 700;
    font-size: 14.5px;
    padding: 12px 26px;
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.25s ease;
    align-self: flex-start;
}

.bm-btn-product-cta:hover {
    background: #2ba347 !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(43, 163, 71, 0.25);
}

/* Product Mockup Frame */
.bm-product-visual-col, .bm-product-visual {
    position: relative;
}

.bm-app-mockup-frame {
    background: #0f172a;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
    border: 1px solid #1e293b;
    color: #ffffff;
}

.bm-app-mockup-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
    border-bottom: 1px solid #1e293b;
    margin-bottom: 16px;
}

.bm-app-title-text {
    font-size: 12.5px;
    font-weight: 700;
    color: #94a3b8;
}

.bm-app-status-badge {
    font-size: 11px;
    font-weight: 700;
    color: #4ade80;
    background: rgba(74, 222, 128, 0.12);
    padding: 3px 10px;
    border-radius: 9999px;
}

.bm-app-mockup-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bm-screen-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.bm-screen-card {
    background: #1e293b;
    border: 1px solid #334155;
    padding: 14px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
}

.bm-card-highlight {
    border-color: #2ba347;
    background: #162032;
}

.bm-sc-label {
    font-size: 10.5px;
    color: #94a3b8;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.04em;
}

.bm-sc-val {
    font-size: 18px;
    font-weight: 800;
    color: #ffffff;
    margin: 4px 0 6px;
}

.bm-progress-bar {
    height: 6px;
    background: #334155;
    border-radius: 3px;
    overflow: hidden;
    margin-bottom: 4px;
}

.bm-prog-fill {
    height: 100%;
    background: #2ba347;
}

.bm-sc-sub {
    font-size: 10.5px;
    color: #4ade80;
}

/* Minimalist Slider Navigation Controls & Dots */
.bm-slider-nav-bar, .bm-slider-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    margin-top: 32px;
}

.bm-snav-arrow, .bm-slider-btn {
    all: unset !important;
    box-sizing: border-box !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 50% !important;
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #1e293b !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06) !important;
}

.bm-snav-arrow:hover, .bm-slider-btn:hover {
    background: #0f172a !important;
    color: #ffffff !important;
    border-color: #0f172a !important;
    transform: scale(1.05) !important;
}

.bm-slider-dots-group, .bm-pagination-dots {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.bm-slider-dot, .bm-pdot {
    all: unset !important;
    box-sizing: border-box !important;
    display: inline-block !important;
    width: 10px !important;
    height: 10px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: 36px !important;
    max-height: 10px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 50% !important;
    background: #cbd5e1 !important;
    cursor: pointer !important;
    line-height: 0 !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.bm-slider-dot:hover, .bm-pdot:hover {
    background: #94a3b8 !important;
}

.bm-slider-dot.bm-dot-active, .bm-pdot.bm-pdot-active {
    width: 32px !important;
    border-radius: 9999px !important;
    background: #2ba347 !important;
    box-shadow: 0 0 10px rgba(43, 163, 71, 0.4) !important;
}

/* ==========================================================================
   7. SECTION 4: TRUST & STATS NUMBERS (SLATE SURFACE)
   ========================================================================== */
.bm-stats-section {
    padding: 72px 0;
    background: #0f172a;
    color: var(--bm-white);
    position: relative;
}

.bm-stats-surface {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.bm-stats-intro {
    text-align: center;
    max-width: 760px;
    margin: 0 auto;
}

.bm-stats-heading {
    color: var(--bm-white);
    font-size: 36px;
    font-weight: 800;
    margin-bottom: 12px;
}

.bm-stats-subtext {
    color: #94a3b8;
    font-size: 17px;
    line-height: 1.6;
}

.bm-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
}

.bm-stat-card, .bm-stat-item {
    text-align: center;
    padding: 24px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: var(--bm-radius-md);
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.bm-stat-card:hover, .bm-stat-item:hover {
    transform: translateY(-4px);
    border-color: var(--bm-brand-green);
}

.bm-stat-num-wrap {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 4px;
}

.bm-stat-number {
    font-size: 46px;
    font-weight: 800;
    color: #4ade80;
    line-height: 1.1;
    margin-bottom: 6px;
}

.bm-stat-number.bm-stat-text-mode {
    font-size: 32px;
}

.bm-stat-unit {
    font-size: 20px;
    font-weight: 800;
    color: #4ade80;
}

.bm-stat-label, .bm-stat-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--bm-white);
    margin-bottom: 4px;
    display: block;
}

.bm-stat-desc {
    font-size: 13.5px;
    color: #94a3b8;
    line-height: 1.4;
    margin: 0;
}

/* ==========================================================================
   8. SECTION 5: SOLUTIONS GRID
   ========================================================================== */
.bm-solutions-section {
    padding: 96px 0;
    background: var(--bm-white);
}

.bm-solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.bm-solution-card {
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-lg);
    padding: 36px 32px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
}

.bm-solution-card:hover {
    transform: translateY(-6px);
    border-color: var(--bm-brand-green-border);
    box-shadow: var(--bm-shadow-hover);
}

.bm-sol-icon-box {
    width: 54px;
    height: 54px;
    border-radius: var(--bm-radius-md);
    background: var(--bm-brand-green-light);
    color: var(--bm-brand-green);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 24px;
}

.bm-sol-title {
    font-size: 22px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 12px;
}

.bm-sol-desc {
    font-size: 15.5px;
    color: var(--bm-text-muted);
    line-height: 1.6;
    margin-bottom: 24px;
    flex-grow: 1;
}

.bm-sol-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--bm-font-heading);
    font-size: 14.5px;
    font-weight: 700;
    color: var(--bm-brand-green) !important;
}

.bm-sol-link:hover {
    color: var(--bm-brand-green-hover) !important;
}

.bm-sol-link .bm-arrow {
    transition: transform 0.2s ease;
}

.bm-sol-link:hover .bm-arrow {
    transform: translateX(4px);
}

/* ==========================================================================
   9. SECTION 6: EDUCATION TECHNOLOGY SECTION
   ========================================================================== */
.bm-edtech-section {
    padding: 88px 0;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-top: 1px solid var(--bm-border);
    border-bottom: 1px solid var(--bm-border);
}

.bm-edtech-wrapper {
    max-width: 1120px;
    margin: 0 auto;
}

.bm-edtech-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.bm-edtech-card {
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-lg);
    padding: 32px;
    transition: all 0.3s ease;
}

.bm-edtech-card:hover {
    transform: translateY(-4px);
    border-color: var(--bm-brand-green);
    box-shadow: var(--bm-shadow-card);
}

.bm-edtech-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 18px;
}

.bm-edtech-badge {
    font-size: 12px;
    font-weight: 800;
    color: var(--bm-brand-green);
    background: var(--bm-brand-green-light);
    padding: 3px 10px;
    border-radius: var(--bm-radius-pill);
}

.bm-edtech-arrow-link {
    color: var(--bm-text-light);
    font-size: 18px;
    font-weight: 800;
    transition: transform 0.2s ease, color 0.2s ease;
}

.bm-edtech-card:hover .bm-edtech-arrow-link {
    transform: translateX(4px);
    color: var(--bm-brand-green);
}

.bm-edtech-card-title {
    font-size: 21px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 10px;
}

.bm-edtech-card-desc {
    font-size: 15px;
    color: var(--bm-text-muted);
    line-height: 1.6;
}

/* ==========================================================================
   10. SECTION 7: PROCESS & HOW WE WORK (5-STEP PIPELINE)
   ========================================================================== */
.bm-process-section, .bm-dev-process-section {
    padding: 88px 0;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
    position: relative;
}

.bm-process-grid-container {
    position: relative;
    max-width: 1200px;
    margin: 0 auto;
}

.bm-process-pipeline-line {
    position: absolute;
    top: 40px;
    left: 60px;
    right: 60px;
    height: 2px;
    background: linear-gradient(90deg, #2ba347 0%, #4ade80 50%, #2ba347 100%);
    z-index: 0;
}

.bm-process-steps-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 20px;
    position: relative;
    z-index: 1;
}

.bm-process-step-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px 18px;
    display: flex;
    flex-direction: column;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    position: relative;
}

.bm-process-step-card:hover {
    transform: translateY(-5px);
    border-color: #2ba347;
    box-shadow: 0 14px 28px rgba(43, 163, 71, 0.12);
}

.bm-step-badge-wrap {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #0f172a;
    border: 3px solid #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 16px;
    box-shadow: 0 0 0 2px #2ba347;
    transition: transform 0.2s ease, background 0.2s ease;
}

.bm-process-step-card:hover .bm-step-badge-wrap {
    transform: scale(1.1);
    background: #2ba347;
}

.bm-step-badge-num {
    font-family: var(--bm-font-heading);
    font-size: 15px;
    font-weight: 800;
    color: #4ade80;
}

.bm-process-step-card:hover .bm-step-badge-num {
    color: #ffffff;
}

.bm-step-phase-tag {
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
    color: #2ba347;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
    text-align: center;
}

.bm-step-card-title {
    font-size: 17px;
    font-weight: 800;
    color: #0f172a !important;
    margin-bottom: 8px;
    text-align: center;
    line-height: 1.3;
}

.bm-step-card-desc {
    font-size: 13px;
    color: #64748b;
    line-height: 1.5;
    margin-bottom: 16px;
    text-align: center;
    flex: 1;
}

.bm-step-deliverable {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 8px 10px;
    font-size: 11px;
    text-align: center;
}

.bm-deliver-label {
    color: #94a3b8;
    font-weight: 600;
    display: block;
    text-transform: uppercase;
    font-size: 9.5px;
}

.bm-deliver-val {
    color: #0f172a;
    font-weight: 700;
    display: block;
    margin-top: 2px;
}

/* ==========================================================================
   11. SECTION 8: INDUSTRIES SERVED
   ========================================================================== */
.bm-industries-section {
    padding: 88px 0;
    background: var(--bm-bg-light);
    border-top: 1px solid var(--bm-border);
}

.bm-industries-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}

.bm-industry-card {
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-md);
    padding: 28px 24px;
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
}

.bm-industry-card:hover {
    transform: translateY(-4px);
    border-color: var(--bm-brand-green);
    box-shadow: var(--bm-shadow-card);
}

.bm-ind-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: var(--bm-radius-sm);
    background: var(--bm-brand-green-light);
    color: var(--bm-brand-green);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 18px;
}

.bm-ind-title {
    font-size: 19px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 8px;
}

.bm-ind-desc {
    font-size: 14.5px;
    color: var(--bm-text-muted);
    line-height: 1.55;
    flex-grow: 1;
}

.bm-ind-arrow {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--bm-brand-green);
    margin-top: 16px;
}

.bm-industry-callout {
    background: #0f172a;
    color: var(--bm-white);
    border-radius: var(--bm-radius-lg);
    padding: 32px;
    margin-top: 48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.bm-callout-text {
    font-size: 18px;
    font-weight: 700;
}

/* ==========================================================================
   12. SECTION 9: CASE STUDIES (HIGH CONTRAST & ROI)
   ========================================================================== */
.bm-case-studies-section {
    padding: 96px 0;
    background: #ffffff;
    border-top: 1px solid #e2e8f0;
}

.bm-case-studies-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.bm-case-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 32px;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.03);
}

.bm-case-card:hover {
    transform: translateY(-6px);
    border-color: #2ba347;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.08);
}

.bm-case-header {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 20px;
}

.bm-case-tag {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #2ba347;
    background: rgba(43, 163, 71, 0.1);
    padding: 4px 10px;
    border-radius: 4px;
    margin-bottom: 12px;
    display: inline-block;
}

.bm-case-title {
    font-size: 20px;
    font-weight: 800;
    color: #0f172a !important;
    line-height: 1.35;
    margin: 0;
    width: 100%;
}

.bm-case-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex-grow: 1;
    margin-bottom: 24px;
}

.bm-case-block {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px 14px;
}

.bm-block-problem {
    border-left: 3px solid #ef4444;
}

.bm-block-solution {
    border-left: 3px solid #3b82f6;
}

.bm-outcome-block {
    background: rgba(43, 163, 71, 0.06);
    border: 1px solid rgba(43, 163, 71, 0.25);
    border-left: 3px solid #2ba347;
}

.bm-case-label {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #475569;
    margin-bottom: 4px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.bm-dot-red-mini {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #ef4444;
    display: inline-block;
}

.bm-dot-blue-mini {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #3b82f6;
    display: inline-block;
}

.bm-dot-green-mini {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #2ba347;
    display: inline-block;
}

.bm-case-text {
    font-size: 13.5px;
    color: #334155;
    line-height: 1.5;
    margin: 0;
}

.bm-outcome-block .bm-case-label {
    color: #16a34a;
}

.bm-outcome-block .bm-case-text {
    font-weight: 600;
    color: #0f172a;
}

.bm-case-footer {
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
}

.bm-case-cta {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13.5px;
    font-weight: 700;
    color: #2ba347 !important;
    text-decoration: none;
    transition: transform 0.2s ease;
}

.bm-case-cta:hover {
    color: #22883a !important;
}

.bm-case-cta:hover .bm-arrow {
    transform: translateX(4px);
}

/* ==========================================================================
   13. SECTION 10: WHY BEINGMASH & ADVANTAGE (OBSIDIAN THEME)
   ========================================================================== */
.bm-why-section, .bm-why-work-section {
    padding: 96px 0;
    background: #090e17 !important;
    color: #ffffff;
    border-top: 1px solid #1e293b;
    border-bottom: 1px solid #1e293b;
}

.bm-why-section .bm-section-title,
.bm-why-work-section .bm-section-title {
    color: #ffffff !important;
}

.bm-why-section .bm-section-desc,
.bm-why-work-section .bm-section-desc {
    color: #94a3b8 !important;
}

.bm-why-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.bm-why-card {
    background: #0f172a;
    border: 1px solid #1e293b;
    border-radius: 14px;
    padding: 36px 30px;
    transition: all 0.25s ease;
}

.bm-why-card:hover {
    border-color: #2ba347;
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.4);
}

.bm-why-icon-box {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    background: rgba(43, 163, 71, 0.12);
    color: #4ade80;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.bm-why-title {
    font-size: 19px;
    font-weight: 700;
    color: #ffffff !important;
    margin-bottom: 10px;
}

.bm-why-desc {
    font-size: 14px;
    color: #94a3b8 !important;
    line-height: 1.6;
    margin: 0;
}

.bm-why-card:hover {
    transform: translateY(-6px);
    border-color: var(--bm-brand-green);
    background: rgba(255, 255, 255, 0.07);
}

.bm-why-icon-box {
    width: 52px;
    height: 52px;
    border-radius: var(--bm-radius-md);
    background: rgba(43, 163, 71, 0.15);
    color: #4ade80;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 22px;
}

.bm-why-title {
    font-size: 21px;
    font-weight: 800;
    color: var(--bm-white);
    margin-bottom: 12px;
}

.bm-why-desc {
    font-size: 15px;
    color: #94a3b8;
    line-height: 1.6;
    margin: 0;
}

/* Clients / Badges Section */
.bm-clients-section {
    padding: 72px 0;
    background: var(--bm-white);
}

.bm-clients-box {
    background: var(--bm-bg-light);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-lg);
    padding: 40px;
    text-align: center;
}

.bm-clients-badge-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px;
    margin-top: 24px;
}

.bm-client-pill {
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    padding: 10px 20px;
    border-radius: var(--bm-radius-pill);
    display: inline-flex;
    align-items: center;
    gap: 10px;
    box-shadow: var(--bm-shadow-subtle);
}

.bm-client-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bm-brand-green);
}

.bm-client-text {
    font-weight: 700;
    font-size: 14.5px;
    color: var(--bm-text-heading);
}

.bm-client-domain {
    font-size: 12.5px;
    color: var(--bm-text-light);
}

.bm-client-sub {
    font-size: 13.5px;
    color: var(--bm-text-muted);
    margin-top: 20px;
}

/* ==========================================================================
   14. SECTION 12: UNIVERSAL FAQ ACCORDION
   ========================================================================== */
.bm-faq-section {
    padding: 96px 0;
    background: var(--bm-white);
}

.bm-faq-accordion {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bm-faq-item {
    background: var(--bm-bg-light);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-md);
    overflow: hidden;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bm-faq-item.bm-faq-active {
    border-color: var(--bm-brand-green);
    box-shadow: 0 4px 12px rgba(43, 163, 71, 0.08);
    background: var(--bm-white);
}

.bm-faq-question {
    width: 100%;
    padding: 20px 24px;
    background: none;
    border: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    font-family: var(--bm-font-heading);
    font-size: 17.5px;
    font-weight: 700;
    color: var(--bm-text-heading);
    text-align: left;
    cursor: pointer;
}

.bm-faq-question:hover {
    color: var(--bm-brand-green);
}

.bm-faq-icon {
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #f1f5f9;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    flex-shrink: 0;
    margin-left: 16px;
    transition: all 0.25s ease;
}

.bm-faq-icon svg {
    width: 16px;
    height: 16px;
    display: block;
    stroke: currentColor;
    transition: transform 0.25s ease;
}

.bm-faq-item:hover .bm-faq-icon {
    background: #e2e8f0;
    color: #0f172a;
}

.bm-faq-active .bm-faq-icon,
.bm-faq-item.bm-faq-active .bm-faq-icon {
    background: var(--bm-brand-green);
    color: #ffffff;
    transform: rotate(45deg);
}

.bm-faq-vert {
    transition: opacity 0.2s ease;
}

.bm-faq-active .bm-faq-vert {
    opacity: 1;
}

.bm-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease-in-out;
}

.bm-faq-active .bm-faq-answer {
    max-height: 500px;
}

.bm-faq-answer-inner {
    padding: 0 24px 22px;
    font-size: 15.5px;
    line-height: 1.65;
    color: var(--bm-text-muted);
}

/* ==========================================================================
   15. SECTION 13: FINAL CALL TO ACTION (HOMEPAGE)
   ========================================================================== */
.bm-cta-section {
    padding: 88px 0;
    background: var(--bm-white);
}

.bm-cta-card {
    position: relative;
    background: linear-gradient(135deg, #090d16 0%, #0f172a 60%, #1e293b 100%);
    border-radius: var(--bm-radius-lg);
    padding: 72px 48px;
    text-align: center;
    color: var(--bm-white);
    overflow: hidden;
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.4);
}

.bm-cta-glow {
    position: absolute;
    top: -50%;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 600px;
    background: radial-gradient(circle, rgba(43, 163, 71, 0.25) 0%, transparent 70%);
    pointer-events: none;
}

.bm-cta-content {
    position: relative;
    z-index: 2;
    max-width: 720px;
    margin: 0 auto;
}

.bm-cta-eyebrow {
    display: inline-block;
    font-family: var(--bm-font-heading);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #4ade80;
    margin-bottom: 16px;
}

.bm-cta-title {
    font-size: 42px;
    font-weight: 800;
    color: var(--bm-white);
    line-height: 1.2;
    margin-bottom: 18px;
}

.bm-cta-subtitle {
    font-size: 18px;
    color: #94a3b8;
    line-height: 1.6;
    margin-bottom: 36px;
}

.bm-cta-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

.bm-btn-cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: var(--bm-brand-green);
    color: var(--bm-white) !important;
    font-family: var(--bm-font-heading);
    font-size: 16px;
    font-weight: 700;
    padding: 14px 32px;
    border-radius: var(--bm-radius-pill);
    box-shadow: 0 4px 15px rgba(43, 163, 71, 0.4);
    transition: all 0.25s ease;
}

.bm-btn-cta-primary:hover {
    background: var(--bm-brand-green-hover);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(43, 163, 71, 0.5);
}

.bm-btn-cta-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #25d366;
    color: var(--bm-white) !important;
    font-family: var(--bm-font-heading);
    font-size: 15.5px;
    font-weight: 700;
    padding: 14px 28px;
    border-radius: var(--bm-radius-pill);
    box-shadow: 0 4px 15px rgba(37, 211, 102, 0.3);
    transition: all 0.25s ease;
}

.bm-btn-cta-whatsapp:hover {
    background: #1eb857;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(37, 211, 102, 0.45);
}

/* ==========================================================================
   16. SECTION 14: CORPORATE FOOTER (HIGH SPECIFICITY TO PREVENT CONFLICTS)
   ========================================================================== */
footer#bm-site-footer.bm-footer,
.bm-footer {
    background: #090d16 !important;
    color: #94a3b8 !important;
    border-top: 1px solid #1e293b !important;
    position: relative !important;
    display: block !important;
    width: 100% !important;
    font-family: var(--bm-font-body) !important;
}

.bm-footer-main {
    padding: 72px 0 56px !important;
}

.bm-footer-grid {
    display: grid !important;
    grid-template-columns: 1.6fr 1fr 1fr 1fr 1.2fr !important;
    gap: 40px !important;
}

.bm-footer-col {
    display: flex !important;
    flex-direction: column !important;
}

.bm-footer-brand-col {
    padding-right: 16px;
}

.bm-footer-brand-link {
    display: inline-block !important;
    margin-bottom: 18px !important;
}

.bm-footer-logo-img {
    height: 52px !important;
    width: auto !important;
    display: block !important;
}

.bm-footer-tagline {
    font-family: var(--bm-font-heading) !important;
    font-size: 15px !important;
    color: #ffffff !important;
    margin-bottom: 10px !important;
}

.bm-footer-about {
    font-size: 14px !important;
    color: #94a3b8 !important;
    line-height: 1.65 !important;
    margin-bottom: 22px !important;
}

.bm-footer-socials {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

.bm-social-btn {
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #1e293b !important;
    color: #94a3b8 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.2s ease !important;
}

.bm-social-btn:hover {
    background: var(--bm-brand-green) !important;
    color: #ffffff !important;
    transform: translateY(-2px) !important;
}

.bm-footer-heading {
    font-family: var(--bm-font-heading) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #ffffff !important;
    margin-bottom: 20px !important;
}

/* Forced bullet removal & clean layout for footer links */
#bm-site-footer ul.bm-footer-links,
.bm-footer-links {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 11px !important;
}

#bm-site-footer ul.bm-footer-links li,
.bm-footer-links li {
    list-style: none !important;
    list-style-type: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#bm-site-footer ul.bm-footer-links li a,
.bm-footer-links li a {
    font-size: 14.5px !important;
    color: #94a3b8 !important;
    transition: color 0.2s ease, padding-left 0.2s ease !important;
    display: inline-block !important;
    text-decoration: none !important;
}

#bm-site-footer ul.bm-footer-links li a:hover,
.bm-footer-links li a:hover {
    color: var(--bm-brand-green) !important;
    padding-left: 4px !important;
}

.bm-footer-contact {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
}

.bm-fcontact-item {
    font-size: 14px !important;
    color: #94a3b8 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

.bm-fcontact-item strong {
    color: #ffffff !important;
}

.bm-fcontact-item a {
    color: #4ade80 !important;
}

.bm-footer-bottom {
    background: #05080f !important;
    padding: 22px 0 !important;
    border-top: 1px solid #141d2e !important;
}

.bm-footer-bottom-flex {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
}

.bm-footer-copy {
    font-size: 13.5px !important;
    color: #64748b !important;
    margin: 0 !important;
}

.bm-footer-legal {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    font-size: 13.5px !important;
}

.bm-footer-legal a {
    color: #64748b !important;
}

.bm-footer-legal a:hover {
    color: var(--bm-brand-green) !important;
}

.bm-sep {
    color: #334155 !important;
}

/* ==========================================================================
   17. CUSTOM MANAGEMENT SOFTWARE LANDING PAGE SPECIFIC STYLES
   ========================================================================== */
.bm-cms-landing {
    background-color: var(--bm-white);
}

.bm-cms-hero {
    padding: 80px 0 96px;
    background: linear-gradient(180deg, #f8fafc 0%, #ffffff 100%);
    border-bottom: 1px solid var(--bm-border);
}

/* Problem vs Solution Section */
.bm-problem-section {
    padding: 88px 0;
    background: var(--bm-white);
}

.bm-comp-grid, .bm-problem-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}

.bm-comp-card, .bm-problem-card {
    border-radius: var(--bm-radius-lg);
    padding: 40px;
    display: flex;
    flex-direction: column;
}

.bm-comp-off-shelf {
    background: #fff5f5;
    border: 1px solid #fecaca;
}

.bm-comp-custom {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
}

.bm-comp-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 12px;
    border-radius: var(--bm-radius-pill);
    margin-bottom: 16px;
    align-self: flex-start;
}

.bm-badge-danger {
    color: #dc2626;
    background: #fee2e2;
}

.bm-badge-success {
    color: #16a34a;
    background: #dcfce7;
}

.bm-comp-title, .bm-prob-title {
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 20px;
}

.bm-comp-off-shelf .bm-comp-title { color: #991b1b; }
.bm-comp-custom .bm-comp-title { color: #166534; }

.bm-prob-num {
    font-family: var(--bm-font-heading);
    font-size: 32px;
    font-weight: 800;
    color: rgba(239, 68, 68, 0.3);
    margin-bottom: 10px;
}

.bm-prob-desc {
    font-size: 15px;
    color: var(--bm-text-muted);
    line-height: 1.6;
}

.bm-comp-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.bm-comp-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 15.5px;
    line-height: 1.5;
}

.bm-comp-off-shelf .bm-comp-list li { color: #7f1d1d; }
.bm-comp-custom .bm-comp-list li { color: #14532d; }

.bm-icon-cross {
    color: #ef4444;
    font-weight: 800;
}

.bm-icon-check {
    color: #16a34a;
    font-weight: 800;
}

.bm-solution-callout-box {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: var(--bm-radius-lg);
    padding: 36px;
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.bm-sol-callout-title {
    font-size: 22px;
    font-weight: 800;
    color: #166534;
    margin-bottom: 6px;
}

.bm-sol-callout-desc {
    font-size: 15px;
    color: #15803d;
    margin: 0;
}

/* What Can We Build Section */
.bm-build-section {
    padding: 96px 0;
    background: var(--bm-bg-light);
    border-top: 1px solid var(--bm-border);
}

.bm-build-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.bm-build-card {
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-lg);
    padding: 36px 30px;
    display: flex;
    flex-direction: column;
    transition: all 0.3s ease;
}

.bm-build-card:hover {
    transform: translateY(-6px);
    border-color: var(--bm-brand-green);
    box-shadow: var(--bm-shadow-hover);
}

.bm-build-icon-box {
    width: 52px;
    height: 52px;
    border-radius: var(--bm-radius-md);
    background: var(--bm-brand-green-light);
    color: var(--bm-brand-green);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.bm-build-title {
    font-size: 21px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 12px;
}

.bm-build-desc {
    font-size: 15px;
    color: var(--bm-text-muted);
    line-height: 1.6;
    margin-bottom: 22px;
    flex-grow: 1;
}

.bm-build-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14.5px;
    font-weight: 700;
    color: var(--bm-brand-green) !important;
}

/* Why Custom Software (6 Benefits) */
.bm-why-custom-section {
    padding: 96px 0;
    background: var(--bm-white);
}

.bm-benefits-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}

.bm-benefit-block {
    position: relative;
    background: var(--bm-bg-light);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-lg);
    padding: 36px 30px;
    transition: all 0.3s ease;
}

.bm-benefit-block:hover {
    transform: translateY(-4px);
    border-color: var(--bm-brand-green);
    box-shadow: var(--bm-shadow-card);
}

.bm-bnum {
    font-family: var(--bm-font-heading);
    font-size: 36px;
    font-weight: 800;
    color: rgba(43, 163, 71, 0.25);
    line-height: 1;
    margin-bottom: 14px;
    display: block;
}

.bm-btitle {
    font-size: 20px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 10px;
}

.bm-bdesc {
    font-size: 15px;
    color: var(--bm-text-muted);
    line-height: 1.6;
    margin: 0;
}

/* "You Explain, We Build" Card */
.bm-explain-section {
    padding: 88px 0;
    background: var(--bm-white);
}

.bm-explain-card {
    background: linear-gradient(135deg, #0f172a 0%, #1e293b 100%);
    border-radius: var(--bm-radius-lg);
    padding: 64px 48px;
    color: var(--bm-white);
    box-shadow: 0 20px 40px -15px rgba(15, 23, 42, 0.3);
}

.bm-explain-intro {
    max-width: 780px;
    margin: 0 auto 52px;
    text-align: center;
}

.bm-explain-title {
    font-size: 38px;
    font-weight: 800;
    color: var(--bm-white);
    margin-bottom: 16px;
}

.bm-explain-desc {
    font-size: 17.5px;
    color: #94a3b8;
    line-height: 1.6;
}

.bm-explain-steps {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr;
    gap: 20px;
    align-items: center;
    margin-bottom: 44px;
}

.bm-explain-step-box, .bm-exp-step {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--bm-radius-md);
    padding: 30px 24px;
    text-align: center;
}

.bm-step-badge, .bm-exp-step-badge {
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    color: #4ade80;
    background: rgba(74, 222, 128, 0.15);
    padding: 3px 12px;
    border-radius: var(--bm-radius-pill);
    margin-bottom: 14px;
}

.bm-estep-title, .bm-exp-step-title {
    font-size: 19px;
    font-weight: 800;
    color: var(--bm-white);
    margin-bottom: 10px;
}

.bm-estep-desc, .bm-exp-step-text {
    font-size: 14.5px;
    color: #94a3b8;
    line-height: 1.55;
    margin: 0;
}

.bm-exp-step-arrow {
    color: #4ade80;
    font-size: 24px;
    font-weight: 800;
}

.bm-explain-action, .bm-explain-cta {
    text-align: center;
}

/* Capabilities Grid & Pills */
.bm-capabilities-section {
    padding: 96px 0;
    background: var(--bm-bg-light);
    border-top: 1px solid var(--bm-border);
}

.bm-capabilities-grid, .bm-caps-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
}

.bm-cap-card, .bm-cap-chip {
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-md);
    padding: 16px 20px;
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: var(--bm-font-heading);
    font-size: 14.5px;
    font-weight: 700;
    color: var(--bm-text-heading);
    box-shadow: var(--bm-shadow-subtle);
    transition: all 0.25s ease;
}

.bm-cap-card:hover, .bm-cap-chip:hover {
    transform: translateY(-3px);
    border-color: var(--bm-brand-green);
    box-shadow: var(--bm-shadow-card);
}

.bm-cap-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--bm-brand-green);
    flex-shrink: 0;
}

.bm-caps-bottom-box {
    background: #0f172a;
    border-radius: var(--bm-radius-lg);
    padding: 32px 36px;
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
    color: var(--bm-white);
}

.bm-caps-text {
    font-size: 17px;
    margin: 0;
    color: #94a3b8;
}

.bm-caps-text strong {
    color: var(--bm-white);
}

/* Real Software Mockup Showcase */
.bm-real-software-section {
    padding: 96px 0;
    background: var(--bm-white);
}

.bm-software-showcase-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    margin-bottom: 48px;
}

.bm-soft-mockup-card, .bm-soft-card {
    background: #0f172a;
    border-radius: var(--bm-radius-lg);
    padding: 28px;
    color: var(--bm-white);
    box-shadow: var(--bm-shadow-hover);
    display: flex;
    flex-direction: column;
}

.bm-soft-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid #1e293b;
    flex-direction: column;
    gap: 8px;
}

.bm-soft-tag {
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    color: #4ade80;
    background: rgba(74, 222, 128, 0.15);
    padding: 3px 10px;
    border-radius: var(--bm-radius-pill);
}

.bm-soft-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--bm-white);
    margin: 0;
}

.bm-soft-desc {
    font-size: 14px;
    color: #94a3b8;
    line-height: 1.55;
    margin-top: 16px;
    margin-bottom: 0;
}

.bm-soft-preview {
    background: #1e293b;
    border-radius: var(--bm-radius-sm);
    padding: 16px;
    border: 1px solid #334155;
}

.bm-mini-dash-screen {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bm-mini-row {
    display: flex;
    gap: 8px;
}

.bm-mini-pill {
    font-size: 11.5px;
    font-weight: 700;
    background: #0f172a;
    color: #4ade80;
    padding: 4px 8px;
    border-radius: var(--bm-radius-sm);
    border: 1px solid #334155;
}

.bm-mini-bar-chart {
    display: flex;
    align-items: flex-end;
    gap: 6px;
    height: 48px;
    background: #0f172a;
    padding: 6px;
    border-radius: 4px;
}

.bm-mini-bar-chart div {
    flex: 1;
    background: var(--bm-brand-green);
    border-radius: 2px 2px 0 0;
}

.bm-showcase-cta-box {
    text-align: center;
    background: var(--bm-bg-light);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-lg);
    padding: 40px 24px;
    max-width: 720px;
    margin: 0 auto;
}

.bm-showcase-cta-text {
    font-size: 21px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 18px;
}

/* ==========================================================================
   18. LEAD CAPTURE SECTION & FORM (DARK CONTRAST)
   ========================================================================== */
.bm-lead-capture-section {
    padding: 96px 0;
    background: linear-gradient(145deg, #090d16 0%, #0f172a 60%, #1e293b 100%);
    color: var(--bm-white);
    position: relative;
}

.bm-lead-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 56px;
    align-items: center;
}

.bm-lead-info {
    display: flex;
    flex-direction: column;
}

.bm-lead-heading {
    color: var(--bm-white);
    font-size: 42px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 18px;
    letter-spacing: -0.03em;
}

.bm-lead-subtext {
    color: #94a3b8;
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 32px;
}

.bm-lead-action-buttons {
    margin-bottom: 24px;
}

.bm-reassurance {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 13.5px;
    font-weight: 600;
    color: #4ade80;
    flex-wrap: wrap;
}

.bm-lead-form-box {
    background: var(--bm-white);
    border-radius: var(--bm-radius-lg);
    padding: 40px;
    color: var(--bm-text);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.4);
}

.bm-form-title {
    font-size: 24px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 6px;
}

.bm-form-subtitle {
    font-size: 14.5px;
    color: var(--bm-text-muted);
    margin-bottom: 24px;
}

.bm-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.bm-form-group {
    margin-bottom: 18px;
    display: flex;
    flex-direction: column;
}

.bm-form-group label {
    font-family: var(--bm-font-heading);
    font-size: 13.5px;
    font-weight: 700;
    color: var(--bm-text-heading);
    margin-bottom: 6px;
}

.bm-req {
    color: #ef4444;
}

.bm-form-group input,
.bm-form-group select,
.bm-form-group textarea {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-sm);
    font-family: var(--bm-font-body);
    font-size: 15px;
    color: var(--bm-text);
    background: #f8fafc;
    transition: all 0.2s ease;
}

.bm-form-group input:focus,
.bm-form-group select:focus,
.bm-form-group textarea:focus {
    outline: none;
    border-color: var(--bm-brand-green);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(43, 163, 71, 0.15);
}

.bm-radio-group {
    display: flex;
    gap: 20px;
    margin-top: 4px;
}

.bm-radio-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    cursor: pointer;
}

.bm-btn-form-submit {
    width: 100%;
    justify-content: center;
    padding: 15px;
    font-size: 16px;
    margin-top: 8px;
}

.bm-form-success-msg {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #ecfdf5;
    border: 1px solid #10b981;
    color: #065f46;
    padding: 16px 20px;
    border-radius: var(--bm-radius-sm);
    margin-top: 16px;
}

.bm-success-icon {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #10b981;
    color: #ffffff;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ==========================================================================
   19. FLOATING WHATSAPP BUTTON & TOOLTIP
   ========================================================================== */
.bm-floating-whatsapp {
    position: fixed;
    bottom: 28px;
    right: 28px;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    background: #25d366;
    color: #ffffff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 25px rgba(37, 211, 102, 0.4);
    z-index: 9999;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.bm-floating-whatsapp:hover {
    transform: scale(1.1);
    box-shadow: 0 14px 30px rgba(37, 211, 102, 0.55);
}

.bm-float-wa-tooltip {
    position: absolute;
    right: 70px;
    background: #0f172a;
    color: #ffffff;
    font-family: var(--bm-font-heading);
    font-size: 13px;
    font-weight: 700;
    padding: 6px 14px;
    border-radius: var(--bm-radius-pill);
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transform: translateX(10px);
    transition: all 0.25s ease;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.bm-floating-whatsapp:hover .bm-float-wa-tooltip {
    opacity: 1;
    transform: translateX(0);
}

/* ==========================================================================
   20. RESPONSIVE MEDIA QUERIES
   ========================================================================== */
@media (max-width: 1200px) {
    .bm-footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr 1.2fr !important;
    }
}

@media (max-width: 991px) {
    .bm-hero-grid,
    .bm-product-card,
    .bm-slide-container,
    .bm-comp-grid,
    .bm-problem-grid,
    .bm-software-showcase-grid,
    .bm-lead-wrapper {
        grid-template-columns: 1fr !important;
        gap: 40px !important;
    }

    .bm-stats-grid,
    .bm-solutions-grid,
    .bm-edtech-grid,
    .bm-case-studies-grid,
    .bm-why-grid,
    .bm-benefits-grid,
    .bm-build-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .bm-process-timeline {
        grid-template-columns: 1fr !important;
        gap: 32px !important;
    }

    .bm-process-timeline::before {
        display: none !important;
    }

    .bm-capabilities-grid,
    .bm-caps-grid,
    .bm-industries-grid {
        grid-template-columns: 1fr 1fr !important;
    }

    .bm-explain-steps {
        grid-template-columns: 1fr !important;
    }

    .bm-exp-step-arrow {
        display: none;
    }

    .bm-footer-grid {
        grid-template-columns: 1fr 1fr !important;
        gap: 36px !important;
    }

    .bm-hero-title {
        font-size: 38px !important;
    }

    .bm-section-title,
    .bm-cta-title,
    .bm-lead-heading,
    .bm-explain-title {
        font-size: 30px !important;
    }
}

@media (max-width: 640px) {
    .bm-stats-grid,
    .bm-solutions-grid,
    .bm-edtech-grid,
    .bm-case-studies-grid,
    .bm-why-grid,
    .bm-benefits-grid,
    .bm-build-grid,
    .bm-capabilities-grid,
    .bm-caps-grid,
    .bm-industries-grid,
    .bm-footer-grid,
    .bm-form-row {
        grid-template-columns: 1fr !important;
    }

    .bm-cta-card,
    .bm-explain-card,
    .bm-lead-form-box {
        padding: 32px 20px !important;
    }

    .bm-hero-actions,
    .bm-cta-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }

    .bm-hero-actions a,
    .bm-cta-actions a {
        text-align: center !important;
        justify-content: center !important;
    }

    .bm-floating-whatsapp {
        bottom: 16px !important;
        right: 16px !important;
        width: 50px !important;
        height: 50px !important;
    }

    .bm-float-wa-tooltip {
        display: none !important;
    }

    .bm-footer-bottom-flex {
        flex-direction: column !important;
        text-align: center !important;
    }
}


/* ==========================================================================
   21. SERVICE PAGES & SERVICES HUB SPECIFIC STYLES
   ========================================================================== */
.bm-service-page, .bm-services-hub {
    background-color: var(--bm-white);
}

.bm-service-hero, .bm-services-hub-hero {
    padding: 80px 0 96px;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-bottom: 1px solid var(--bm-border);
}

.bm-service-mockup {
    box-shadow: 0 20px 40px -10px rgba(15, 23, 42, 0.15);
}

/* Service Overview & Who Needs It */
.bm-service-overview-section {
    padding: 96px 0;
    background: var(--bm-white);
}

.bm-overview-card {
    background: var(--bm-bg-light);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-lg);
    padding: 56px 48px;
}

.bm-overview-header {
    max-width: 800px;
    margin-bottom: 40px;
}

.bm-who-needs-box {
    border-top: 1px solid var(--bm-border);
    padding-top: 36px;
}

.bm-who-title {
    font-size: 20px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 20px;
}

.bm-who-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
}

.bm-who-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-size: 16px;
    font-weight: 600;
    color: var(--bm-text-heading);
    line-height: 1.5;
}

/* Customization 9-Grid ("Your Business Is Unique...") */
.bm-customization-section {
    padding: 96px 0;
    background: var(--bm-white);
    border-top: 1px solid var(--bm-border);
}

.bm-customization-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.bm-custom-card {
    background: var(--bm-bg-light);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-md);
    padding: 32px 26px;
    transition: all 0.25s ease;
    display: flex;
    flex-direction: column;
}

.bm-custom-card:hover {
    transform: translateY(-4px);
    border-color: var(--bm-brand-green);
    box-shadow: var(--bm-shadow-card);
    background: var(--bm-white);
}

.bm-custom-icon {
    font-size: 28px;
    margin-bottom: 16px;
    line-height: 1;
}

.bm-custom-title {
    font-size: 19px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 10px;
}

.bm-custom-desc {
    font-size: 14.5px;
    color: var(--bm-text-muted);
    line-height: 1.55;
    margin: 0;
}

.bm-custom-action-box {
    margin-top: 48px;
}

/* Features Section */
.bm-features-section {
    padding: 96px 0;
    background: var(--bm-bg-light);
    border-top: 1px solid var(--bm-border);
}

.bm-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}

.bm-feature-card {
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    border-radius: var(--bm-radius-lg);
    padding: 36px 30px;
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
}

.bm-feature-card:hover {
    transform: translateY(-5px);
    border-color: var(--bm-brand-green);
    box-shadow: var(--bm-shadow-hover);
}

.bm-feat-icon-box {
    font-size: 32px;
    margin-bottom: 20px;
    line-height: 1;
}

.bm-feat-title {
    font-size: 21px;
    font-weight: 800;
    color: var(--bm-text-heading);
    margin-bottom: 10px;
}

.bm-feat-desc {
    font-size: 15px;
    color: var(--bm-text-muted);
    line-height: 1.6;
    margin: 0;
}

/* Benefits Section */
.bm-benefits-section {
    padding: 96px 0;
    background: var(--bm-white);
    border-top: 1px solid var(--bm-border);
}

/* Technology & Integrations Section */
.bm-tech-section {
    padding: 88px 0;
    background: #0f172a;
    color: var(--bm-white);
}

.bm-tech-section .bm-section-title {
    color: var(--bm-white);
}

.bm-tech-section .bm-section-desc {
    color: #94a3b8;
}

.bm-tech-box {
    max-width: 960px;
    margin: 0 auto;
}

.bm-tech-categories {
    display: flex;
    flex-direction: column;
    gap: 24px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--bm-radius-lg);
    padding: 40px;
}

.bm-tech-group {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.bm-tech-label {
    font-family: var(--bm-font-heading);
    font-size: 14.5px;
    font-weight: 700;
    color: #4ade80;
    min-width: 190px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.bm-tech-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    flex: 1;
}

.bm-tpill {
    background: #1e293b;
    border: 1px solid #334155;
    color: var(--bm-white);
    font-family: var(--bm-font-heading);
    font-size: 13.5px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: var(--bm-radius-pill);
    transition: all 0.2s ease;
}

.bm-tpill:hover {
    border-color: var(--bm-brand-green);
    background: #0f172a;
    color: #4ade80;
}

/* Related Services Internal Cross-Linking Bar */
.bm-related-services-bar {
    padding: 36px 0;
    background: #f1f5f9;
    border-top: 1px solid var(--bm-border);
}

.bm-related-flex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    flex-wrap: wrap;
}

.bm-related-title {
    font-family: var(--bm-font-heading);
    font-size: 15px;
    font-weight: 800;
    color: var(--bm-text-heading);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.bm-related-links {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.bm-related-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: var(--bm-white);
    border: 1px solid var(--bm-border);
    padding: 8px 16px;
    border-radius: var(--bm-radius-pill);
    font-family: var(--bm-font-heading);
    font-size: 13.5px;
    font-weight: 700;
    color: var(--bm-text-heading);
    transition: all 0.2s ease;
    box-shadow: var(--bm-shadow-subtle);
}

.bm-related-chip:hover {
    background: var(--bm-dark);
    color: var(--bm-white);
    border-color: var(--bm-dark);
    transform: translateY(-2px);
}

.bm-related-chip .bm-arrow {
    color: var(--bm-brand-green);
    transition: transform 0.2s ease;
}

.bm-related-chip:hover .bm-arrow {
    transform: translateX(3px);
}

/* Services Directory Section (Hub) */
.bm-services-directory-section {
    padding: 96px 0;
    background: var(--bm-white);
}

@media (max-width: 991px) {
    .bm-customization-grid,
    .bm-features-grid,
    .bm-who-grid {
        grid-template-columns: 1fr 1fr !important;
    }
    .bm-overview-card {
        padding: 36px 24px !important;
    }
    .bm-tech-categories {
        padding: 28px 20px !important;
    }
    .bm-tech-group {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 10px !important;
    }
}

@media (max-width: 640px) {
    .bm-customization-grid,
    .bm-features-grid,
    .bm-who-grid {
        grid-template-columns: 1fr !important;
    }
    .bm-related-flex {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}


/* ==========================================================================
   BeingMash Blog & Single Article Design System
   ========================================================================== */

/* Blog Archive Hero Header */
.bm-blog-hero {
	background: linear-gradient(135deg, #0b1329 0%, #0f172a 60%, #1e293b 100%);
	color: #ffffff;
	padding: 60px 0 50px;
	text-align: center;
	position: relative;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.bm-blog-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: rgba(43, 163, 71, 0.15);
	border: 1px solid rgba(43, 163, 71, 0.35);
	color: #4ade80;
	padding: 6px 14px;
	border-radius: 9999px;
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 18px;
}
.bm-hero-dot {
	width: 7px;
	height: 7px;
	background-color: #2ba347;
	border-radius: 50%;
	box-shadow: 0 0 8px #2ba347;
}
.bm-blog-hero-title {
	font-size: 2.5rem;
	font-weight: 800;
	line-height: 1.25;
	color: #ffffff;
	margin: 0 auto 16px;
	max-width: 800px;
}
.bm-blog-hero-desc {
	font-size: 1.1rem;
	line-height: 1.6;
	color: #94a3b8;
	max-width: 680px;
	margin: 0 auto 30px;
}
.bm-blog-hero-search {
	max-width: 540px;
	margin: 0 auto 30px;
}
.bm-hero-search-wrap {
	display: flex;
	align-items: center;
	background: #ffffff;
	border-radius: 12px;
	padding: 6px 8px 6px 16px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.25);
}
.bm-search-icon {
	color: #94a3b8;
	margin-right: 10px;
	flex-shrink: 0;
}
.bm-hero-search-input {
	flex: 1;
	border: none;
	outline: none;
	font-size: 0.95rem;
	color: #0f172a;
	background: transparent;
	padding: 8px 0;
}
.bm-hero-search-submit {
	background: #2ba347;
	color: #ffffff;
	border: none;
	padding: 10px 20px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 0.9rem;
	cursor: pointer;
	transition: background 0.2s ease;
}
.bm-hero-search-submit:hover {
	background: #22863a;
}
.bm-category-pills-bar {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-top: 20px;
}
.bm-cat-pill {
	display: inline-flex;
	align-items: center;
	padding: 7px 16px;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #cbd5e1;
	border-radius: 9999px;
	font-size: 0.85rem;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s ease;
}
.bm-cat-pill:hover,
.bm-cat-pill.is-active {
	background: #2ba347;
	border-color: #2ba347;
	color: #ffffff;
	transform: translateY(-2px);
}

/* Blog Content Container */
.bm-blog-main-content {
	background: #f8fafc;
	padding: 60px 0;
}

/* Featured Spotlight Card */
.bm-featured-spotlight-card {
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid #e2e8f0;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.05);
	overflow: hidden;
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	margin-bottom: 50px;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.bm-featured-spotlight-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.08);
}
.bm-featured-spotlight-img-wrap {
	position: relative;
	min-height: 320px;
	background: #0f172a;
}
.bm-featured-spotlight-img-wrap a {
	display: block;
	width: 100%;
	height: 100%;
}
.bm-spotlight-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.bm-spotlight-placeholder {
	width: 100%;
	height: 100%;
	min-height: 320px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
	background: linear-gradient(135deg, #1e293b, #0f172a);
}
.bm-spotlight-badge {
	position: absolute;
	top: 18px;
	left: 18px;
	background: #2ba347;
	color: #ffffff;
	padding: 6px 12px;
	border-radius: 6px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.bm-featured-spotlight-body {
	padding: 36px 40px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.bm-spotlight-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	font-size: 0.85rem;
	color: #64748b;
	margin-bottom: 14px;
}
.bm-card-cat-badge {
	background: #eff6ff;
	color: #1d4ed8;
	font-weight: 600;
	font-size: 0.8rem;
	padding: 3px 10px;
	border-radius: 9999px;
	text-decoration: none;
}
.bm-meta-sep {
	color: #cbd5e1;
}
.bm-spotlight-title {
	font-size: 1.65rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0 0 14px;
}
.bm-spotlight-title a {
	color: #0f172a;
	text-decoration: none;
	transition: color 0.2s ease;
}
.bm-spotlight-title a:hover {
	color: #2ba347;
}
.bm-spotlight-excerpt {
	font-size: 0.95rem;
	color: #475569;
	line-height: 1.6;
	margin: 0 0 24px;
}
.bm-spotlight-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	padding-top: 18px;
	border-top: 1px solid #f1f5f9;
}
.bm-spotlight-author {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.85rem;
	font-weight: 600;
	color: #334155;
}
.bm-spotlight-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #e2e8f0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
}

/* Articles Grid */
.bm-blog-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
}
.bm-blog-card {
	background: #ffffff;
	border-radius: 14px;
	border: 1px solid #e2e8f0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: 0 4px 15px rgba(15, 23, 42, 0.03);
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.bm-blog-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.08);
}
.bm-card-thumb-wrap {
	position: relative;
	height: 200px;
	background: #0f172a;
	overflow: hidden;
}
.bm-card-thumb-link {
	display: block;
	width: 100%;
	height: 100%;
}
.bm-card-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.35s ease;
}
.bm-blog-card:hover .bm-card-img {
	transform: scale(1.05);
}
.bm-card-img-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #1e293b, #0f172a);
	color: #64748b;
}
.bm-card-thumb-wrap .bm-card-cat-badge {
	position: absolute;
	top: 14px;
	left: 14px;
	background: rgba(15, 23, 42, 0.85);
	backdrop-filter: blur(4px);
	color: #38bdf8;
	border: 1px solid rgba(255, 255, 255, 0.1);
	font-size: 0.75rem;
}
.bm-card-content {
	padding: 24px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.bm-card-meta {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 0.8rem;
	color: #64748b;
	margin-bottom: 12px;
}
.bm-card-title {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 10px;
}
.bm-card-title a {
	color: #0f172a;
	text-decoration: none;
	transition: color 0.2s ease;
}
.bm-card-title a:hover {
	color: #2ba347;
}
.bm-card-excerpt {
	font-size: 0.9rem;
	color: #475569;
	line-height: 1.55;
	margin: 0 0 20px;
	flex: 1;
}
.bm-card-footer {
	padding-top: 14px;
	border-top: 1px solid #f1f5f9;
}
.bm-card-read-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #2ba347;
	font-weight: 600;
	font-size: 0.85rem;
	text-decoration: none;
	transition: gap 0.2s ease;
}
.bm-card-read-link:hover {
	gap: 10px;
	color: #22863a;
}

/* Pagination */
.bm-blog-pagination {
	margin-top: 50px;
	text-align: center;
}
.bm-blog-pagination ul.page-numbers {
	list-style: none;
	padding: 0;
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.bm-blog-pagination li a,
.bm-blog-pagination li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 14px;
	border-radius: 8px;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	color: #334155;
	font-weight: 600;
	font-size: 0.9rem;
	text-decoration: none;
	transition: all 0.2s ease;
}
.bm-blog-pagination li a:hover {
	background: #f1f5f9;
	border-color: #cbd5e1;
	color: #0f172a;
}
.bm-blog-pagination li span.current {
	background: #2ba347;
	border-color: #2ba347;
	color: #ffffff;
}

/* No Posts Found */
.bm-no-posts-card {
	background: #ffffff;
	border-radius: 16px;
	border: 1px solid #e2e8f0;
	padding: 60px 30px;
	text-align: center;
	max-width: 540px;
	margin: 0 auto;
}
.bm-no-posts-icon {
	color: #94a3b8;
	margin-bottom: 20px;
}
.bm-no-posts-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 10px;
}
.bm-no-posts-desc {
	font-size: 0.95rem;
	color: #64748b;
	line-height: 1.6;
	margin: 0 0 24px;
}

/* Bottom CTA Banner */
.bm-blog-bottom-cta {
	background: #ffffff;
	padding: 70px 0;
	border-top: 1px solid #e2e8f0;
}
.bm-bottom-cta-box {
	background: linear-gradient(135deg, #0b1329 0%, #0f172a 100%);
	border-radius: 20px;
	padding: 50px 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 40px;
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.15);
}
.bm-bottom-cta-text {
	max-width: 650px;
}
.bm-bottom-cta-badge {
	display: inline-block;
	background: rgba(43, 163, 71, 0.2);
	color: #4ade80;
	padding: 4px 12px;
	border-radius: 9999px;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 12px;
}
.bm-bottom-cta-title {
	font-size: 2rem;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 12px;
}
.bm-bottom-cta-desc {
	font-size: 1rem;
	color: #94a3b8;
	line-height: 1.6;
	margin: 0;
}
.bm-bottom-cta-actions {
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex-shrink: 0;
}

/* ==========================================================================
   SINGLE BLOG POST STYLES
   ========================================================================== */

.bm-single-post-wrapper {
	background: #ffffff;
}

/* Single Post Hero Header */
.bm-single-header {
	background: linear-gradient(135deg, #0b1329 0%, #0f172a 60%, #1e293b 100%);
	color: #ffffff;
	padding: 50px 0 45px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.bm-breadcrumbs {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 0.85rem;
	color: #94a3b8;
	margin-bottom: 20px;
}
.bm-breadcrumb-link {
	color: #cbd5e1;
	text-decoration: none;
	transition: color 0.2s ease;
}
.bm-breadcrumb-link:hover {
	color: #2ba347;
}
.bm-breadcrumb-sep {
	color: #64748b;
}
.bm-breadcrumb-current {
	color: #94a3b8;
}
.bm-single-category-wrap {
	margin-bottom: 16px;
}
.bm-single-category-badge {
	display: inline-flex;
	align-items: center;
	background: rgba(43, 163, 71, 0.15);
	border: 1px solid rgba(43, 163, 71, 0.35);
	color: #4ade80;
	padding: 5px 14px;
	border-radius: 9999px;
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: background 0.2s ease;
}
.bm-single-category-badge:hover {
	background: #2ba347;
	color: #ffffff;
}
.bm-single-title {
	font-size: 2.6rem;
	font-weight: 800;
	line-height: 1.25;
	color: #ffffff;
	margin: 0 0 24px;
	max-width: 950px;
}
.bm-single-meta-row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	font-size: 0.85rem;
	color: #cbd5e1;
	margin-bottom: 24px;
}
.bm-meta-author {
	display: flex;
	align-items: center;
	gap: 10px;
}
.bm-author-avatar-circle {
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	color: #4ade80;
}
.bm-author-info {
	display: flex;
	flex-direction: column;
}
.bm-author-label {
	font-size: 0.72rem;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.bm-author-name {
	font-weight: 600;
	color: #ffffff;
}
.bm-meta-divider {
	width: 1px;
	height: 20px;
	background: rgba(255, 255, 255, 0.15);
}
.bm-meta-item {
	display: flex;
	align-items: center;
	gap: 6px;
	color: #cbd5e1;
}
.bm-meta-updated {
	color: #4ade80;
}

/* Top Share Bar */
.bm-top-share-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	padding-top: 18px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.bm-share-label {
	font-size: 0.8rem;
	font-weight: 600;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-right: 4px;
}
.bm-share-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	border-radius: 6px;
	font-size: 0.8rem;
	font-weight: 600;
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.06);
	color: #ffffff;
	cursor: pointer;
	transition: all 0.2s ease;
}
.bm-share-whatsapp:hover {
	background: #25D366;
	border-color: #25D366;
	color: #ffffff;
}
.bm-share-linkedin:hover {
	background: #0A66C2;
	border-color: #0A66C2;
	color: #ffffff;
}
.bm-share-twitter:hover {
	background: #1da1f2;
	border-color: #1da1f2;
	color: #ffffff;
}
.bm-share-copy:hover {
	background: #334155;
	border-color: #475569;
}

/* Single Content Container & Grid */
.bm-single-content-container {
	padding: 50px 0 80px;
	background: #ffffff;
}
.bm-single-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: 50px;
	align-items: flex-start;
}

/* Featured Image in Single */
.bm-single-featured-image {
	margin-bottom: 36px;
	border-radius: 14px;
	overflow: hidden;
	border: 1px solid #e2e8f0;
	box-shadow: 0 10px 25px rgba(15, 23, 42, 0.05);
}
.bm-featured-img {
	width: 100%;
	height: auto;
	display: block;
}

/* Dynamic Table of Contents */
.bm-blog-toc {
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-left: 4px solid #2ba347;
	border-radius: 10px;
	padding: 20px 24px;
	margin-bottom: 40px;
}
.bm-toc-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	user-select: none;
}
.bm-toc-title-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 1.05rem;
	color: #0f172a;
}
.bm-toc-toggle-btn {
	background: none;
	border: none;
	color: #64748b;
	cursor: pointer;
	display: flex;
	align-items: center;
	transition: transform 0.2s ease;
}
.bm-toc-list-wrap {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid #e2e8f0;
}
.bm-toc-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bm-toc-item {
	margin-bottom: 8px;
}
.bm-toc-item:last-child {
	margin-bottom: 0;
}
.bm-toc-item-h3 {
	padding-left: 18px;
}
.bm-toc-link {
	color: #334155;
	font-size: 0.92rem;
	line-height: 1.5;
	text-decoration: none;
	transition: color 0.15s ease;
}
.bm-toc-link:hover {
	color: #2ba347;
	text-decoration: underline;
}

/* Article Typography */
.bm-article-body {
	font-size: 1.1rem;
	line-height: 1.8;
	color: #334155;
	font-family: inherit;
}
.bm-article-body p {
	margin-bottom: 24px;
	color: #334155;
}
.bm-article-body h2 {
	font-size: 1.75rem;
	font-weight: 800;
	color: #0f172a;
	margin: 44px 0 18px;
	line-height: 1.35;
	scroll-margin-top: 100px;
}
.bm-article-body h3 {
	font-size: 1.35rem;
	font-weight: 700;
	color: #0f172a;
	margin: 32px 0 14px;
	line-height: 1.4;
	scroll-margin-top: 100px;
}
.bm-article-body h4 {
	font-size: 1.15rem;
	font-weight: 700;
	color: #1e293b;
	margin: 24px 0 10px;
	scroll-margin-top: 100px;
}
.bm-article-body ul,
.bm-article-body ol {
	margin: 0 0 24px 20px;
	padding-left: 10px;
}
.bm-article-body li {
	margin-bottom: 8px;
	line-height: 1.7;
}
.bm-article-body blockquote {
	background: #f8fafc;
	border-left: 4px solid #2ba347;
	margin: 30px 0;
	padding: 20px 24px;
	border-radius: 0 8px 8px 0;
	font-style: italic;
	color: #1e293b;
	font-size: 1.05rem;
}
.bm-article-body img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
	margin: 24px 0;
	border: 1px solid #e2e8f0;
}
.bm-article-body figure {
	margin: 28px 0;
}
.bm-article-body figcaption {
	font-size: 0.85rem;
	color: #64748b;
	text-align: center;
	margin-top: 8px;
}
.bm-article-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 30px 0;
	font-size: 0.95rem;
	display: block;
	overflow-x: auto;
}
.bm-article-body table th {
	background: #0f172a;
	color: #ffffff;
	font-weight: 600;
	padding: 12px 16px;
	text-align: left;
	border: 1px solid #1e293b;
}
.bm-article-body table td {
	padding: 12px 16px;
	border: 1px solid #e2e8f0;
	color: #334155;
}
.bm-article-body table tr:nth-child(even) td {
	background: #f8fafc;
}
.bm-article-body pre {
	background: #0f172a;
	color: #f8fafc;
	padding: 20px;
	border-radius: 10px;
	overflow-x: auto;
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 28px 0;
}
.bm-article-body code {
	background: #f1f5f9;
	color: #0f172a;
	padding: 2px 6px;
	border-radius: 4px;
	font-size: 0.88em;
	font-family: Consolas, Monaco, 'Courier New', monospace;
}
.bm-article-body pre code {
	background: transparent;
	color: inherit;
	padding: 0;
}
.bm-article-body a {
	color: #2ba347;
	text-decoration: underline;
	font-weight: 500;
}
.bm-article-body a:hover {
	color: #22863a;
}

/* In-Article CTA Banner */
.bm-article-cta-box {
	background: linear-gradient(135deg, #0b1329 0%, #0f172a 100%);
	border-radius: 14px;
	padding: 34px 36px;
	margin: 45px 0;
	color: #ffffff;
	display: flex;
	gap: 24px;
	box-shadow: 0 10px 30px rgba(15, 23, 42, 0.1);
	border: 1px solid rgba(43, 163, 71, 0.3);
}
.bm-article-cta-icon {
	width: 54px;
	height: 54px;
	border-radius: 12px;
	background: rgba(43, 163, 71, 0.2);
	color: #4ade80;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.bm-article-cta-content {
	flex: 1;
}
.bm-article-cta-badge {
	display: inline-block;
	background: rgba(43, 163, 71, 0.25);
	color: #4ade80;
	padding: 3px 10px;
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 10px;
}
.bm-article-cta-title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #ffffff;
	margin: 0 0 8px;
}
.bm-article-cta-desc {
	font-size: 0.95rem;
	color: #cbd5e1;
	line-height: 1.6;
	margin: 0 0 20px;
}
.bm-article-cta-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

/* Tags List */
.bm-single-tags-wrap {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin: 40px 0 24px;
	padding-top: 24px;
	border-top: 1px solid #e2e8f0;
}
.bm-tags-label {
	font-size: 0.85rem;
	font-weight: 700;
	color: #64748b;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.bm-tags-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.bm-tag-pill {
	display: inline-block;
	background: #f1f5f9;
	color: #475569;
	padding: 4px 12px;
	border-radius: 9999px;
	font-size: 0.8rem;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s ease;
}
.bm-tag-pill:hover {
	background: #2ba347;
	color: #ffffff;
}

/* Bottom Share Row */
.bm-bottom-share-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 16px 20px;
	margin-bottom: 40px;
}
.bm-bottom-share-text {
	font-size: 0.9rem;
	font-weight: 600;
	color: #334155;
}
.bm-share-group {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
}
.bm-share-group .bm-share-btn {
	background: #ffffff;
	border-color: #cbd5e1;
	color: #334155;
}

/* Author Box */
.bm-author-box {
	display: flex;
	gap: 22px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 14px;
	padding: 28px;
	margin-bottom: 45px;
}
.bm-author-box-avatar {
	flex-shrink: 0;
}
.bm-author-avatar-img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #e2e8f0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #2ba347;
}
.bm-author-box-info {
	flex: 1;
}
.bm-author-box-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 8px;
}
.bm-author-box-name {
	font-size: 1.2rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 2px;
}
.bm-author-box-role {
	font-size: 0.8rem;
	color: #64748b;
}
.bm-author-services-link {
	font-size: 0.85rem;
	font-weight: 600;
	color: #2ba347;
	text-decoration: none;
}
.bm-author-services-link:hover {
	text-decoration: underline;
}
.bm-author-box-bio {
	font-size: 0.92rem;
	line-height: 1.6;
	color: #475569;
	margin: 0;
}

/* Post Nav Grid */
.bm-post-nav-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-bottom: 50px;
}
.bm-post-nav-card {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 18px 20px;
	text-decoration: none;
	transition: all 0.2s ease;
}
.bm-post-nav-card:hover {
	border-color: #2ba347;
	transform: translateY(-2px);
	box-shadow: 0 6px 16px rgba(15, 23, 42, 0.05);
}
.bm-nav-direction {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #2ba347;
	margin-bottom: 6px;
}
.bm-nav-title {
	font-size: 0.95rem;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.4;
}

/* Related Posts Section */
.bm-related-posts-section {
	margin-top: 40px;
	padding-top: 40px;
	border-top: 1px solid #e2e8f0;
}
.bm-related-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 24px;
}
.bm-related-title {
	font-size: 1.45rem;
	font-weight: 800;
	color: #0f172a;
	margin: 0;
}
.bm-related-all-link {
	font-size: 0.88rem;
	font-weight: 600;
	color: #2ba347;
	text-decoration: none;
}
.bm-related-all-link:hover {
	text-decoration: underline;
}
.bm-related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
.bm-related-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.bm-related-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}
.bm-related-thumb-link {
	display: block;
	height: 140px;
	position: relative;
	background: #0f172a;
}
.bm-related-thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bm-related-thumb-placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #64748b;
}
.bm-related-cat {
	position: absolute;
	bottom: 10px;
	left: 10px;
	background: rgba(15, 23, 42, 0.85);
	color: #38bdf8;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.72rem;
	font-weight: 600;
}
.bm-related-body {
	padding: 16px;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.bm-related-meta {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.75rem;
	color: #64748b;
	margin-bottom: 8px;
}
.bm-related-post-title {
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.4;
	margin: 0;
}
.bm-related-post-title a {
	color: #0f172a;
	text-decoration: none;
	transition: color 0.15s ease;
}
.bm-related-post-title a:hover {
	color: #2ba347;
}

/* Sidebar Styles */
.bm-blog-sidebar-col {
	position: sticky;
	top: 90px;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.bm-sidebar-card {
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12px;
	padding: 22px;
	box-shadow: 0 4px 15px rgba(15, 23, 42, 0.02);
}
.bm-sidebar-title {
	font-size: 1.05rem;
	font-weight: 700;
	color: #0f172a;
	margin: 0 0 16px;
	display: flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 10px;
	border-bottom: 1px solid #f1f5f9;
}
.bm-sidebar-search .bm-search-input-wrap {
	display: flex;
	align-items: center;
	background: #f8fafc;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	padding: 4px 6px 4px 12px;
}
.bm-sidebar-search .bm-search-input {
	border: none;
	background: transparent;
	outline: none;
	width: 100%;
	font-size: 0.9rem;
	color: #0f172a;
}
.bm-sidebar-search .bm-search-btn {
	background: #2ba347;
	border: none;
	color: #ffffff;
	padding: 6px 10px;
	border-radius: 6px;
	cursor: pointer;
	display: flex;
	align-items: center;
}
.bm-sidebar-toc-list {
	list-style: none;
	padding: 0;
	margin: 0;
	max-height: 280px;
	overflow-y: auto;
}
.bm-sidebar-toc-item {
	margin-bottom: 8px;
}
.bm-sidebar-toc-item:last-child {
	margin-bottom: 0;
}
.bm-sidebar-toc-h3 {
	padding-left: 14px;
}
.bm-sidebar-toc-link {
	font-size: 0.88rem;
	color: #475569;
	text-decoration: none;
	line-height: 1.4;
	transition: color 0.15s ease;
}
.bm-sidebar-toc-link:hover {
	color: #2ba347;
	text-decoration: underline;
}

/* Sidebar Consultation Card */
.bm-sidebar-consult-card {
	background: linear-gradient(135deg, #0b1329 0%, #0f172a 100%);
	color: #ffffff;
	border: 1px solid rgba(43, 163, 71, 0.35);
}
.bm-consult-badge {
	display: inline-block;
	background: rgba(43, 163, 71, 0.2);
	color: #4ade80;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	margin-bottom: 10px;
}
.bm-consult-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: #ffffff;
	margin: 0 0 8px;
}
.bm-consult-desc {
	font-size: 0.85rem;
	color: #cbd5e1;
	line-height: 1.5;
	margin: 0 0 14px;
}
.bm-consult-points {
	list-style: none;
	padding: 0;
	margin: 0 0 18px;
}
.bm-consult-points li {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 0.82rem;
	color: #f1f5f9;
	margin-bottom: 6px;
}
.bm-btn-full {
	width: 100%;
	justify-content: center;
	text-align: center;
}
.bm-sidebar-wa-link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-size: 0.82rem;
	font-weight: 600;
	color: #4ade80;
	text-decoration: none;
	margin-top: 10px;
	transition: color 0.2s ease;
}
.bm-sidebar-wa-link:hover {
	color: #86efac;
}

/* Sidebar Popular Articles */
.bm-sidebar-posts-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.bm-sidebar-post-item {
	display: flex;
	gap: 12px;
	text-decoration: none;
	padding-bottom: 12px;
	border-bottom: 1px solid #f1f5f9;
}
.bm-sidebar-post-item:last-child {
	padding-bottom: 0;
	border-bottom: none;
}
.bm-sidebar-post-thumb {
	width: 60px;
	height: 60px;
	border-radius: 6px;
	overflow: hidden;
	flex-shrink: 0;
	background: #0f172a;
}
.bm-sidebar-post-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.bm-sidebar-post-details {
	flex: 1;
}
.bm-sidebar-post-date {
	font-size: 0.72rem;
	color: #94a3b8;
	display: block;
	margin-bottom: 3px;
}
.bm-sidebar-post-heading {
	font-size: 0.86rem;
	font-weight: 600;
	color: #0f172a;
	line-height: 1.35;
	margin: 0;
	transition: color 0.15s ease;
}
.bm-sidebar-post-item:hover .bm-sidebar-post-heading {
	color: #2ba347;
}

/* Sidebar Services Links */
.bm-sidebar-services-list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.bm-sidebar-services-list li {
	margin-bottom: 8px;
}
.bm-sidebar-services-list li:last-child {
	margin-bottom: 0;
}
.bm-sidebar-services-list a {
	display: block;
	font-size: 0.88rem;
	font-weight: 500;
	color: #334155;
	text-decoration: none;
	padding: 6px 10px;
	border-radius: 6px;
	background: #f8fafc;
	transition: all 0.15s ease;
}
.bm-sidebar-services-list a:hover {
	background: #eff6ff;
	color: #1d4ed8;
	padding-left: 14px;
}

/* ==========================================================================
   RESPONSIVE BREAKPOINTS FOR BLOG
   ========================================================================== */

@media (max-width: 1024px) {
	.bm-single-grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.bm-blog-sidebar-col {
		position: static;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
	}
	.bm-featured-spotlight-card {
		grid-template-columns: 1fr;
	}
	.bm-featured-spotlight-img-wrap {
		min-height: 240px;
	}
	.bm-blog-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.bm-bottom-cta-box {
		flex-direction: column;
		text-align: center;
		padding: 40px 30px;
	}
	.bm-bottom-cta-actions {
		flex-direction: row;
	}
}

@media (max-width: 768px) {
	.bm-blog-hero {
		padding: 40px 0 35px;
	}
	.bm-blog-hero-title {
		font-size: 1.85rem;
	}
	.bm-single-title {
		font-size: 1.85rem;
	}
	.bm-blog-grid {
		grid-template-columns: 1fr;
	}
	.bm-blog-sidebar-col {
		grid-template-columns: 1fr;
	}
	.bm-article-cta-box {
		flex-direction: column;
		padding: 24px;
	}
	.bm-author-box {
		flex-direction: column;
		padding: 20px;
	}
	.bm-post-nav-grid {
		grid-template-columns: 1fr;
	}
	.bm-related-grid {
		grid-template-columns: 1fr;
	}
	.bm-bottom-cta-actions {
		flex-direction: column;
		width: 100%;
	}
	.bm-bottom-cta-actions .bm-btn {
		width: 100%;
	}
}



/* ==========================================================================
   PRECISE WHITE TEXT FIXES FOR DARK CONTAINER HEADINGS & BUTTONS
   ========================================================================== */

/* 1. Single Blog Post Header & Breadcrumbs */
.bm-single-header h1,
h1.bm-single-title,
.bm-single-title {
    color: #ffffff !important;
}
.bm-breadcrumbs a,
.bm-breadcrumb-link {
    color: #e2e8f0 !important;
}
.bm-breadcrumbs a:hover,
.bm-breadcrumb-link:hover {
    color: #4ade80 !important;
}
.bm-breadcrumb-sep,
.bm-breadcrumb-current {
    color: #94a3b8 !important;
}
.bm-author-name {
    color: #ffffff !important;
}
.bm-meta-item,
.bm-meta-item span {
    color: #e2e8f0 !important;
}

/* 2. Blog Archive Hero Header */
.bm-blog-hero h1,
h1.bm-blog-hero-title,
.bm-blog-hero-title {
    color: #ffffff !important;
}
.bm-blog-hero-desc {
    color: #cbd5e1 !important;
}
.bm-cat-pill {
    background: #1e293b !important;
    border: 1px solid #334155 !important;
    color: #e2e8f0 !important;
}
.bm-cat-pill:hover,
.bm-cat-pill.is-active {
    background: #2ba347 !important;
    border-color: #2ba347 !important;
    color: #ffffff !important;
}

/* 3. Homepage CTA Card Heading */
.bm-cta-card h2,
.bm-cta-card h1,
.bm-cta-title,
h2.bm-cta-title {
    color: #ffffff !important;
}
.bm-cta-subtitle,
.bm-cta-card p {
    color: #cbd5e1 !important;
}

/* 4. Homepage Stats / Track Record Heading */
.bm-stats-surface h2,
.bm-stats-heading,
h2.bm-stats-heading {
    color: #ffffff !important;
}
.bm-stats-subtext,
.bm-stats-surface p {
    color: #cbd5e1 !important;
}
.bm-stat-title,
strong.bm-stat-title {
    color: #ffffff !important;
}

/* 5. Homepage Why Cards Headings */
.bm-why-card h3,
.bm-why-title,
h3.bm-why-title {
    color: #ffffff !important;
}
.bm-why-card p,
.bm-why-desc {
    color: #cbd5e1 !important;
}

/* 6. Service Pages & Custom Management Lead Form Heading */
.bm-lead-heading,
.bm-lead-info h2,
h2.bm-lead-heading {
    color: #ffffff !important;
}
.bm-lead-subtext,
.bm-lead-info p {
    color: #cbd5e1 !important;
}

/* 7. Blog Bottom CTA Banner Heading & Buttons */
.bm-bottom-cta-box h2,
.bm-bottom-cta-title,
h2.bm-bottom-cta-title {
    color: #ffffff !important;
}
.bm-bottom-cta-box p,
.bm-bottom-cta-desc {
    color: #cbd5e1 !important;
}
.bm-bottom-cta-actions .bm-btn-primary,
.bm-bottom-cta-box .bm-btn-primary,
.bm-article-cta-actions .bm-btn-primary {
    background-color: #2ba347 !important;
    border: 2px solid #2ba347 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}
.bm-bottom-cta-actions .bm-btn-outline-green,
.bm-bottom-cta-box .bm-btn-outline-green,
.bm-article-cta-actions .bm-btn-outline-green {
    background-color: #25d366 !important;
    border: 2px solid #25d366 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
}

/* 8. Single Post Share Buttons */
.bm-top-share-bar .bm-share-whatsapp {
    background: #16a34a !important;
    color: #ffffff !important;
}
.bm-top-share-bar .bm-share-linkedin {
    background: #0284c7 !important;
    color: #ffffff !important;
}
.bm-top-share-bar .bm-share-twitter {
    background: #1e293b !important;
    border: 1px solid #475569 !important;
    color: #ffffff !important;
}
.bm-top-share-bar .bm-share-copy {
    background: #2ba347 !important;
    color: #ffffff !important;
}



/* ==========================================================================
   HIDE RECAPTCHA BADGE & ERROR OVERLAYS FROM ALL PAGES
   ========================================================================== */
.grecaptcha-badge,
div.grecaptcha-badge,
iframe[src*='google.com/recaptcha'],
iframe[title*='reCAPTCHA'],
div[style*='visibility: visible'][style*='position: fixed'][style*='bottom: 0px'],
div[style*='z-index: 2000000000'] {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

/* ==========================================================================
   INDUSTRY PAGES & DIRECTORY HUB STYLING
   ========================================================================== */
.bm-industry-page-wrapper,
.bm-industries-hub-wrapper {
    background: #ffffff;
    color: #334155;
    font-family: var(--bm-font-body, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
}

/* Breadcrumbs */
.bm-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    margin-bottom: 24px;
    color: #94a3b8;
}
.bm-breadcrumb-link {
    color: #94a3b8;
    text-decoration: none;
    transition: color 0.2s ease;
}
.bm-breadcrumb-link:hover {
    color: #2ba347;
}
.bm-breadcrumb-sep {
    color: #64748b;
}
.bm-breadcrumb-current {
    color: #ffffff;
    font-weight: 600;
}

/* Hero Section */
.bm-industry-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    position: relative;
    border-bottom: 1px solid #1e293b;
}
.bm-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: center;
}
.bm-hero-content {
    display: flex;
    flex-direction: column;
}
.bm-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(43, 163, 71, 0.12);
    border: 1px solid rgba(43, 163, 71, 0.3);
    color: #4ade80;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 6px 14px;
    border-radius: 9999px;
    margin-bottom: 20px;
    align-self: flex-start;
}
.bm-hero-dot {
    width: 6px;
    height: 6px;
    background: #4ade80;
    border-radius: 50%;
}
.bm-industry-hero .bm-hero-title {
    color: #ffffff !important;
    font-size: 40px;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: -0.02em;
}
.bm-industry-hero .bm-hero-subtext {
    color: #cbd5e1;
    font-size: 17px;
    line-height: 1.65;
    margin-bottom: 32px;
}
.bm-hero-actions {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    margin-bottom: 36px;
}
.bm-btn-cta-primary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #2ba347;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 28px;
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.25s ease;
    box-shadow: 0 4px 14px rgba(43, 163, 71, 0.35);
}
.bm-btn-cta-primary:hover {
    background: #238639;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(43, 163, 71, 0.45);
}
.bm-btn-cta-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #25d366;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 15px;
    padding: 14px 24px;
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.25s ease;
}
.bm-btn-cta-whatsapp:hover {
    background: #1ebc59;
    transform: translateY(-2px);
}
.bm-hero-trust-badges {
    display: flex;
    gap: 28px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.bm-badge-item {
    display: flex;
    flex-direction: column;
}
.bm-badge-item strong {
    color: #4ade80;
    font-size: 20px;
    font-weight: 800;
}
.bm-badge-item span {
    color: #94a3b8;
    font-size: 12px;
    font-weight: 500;
}

/* Interactive Dashboard Preview Mockup */
.bm-mockup-window {
    background: #0b1120;
    border: 1px solid #1e293b;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.45);
}
.bm-window-bar {
    background: #1e293b;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.bm-window-title {
    color: #94a3b8;
    font-size: 11px;
    font-weight: 600;
    margin-left: 8px;
}
.bm-window-content {
    display: grid;
    grid-template-columns: 140px 1fr;
    min-height: 240px;
}
.bm-mockup-sidebar {
    background: #0f172a;
    border-right: 1px solid #1e293b;
    padding: 14px 8px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.bm-mside-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    color: #94a3b8;
    cursor: default;
}
.bm-mside-item.is-active {
    background: rgba(43, 163, 71, 0.15);
    color: #4ade80;
}
.bm-mockup-main {
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    background: #090e17;
}
.bm-mockup-stat-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}
.bm-mstat-pill {
    background: #0f172a;
    border: 1px solid #1e293b;
    padding: 8px 10px;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
}
.bm-mstat-pill .bm-mstat-label {
    font-size: 9.5px;
    color: #64748b;
    text-transform: uppercase;
    font-weight: 700;
}
.bm-mstat-pill .bm-mstat-val {
    font-size: 13px;
    color: #f1f5f9;
    font-weight: 700;
    margin-top: 2px;
}
.bm-mockup-chart-box {
    background: #0f172a;
    border: 1px solid #1e293b;
    padding: 12px;
    border-radius: 6px;
    flex: 1;
}
.bm-mchart-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    font-weight: 600;
    color: #cbd5e1;
    margin-bottom: 12px;
}
.bm-live-indicator {
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
    font-size: 9px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
}
.bm-mchart-bars {
    display: flex;
    align-items: flex-end;
    gap: 8px;
    height: 60px;
}
.bm-mbar {
    flex: 1;
    background: #2ba347;
    border-radius: 3px 3px 0 0;
    opacity: 0.85;
}

/* Sections Global Structure */
.bm-section {
    padding: 80px 0;
}
.bm-section-header {
    margin-bottom: 48px;
}
.bm-text-center {
    text-align: center;
}
.bm-section-eyebrow {
    display: inline-block;
    color: #2ba347;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}
.bm-section-title {
    color: #0f172a !important;
    font-size: 32px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 12px;
}
.bm-section-desc {
    color: #64748b;
    font-size: 16px;
    max-width: 680px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Problem Cards */
.bm-problem-section {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
.bm-problem-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.bm-problem-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-top: 3px solid #ef4444;
    padding: 32px 24px;
    border-radius: 10px;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.04);
}
.bm-prob-icon {
    margin-bottom: 16px;
}
.bm-prob-title {
    color: #0f172a !important;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}
.bm-prob-desc {
    color: #64748b;
    font-size: 14.5px;
    line-height: 1.6;
    margin: 0;
}

/* Modules & Features Grid */
.bm-features-section {
    background: #ffffff;
}
.bm-features-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.bm-feat-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 32px 28px;
    border-radius: 12px;
    transition: all 0.25s ease;
}
.bm-feat-card:hover {
    transform: translateY(-4px);
    border-color: #2ba347;
    box-shadow: 0 12px 24px -4px rgba(0, 0, 0, 0.08);
}
.bm-feat-icon-box {
    width: 48px;
    height: 48px;
    background: rgba(43, 163, 71, 0.1);
    color: #2ba347;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.bm-feat-title {
    color: #0f172a !important;
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 10px;
}
.bm-feat-desc {
    color: #64748b;
    font-size: 14.5px;
    line-height: 1.6;
    margin: 0;
}

/* Workflow Lifecycle Timeline */
.bm-process-section {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}
.bm-process-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.bm-process-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 28px 20px;
    border-radius: 10px;
    position: relative;
}
.bm-process-step-num {
    display: inline-block;
    color: #2ba347;
    font-size: 13px;
    font-weight: 800;
    background: rgba(43, 163, 71, 0.1);
    padding: 4px 10px;
    border-radius: 6px;
    margin-bottom: 14px;
}
.bm-process-card-title {
    color: #0f172a !important;
    font-size: 16.5px;
    font-weight: 700;
    margin-bottom: 8px;
}
.bm-process-card-desc {
    color: #64748b;
    font-size: 13.5px;
    line-height: 1.55;
    margin: 0;
}

/* Tech & Compliance Section */
.bm-tech-section {
    background: #0f172a;
    color: #ffffff;
}
.bm-tech-section .bm-section-title {
    color: #ffffff !important;
}
.bm-tech-section .bm-section-desc {
    color: #94a3b8;
}
.bm-eyebrow-accent {
    color: #4ade80 !important;
}
.bm-tech-layout {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
}
.bm-tech-column {
    background: #1e293b;
    border: 1px solid #334155;
    padding: 36px 32px;
    border-radius: 12px;
}
.bm-tech-col-title {
    color: #ffffff !important;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid #334155;
}
.bm-tech-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.bm-tpill {
    background: #0f172a;
    border: 1px solid #475569;
    color: #cbd5e1;
    font-size: 13.5px;
    font-weight: 600;
    padding: 8px 16px;
    border-radius: 9999px;
}
.bm-compliance-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.bm-compliance-item {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #e2e8f0;
    font-size: 14.5px;
    font-weight: 600;
}

/* Case Study Card */
.bm-case-studies-section {
    background: #ffffff;
}
.bm-case-study-hero-card {
    background: #0f172a;
    border: 1px solid #1e293b;
    border-radius: 16px;
    padding: 48px;
    color: #ffffff;
}
.bm-cs-badge {
    display: inline-block;
    background: rgba(74, 222, 128, 0.15);
    color: #4ade80;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 4px 12px;
    border-radius: 9999px;
    margin-bottom: 16px;
}
.bm-cs-title {
    color: #ffffff !important;
    font-size: 26px;
    font-weight: 800;
    margin-bottom: 28px;
}
.bm-cs-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin-bottom: 28px;
}
.bm-cs-challenge-box,
.bm-cs-solution-box {
    background: #1e293b;
    padding: 24px;
    border-radius: 10px;
}
.bm-cs-label {
    display: block;
    font-size: 12px;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 8px;
}
.bm-cs-challenge-box p,
.bm-cs-solution-box p {
    color: #cbd5e1;
    font-size: 14.5px;
    line-height: 1.6;
    margin: 0;
}
.bm-cs-results-row {
    border-top: 1px solid #334155;
    padding-top: 24px;
}
.bm-cs-res-heading {
    display: block;
    color: #4ade80;
    font-size: 13px;
    text-transform: uppercase;
    margin-bottom: 14px;
}
.bm-cs-results-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}
.bm-cs-results-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #f1f5f9;
    font-size: 14px;
    line-height: 1.5;
}

/* FAQ Accordion */
.bm-faq-section {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}
.bm-faq-accordion {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.bm-faq-item {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow: hidden;
    transition: border-color 0.2s ease;
}
.bm-faq-item.bm-faq-active {
    border-color: #2ba347;
}
.bm-faq-question {
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    padding: 20px 24px;
    font-size: 16.5px;
    font-weight: 700;
    color: #0f172a;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}
.bm-faq-toggle-icon {
    width: 16px;
    height: 16px;
    position: relative;
    flex-shrink: 0;
}
.bm-faq-toggle-icon::before,
.bm-faq-toggle-icon::after {
    content: '';
    position: absolute;
    background: #64748b;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.bm-faq-toggle-icon::before {
    width: 14px;
    height: 2px;
}
.bm-faq-toggle-icon::after {
    width: 2px;
    height: 14px;
    transition: transform 0.2s ease;
}
.bm-faq-active .bm-faq-toggle-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
    opacity: 0;
}
.bm-faq-answer {
    display: none;
    padding: 0 24px 20px;
    color: #64748b;
    font-size: 15px;
    line-height: 1.65;
}
.bm-faq-active .bm-faq-answer {
    display: block;
}

/* Consultation Lead Capture */
.bm-lead-capture-section {
    background: #0f172a;
    color: #ffffff;
}
.bm-lead-wrapper {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 60px;
    align-items: center;
}
.bm-lead-heading {
    color: #ffffff !important;
    font-size: 34px;
    font-weight: 800;
    line-height: 1.25;
    margin-bottom: 16px;
}
.bm-lead-subtext {
    color: #94a3b8;
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 28px;
}
.bm-reassurance {
    display: flex;
    gap: 12px;
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 600;
    margin-top: 24px;
}
.bm-lead-form-box {
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 16px;
    padding: 40px;
}
.bm-form-title {
    color: #ffffff !important;
    font-size: 22px;
    font-weight: 800;
    margin-bottom: 6px;
}
.bm-form-subtitle {
    color: #94a3b8;
    font-size: 13.5px;
    margin-bottom: 24px;
}
.bm-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.bm-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.bm-form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.bm-form-group label {
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 600;
}
.bm-req {
    color: #ef4444;
}
.bm-form-group input,
.bm-form-group textarea {
    background: #0f172a;
    border: 1px solid #475569;
    color: #ffffff;
    padding: 12px 14px;
    border-radius: 8px;
    font-size: 14px;
    font-family: inherit;
    outline: none;
    transition: border-color 0.2s ease;
}
.bm-form-group input:focus,
.bm-form-group textarea:focus {
    border-color: #2ba347;
}
.bm-radio-group {
    display: flex;
    gap: 20px;
    margin-top: 4px;
}
.bm-radio-label {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #cbd5e1;
    cursor: pointer;
}
.bm-btn-form-submit {
    background: #2ba347;
    color: #ffffff !important;
    border: none;
    padding: 14px;
    font-size: 14.5px;
    font-weight: 800;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 8px;
    transition: background 0.2s ease;
}
.bm-btn-form-submit:hover {
    background: #238639;
}
.bm-form-success-msg {
    background: rgba(43, 163, 71, 0.15);
    border: 1px solid #2ba347;
    color: #ffffff;
    padding: 16px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.bm-success-icon {
    width: 28px;
    height: 28px;
    background: #2ba347;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
}

/* Related Industries Bar */
.bm-related-services-bar {
    background: #090e17;
    border-top: 1px solid #1e293b;
    padding: 24px 0;
}
.bm-related-bar-inner {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.bm-rel-label {
    color: #94a3b8;
    font-size: 13.5px;
}
.bm-rel-links {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.bm-rel-pill {
    background: #1e293b;
    border: 1px solid #334155;
    color: #cbd5e1 !important;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.bm-rel-pill:hover {
    background: #2ba347;
    border-color: #2ba347;
    color: #ffffff !important;
}

/* Responsive Rules */
@media (max-width: 991px) {
    .bm-hero-grid,
    .bm-lead-wrapper,
    .bm-tech-layout,
    .bm-cs-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }
    .bm-features-grid,
    .bm-problem-grid,
    .bm-cs-results-list {
        grid-template-columns: 1fr 1fr;
    }
    .bm-process-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 768px) {
    .bm-industry-hero .bm-hero-title {
        font-size: 28px;
    }
    .bm-features-grid,
    .bm-problem-grid,
    .bm-process-grid,
    .bm-cs-results-list {
        grid-template-columns: 1fr;
    }
    .bm-form-row {
        grid-template-columns: 1fr;
    }
    .bm-lead-form-box {
        padding: 24px;
    }
}



/* ==========================================================================
   REDESIGNED PAGES UNIQUE STYLES
   ========================================================================== */

/* Universal Dark Hero Surface Rules */
.bm-hero-section,
.bm-about-hero,
.bm-contact-hero,
.bm-portfolio-hero,
.bm-products-hero,
.bm-pricing-hero,
.bm-careers-hero,
.bm-team-hero,
.bm-reviews-hero,
.bm-events-hero,
.bm-legal-hero,
.bm-course-hero,
.bm-courses-hero,
.bm-edtech-hero,
.bm-local-hero,
.bm-industry-hero,
.bm-srv-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%) !important;
    color: #e2e8f0;
    position: relative;
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}

.bm-hero-section h1,
.bm-about-hero h1,
.bm-contact-hero h1,
.bm-portfolio-hero h1,
.bm-products-hero h1,
.bm-pricing-hero h1,
.bm-careers-hero h1,
.bm-team-hero h1,
.bm-reviews-hero h1,
.bm-events-hero h1,
.bm-legal-hero h1,
.bm-course-hero h1,
.bm-courses-hero h1,
.bm-edtech-hero h1,
.bm-local-hero h1,
.bm-industry-hero h1,
.bm-srv-hero h1,
.bm-contact-hero .bm-hero-title,
.bm-about-hero .bm-hero-title,
.bm-hero-title {
    color: #ffffff !important;
}

.bm-hero-section .bm-hero-subtext,
.bm-about-hero .bm-hero-subtext,
.bm-contact-hero .bm-hero-subtext,
.bm-portfolio-hero .bm-hero-subtext,
.bm-products-hero .bm-hero-subtext,
.bm-pricing-hero .bm-hero-subtext,
.bm-careers-hero .bm-hero-subtext,
.bm-team-hero .bm-hero-subtext,
.bm-reviews-hero .bm-hero-subtext,
.bm-events-hero .bm-hero-subtext,
.bm-legal-hero .bm-hero-subtext,
.bm-course-hero .bm-hero-subtext,
.bm-courses-hero .bm-hero-subtext,
.bm-edtech-hero .bm-hero-subtext,
.bm-local-hero .bm-hero-subtext,
.bm-industry-hero .bm-hero-subtext,
.bm-srv-hero .bm-hero-subtext,
.bm-hero-subtext,
.bm-hero-subtitle {
    color: #94a3b8 !important;
}

.bm-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bm-font-heading);
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #4ade80 !important;
    margin-bottom: 14px;
}
.bm-hero-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #4ade80;
    box-shadow: 0 0 0 3px rgba(74, 222, 128, 0.25);
    display: inline-block;
}

.bm-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    margin-bottom: 24px;
}
.bm-breadcrumb-link {
    color: #94a3b8 !important;
    text-decoration: none;
    transition: color 0.2s ease;
}
.bm-breadcrumb-link:hover {
    color: #4ade80 !important;
}
.bm-breadcrumb-sep {
    color: #475569 !important;
}
.bm-breadcrumb-current {
    color: #ffffff !important;
    font-weight: 600;
}

/* 1. About Us Page Styles */
.bm-about-page .bm-about-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-about-hero-grid {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 48px;
    align-items: center;
}
.bm-about-stats-card {
    background: #0f172a;
    border: 1px solid #1e293b;
    border-radius: 16px;
    padding: 32px;
    box-shadow: 0 20px 40px rgba(0,0,0,0.35);
}
.bm-astat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.bm-astat-item {
    display: flex;
    flex-direction: column;
}
.bm-astat-num {
    font-size: 32px;
    font-weight: 800;
    color: #4ade80;
    line-height: 1.1;
    margin-bottom: 6px;
}
.bm-astat-lbl {
    font-size: 12.5px;
    color: #94a3b8;
    font-weight: 600;
}
.bm-astat-footer {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid #1e293b;
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: #cbd5e1;
    font-weight: 600;
}

/* Philosophy Section */
.bm-philosophy-section {
    background: #ffffff;
}
.bm-philosophy-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 28px;
}
.bm-phil-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 32px 24px;
    border-radius: 12px;
    transition: transform 0.25s ease, border-color 0.25s ease;
}
.bm-phil-card:hover {
    transform: translateY(-4px);
    border-color: #2ba347;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05);
}
.bm-phil-icon {
    width: 52px;
    height: 52px;
    background: rgba(43, 163, 71, 0.1);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}
.bm-phil-title {
    color: #0f172a !important;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
}
.bm-phil-desc {
    color: #64748b;
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
}

/* Timeline Evolution */
.bm-timeline-section {
    background: #f8fafc;
    border-top: 1px solid #e2e8f0;
    border-bottom: 1px solid #e2e8f0;
}
.bm-journey-timeline {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.bm-journey-item {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 32px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 28px 32px;
    border-radius: 12px;
    align-items: center;
}
.bm-journey-year {
    font-size: 20px;
    font-weight: 800;
    color: #2ba347;
    background: rgba(43, 163, 71, 0.1);
    padding: 10px 16px;
    border-radius: 8px;
    text-align: center;
}
.bm-journey-heading {
    color: #0f172a !important;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 6px;
}
.bm-journey-content p {
    color: #64748b;
    font-size: 14.5px;
    line-height: 1.55;
    margin: 0;
}

/* Values Grid */
.bm-values-section {
    background: #ffffff;
}
.bm-values-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.bm-val-box {
    background: #0f172a;
    border: 1px solid #1e293b;
    padding: 36px 30px;
    border-radius: 12px;
    color: #ffffff;
}
.bm-val-num {
    font-size: 14px;
    font-weight: 800;
    color: #4ade80;
    background: rgba(74, 222, 128, 0.15);
    padding: 4px 10px;
    border-radius: 6px;
    display: inline-block;
    margin-bottom: 16px;
}
.bm-val-title {
    color: #ffffff !important;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 12px;
}
.bm-val-desc {
    color: #94a3b8;
    font-size: 14.5px;
    line-height: 1.6;
    margin: 0;
}

/* Universal About CTA Banner */
.bm-about-cta-section {
    background: #090e17;
    border-top: 1px solid #1e293b;
}
.bm-about-cta-box {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    padding: 30px 20px;
}
.bm-acta-title {
    color: #ffffff !important;
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 14px;
}
.bm-acta-desc {
    color: #94a3b8;
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 28px;
}
.bm-acta-buttons {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}

/* 2. Contact Page Styles */
.bm-contact-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-contact-layout-grid {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 48px;
    align-items: flex-start;
}
.bm-contact-left-info {
    display: flex;
    flex-direction: column;
}
.bm-contact-cards-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin: 28px 0;
}
.bm-cinfo-card {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #0f172a;
    border: 1px solid #1e293b;
    padding: 16px 20px;
    border-radius: 10px;
    transition: border-color 0.2s ease;
}
.bm-cinfo-card:hover {
    border-color: #2ba347;
}
.bm-cinfo-icon {
    width: 44px;
    height: 44px;
    background: rgba(43, 163, 71, 0.12);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bm-cinfo-text {
    display: flex;
    flex-direction: column;
}
.bm-cinfo-text strong {
    font-size: 11.5px;
    color: #4ade80 !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 2px;
}
.bm-cinfo-text a, .bm-cinfo-text span {
    color: #ffffff !important;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
}
.bm-cinfo-text a:hover {
    color: #4ade80 !important;
}

/* Contact Form Card */
.bm-cform-card {
    background: #1e293b;
    border: 1px solid #334155;
    border-radius: 16px;
    padding: 36px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}
.bm-cform-heading {
    color: #ffffff !important;
    font-size: 24px;
    font-weight: 800;
    margin-bottom: 6px;
}
.bm-cform-sub {
    color: #94a3b8 !important;
    font-size: 13.5px;
    margin-bottom: 24px;
    line-height: 1.5;
}

/* Form Elements */
.bm-cform-card .bm-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
    margin-bottom: 14px;
}
.bm-cform-card .bm-form-group {
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
}
.bm-cform-card label,
.bm-form-group label {
    font-size: 13px;
    font-weight: 600;
    color: #e2e8f0 !important;
    margin-bottom: 6px;
    display: block;
}
.bm-req {
    color: #f87171 !important;
}
.bm-cform-card input[type="text"],
.bm-cform-card input[type="email"],
.bm-cform-card input[type="tel"],
.bm-cform-card textarea,
.bm-form-group input,
.bm-form-group textarea {
    width: 100% !important;
    background: #0f172a !important;
    border: 1px solid #334155 !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    border-radius: 8px !important;
    font-size: 14px !important;
    font-family: inherit;
    box-sizing: border-box !important;
    outline: none !important;
    transition: all 0.2s ease;
}
.bm-cform-card input:focus,
.bm-cform-card textarea:focus,
.bm-form-group input:focus,
.bm-form-group textarea:focus {
    border-color: #2ba347 !important;
    box-shadow: 0 0 0 3px rgba(43, 163, 71, 0.2) !important;
    background: #090e17 !important;
}
.bm-cform-card input::placeholder,
.bm-cform-card textarea::placeholder,
.bm-form-group input::placeholder,
.bm-form-group textarea::placeholder {
    color: #64748b !important;
}
.bm-service-check-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-top: 6px;
    margin-bottom: 4px;
}
.bm-scheck {
    display: flex;
    align-items: center;
    gap: 8px;
    background: #0f172a;
    border: 1px solid #334155;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 12px;
    color: #cbd5e1 !important;
    cursor: pointer;
    transition: all 0.2s ease;
}
.bm-scheck:hover {
    border-color: #2ba347;
    background: #162032;
    color: #ffffff !important;
}
.bm-scheck input[type="checkbox"] {
    accent-color: #2ba347;
    width: 15px;
    height: 15px;
    margin: 0;
    cursor: pointer;
}
.bm-btn-form-submit {
    width: 100%;
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #2ba347 !important;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 15px;
    padding: 13px 24px;
    border-radius: 9999px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}
.bm-btn-form-submit:hover {
    background: #22883a !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(43, 163, 71, 0.3);
}
.bm-btn-cta-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #25D366;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 14.5px;
    padding: 13px 24px;
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.bm-btn-cta-whatsapp:hover {
    background: #1ebd5a;
    transform: translateY(-2px);
}
.bm-form-success-msg {
    margin-top: 16px;
    padding: 16px;
    background: rgba(43, 163, 71, 0.15);
    border: 1px solid #2ba347;
    border-radius: 8px;
    color: #ffffff;
    display: flex;
    align-items: center;
    gap: 12px;
}
.bm-form-success-msg p {
    margin: 0;
    color: #ffffff !important;
    font-size: 13.5px;
    line-height: 1.5;
}
.bm-success-icon {
    width: 28px;
    height: 28px;
    background: #2ba347;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    flex-shrink: 0;
}

/* Next Steps & Dept Contacts Sections */
.bm-next-steps-section {
    background: #f8fafc;
    border-bottom: 1px solid #e2e8f0;
}
.bm-next-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.bm-next-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 32px 24px;
    border-radius: 12px;
    position: relative;
}
.bm-next-num {
    font-size: 14px;
    font-weight: 800;
    color: #2ba347;
    background: rgba(43, 163, 71, 0.1);
    padding: 4px 10px;
    border-radius: 6px;
    display: inline-block;
    margin-bottom: 12px;
}
.bm-next-title {
    color: #0f172a !important;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 4px;
}
.bm-next-time {
    display: block;
    color: #2ba347;
    font-size: 12.5px;
    font-weight: 700;
    margin-bottom: 10px;
}
.bm-next-desc {
    color: #64748b !important;
    font-size: 14px;
    line-height: 1.55;
    margin: 0;
}
.bm-depts-section {
    background: #ffffff;
}
.bm-depts-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 28px;
}
.bm-dept-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 28px 24px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
}
.bm-dept-title {
    color: #0f172a !important;
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 8px;
}
.bm-dept-desc {
    color: #64748b !important;
    font-size: 13.5px;
    line-height: 1.5;
    margin-bottom: 16px;
    flex: 1;
}
.bm-dept-link {
    color: #2ba347;
    font-size: 13.5px;
    font-weight: 700;
    text-decoration: none;
}

/* 3. Portfolio Page Styles */
.bm-portfolio-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-portfolio-filter-bar {
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 40px;
}
.bm-filter-btn {
    background: #f1f5f9;
    border: 1px solid #cbd5e1;
    color: #334155;
    font-size: 13.5px;
    font-weight: 700;
    padding: 8px 18px;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.2s ease;
}
.bm-filter-btn.is-active, .bm-filter-btn:hover {
    background: #2ba347;
    color: #ffffff;
    border-color: #2ba347;
}
.bm-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.bm-port-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 28px;
    display: flex;
    flex-direction: column;
    transition: all 0.25s ease;
}
.bm-port-card:hover {
    transform: translateY(-4px);
    border-color: #2ba347;
    box-shadow: 0 12px 24px rgba(0,0,0,0.07);
}
.bm-port-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}
.bm-port-tag {
    font-size: 11px;
    font-weight: 800;
    color: #2ba347;
    background: rgba(43, 163, 71, 0.1);
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}
.bm-port-status {
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
}
.bm-port-title {
    color: #0f172a !important;
    font-size: 19px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.3;
}
.bm-port-desc {
    color: #64748b;
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 20px;
    flex: 1;
}
.bm-port-metrics-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 18px;
    text-align: center;
}
.bm-pmetric strong {
    display: block;
    color: #2ba347;
    font-size: 16px;
    font-weight: 800;
}
.bm-pmetric span {
    font-size: 10.5px;
    color: #64748b;
    font-weight: 600;
}
.bm-port-tech-stack {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.bm-port-tech-stack span {
    font-size: 11px;
    font-weight: 600;
    color: #475569;
    background: #f1f5f9;
    padding: 2px 8px;
    border-radius: 4px;
}

/* 4. Products Page Styles */
.bm-products-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-prod-showcase-list {
    display: flex;
    flex-direction: column;
    gap: 48px;
}
.bm-prod-item-card {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 48px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}
.bm-pitem-badge {
    display: inline-block;
    color: #2ba347;
    font-size: 11.5px;
    font-weight: 800;
    text-transform: uppercase;
    background: rgba(43, 163, 71, 0.1);
    padding: 4px 10px;
    border-radius: 9999px;
    margin-bottom: 12px;
}
.bm-pitem-title {
    color: #0f172a !important;
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 6px;
}
.bm-pitem-tagline {
    color: #2ba347;
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 14px;
}
.bm-pitem-desc {
    color: #64748b;
    font-size: 15px;
    line-height: 1.6;
    margin-bottom: 20px;
}
.bm-pitem-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 28px;
}
.bm-pf-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #334155;
    font-size: 13.5px;
    font-weight: 600;
}

/* 5. Pricing Page Styles */
.bm-pricing-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-pricing-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    align-items: stretch;
}
.bm-price-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.25s ease;
}
.bm-price-card.is-featured {
    border-color: #2ba347;
    box-shadow: 0 16px 36px rgba(43, 163, 71, 0.12);
    transform: scale(1.03);
}
.bm-pcard-featured-tag {
    position: absolute;
    top: -14px;
    left: 50%;
    transform: translateX(-50%);
    background: #2ba347;
    color: #ffffff;
    font-size: 10.5px;
    font-weight: 800;
    text-transform: uppercase;
    padding: 4px 14px;
    border-radius: 9999px;
    letter-spacing: 0.06em;
}
.bm-pcard-badge {
    font-size: 11px;
    font-weight: 800;
    color: #2ba347;
    text-transform: uppercase;
}
.bm-pcard-title {
    color: #0f172a !important;
    font-size: 22px;
    font-weight: 800;
    margin: 8px 0;
}
.bm-pcard-desc {
    color: #64748b;
    font-size: 13.5px;
    line-height: 1.5;
    margin-bottom: 20px;
}
.bm-pcard-pricing {
    border-top: 1px solid #f1f5f9;
    border-bottom: 1px solid #f1f5f9;
    padding: 16px 0;
    margin-bottom: 24px;
}
.bm-pcard-amount {
    display: block;
    font-size: 26px;
    font-weight: 800;
    color: #0f172a;
}
.bm-pcard-period {
    font-size: 12.5px;
    color: #64748b;
    font-weight: 600;
}
.bm-pcard-list {
    list-style: none;
    padding: 0;
    margin: 0 0 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
}
.bm-pcard-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: #334155;
    font-size: 13.5px;
    line-height: 1.45;
}

/* 6. Careers Page Styles */
.bm-careers-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-culture-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.bm-culture-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 28px 20px;
    border-radius: 10px;
    text-align: center;
}
.bm-ccard-icon {
    font-size: 32px;
    margin-bottom: 12px;
}
.bm-ccard-title {
    color: #0f172a !important;
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 8px;
}
.bm-ccard-desc {
    color: #64748b;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}
.bm-jobs-list {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.bm-job-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 28px 32px;
    border-radius: 12px;
    transition: border-color 0.2s ease;
}
.bm-job-card:hover {
    border-color: #2ba347;
}
.bm-job-meta {
    display: flex;
    gap: 10px;
    margin-bottom: 8px;
}
.bm-job-dept {
    background: rgba(43, 163, 71, 0.1);
    color: #2ba347;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
}
.bm-job-type, .bm-job-loc {
    color: #64748b;
    font-size: 11.5px;
    font-weight: 600;
}
.bm-job-title {
    color: #0f172a !important;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 6px;
}
.bm-job-summary {
    color: #64748b;
    font-size: 13.5px;
    margin: 0;
}

/* 7. Team Page Styles */
.bm-team-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-leadership-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
}
.bm-leader-card {
    display: flex;
    gap: 24px;
    background: #0f172a;
    border: 1px solid #1e293b;
    padding: 32px;
    border-radius: 12px;
    color: #ffffff;
}
.bm-lcard-avatar {
    width: 64px;
    height: 64px;
    background: #2ba347;
    color: #ffffff;
    font-size: 24px;
    font-weight: 800;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.bm-lcard-name {
    color: #ffffff !important;
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 4px;
}
.bm-lcard-role {
    display: block;
    color: #4ade80;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 12px;
}
.bm-lcard-bio {
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.55;
    margin-bottom: 16px;
}
.bm-lcard-skills {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.bm-lcard-skills span {
    font-size: 11px;
    background: #1e293b;
    border: 1px solid #334155;
    color: #cbd5e1;
    padding: 2px 8px;
    border-radius: 4px;
}

/* 8. Reviews Page Styles */
.bm-reviews-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-reviews-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
}
.bm-review-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 36px 28px;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
}
.bm-rev-stars {
    color: #f59e0b;
    font-size: 18px;
    margin-bottom: 14px;
}
.bm-rev-quote {
    color: #334155;
    font-size: 14.5px;
    line-height: 1.65;
    font-style: italic;
    margin-bottom: 24px;
    flex: 1;
}
.bm-rev-author strong {
    display: block;
    color: #0f172a;
    font-size: 15px;
}
.bm-rev-author span {
    font-size: 12.5px;
    color: #64748b;
}
.bm-security-section {
    background: #0f172a;
    color: #ffffff;
}
.bm-security-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
}
.bm-sec-card {
    background: #1e293b;
    border: 1px solid #334155;
    padding: 28px 20px;
    border-radius: 10px;
}
.bm-sec-icon {
    font-size: 28px;
    margin-bottom: 12px;
}
.bm-sec-title {
    color: #ffffff !important;
    font-size: 17px;
    font-weight: 700;
    margin-bottom: 8px;
}
.bm-sec-desc {
    color: #94a3b8;
    font-size: 13px;
    line-height: 1.5;
    margin: 0;
}

/* 9. Events Page Styles */
.bm-events-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-events-list {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.bm-event-card {
    display: grid;
    grid-template-columns: 90px 1fr auto;
    gap: 28px;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 28px;
    border-radius: 12px;
    align-items: center;
}
.bm-event-date-col {
    background: #0f172a;
    color: #ffffff;
    border-radius: 10px;
    padding: 12px 8px;
    text-align: center;
    display: flex;
    flex-direction: column;
}
.bm-edate-day {
    font-size: 24px;
    font-weight: 800;
    color: #4ade80;
    line-height: 1.1;
}
.bm-edate-month {
    font-size: 12px;
    font-weight: 700;
    color: #ffffff;
}
.bm-edate-year {
    font-size: 10px;
    color: #94a3b8;
}
.bm-event-tags {
    display: flex;
    gap: 8px;
    margin-bottom: 6px;
}
.bm-etag-cat {
    background: rgba(43, 163, 71, 0.1);
    color: #2ba347;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
}
.bm-etag-type {
    color: #64748b;
    font-size: 11.5px;
    font-weight: 600;
}
.bm-event-title {
    color: #0f172a !important;
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 6px;
}
.bm-event-desc {
    color: #64748b;
    font-size: 13.5px;
    line-height: 1.5;
    margin-bottom: 10px;
}
.bm-event-speakers span {
    font-size: 12px;
    color: #334155;
    font-weight: 600;
}

/* 10. Legal & FAQ Document Reader */
.bm-legal-hero {
    background: linear-gradient(135deg, #090e17 0%, #0f172a 100%);
    padding: 60px 0 80px;
    border-bottom: 1px solid #1e293b;
}
.bm-legal-paper {
    max-width: 860px;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 48px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.03);
}
.bm-legal-paper h2 {
    color: #0f172a !important;
    font-size: 20px;
    font-weight: 800;
    margin-top: 28px;
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid #f1f5f9;
}
.bm-legal-paper h2:first-child {
    margin-top: 0;
}
.bm-legal-paper p {
    color: #475569;
    font-size: 15px;
    line-height: 1.7;
    margin-bottom: 16px;
}

/* Universal Button Extras */
.bm-btn-cta-secondary {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #1e293b;
    border: 1px solid #334155;
    color: #ffffff !important;
    font-weight: 700;
    font-size: 14.5px;
    padding: 12px 24px;
    border-radius: 9999px;
    text-decoration: none;
    transition: all 0.2s ease;
}
.bm-btn-cta-secondary:hover {
    background: #2ba347;
    border-color: #2ba347;
}

/* Universal Responsive Rules for New Templates */
@media (max-width: 991px) {
    .bm-hero-grid,
    .bm-about-hero-grid,
    .bm-contact-layout-grid,
    .bm-product-card-inner,
    .bm-prod-item-card,
    .bm-leadership-grid {
        grid-template-columns: 1fr !important;
        gap: 36px !important;
    }
    .bm-philosophy-grid,
    .bm-portfolio-grid,
    .bm-pricing-cards-grid,
    .bm-culture-grid,
    .bm-reviews-grid,
    .bm-security-grid {
        grid-template-columns: 1fr 1fr;
    }
    .bm-price-card.is-featured {
        transform: none;
    }
}

@media (max-width: 768px) {
    .bm-hero-title {
        font-size: 32px !important;
    }
    .bm-hero-subtitle {
        font-size: 15.5px !important;
    }
    .bm-product-card-inner {
        padding: 24px !important;
    }
    .bm-screen-grid {
        grid-template-columns: 1fr !important;
    }
    .bm-product-tabs-bar {
        gap: 8px !important;
    }
    .bm-ptab-btn {
        font-size: 12px !important;
        padding: 8px 14px !important;
    }
    .bm-philosophy-grid,
    .bm-portfolio-grid,
    .bm-pricing-cards-grid,
    .bm-culture-grid,
    .bm-reviews-grid,
    .bm-security-grid,
    .bm-values-grid,
    .bm-depts-grid,
    .bm-pitem-features {
        grid-template-columns: 1fr;
    }
    .bm-journey-item {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .bm-event-card {
        grid-template-columns: 1fr;
    }
    .bm-legal-paper,
    .bm-prod-item-card,
    .bm-cform-card {
        padding: 24px;
    }
}

/* ==========================================================================
   20. HERO EYEBROWS & PILL BADGES
   ========================================================================== */
.bm-hero-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: rgba(34, 197, 94, 0.12) !important;
    border: 1px solid rgba(34, 197, 94, 0.35) !important;
    padding: 6px 16px !important;
    border-radius: 9999px !important;
    font-family: var(--bm-font-heading) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #4ade80 !important;
    margin-bottom: 22px !important;
    box-shadow: 0 0 15px rgba(34, 197, 94, 0.15) !important;
    user-select: none;
}

.bm-hero-eyebrow span {
    color: #4ade80 !important;
}

.bm-hero-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e;
    display: inline-block;
    animation: bmPillDotPulse 2s infinite ease-in-out;
}

@keyframes bmPillDotPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.85); }
}

/* ==========================================================================
   21. UNIVERSAL LEAD CAPTURE & LIVE DEMO POPUP MODAL
   ========================================================================== */
body.bm-modal-open {
    overflow: hidden !important;
}

.bm-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    padding: 16px;
    box-sizing: border-box;
}

.bm-modal-overlay.bm-active {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.bm-modal-backdrop {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(4, 7, 13, 0.82);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.bm-modal-dialog {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 500px !important;
    max-height: 94vh !important;
    margin: auto !important;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #334155 transparent;
}

.bm-modal-dialog::-webkit-scrollbar {
    width: 4px;
}
.bm-modal-dialog::-webkit-scrollbar-thumb {
    background: #334155;
    border-radius: 4px;
}

.bm-modal-card {
    background: #0b1120 !important;
    border: 1px solid rgba(255, 255, 255, 0.14) !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 50px -10px rgba(0, 0, 0, 0.85), 0 0 25px rgba(34, 197, 94, 0.12) !important;
    padding: 22px 24px 18px !important;
    position: relative;
    transform: scale(0.95) translateY(8px);
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.bm-modal-overlay.bm-active .bm-modal-card {
    transform: scale(1) translateY(0);
}

.bm-modal-close {
    all: unset !important;
    position: absolute !important;
    top: 14px !important;
    right: 14px !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, 0.08) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    color: #94a3b8 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-sizing: border-box !important;
}

.bm-modal-close svg {
    width: 14px !important;
    height: 14px !important;
    display: block !important;
    stroke: currentColor !important;
}

.bm-modal-close:hover {
    background: rgba(239, 68, 68, 0.2) !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
    color: #ef4444 !important;
    transform: rotate(90deg) !important;
}

.bm-modal-header {
    margin-bottom: 12px !important;
    padding-right: 32px !important;
}

.bm-modal-badge {
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    background: rgba(34, 197, 94, 0.12) !important;
    border: 1px solid rgba(34, 197, 94, 0.3) !important;
    padding: 2px 9px !important;
    border-radius: 9999px !important;
    font-family: var(--bm-font-heading) !important;
    font-size: 10.5px !important;
    font-weight: 700 !important;
    color: #4ade80 !important;
    margin-bottom: 6px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.bm-modal-badge-dot {
    width: 5px !important;
    height: 5px !important;
    border-radius: 50% !important;
    background: #22c55e !important;
    display: inline-block !important;
}

.bm-modal-title {
    font-family: var(--bm-font-heading) !important;
    font-size: 18.5px !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    margin: 0 0 3px !important;
    line-height: 1.3 !important;
}

.bm-modal-subtitle {
    font-size: 12.5px !important;
    color: #94a3b8 !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

.bm-form-grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 9px !important;
}

.bm-col-full {
    grid-column: 1 / -1 !important;
}

.bm-col-half {
    grid-column: span 1 !important;
}

.bm-form-field {
    display: flex !important;
    flex-direction: column !important;
}

.bm-field-label {
    font-family: var(--bm-font-heading) !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    color: #cbd5e1 !important;
    margin-bottom: 3px !important;
}

.bm-field-label .bm-req {
    color: #ef4444;
}

.bm-field-label .bm-opt {
    color: #64748b;
    font-weight: 400;
    font-size: 11px;
}

.bm-input-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
}

.bm-field-icon {
    position: absolute !important;
    left: 11px !important;
    width: 14px !important;
    height: 14px !important;
    color: #64748b !important;
    pointer-events: none !important;
    transition: color 0.2s ease !important;
}

.bm-field-input,
.bm-field-select,
.bm-field-textarea {
    width: 100% !important;
    background: #131d2e !important;
    border: 1px solid #1e293b !important;
    border-radius: 8px !important;
    font-family: var(--bm-font-body) !important;
    font-size: 13px !important;
    color: #ffffff !important;
    padding: 7px 11px 7px 32px !important;
    height: 36px !important;
    outline: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease !important;
    box-sizing: border-box !important;
}

.bm-field-select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 11px center !important;
    cursor: pointer !important;
}

.bm-field-select optgroup {
    background: #0f172a !important;
    color: #4ade80 !important;
    font-weight: 700 !important;
}

.bm-field-select option {
    background: #0b1120 !important;
    color: #ffffff !important;
    padding: 6px 10px !important;
}

.bm-field-textarea {
    padding-left: 11px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    resize: none !important;
    height: 46px !important;
    min-height: 46px !important;
    max-height: 46px !important;
}

.bm-field-input:focus,
.bm-field-select:focus,
.bm-field-textarea:focus {
    border-color: #22c55e !important;
    background: #172338 !important;
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.25) !important;
}

.bm-field-input:focus + .bm-field-icon,
.bm-input-wrapper:focus-within .bm-field-icon {
    color: #22c55e !important;
}

.bm-field-error {
    font-size: 10.5px !important;
    color: #ef4444 !important;
    margin-top: 1px !important;
    min-height: 0 !important;
}

.bm-modal-status {
    padding: 8px 12px !important;
    border-radius: 6px !important;
    font-size: 12.5px !important;
    margin-top: 8px !important;
}

.bm-status-error {
    background: rgba(239, 68, 68, 0.15) !important;
    border: 1px solid rgba(239, 68, 68, 0.3) !important;
    color: #fca5a5 !important;
}

.bm-modal-actions {
    margin-top: 12px !important;
}

.bm-btn-modal-submit {
    width: 100% !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 10px 20px !important;
    border-radius: 9999px !important;
    font-family: var(--bm-font-heading) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 3px 14px rgba(34, 197, 94, 0.4) !important;
}

.bm-btn-modal-submit:hover:not(:disabled) {
    transform: translateY(-1px) !important;
    box-shadow: 0 5px 18px rgba(34, 197, 94, 0.5) !important;
}

.bm-btn-modal-submit:disabled {
    opacity: 0.7 !important;
    cursor: not-allowed !important;
}

.bm-btn-spinner {
    width: 14px !important;
    height: 14px !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    border-top-color: #ffffff !important;
    border-radius: 50% !important;
    animation: bmSpin 0.8s linear infinite !important;
    display: inline-block !important;
}

@keyframes bmSpin {
    to { transform: rotate(360deg); }
}

.bm-modal-trust-footer {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    margin-top: 8px !important;
    font-size: 11px !important;
    color: #64748b !important;
    text-align: center !important;
}

/* Success Card */
.bm-modal-success-card {
    text-align: center;
    padding: 20px 10px;
}

.bm-success-icon-wrap {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: rgba(34, 197, 94, 0.12);
    border: 2px solid rgba(34, 197, 94, 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 14px;
    box-shadow: 0 0 20px rgba(34, 197, 94, 0.25);
}

.bm-success-title {
    font-family: var(--bm-font-heading);
    font-size: 20px;
    font-weight: 800;
    color: #ffffff !important;
    margin: 0 0 8px;
}

.bm-success-desc {
    font-size: 13.5px;
    color: #94a3b8;
    line-height: 1.55;
    max-width: 420px;
    margin: 0 auto;
}

.bm-success-desc strong {
    color: #4ade80;
}

@media (max-width: 640px) {
    .bm-modal-card {
        padding: 20px 16px 16px !important;
    }
    .bm-form-grid {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
    .bm-col-half {
        grid-column: span 1 !important;
    }
    .bm-modal-title {
        font-size: 17px !important;
    }
    .bm-modal-trust-footer {
        flex-direction: column;
        gap: 2px;
    }
    .bm-modal-trust-footer .bm-dot-sep {
        display: none;
    }
}

/* ==========================================================================
   22. FAQ SECTION & CLEAN ACCORDION
   ========================================================================== */
.bm-faq-section {
    background-color: var(--bm-bg-light);
    position: relative;
    padding: 110px 0 100px 0 !important;
    margin-top: 0;
}

.bm-faq-section .bm-section-header {
    max-width: 780px;
    margin: 0 auto 56px !important;
    text-align: center;
}

.bm-faq-section .bm-section-eyebrow {
    margin-bottom: 16px !important;
}

.bm-faq-section .bm-section-title {
    margin-bottom: 18px !important;
    font-size: 38px !important;
    line-height: 1.25 !important;
}

.bm-faq-section .bm-section-desc {
    max-width: 650px !important;
    margin: 0 auto !important;
    line-height: 1.65 !important;
}

.bm-faq-accordion {
    max-width: 820px !important;
    margin: 0 auto !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bm-faq-item {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 14px !important;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04) !important;
    overflow: hidden !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.bm-faq-item:hover {
    border-color: #cbd5e1 !important;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.07) !important;
}

.bm-faq-item.bm-faq-active {
    border-color: var(--bm-brand-green) !important;
    box-shadow: 0 8px 24px rgba(43, 163, 71, 0.12) !important;
}

.bm-faq-question {
    all: unset !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 20px 24px !important;
    font-family: var(--bm-font-heading) !important;
    font-size: 16.5px !important;
    font-weight: 700 !important;
    color: #0f172a !important;
    background: #ffffff !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: color 0.2s ease, background-color 0.2s ease !important;
}

.bm-faq-question:hover {
    color: var(--bm-brand-green) !important;
}

.bm-faq-item.bm-faq-active .bm-faq-question {
    color: var(--bm-brand-green) !important;
    background: #ffffff !important;
}

.bm-faq-icon,
.bm-faq-toggle-icon {
    position: relative !important;
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #64748b !important;
    flex-shrink: 0 !important;
    margin-left: 16px !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.bm-faq-icon::before,
.bm-faq-icon::after,
.bm-faq-toggle-icon::before,
.bm-faq-toggle-icon::after {
    content: none !important;
    display: none !important;
}

.bm-faq-icon svg {
    width: 16px !important;
    height: 16px !important;
    display: block !important;
    stroke: currentColor !important;
    stroke-width: 2.2 !important;
    transition: transform 0.25s ease !important;
}

.bm-faq-item:hover .bm-faq-icon,
.bm-faq-item:hover .bm-faq-toggle-icon {
    background: #e2e8f0 !important;
    color: #0f172a !important;
}

.bm-faq-item.bm-faq-active .bm-faq-icon,
.bm-faq-item.bm-faq-active .bm-faq-toggle-icon,
.bm-faq-active .bm-faq-icon,
.bm-faq-active .bm-faq-toggle-icon {
    background: var(--bm-brand-green) !important;
    color: #ffffff !important;
}

.bm-faq-item.bm-faq-active .bm-faq-icon svg,
.bm-faq-active .bm-faq-icon svg {
    transform: rotate(45deg) !important;
}

.bm-faq-vert {
    transition: opacity 0.2s ease !important;
}

.bm-faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
    opacity: 0;
}

.bm-faq-item.bm-faq-active .bm-faq-answer {
    max-height: 400px;
    opacity: 1;
}

.bm-faq-answer-inner {
    padding: 0 24px 22px 24px !important;
    color: #4b5563 !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    border-top: 1px solid #f1f5f9 !important;
    padding-top: 16px !important;
}

.bm-faq-answer-inner p {
    margin: 0 !important;
    color: #4b5563 !important;
}

@media (max-width: 640px) {
    .bm-faq-question {
        padding: 16px 18px !important;
        font-size: 15px !important;
    }
    .bm-faq-answer-inner {
        padding: 0 18px 18px 18px !important;
        font-size: 14px !important;
    }
}

/* ==========================================================================
   23. DEDICATED SOFTWARE PAGE TEMPLATE COMPONENT STYLES
   ========================================================================== */
.bm-software-page {
    background-color: var(--bm-white);
}

.bm-software-hero {
    background: radial-gradient(circle at 50% 20%, rgba(34, 197, 94, 0.15), transparent 70%), #090d16 !important;
    padding: 80px 0 100px;
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.bm-software-hero .bm-hero-title {
    font-size: 44px;
    font-weight: 800;
    line-height: 1.18;
    margin-bottom: 18px;
    letter-spacing: -0.03em;
}

.bm-software-hero .bm-hero-subtext {
    font-size: 17.5px;
    line-height: 1.65;
    margin-bottom: 32px;
    max-width: 620px;
}

.bm-hero-trust-list {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    margin-top: 32px;
    padding-top: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.bm-trust-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--bm-font-heading);
    font-size: 13.5px;
    font-weight: 600;
    color: #cbd5e1;
}

/* Mockup Frame & Live Telemetry */
.bm-mockup-frame {
    background: #0b1120;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.8), 0 0 30px rgba(34, 197, 94, 0.12);
    overflow: hidden;
}

.bm-mockup-topbar {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #070b14;
    padding: 10px 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.bm-mockup-url {
    margin-left: 10px;
    font-family: monospace;
    font-size: 11.5px;
    color: #64748b;
    background: rgba(255, 255, 255, 0.04);
    padding: 2px 10px;
    border-radius: 4px;
}

.bm-mockup-body {
    padding: 20px;
}

.bm-telemetry-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.bm-th-title {
    font-family: var(--bm-font-heading);
    font-size: 13.5px;
    font-weight: 700;
    color: #ffffff;
}

.bm-th-status {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11.5px;
    font-weight: 700;
    color: #4ade80;
    background: rgba(34, 197, 94, 0.12);
    padding: 2px 8px;
    border-radius: 9999px;
}

.bm-live-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #22c55e;
    box-shadow: 0 0 8px #22c55e;
    display: inline-block;
}

.bm-stats-mini-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 16px;
}

.bm-stat-mini-card {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    padding: 12px 14px;
}

.bm-sm-num {
    font-family: var(--bm-font-heading);
    font-size: 20px;
    font-weight: 800;
    color: #ffffff;
    line-height: 1.2;
}

.bm-sm-label {
    font-size: 11.5px;
    color: #94a3b8;
    margin-top: 2px;
}

.bm-mockup-activity-log {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.bm-act-row {
    display: flex;
    align-items: center;
    gap: 8px;
    background: rgba(255, 255, 255, 0.02);
    padding: 8px 10px;
    border-radius: 6px;
    font-size: 12px;
}

.bm-act-badge {
    font-size: 9.5px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(59, 130, 246, 0.15);
    color: #60a5fa;
    text-transform: uppercase;
}

.bm-act-badge.bm-act-green {
    background: rgba(34, 197, 94, 0.15);
    color: #4ade80;
}

.bm-act-text {
    color: #cbd5e1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Problem Grid */
.bm-problem-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.bm-problem-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 32px 28px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    transition: all 0.25s ease;
}

.bm-problem-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(15, 23, 42, 0.08);
}

.bm-pcard-num {
    font-family: var(--bm-font-heading);
    font-size: 28px;
    font-weight: 800;
    color: #cbd5e1;
    margin-bottom: 12px;
}

.bm-pcard-title {
    font-size: 18.5px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 10px;
    line-height: 1.3;
}

.bm-pcard-desc {
    font-size: 15px;
    color: #4b5563;
    line-height: 1.6;
    margin: 0;
}

/* Overview Section */
.bm-overview-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 48px;
    align-items: center;
}

.bm-overview-lead {
    font-size: 17px;
    color: #334155;
    line-height: 1.7;
    margin-bottom: 24px;
}

.bm-overview-highlights {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.bm-ohl-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: var(--bm-font-heading);
    font-size: 15px;
    font-weight: 600;
    color: #0f172a;
}

.bm-ohl-item svg {
    margin-top: 3px;
    flex-shrink: 0;
}

.bm-tech-feature-card {
    background: #0f172a;
    border-radius: 20px;
    padding: 36px 32px;
    color: #ffffff;
    box-shadow: 0 20px 40px rgba(15, 23, 42, 0.15);
}

.bm-tfc-badge {
    display: inline-block;
    font-family: var(--bm-font-heading);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    color: #4ade80;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.bm-tfc-title {
    font-size: 22px;
    font-weight: 800;
    color: #ffffff !important;
    margin-bottom: 20px;
}

.bm-tfc-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.bm-tfc-list li strong {
    display: block;
    color: #ffffff;
    font-size: 14.5px;
    margin-bottom: 2px;
}

.bm-tfc-list li p {
    font-size: 13.5px;
    color: #94a3b8;
    margin: 0;
    line-height: 1.5;
}

/* Modules Grid */
.bm-modules-section {
    background-color: var(--bm-bg-light);
}

.bm-modules-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.bm-module-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 28px 24px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
    transition: all 0.25s ease;
}

.bm-module-card:hover {
    border-color: #22c55e;
    transform: translateY(-3px);
    box-shadow: 0 12px 28px rgba(34, 197, 94, 0.12);
}

.bm-mcard-icon {
    font-size: 32px;
    margin-bottom: 14px;
    display: inline-block;
}

.bm-mcard-title {
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 8px;
    line-height: 1.35;
}

.bm-mcard-desc {
    font-size: 14.5px;
    color: #4b5563;
    line-height: 1.6;
    margin: 0;
}

/* 5-Step Pipeline Grid */
.bm-pipeline-grid {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
}

.bm-pipeline-step {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 24px 20px;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.25s ease;
}

.bm-pipeline-step:hover {
    border-color: #22c55e;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(34, 197, 94, 0.1);
}

.bm-pstep-badge {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #0f172a;
    color: #ffffff;
    font-family: var(--bm-font-heading);
    font-size: 13px;
    font-weight: 800;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 14px;
}

.bm-pipeline-step:hover .bm-pstep-badge {
    background: #22c55e;
}

.bm-pstep-title {
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 8px;
    line-height: 1.3;
}

.bm-pstep-desc {
    font-size: 13px;
    color: #4b5563;
    line-height: 1.55;
    margin: 0 0 14px;
    flex-grow: 1;
}

.bm-pstep-deliv {
    font-size: 11px;
    font-weight: 700;
    color: #16a34a;
    background: rgba(34, 197, 94, 0.1);
    padding: 4px 8px;
    border-radius: 4px;
    display: inline-block;
}

/* Responsive Rules */
@media (max-width: 991px) {
    .bm-software-hero .bm-hero-title {
        font-size: 34px;
    }
    .bm-problem-grid,
    .bm-modules-grid {
        grid-template-columns: 1fr 1fr;
    }
    .bm-overview-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .bm-pipeline-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .bm-software-hero .bm-hero-title {
        font-size: 28px;
    }
    .bm-problem-grid,
    .bm-modules-grid,
    .bm-pipeline-grid {
        grid-template-columns: 1fr;
    }
    .bm-stats-mini-grid {
        grid-template-columns: 1fr;
    }
    .bm-hero-trust-list {
        flex-direction: column;
        gap: 8px;
    }
}

/* ==========================================================================
   24. SECTION 24: UNIVERSAL SOFTWARE CATALOG HUB (/software/)
   ========================================================================== */
.bm-software-hub-page {
    background: #f8fafc;
}

.bm-software-hub-hero {
    background: #090e17;
    padding: 72px 0 60px;
    position: relative;
    overflow: hidden;
}

.bm-software-hub-hero::before {
    content: '';
    position: absolute;
    top: -30%;
    left: 50%;
    transform: translateX(-50%);
    width: 900px;
    height: 500px;
    background: radial-gradient(circle, rgba(34, 197, 94, 0.12) 0%, rgba(15, 23, 42, 0) 70%);
    pointer-events: none;
}

.bm-hub-search-box {
    margin-top: 36px;
    max-width: 860px;
    margin-left: auto;
    margin-right: auto;
}

.bm-search-input-wrap {
    position: relative;
    display: flex;
    align-items: center;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.38);
    border-radius: 9999px;
}

.bm-search-icon {
    position: absolute;
    left: 22px;
    color: #4ade80;
    pointer-events: none;
    transition: transform 0.2s ease;
}

.bm-search-input {
    width: 100%;
    padding: 19px 58px 19px 62px;
    font-size: 16.5px;
    font-family: var(--bm-font-body);
    font-weight: 500;
    background: rgba(255, 255, 255, 0.1);
    border: 2px solid rgba(255, 255, 255, 0.22);
    border-radius: 9999px;
    color: #ffffff;
    outline: none;
    transition: all 0.25s ease;
    backdrop-filter: blur(12px);
    box-sizing: border-box;
}

.bm-search-input::placeholder {
    color: #94a3b8;
    font-weight: 400;
}

.bm-search-input:focus {
    background: rgba(255, 255, 255, 0.16);
    border-color: #22c55e;
    box-shadow: 0 0 0 5px rgba(34, 197, 94, 0.25);
}

.bm-clear-search-btn {
    position: absolute;
    right: 20px;
    background: #334155;
    border: none;
    color: #ffffff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
}

.bm-clear-search-btn:hover {
    background: #ef4444;
    transform: scale(1.1);
}

/* Popular Search Suggestion Tags */
.bm-search-tags-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
}

.bm-st-label {
    font-size: 12.5px;
    font-weight: 600;
    color: #94a3b8;
    margin-right: 2px;
}

.bm-st-chips {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

.bm-st-chip {
    font-family: var(--bm-font-heading);
    font-size: 12px;
    font-weight: 500;
    color: #cbd5e1;
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.15);
    padding: 4px 12px;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.2s ease;
}

.bm-st-chip:hover {
    background: rgba(34, 197, 94, 0.2);
    border-color: #22c55e;
    color: #ffffff;
    transform: translateY(-1px);
}

/* Category Filter Tabs */
.bm-hub-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    margin-bottom: 24px;
}

.bm-filter-btn {
    font-family: var(--bm-font-heading);
    font-size: 13.5px;
    font-weight: 600;
    color: #475569;
    background: #ffffff;
    border: 1px solid #e2e8f0;
    padding: 9px 18px;
    border-radius: 9999px;
    cursor: pointer;
    transition: all 0.2s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
}

.bm-filter-btn:hover {
    color: #0f172a;
    border-color: #cbd5e1;
    background: #f1f5f9;
}

.bm-filter-btn.bm-filter-active {
    background: #16a34a;
    color: #ffffff;
    border-color: #16a34a;
    box-shadow: 0 4px 14px rgba(22, 163, 74, 0.25);
}

/* Counter & Status Bar */
.bm-hub-counter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e2e8f0;
}

.bm-hcb-text {
    font-size: 14px;
    color: #64748b;
}

.bm-hcb-text strong {
    color: #0f172a;
    font-weight: 700;
}

.bm-btn-reset-filters {
    background: none;
    border: none;
    color: #16a34a;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    text-decoration: underline;
    padding: 0;
}

/* Software Hub Grid (3 Columns) */
.bm-software-hub-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    align-items: stretch;
}

/* Software Hub Card */
.bm-hub-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 26px 24px 22px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
}

.bm-hub-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(15, 23, 42, 0.09);
}

.bm-hub-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
}

.bm-hub-card-icon-wrap {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: rgba(34, 197, 94, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.bm-hub-card-icon {
    font-size: 24px;
}

.bm-hub-card-meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.bm-hub-card-badge {
    font-family: var(--bm-font-heading);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    background: #f1f5f9;
    color: #334155;
    padding: 3px 8px;
    border-radius: 6px;
}

.bm-hub-card-cat {
    font-size: 12px;
    color: #64748b;
    font-weight: 500;
}

.bm-hub-card-title {
    font-family: var(--bm-font-heading);
    font-size: 18px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 10px;
    line-height: 1.3;
}

.bm-hub-card-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s;
}

.bm-hub-card-link:hover {
    color: #16a34a;
}

.bm-hub-card-desc {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.55;
    margin: 0 0 18px;
    flex-grow: 1;
}

/* Feature tags inside cards */
.bm-hub-features-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 22px;
    padding-top: 14px;
    border-top: 1px dashed #e2e8f0;
}

.bm-hf-item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    font-weight: 500;
    color: #334155;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    padding: 4px 9px;
    border-radius: 6px;
}

/* Card Action Buttons */
.bm-hub-card-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.bm-btn-hub-explore {
    flex: 1;
    font-family: var(--bm-font-heading);
    font-size: 13px;
    font-weight: 600;
    color: #0f172a;
    background: #f1f5f9;
    border: 1px solid #e2e8f0;
    padding: 9px 12px;
    border-radius: 8px;
    text-align: center;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.2s;
}

.bm-btn-hub-explore:hover {
    background: #e2e8f0;
    color: #0f172a;
}

.bm-btn-hub-demo {
    flex: 1;
    font-family: var(--bm-font-heading);
    font-size: 13px;
    font-weight: 700;
    color: #ffffff;
    background: #16a34a;
    border: 1px solid #16a34a;
    padding: 9px 12px;
    border-radius: 8px;
    cursor: pointer;
    text-align: center;
    transition: all 0.2s;
}

.bm-btn-hub-demo:hover {
    background: #15803d;
    border-color: #15803d;
    box-shadow: 0 4px 10px rgba(22, 163, 74, 0.25);
}

/* No Results State */
.bm-hub-no-results {
    text-align: center;
    padding: 60px 20px;
    background: #ffffff;
    border-radius: 16px;
    border: 1px dashed #cbd5e1;
    margin-top: 20px;
}

.bm-nr-icon {
    font-size: 44px;
    margin-bottom: 12px;
}

.bm-hub-no-results h3 {
    font-family: var(--bm-font-heading);
    font-size: 20px;
    font-weight: 700;
    color: #0f172a;
    margin-bottom: 8px;
}

.bm-hub-no-results p {
    font-size: 14px;
    color: #64748b;
    margin-bottom: 20px;
}

/* Why BeingMash Software Advantage Grid */
.bm-hub-why-section {
    background: #ffffff;
    padding: 80px 0;
}

.bm-hub-why-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    margin-top: 40px;
}

.bm-hub-why-card {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    padding: 28px 22px;
    transition: all 0.25s ease;
}

.bm-hub-why-card:hover {
    border-color: #cbd5e1;
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.bm-hwc-icon {
    font-size: 32px;
    margin-bottom: 16px;
}

.bm-hwc-title {
    font-family: var(--bm-font-heading);
    font-size: 16px;
    font-weight: 700;
    color: #0f172a;
    margin: 0 0 8px;
}

.bm-hwc-desc {
    font-size: 13.5px;
    color: #64748b;
    line-height: 1.55;
    margin: 0;
}

/* Hub Responsive Breakpoints */
@media (max-width: 1024px) {
    .bm-software-hub-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .bm-hub-why-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 640px) {
    .bm-software-hub-grid {
        grid-template-columns: 1fr;
    }
    .bm-hub-why-grid {
        grid-template-columns: 1fr;
    }
    .bm-filter-btn {
        font-size: 12.5px;
        padding: 7px 14px;
    }
    .bm-hub-card {
        padding: 20px 18px;
    }
}

/* ==========================================================================
   MASTER MOBILE RESPONSIVENESS OVERHAUL (UNIVERSAL ACROSS ALL TEMPLATES & SCREENS)
   ========================================================================== */

/* 1. Global Viewport & Horizontal Overflow Prevention */
html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
    box-sizing: border-box !important;
}

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

#page, #content, .bm-site-main, main, header, footer, section,
.bm-section, .bm-container, .container, .elementor, .elementor-section, .elementor-container,
.elementor-row, .elementor-column, .elementor-widget-wrap {
    max-width: 100% !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
}

img, svg, iframe, video, embed, object {
    max-width: 100% !important;
    height: auto;
}

h1, h2, h3, h4, h5, h6, p, a, span, li, blockquote, div {
    overflow-wrap: break-word !important;
    word-wrap: break-word !important;
}

/* 2. Tablet & Mid-Size Screens (<= 991px) */
@media (max-width: 991px) {
    .bm-container,
    .container {
        padding-left: 20px !important;
        padding-right: 20px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Mobile Header */
    .bm-header-container {
        height: 72px !important;
        min-height: 72px !important;
        padding: 0 16px !important;
    }

    .bm-logo-img {
        height: 48px !important;
        max-height: 50px !important;
        width: auto !important;
    }

    .bm-desktop-nav,
    .bm-header-actions .bm-btn-talk {
        display: none !important;
    }

    .bm-mobile-toggle {
        display: flex !important;
    }

    .bm-mobile-menu {
        display: block !important;
    }

    /* Hero Section */
    .bm-home-hero,
    .bm-hero-section {
        padding: 56px 0 64px !important;
        overflow: hidden !important;
    }

    .bm-hero-glow-bg {
        width: 100% !important;
        max-width: 100vw !important;
    }

    .bm-hero-grid,
    .bm-home-hero .bm-hero-grid,
    .bm-about-hero-grid,
    .bm-lead-wrapper,
    .bm-tech-layout,
    .bm-software-hero .bm-hero-grid {
        grid-template-columns: 1fr !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 36px !important;
        text-align: center !important;
        width: 100% !important;
    }

    .bm-hero-content {
        max-width: 100% !important;
        margin: 0 auto !important;
        width: 100% !important;
    }

    .bm-hero-title,
    .bm-home-hero-title {
        font-size: clamp(28px, 6vw, 42px) !important;
        line-height: 1.22 !important;
        margin-bottom: 16px !important;
    }

    .bm-hero-subtitle {
        font-size: 16px !important;
        line-height: 1.6 !important;
        margin-bottom: 28px !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .bm-hero-actions {
        justify-content: center !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        width: 100% !important;
        max-width: 500px !important;
        margin: 0 auto 28px !important;
        gap: 12px !important;
    }

    .bm-hero-trust-row {
        justify-content: center !important;
        gap: 16px !important;
        flex-wrap: wrap !important;
    }

    .bm-dashboard-mockup,
    .bm-hero-mockup-wrapper,
    .bm-cms-mockup {
        max-width: 100% !important;
        width: 100% !important;
        margin: 0 auto !important;
        overflow: hidden !important;
    }

    /* Floating Badges On Mockups - Contain on tablets */
    .bm-floating-card {
        display: none !important;
    }

    /* Process 5-Step Pipeline Grid */
    .bm-process-pipeline-line {
        display: none !important;
    }

    .bm-process-steps-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 18px !important;
    }

    /* Product Slider */
    .bm-product-card-inner,
    .bm-product-card {
        grid-template-columns: 1fr !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 32px 24px !important;
        gap: 32px !important;
    }

    .bm-product-track {
        min-height: auto !important;
    }

    /* 2-Column Responsive Grids on Tablet */
    .bm-solutions-grid,
    .bm-features-grid,
    .bm-products-grid,
    .bm-why-grid,
    .bm-stats-grid,
    .bm-case-studies-grid,
    .bm-edtech-grid,
    .bm-faq-grid,
    .bm-industries-grid,
    .bm-footer-grid,
    .bm-software-hub-grid,
    .bm-hub-why-grid,
    .bm-customization-grid,
    .bm-who-grid,
    .bm-problem-grid,
    .bm-capabilities-grid,
    .bm-caps-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px !important;
    }

    .bm-footer-brand-col {
        grid-column: 1 / -1 !important;
        margin-bottom: 14px !important;
    }
}

/* 3. Small Mobile Devices & Phones (<= 768px) */
@media (max-width: 768px) {
    .bm-container,
    .container {
        padding-left: 16px !important;
        padding-right: 16px !important;
        width: 100% !important;
    }

    .bm-section {
        padding: 56px 0 !important;
    }

    .bm-header-container {
        height: 68px !important;
        min-height: 68px !important;
        padding: 0 14px !important;
    }

    .bm-logo-img {
        height: 44px !important;
        max-height: 46px !important;
    }

    /* Typography Overhaul */
    h1, .bm-page-title, .bm-hero-title, .bm-home-hero-title {
        font-size: clamp(24px, 7vw, 34px) !important;
        line-height: 1.25 !important;
        word-break: break-word !important;
    }

    h2, .bm-section-title, .bm-home-section-title, .bm-cta-title, .bm-stats-heading {
        font-size: clamp(21px, 6vw, 28px) !important;
        line-height: 1.3 !important;
        margin-bottom: 12px !important;
        word-break: break-word !important;
    }

    h3, .bm-card-title, .bm-solution-card h3, .bm-why-title, .bm-sol-title {
        font-size: 18px !important;
        line-height: 1.35 !important;
    }

    .bm-section-desc,
    .bm-section-subtitle,
    .bm-hero-subtitle {
        font-size: 14.5px !important;
        line-height: 1.55 !important;
        margin-bottom: 20px !important;
    }

    /* Process & Methodology Cards Stack */
    .bm-process-steps-grid,
    .bm-process-grid,
    .bm-steps-grid,
    .bm-timeline-grid {
        grid-template-columns: 1fr !important;
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
        width: 100% !important;
    }

    .bm-process-step-card,
    .bm-process-card {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 16px !important;
        border-radius: 12px !important;
        box-sizing: border-box !important;
    }

    /* Hero Buttons */
    .bm-hero-actions {
        flex-direction: column !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        gap: 10px !important;
    }

    .bm-btn-hero-primary,
    .bm-btn-hero-secondary,
    .bm-btn-primary,
    .bm-btn-secondary,
    .bm-btn-talk,
    .bm-btn-quote,
    .bm-btn-mega-cta,
    .bm-btn-cta-primary,
    .bm-btn-cta-whatsapp {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
        box-sizing: border-box !important;
        min-height: 46px !important;
        padding: 12px 20px !important;
        font-size: 14.5px !important;
    }

    .bm-hero-trust-row {
        flex-direction: column !important;
        align-items: center !important;
        gap: 8px !important;
        padding-top: 18px !important;
    }

    .bm-trust-item {
        font-size: 12.5px !important;
        justify-content: center !important;
        text-align: center !important;
    }

    /* Hero Mockup Internals */
    .bm-mockup-header {
        padding: 10px 12px !important;
        flex-wrap: wrap !important;
        gap: 6px !important;
    }

    .bm-mockup-url-bar {
        max-width: 170px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        font-size: 10.5px !important;
        padding: 3px 8px !important;
    }

    .bm-mockup-body,
    .bm-cms-mockup-body {
        grid-template-columns: 1fr !important;
        display: flex !important;
        flex-direction: column !important;
        min-height: auto !important;
    }

    .bm-mockup-sidebar {
        display: none !important;
    }

    .bm-mockup-main {
        padding: 14px 12px !important;
        width: 100% !important;
        gap: 12px !important;
    }

    .bm-mockup-stats-row {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }

    .bm-mockup-stat-card {
        padding: 10px 12px !important;
    }

    /* Product Showcase Card */
    .bm-product-card-inner,
    .bm-product-card {
        padding: 22px 16px !important;
        border-radius: 14px !important;
        gap: 20px !important;
    }

    .bm-product-heading {
        font-size: 21px !important;
    }

    .bm-product-desc {
        font-size: 14px !important;
        margin-bottom: 18px !important;
    }

    .bm-product-feature-list {
        margin-bottom: 20px !important;
        gap: 8px !important;
    }

    .bm-product-feature-list li {
        font-size: 13px !important;
    }

    .bm-app-mockup-frame {
        padding: 14px 12px !important;
        border-radius: 12px !important;
    }

    /* Full 1-Column Stacking for all Grids on Mobile */
    .bm-solutions-grid,
    .bm-features-grid,
    .bm-products-grid,
    .bm-why-grid,
    .bm-stats-grid,
    .bm-case-studies-grid,
    .bm-edtech-grid,
    .bm-faq-grid,
    .bm-industries-grid,
    .bm-footer-grid,
    .bm-software-hub-grid,
    .bm-hub-why-grid,
    .bm-customization-grid,
    .bm-who-grid,
    .bm-problem-grid,
    .bm-capabilities-grid,
    .bm-caps-grid,
    .bm-benefits-grid,
    .bm-build-grid,
    .bm-single-grid,
    .bm-blog-grid,
    .bm-courses-grid,
    .bm-pricing-grid,
    .bm-portfolio-grid,
    .bm-reviews-grid,
    .bm-team-grid,
    .bm-legal-grid,
    .bm-contact-layout-grid,
    .bm-form-row {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        width: 100% !important;
    }

    .bm-card,
    .bm-solution-card,
    .bm-feature-card,
    .bm-why-card,
    .bm-edtech-card,
    .bm-case-card,
    .bm-hub-card,
    .bm-industry-card,
    .bm-stat-card,
    .bm-stat-item {
        padding: 20px 16px !important;
        border-radius: 12px !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    .bm-industry-callout {
        flex-direction: column !important;
        padding: 22px 16px !important;
        text-align: center !important;
        gap: 16px !important;
    }

    .bm-clients-box {
        padding: 24px 14px !important;
        border-radius: 12px !important;
    }

    .bm-clients-badge-grid {
        gap: 8px !important;
    }

    .bm-client-pill {
        padding: 8px 12px !important;
        font-size: 12.5px !important;
    }

    /* FAQ Accordion */
    .bm-faq-question {
        padding: 16px 14px !important;
        font-size: 15px !important;
        gap: 10px !important;
    }

    .bm-faq-icon {
        width: 26px !important;
        height: 26px !important;
        margin-left: 8px !important;
    }

    .bm-faq-answer-inner {
        padding: 0 14px 16px !important;
        font-size: 14px !important;
    }

    /* CTA Section */
    .bm-cta-card {
        padding: 36px 18px !important;
        border-radius: 16px !important;
    }

    .bm-cta-actions {
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
    }

    /* Footer */
    .bm-footer-main {
        padding: 44px 0 28px !important;
    }

    .bm-footer-bottom {
        flex-direction: column !important;
        gap: 12px !important;
        text-align: center !important;
    }

    /* WhatsApp Floating Button */
    .bm-floating-whatsapp {
        bottom: 16px !important;
        right: 16px !important;
        width: 50px !important;
        height: 50px !important;
    }

    .bm-float-wa-tooltip {
        display: none !important;
    }

    /* Lead Popup Modal */
    .bm-lead-modal-content {
        width: 94% !important;
        max-width: 400px !important;
        padding: 22px 16px !important;
        margin: 20px auto !important;
        border-radius: 14px !important;
    }

    /* Form Fields No-Zoom on iOS */
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="url"],
    input[type="password"],
    input[type="search"],
    input[type="number"],
    select,
    textarea {
        font-size: 16px !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* Tables */
    table, .table {
        display: block !important;
        width: 100% !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        border-collapse: collapse !important;
    }
}

/* 4. Extra Small Phones (iPhone SE / <= 375px) */
@media (max-width: 375px) {
    .bm-container,
    .container {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .bm-header-container {
        padding: 0 10px !important;
    }

    .bm-logo-img {
        height: 40px !important;
        max-height: 42px !important;
    }

    h1, .bm-page-title, .bm-hero-title, .bm-home-hero-title {
        font-size: 24px !important;
    }

    h2, .bm-section-title, .bm-home-section-title, .bm-cta-title {
        font-size: 20px !important;
    }

    .bm-stat-number {
        font-size: 32px !important;
    }

    .bm-ptab-btn {
        padding: 6px 10px !important;
        font-size: 11.5px !important;
    }

    .bm-btn-hero-primary,
    .bm-btn-hero-secondary,
    .bm-btn-primary,
    .bm-btn-secondary {
        font-size: 13.5px !important;
        padding: 10px 16px !important;
    }
}



