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

/* ==========================================================================
   LUXURY BEIGE DESIGN SYSTEM — UNIFIED TOKEN LAYER
   Single source of truth for all colors. Dark mode is the default.
   ========================================================================== */

:root {
    /* Typography & Fonts */
    --primary-font: 'Outfit', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --body-font: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;

    /* ── TAC Brand Colors ── */
    --primary-black: #0B0B0B;
    --carbon-black: #151515;
    --graphite: #2B2B2B;
    --metal-silver: #A7A7A7;
    --tac-blue: #4DA8FF;
    --electric-blue: #007BFF;
    --ice-blue: #B8E2FF;

    /* ── Default Theme (Dark Mode) ── */
    --bg-body: var(--primary-black);
    --bg-surface: #1C1C1C;
    --bg-secondary: var(--carbon-black);
    --border-neutral: var(--graphite);
    --brand-primary: var(--tac-blue);
    --brand-primary-hover: var(--electric-blue);

    --text-primary: #FFFFFF;
    --text-secondary: #B8B8B8;
    --text-muted: var(--metal-silver);

    --shadow-soft: 0 10px 30px rgba(0, 0, 0, 0.5);
    --shadow-card: 0 8px 32px rgba(0, 0, 0, 0.4);
    --shadow-hover: 0 12px 40px rgba(0, 77, 255, 0.15);
    --shadow-blue: 0 10px 30px rgba(77, 168, 255, 0.25);

    /* RGB helpers for rgba() usage */
    --bg-body-rgb: 11, 11, 11;
    --surface-rgb: 28, 28, 28;
    --brand-rgb: 77, 168, 255;

    /* Derived */
    --nav-bg: rgba(21, 21, 21, 0.85);
    --footer-bg: #050505;
    --card-bg: #1C1C1C;
    --card-border: var(--border-neutral);
    --glass-tint: rgba(77, 168, 255, 0.03);
    --gradient: linear-gradient(135deg, var(--brand-primary) 0%, var(--ice-blue) 100%);
    --gradient-hover: linear-gradient(135deg, var(--brand-primary-hover) 0%, var(--brand-primary) 100%);

    /* Legacy compatibility aliases */
    --primary: var(--brand-primary);
    --secondary: var(--metal-silver);
    --background: var(--bg-body);
    --surface: var(--bg-surface);
    --border: var(--card-border);
    --clr-midnight: var(--bg-body);
    --clr-dark-bg: var(--bg-secondary);
    --clr-card-bg: var(--card-bg);
    --clr-card-border: var(--card-border);
    --clr-text-main: var(--text-secondary);
    --clr-text-light: var(--text-primary);
    --clr-text-muted: var(--text-muted);
    --clr-text-subtle: var(--text-muted);
    --clr-accent: var(--brand-primary);
    --clr-accent-dim: rgba(77, 168, 255, 0.2);
    --clr-gradient: var(--gradient);
    --clr-gradient-hover: var(--gradient-hover);
    --clr-accent-gradient: var(--gradient);
    --clr-indigo: var(--brand-primary);
    --clr-violet: var(--brand-primary);
    --glow-color: var(--brand-primary);
    --glow-rgb: 77, 168, 255;
    --gradient-start: rgba(77, 168, 255, 0.85);
    --gradient-end: rgba(184, 226, 255, 0.25);
}

/* ── Light Theme ── */
body.light-theme {
    --bg-body: #F3F1EC;
    --bg-surface: #FAFAFA;
    --bg-secondary: #FAFAFA;
    --border-neutral: #DADADA;
    --brand-primary: var(--tac-blue);
    --brand-primary-hover: var(--electric-blue);

    --text-primary: var(--primary-black);
    --text-secondary: #555555;
    --text-muted: #666666;

    --shadow-soft: 0 10px 30px rgba(11, 11, 11, 0.05);
    --shadow-card: 0 8px 32px rgba(11, 11, 11, 0.04);
    --shadow-hover: var(--shadow-blue);

    --bg-body-rgb: 243, 241, 236;
    --surface-rgb: 250, 250, 250;
    --brand-rgb: 77, 168, 255;

    --nav-bg: rgba(243, 241, 236, 0.85);
    --footer-bg: var(--primary-black);
    --card-bg: #FAFAFA;
    --card-border: var(--border-neutral);
    --glass-tint: rgba(77, 168, 255, 0.03);
    --gradient: linear-gradient(135deg, var(--brand-primary) 0%, var(--ice-blue) 100%);
    --gradient-hover: linear-gradient(135deg, var(--brand-primary-hover) 0%, var(--brand-primary) 100%);

    /* Legacy aliases update for light */
    --primary: var(--brand-primary);
    --secondary: var(--metal-silver);
    --background: var(--bg-body);
    --surface: var(--bg-surface);
    --border: var(--card-border);
    --clr-midnight: var(--bg-body);
    --clr-dark-bg: var(--bg-secondary);
    --clr-card-bg: var(--card-bg);
    --clr-card-border: var(--card-border);
    --clr-text-main: var(--text-secondary);
    --clr-text-light: var(--text-primary);
    --clr-text-muted: var(--text-muted);
    --clr-text-subtle: var(--text-muted);
    --clr-accent: var(--brand-primary);
    --clr-accent-dim: rgba(77, 168, 255, 0.15);
    --clr-gradient: var(--gradient);
    --clr-gradient-hover: var(--gradient-hover);
    --clr-accent-gradient: var(--gradient);
    --clr-indigo: var(--brand-primary);
    --clr-violet: var(--brand-primary);
    --glow-rgb: 77, 168, 255;
    --glow-color: var(--brand-primary);
}


/* ==========================================================================
   GLOBAL RESETS & TYPOGRAPHY
   ========================================================================== */

/* Global Font & Heading Colors */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading,
.widget-title,
.nav-menu,
.menu-item a,
.entry-title a,
.insights_heading,
.percentage {
    font-family: var(--primary-font) !important;
    font-weight: 700 !important;
    color: var(--text-primary) !important;
}

body, p, span, li, input, textarea, button, select,
.elementor-text-editor,
.insights_desc,
.sub-text {
    font-family: var(--body-font) !important;
    color: var(--text-secondary) !important;
}

/* Force warm dark background globally and reset WP white wrappers */
body, html, #page, .site, .site-content, .hello-elementor-default {
    background-color: var(--bg-body) !important;
    color: var(--text-secondary) !important;
    transition: background-color 0.4s ease, color 0.4s ease;
}

/* Force text colors to fix visibility */
h1, h2, h3, h4, h5, h6, .elementor-heading-title, .tj-page-title, .tj-job-title {
    color: var(--text-primary) !important;
}

p, span, .elementor-widget-text-editor, .tj-desc, .sub-text {
    color: var(--text-secondary) !important;
}

/* Cards & Surfaces */
.elementor-widget-container, .logo-cell, .tab_box, .insinghts_single_box, .tj-job-card {
    border-color: var(--card-border) !important;
}

/* Forms & Inputs */
input, textarea, select {
    background-color: var(--bg-surface) !important;
    color: var(--text-primary) !important;
    border: 1px solid var(--card-border) !important;
}
input::placeholder, textarea::placeholder {
    color: var(--text-muted) !important;
}

/* Fix navbar & footer contrast */
.header, .footer, .contact_cta {
    background-color: var(--bg-surface) !important;
    border-color: var(--card-border) !important;
}

/* Clear solid white/gray Elementor section backgrounds to transparent */
.elementor-section,
.elementor-container,
.e-con-boxed,
.e-con,
div[data-element_type="section"],
div[data-element_type="container"] {
    background-color: transparent !important;
}

/* Lighter solid sections for spatial depth */
.about_client_wrapper,
.elementor-element-6ab3f4c,
footer,
.elementor-element-cd81762 {
    background-color: var(--bg-surface) !important;
}


/* ==========================================================================
   GLASSMORPHIC NAVBAR
   ========================================================================== */

header,
.elementor-location-header,
.elementor-element-5415750 {
    background: var(--nav-bg) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-bottom: 1px solid var(--card-border) !important;
    box-shadow: var(--shadow-soft) !important;
}

/* Navigation Links */
.nav-menu a,
.menu-item a {
    color: var(--text-primary) !important;
    font-weight: 500 !important;
    font-size: 15px !important;
    transition: color 0.3s ease !important;
    position: relative !important;
}
.nav-menu a:hover,
.menu-item a:hover {
    color: var(--brand-primary) !important;
}


/* ==========================================================================
   PREMIUM BUTTONS
   ========================================================================== */

.elementor-button,
button,
.subscribe-button,
.global_btn a {
    background: #0B0B0B !important;
    color: #FFFFFF !important;
    border: 1px solid var(--border-neutral) !important;
    border-radius: 30px !important;
    padding: 14px 28px !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    letter-spacing: 0.3px !important;
    box-shadow: 0 4px 20px rgba(77, 168, 255, 0.1) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
}

.elementor-button *,
button *,
.subscribe-button *,
.global_btn a * {
    color: inherit !important;
}

.elementor-button:hover,
button:hover,
.subscribe-button:hover,
.global_btn a:hover {
    background: var(--gradient-hover) !important;
    transform: translateY(-2px) !important;
    box-shadow: var(--shadow-hover) !important;
    color: #FFFFFF !important;
    border-color: transparent !important;
}

/* Book discovery calls - accent buttons */
a[href*="api.leadconnectorhq.com"] {
    background: var(--gradient) !important;
    box-shadow: 0 4px 20px rgba(var(--brand-rgb), 0.25) !important;
}
a[href*="api.leadconnectorhq.com"]:hover {
    background: var(--gradient-hover) !important;
    box-shadow: 0 8px 25px rgba(var(--brand-rgb), 0.45) !important;
}


/* ==========================================================================
   METHODOLOGY STEPS
   ========================================================================== */

.methodology_container,
#methodology_container {
    background: rgba(var(--brand-rgb), 0.06) !important;
    padding: 60px 40px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(var(--brand-rgb), 0.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

.methodolody_wrapper {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
    gap: 30px !important;
}


/* ==========================================================================
   FROSTED GLASS CARDS (Capabilities & Insights Grid)
   ========================================================================== */

.how_scale_your_team .grid_single_box,
.insinghts_single_box,
.elementor-widget-image-box {
    background: var(--card-bg) !important;
    border: 1px solid var(--card-border) !important;
    border-radius: 20px !important;
    padding: 24px !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: var(--shadow-card) !important;
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

.how_scale_your_team .grid_single_box:hover,
.insinghts_single_box:hover,
.elementor-widget-image-box:hover {
    transform: translateY(-8px) !important;
    border-color: rgba(var(--brand-rgb), 0.4) !important;
    background: rgba(var(--brand-rgb), 0.12) !important;
    box-shadow: var(--shadow-hover) !important;
}


/* ==========================================================================
   OVERLAPPING STICKY CARDS (Home Page)
   ========================================================================== */

.overlapping_box {
    position: sticky !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    background: var(--bg-surface) !important;
    border: 1px solid var(--card-border) !important;
    border-radius: 24px !important;
    padding: 24px !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.3) !important;
    transition: background 0.4s ease, background-color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease !important;
    align-self: center !important;
}

/* Hover transition applied to contents to prevent layout glitches */
.overlapping_box > div,
.overlapping_box > .e-con {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Specific stacking offsets */
.elementor-element-1d7ba19 {
    top: 100px !important;
    z-index: 10 !important;
}
.elementor-element-d5c4fa2 {
    top: 120px !important;
    z-index: 20 !important;
}
.elementor-element-ac798db {
    top: 140px !important;
    z-index: 30 !important;
}

/* Ensure parent containers allow native CSS sticky positioning */
.elementor-element-e728100,
.elementor-element-af3d7ee {
    overflow: visible !important;
}

/* Clear pseudo-elements background overlays */
.overlapping_box::before,
.overlapping_box > .elementor-motion-effects-container > .elementor-motion-effects-layer,
.overlapping_box > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
    background-color: transparent !important;
    background-image: none !important;
}

/* Disable entrance animations on sticky card containers */
.elementor-element-e728100,
.overlapping_box,
.overlapping_box * {
    animation: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition-delay: 0s !important;
    animation-delay: 0s !important;
}

.overlapping_box:hover {
    border-color: rgba(var(--brand-rgb), 0.4) !important;
    background: var(--bg-secondary) !important;
    box-shadow: 0 20px 45px rgba(var(--brand-rgb), 0.1) !important;
}

.overlapping_box:hover > div,
.overlapping_box:hover > .e-con {
    transform: translateY(-8px) !important;
}

/* Clear duplicate card style for elementor-widget-image-box inside overlapping_box */
.overlapping_box .elementor-widget-image-box {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Specific inner overrides for stats image boxes and text */
.overlapping_box .elementor-image-box-title,
.elementor-widget-image-box .elementor-image-box-title,
.overlapping_box h4,
.elementor-widget-image-box h4 {
    color: var(--text-primary) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    margin-bottom: 12px !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.3) !important;
}

.overlapping_box .elementor-image-box-description,
.elementor-widget-image-box .elementor-image-box-description,
.overlapping_box p,
.elementor-widget-image-box p {
    color: var(--text-secondary) !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    opacity: 1 !important;
    font-weight: 400 !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4) !important;
}

.overlapping_box .elementor-counter-title {
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}

.overlapping_box .elementor-counter-number-wrapper,
.overlapping_box .elementor-counter-number,
.overlapping_box .elementor-counter-number-suffix {
    color: var(--text-primary) !important;
    font-weight: 700 !important;
}


/* ==========================================================================
   POLISHED INPUT FIELDS
   ========================================================================== */

input[type="email"],
input[type="text"],
input[type="tel"],
textarea {
    border: 1px solid rgba(var(--brand-rgb), 0.12) !important;
    border-radius: 12px !important;
    padding: 12px 18px !important;
    font-size: 14px !important;
    outline: none !important;
    transition: all 0.3s ease !important;
    background: rgba(var(--brand-rgb), 0.05) !important;
    color: var(--text-primary) !important;
}

input[type="email"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
textarea:focus {
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 0 4px rgba(var(--brand-rgb), 0.15) !important;
    background: rgba(var(--brand-rgb), 0.08) !important;
}

/* Accent Highlight Text */
.color_text, .gradient_text span {
    background: linear-gradient(135deg, var(--brand-primary) 0%, var(--ice-blue) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    background-clip: text !important;
    color: transparent !important;
}

/* Sub-text and descriptors */
.sub-text {
    color: var(--text-muted) !important;
}


/* ==========================================================================
   HERO FIGURES ANIMATIONS (Liquid Network)
   ========================================================================== */

/* Hide the customer satisfaction card */
.satisfaction-card {
    display: none !important;
}

/* Fix gradient overlay at bottom of hero banner */
.main-hero-box::after {
    background: linear-gradient(180deg, rgba(var(--bg-body-rgb), 0) 0%, var(--bg-body) 100%) !important;
}

/* Staggered Delay and Theme Colors per Figure Group */
.main-hero-box .hero-figure-1 {
    --delay: 0s;
    --glow-rgb: 215, 189, 176;
    --glow-color: #D7BDB0;
    --gradient-start: #D7BDB0;
    --gradient-end: #C5A896;
}
.main-hero-box .hero-figure-2 {
    --delay: 0.18s;
    --glow-rgb: 215, 189, 176;
    --glow-color: #D7BDB0;
    --gradient-start: #D7BDB0;
    --gradient-end: #C5A896;
}
.main-hero-box .hero-figure-3 {
    --delay: 0.36s;
    --glow-rgb: 215, 189, 176;
    --glow-color: #D7BDB0;
    --gradient-start: #D7BDB0;
    --gradient-end: #C5A896;
}
.main-hero-box .hero-figure-4 {
    --delay: 0.54s;
    --glow-rgb: 215, 189, 176;
    --glow-color: #D7BDB0;
    --gradient-start: #D7BDB0;
    --gradient-end: #E3D5CA;
}
.main-hero-box .hero-figure-5 {
    --delay: 0.72s;
    --glow-rgb: 214, 204, 194;
    --glow-color: #D6CCC2;
    --gradient-start: #D6CCC2;
    --gradient-end: #E3D5CA;
}
.main-hero-box .hero-figure-6 {
    --delay: 0.9s;
    --glow-rgb: 214, 204, 194;
    --glow-color: #D6CCC2;
    --gradient-start: #D6CCC2;
    --gradient-end: #E3D5CA;
}
.main-hero-box .hero-figure-7 {
    --delay: 1.08s;
    --glow-rgb: 214, 204, 194;
    --glow-color: #D6CCC2;
    --gradient-start: #D6CCC2;
    --gradient-end: #E3D5CA;
}

.main-hero-box .hero-figure {
    position: relative;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.4s ease;
}

/* Base styling with glassmorphism and colored borders */
.main-hero-box .hero-body,
.main-hero-box .hero-head {
    position: relative;
    background: rgba(255, 255, 255, 0.05) !important;
    border: 1.5px solid rgba(var(--glow-rgb), 0.3) !important;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}

/* Concentric sonar rings wrapper */
.main-hero-box .secondhead {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    pointer-events: none;
}

/* Apply staggered delays */
.main-hero-box .hero-body,
.main-hero-box .hero-head,
.main-hero-box .hero-body::after,
.main-hero-box .hero-head::after {
    animation-delay: var(--delay) !important;
}

/* Tooltip Badges */
.main-hero-box .hero-figure::after {
    position: absolute;
    bottom: calc(100% + 20px);
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    background: rgba(var(--bg-body-rgb), 0.95);
    border: 1px solid rgba(var(--brand-rgb), 0.15);
    color: var(--text-primary);
    padding: 6px 12px;
    border-radius: 20px;
    font-family: var(--body-font) !important;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3), 0 0 12px rgba(var(--glow-rgb), 0.35);
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 10;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

/* Tooltip arrow */
.main-hero-box .hero-figure::before {
    content: '';
    position: absolute;
    bottom: calc(100% + 14px);
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    border-width: 6px 6px 0;
    border-style: solid;
    border-color: rgba(var(--bg-body-rgb), 0.95) transparent transparent;
    opacity: 0;
    pointer-events: none;
    transition: all 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
    z-index: 10;
}

/* Tooltip content */
.main-hero-box .hero-figure-1::after { content: 'C-Level Executive'; }
.main-hero-box .hero-figure-2::after { content: 'VP Operations'; }
.main-hero-box .hero-figure-3::after { content: 'VP Finance'; }
.main-hero-box .hero-figure-4::after { content: 'Managing Director'; }
.main-hero-box .hero-figure-5::after { content: 'Portfolio CFO'; }
.main-hero-box .hero-figure-6::after { content: 'Sales Leader'; }
.main-hero-box .hero-figure-7::after { content: 'HR Director'; }

/* Hover transitions for tooltips */
.main-hero-box .hero-figure:hover::after,
.main-hero-box .hero-figure:hover::before {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

/* Gradient overlay layers */
.main-hero-box .hero-body::after,
.main-hero-box .hero-head::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    opacity: 0;
    transition: opacity 0.4s ease;
    pointer-events: none;
    z-index: 1;
    background: linear-gradient(180deg, var(--gradient-start) 0%, var(--gradient-end) 100%) !important;
}

/* Trigger gradient pulse */
.main-hero-box .hero-body::after,
.main-hero-box .hero-head::after {
    animation: gradientPulseWave 2.5s ease-in-out infinite;
}

@keyframes gradientPulseWave {
    0%, 100% { opacity: 0; }
    50% { opacity: 0.9; }
}

/* Dual Concentric Sonar Pings */
.main-hero-box .hero-head::before,
.main-hero-box .secondhead::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: 50%;
    border: 1.5px solid var(--glow-color);
    pointer-events: none;
    z-index: -1;
}

.main-hero-box .hero-head::before {
    animation: sonarPingOne 2.5s cubic-bezier(0.16, 1, 0.3, 1) infinite;
    animation-delay: var(--delay) !important;
}

.main-hero-box .secondhead::before {
    animation: sonarPingTwo 2.5s cubic-bezier(0.16, 1, 0.3, 1) infinite;
    animation-delay: calc(var(--delay) + 0.4s) !important;
}

@keyframes sonarPingOne {
    0% { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(2.3); opacity: 0; }
}

@keyframes sonarPingTwo {
    0% { transform: scale(1); opacity: 0.6; }
    100% { transform: scale(1.7); opacity: 0; }
}

/* Liquid shape morphing */
.main-hero-box .hero-body {
    animation: growBodyCreative 2.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite !important;
}

.main-hero-box .hero-head {
    animation: moveHeadCreative 2.5s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite !important;
}

@keyframes growBodyCreative {
    0%, 100% {
        transform: scaleY(1) skewX(0deg);
        border-radius: 86px 86px 0 0;
        box-shadow: 0 0 0px transparent;
    }
    25% {
        border-radius: 76px 96px 0 0;
        transform: scaleY(1.04) skewX(1deg);
    }
    50% {
        transform: scaleY(1.08) skewX(0deg);
        border-radius: 86px 86px 0 0;
        box-shadow: 0 4px 25px rgba(var(--glow-rgb), 0.35);
    }
    75% {
        border-radius: 96px 76px 0 0;
        transform: scaleY(1.04) skewX(-1deg);
    }
}

@keyframes moveHeadCreative {
    0%, 100% {
        transform: translateY(0) scale(1) skewX(0deg);
        box-shadow: 0 0 0px transparent;
    }
    50% {
        transform: translateY(-24px) scale(1.03) skewX(0deg);
        box-shadow: 0 4px 15px rgba(var(--glow-rgb), 0.4);
    }
}

/* Hover effects with spring micro-interactions */
.main-hero-box .hero-figure:hover {
    transform: translateY(-20px) scale(1.05);
    filter: drop-shadow(0 10px 30px rgba(var(--glow-rgb), 0.55));
}

.main-hero-box .hero-figure:hover .hero-body,
.main-hero-box .hero-figure:hover .hero-head,
.main-hero-box .hero-figure:hover .hero-body::after,
.main-hero-box .hero-figure:hover .hero-head::after,
.main-hero-box .hero-figure:hover .hero-head::before,
.main-hero-box .hero-figure:hover .secondhead::before {
    animation-play-state: paused !important;
}

.main-hero-box .hero-figure:hover .hero-body::after,
.main-hero-box .hero-figure:hover .hero-head::after {
    opacity: 1 !important;
}

.main-hero-box .hero-figure:hover .hero-head::before {
    animation: sonarPingHover 1.2s cubic-bezier(0.16, 1, 0.3, 1) infinite !important;
}
.main-hero-box .hero-figure:hover .secondhead::before {
    animation: sonarPingHoverStagger 1.2s cubic-bezier(0.16, 1, 0.3, 1) infinite !important;
    animation-delay: 0.25s !important;
}

@keyframes sonarPingHover {
    0% { transform: scale(1); opacity: 0.9; }
    100% { transform: scale(2); opacity: 0; }
}
@keyframes sonarPingHoverStagger {
    0% { transform: scale(1); opacity: 0.7; }
    100% { transform: scale(1.6); opacity: 0; }
}

/* Custom Creative hover script override */
.main-hero-box .hero-figure.animate-hover {
    animation: hoverGrowCreative 1.4s ease-in-out infinite !important;
    filter: drop-shadow(0 10px 30px rgba(var(--glow-rgb), 0.6)) !important;
}

.main-hero-box .hero-figure.animate-hover .hero-body::after,
.main-hero-box .hero-figure.animate-hover .hero-head::after {
    opacity: 1 !important;
}

@keyframes hoverGrowCreative {
    0%, 100% { transform: translateY(-15px) scale(1.05); }
    50% { transform: translateY(-25px) scale(1.07); }
}

/* Mobile responsive */
@media (max-width: 600px) {
    .main-hero-box .hero-figure::after {
        font-size: 10px;
        padding: 4px 8px;
        bottom: calc(100% + 12px);
    }
    .main-hero-box .hero-figure::before {
        bottom: calc(100% + 8px);
    }
}


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

footer {
    background: var(--footer-bg) !important;
    color: var(--text-muted) !important;
    padding-top: 60px !important;
    padding-bottom: 40px !important;
    border-top: 1px solid rgba(var(--brand-rgb), 0.08) !important;
}

footer a {
    color: var(--text-secondary) !important;
    transition: color 0.3s ease !important;
}

footer a:hover {
    color: var(--brand-primary) !important;
}

/* Remove default WordPress elements */
.admin-bar,
#wpadminbar {
    display: none !important;
}

.widget_search, .widget_meta, .widget_archive, .widget_categories {
    display: none !important;
}


/* ==========================================================================
   HERO IMAGE ILLUSTRATION STYLING & ANIMATIONS
   ========================================================================== */

.hero-image-container {
    width: 100%;
    max-width: 710px;
    aspect-ratio: 1.777 !important;
    height: auto !important;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    border-radius: 24px;
    border: 1px solid rgba(var(--brand-rgb), 0.18) !important;
    background: rgba(var(--bg-body-rgb), 0.35) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.5), 0 0 30px rgba(var(--brand-rgb), 0.1) !important;
    animation: premiumFloat 8s ease-in-out infinite;
    transform-style: preserve-3d;
    will-change: transform;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
}

.hero-image-container:hover {
    animation-play-state: paused;
    border-color: rgba(var(--brand-rgb), 0.4) !important;
    box-shadow: 0 25px 60px rgba(0, 0, 0, 0.6), 0 0 50px rgba(var(--brand-rgb), 0.15) !important;
}

.hero-illustration-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    will-change: transform;
    transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

/* Card glare overlay */
.card-glare {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    pointer-events: none;
    z-index: 2;
    background: radial-gradient(circle at 50% 50%, rgba(var(--brand-rgb), 0) 0%, transparent 60%);
    transition: opacity 0.3s ease;
    mix-blend-mode: overlay;
    opacity: 0;
}

.hero-image-container:hover .card-glare {
    opacity: 1;
}

@keyframes premiumFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-12px); }
}


/* ==========================================================================
   TESTIMONIAL OVERRIDES
   ========================================================================== */

.elementor-testimonial__text {
    color: var(--text-secondary) !important;
    font-size: 15.5px !important;
    line-height: 1.65 !important;
    font-style: italic !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
}

.elementor-testimonial__name {
    color: var(--text-primary) !important;
    font-weight: 700 !important;
}

.elementor-testimonial__title {
    color: var(--text-muted) !important;
    font-weight: 500 !important;
}


/* ==========================================================================
   CLIENT LOGO GRID
   ========================================================================== */

.logo-grid {
    gap: 16px !important;
}

.logo-cell {
    background: #080c15 !important;
    border: 1px solid rgba(243, 228, 195, 0.15) !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25) !important;
    transition: all 0.3s ease !important;
}

.logo-cell:hover {
    background: rgba(8, 12, 21, 0.8) !important;
    border-color: rgba(243, 228, 195, 0.4) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.3) !important;
    transform: translateY(-2px) !important;
}


/* ==========================================================================
   THEME TOGGLE FLOATING BUTTON
   ========================================================================== */

#theme-toggle-btn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 48px;
    height: 48px;
    border-radius: 50% !important;
    background: var(--gradient) !important;
    color: var(--bg-body) !important;
    border: 1px solid rgba(var(--brand-rgb), 0.3) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    cursor: pointer !important;
    z-index: 99999 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    transition: all 0.3s cubic-bezier(0.25, 1, 0.5, 1) !important;
}

#theme-toggle-btn:hover {
    transform: scale(1.1) translateY(-2px) !important;
    box-shadow: 0 8px 25px rgba(var(--brand-rgb), 0.3) !important;
}

#theme-toggle-btn svg {
    transition: transform 0.5s ease !important;
}

#theme-toggle-btn:hover svg {
    transform: rotate(30deg) !important;
}


/* ==========================================================================
   LIGHT THEME COMPONENT OVERRIDES
   ========================================================================== */

/* Global light theme resets */
body.light-theme {
    background-color: var(--bg-body) !important;
    background-image: none !important;
    color: var(--text-secondary) !important;
}

body.light-theme html,
body.light-theme #page,
body.light-theme .site,
body.light-theme .site-content {
    background: transparent !important;
    color: var(--text-secondary) !important;
}

/* Floating Navbar */
body.light-theme header,
body.light-theme .elementor-location-header,
body.light-theme .elementor-element-5415750 {
    background: var(--nav-bg) !important;
    border-bottom: 1px solid var(--card-border) !important;
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05) !important;
}

body.light-theme .nav-menu a,
body.light-theme .menu-item a {
    color: var(--text-primary) !important;
}

body.light-theme .nav-menu a:hover,
body.light-theme .menu-item a:hover {
    color: var(--brand-primary) !important;
}

/* Buttons in light theme */
body.light-theme .elementor-button,
body.light-theme button,
body.light-theme .subscribe-button,
body.light-theme .global_btn a {
    background: #0B0B0B !important;
    color: #ffffff !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

body.light-theme .elementor-button:hover,
body.light-theme button:hover,
body.light-theme .subscribe-button:hover,
body.light-theme .global_btn a:hover {
    background: var(--gradient-hover) !important;
    color: #ffffff !important;
    box-shadow: var(--shadow-hover) !important;
}

body.light-theme #theme-toggle-btn {
    color: #ffffff !important;
}

body.light-theme #theme-toggle-btn:hover {
    box-shadow: 0 8px 25px rgba(var(--brand-rgb), 0.2) !important;
}

/* Input Fields in light theme */
body.light-theme input[type="email"],
body.light-theme input[type="text"],
body.light-theme input[type="tel"],
body.light-theme textarea {
    border: 1px solid var(--border-neutral) !important;
    background: #ffffff !important;
    color: var(--text-primary) !important;
}

body.light-theme input[type="email"]:focus,
body.light-theme input[type="text"]:focus,
body.light-theme input[type="tel"]:focus,
body.light-theme textarea:focus {
    border-color: var(--brand-primary) !important;
    box-shadow: 0 0 0 4px rgba(var(--brand-rgb), 0.12) !important;
    background: #ffffff !important;
}

/* Testimonial adjustments */
body.light-theme .elementor-testimonial__text {
    text-shadow: none !important;
}

/* Hero image container in light theme */
body.light-theme .hero-image-container {
    border-color: var(--border-neutral) !important;
    background: rgba(var(--surface-rgb), 0.6) !important;
    box-shadow: 0 15px 45px rgba(0, 0, 0, 0.05), 0 0 30px rgba(var(--brand-rgb), 0.05) !important;
}

/* Partner Logo Grid Cells */
body.light-theme .logo-cell {
    background: #080c15 !important;
    border: 1px solid rgba(243, 228, 195, 0.15) !important;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
}

body.light-theme .logo-cell:hover {
    background: rgba(8, 12, 21, 0.8) !important;
    border-color: rgba(243, 228, 195, 0.4) !important;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15) !important;
}

/* Colorize brand logos to warm beige tint in light theme */
body.light-theme .logo-cell img,
body.light-theme .swiper-slide-image,
body.light-theme img[src*="Logo-11"] {
    /* Removed the brightness(0) filter which was causing black rectangles */
}

/* Invert sketched illustrations for light background */
body.light-theme img[src*="Avg-Time-to-Hire"],
body.light-theme img[src*="Offers-Acceptance-Rate"],
body.light-theme img[src*="Candidate-Retention-Rate"],
body.light-theme img[src*="Discovery"],
body.light-theme img[src*="Research"],
body.light-theme img[src*="Selection"],
body.light-theme img[src*="placdemnt"],
body.light-theme img[src*="play-button-arrowhead"],
body.light-theme img[src*="wp-content/uploads/2026/01/1.png"],
body.light-theme img[src*="wp-content/uploads/2026/01/2.png"],
body.light-theme img[src*="wp-content/uploads/2026/01/3.png"],
body.light-theme img[src*="wp-content/uploads/2026/01/4.png"],
body.light-theme img[src*="1-268x300.png"],
body.light-theme img[src*="2-270x300.png"],
body.light-theme img[src*="3-268x300.png"],
body.light-theme img[src*="4-271x300.png"] {
    filter: invert(0.93) hue-rotate(180deg) saturate(1.3) !important;
}

/* Light Theme Card Overrides for Overlapping Boxes */
body.light-theme .overlapping_box {
    background: var(--bg-surface) !important;
    border-color: var(--border-neutral) !important;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.05) !important;
}

body.light-theme .overlapping_box:hover {
    background: var(--bg-surface) !important;
    border-color: rgba(var(--brand-rgb), 0.25) !important;
    box-shadow: 0 20px 40px rgba(var(--brand-rgb), 0.08) !important;
}

/* Remove text blur shadow in light theme for readability */
body.light-theme .overlapping_box .elementor-image-box-title,
body.light-theme .elementor-widget-image-box .elementor-image-box-title,
body.light-theme .overlapping_box h4,
body.light-theme .elementor-widget-image-box h4,
body.light-theme .overlapping_box .elementor-image-box-description,
body.light-theme .elementor-widget-image-box .elementor-image-box-description,
body.light-theme .overlapping_box p,
body.light-theme .elementor-widget-image-box p,
body.light-theme .overlapping_box .elementor-counter-title,
body.light-theme .overlapping_box .elementor-counter-number-wrapper,
body.light-theme .overlapping_box .elementor-counter-number,
body.light-theme .overlapping_box .elementor-counter-number-suffix {
    text-shadow: none !important;
}


/* ==========================================================================
   SUBPAGES STICKY OVERLAPPING CARDS (CAPABILITIES & PRIVATE EQUITY)
   ========================================================================== */

/* Capabilities page sticky containers */
.elementor-element-877da25,
.elementor-element-ab0d364,
.elementor-element-818e7be,
.elementor-element-8c395d3 {
    position: sticky !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    transition: background 0.4s ease, background-color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease !important;
}

.elementor-element-877da25 { top: 100px !important; z-index: 10 !important; }
.elementor-element-ab0d364 { top: 140px !important; z-index: 20 !important; }
.elementor-element-818e7be { top: 180px !important; z-index: 30 !important; }
.elementor-element-8c395d3 { top: 220px !important; z-index: 40 !important; }

/* Ensure capabilities parent container allows sticky overflow */
.elementor-element-35566fc,
.elementor-element-35566fc .e-con-inner {
    overflow: visible !important;
}

/* Private Equity page sticky containers */
.elementor-element-b5f2e11,
.elementor-element-a81abf3,
.elementor-element-c1008a1,
.elementor-element-8fd9ecb,
.elementor-element-7e4d978 {
    position: sticky !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    transition: background 0.4s ease, background-color 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease !important;
}

.elementor-element-b5f2e11 { top: 100px !important; z-index: 10 !important; }
.elementor-element-a81abf3 { top: 140px !important; z-index: 20 !important; }
.elementor-element-c1008a1 { top: 180px !important; z-index: 30 !important; }
.elementor-element-8fd9ecb { top: 220px !important; z-index: 40 !important; }
.elementor-element-7e4d978 { top: 260px !important; z-index: 50 !important; }

/* Ensure private equity parent container allows sticky overflow */
.elementor-element-21bbd59,
.elementor-element-21bbd59 .e-con-inner {
    overflow: visible !important;
}


/* ==========================================================================
   LIGHT THEME: DARK SECTION TEXT FIXES
   ========================================================================== */

/* Footer CTA - keep background dark, make text light */
body.light-theme .contact_cta .elementor-heading-title {
    color: var(--brand-primary) !important;
}
body.light-theme .contact_cta .elementor-widget-text-editor,
body.light-theme .contact_cta .elementor-widget-text-editor p,
body.light-theme .contact_cta p {
    color: #ffffff !important;
}

/* How We Scale Your Team - add light overlay */
body.light-theme .how_scale_your_team {
    position: relative;
}
body.light-theme .how_scale_your_team::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(var(--bg-body-rgb), 0.85) !important;
    z-index: 0;
    pointer-events: none;
}
body.light-theme .how_scale_your_team > div,
body.light-theme .how_scale_your_team > .elementor-container {
    position: relative;
    z-index: 1;
}

/* Latest Insights Cards - light gradient */
body.light-theme .insinghts_single_box .elementor-background-overlay {
    background: linear-gradient(180deg, rgba(var(--bg-body-rgb),0) 0%, rgba(var(--bg-body-rgb),0.95) 100%) !important;
}
body.light-theme .insinghts_single_box .insights_heading {
    color: var(--brand-primary) !important;
}
body.light-theme .insinghts_single_box .insights_desc {
    color: var(--text-secondary) !important;
}

/* Private Equity page dark blue cards - force light text */
body.light-theme .elementor-element-58500d1 .elementor-heading-title,
body.light-theme .elementor-element-58500d1 .elementor-widget-text-editor {
    color: #ffffff !important;
}

/* Force light text on sections retaining dark backgrounds in light theme */
body.light-theme .how_scale_your_team,
body.light-theme .how_scale_your_team *,
body.light-theme .how_scale_your_team h1,
body.light-theme .how_scale_your_team h2,
body.light-theme .how_scale_your_team h3,
body.light-theme .how_scale_your_team h4,
body.light-theme .how_scale_your_team p,
body.light-theme .how_scale_your_team span {
    color: #ffffff !important;
    text-shadow: 0 2px 4px rgba(0,0,0,0.5) !important;
}

/* Accent heading in "How We Scale" */
body.light-theme .color_text,
body.light-theme .gradient_text span,
body.light-theme .how_scale_your_team .color_text,
body.light-theme .how_scale_your_team .gradient_text span {
    background: linear-gradient(135deg, var(--electric-blue) 0%, var(--brand-primary) 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

body.light-theme .insinghts_single_box,
body.light-theme .insinghts_single_box *,
body.light-theme .insinghts_single_box h1,
body.light-theme .insinghts_single_box h2,
body.light-theme .insinghts_single_box h3,
body.light-theme .insinghts_single_box h4,
body.light-theme .insinghts_single_box p,
body.light-theme .insinghts_single_box span {
    color: #ffffff !important;
    text-shadow: 0 1px 3px rgba(0,0,0,0.6) !important;
}


/* ==========================================================================
   FIX STICKY CARD ANIMATION GLITCHES ON PRIVATE EQUITY PAGE
   ========================================================================== */

.elementor-element-b5f2e11.animated,
.elementor-element-b5f2e11 .animated,
.elementor-element-a81abf3.animated,
.elementor-element-a81abf3 .animated,
.elementor-element-c1008a1.animated,
.elementor-element-c1008a1 .animated,
.elementor-element-8fd9ecb.animated,
.elementor-element-8fd9ecb .animated,
.elementor-element-7e4d978.animated,
.elementor-element-7e4d978 .animated {
    animation: none !important;
    animation-delay: 0s !important;
    transform: none !important;
    opacity: 1 !important;
}

/* Ensure no transforms on sticky cards to preserve stacking context */
.elementor-element-b5f2e11,
.elementor-element-a81abf3,
.elementor-element-c1008a1,
.elementor-element-8fd9ecb,
.elementor-element-7e4d978 {
    transform: none !important;
    animation: none !important;
    will-change: auto !important;
}


/* ==========================================================================
   GLOBAL SELECTION & FOCUS
   ========================================================================== */

::selection {
    background: var(--brand-primary) !important;
    color: var(--text-primary) !important;
}

:focus-visible {
    outline: 2px solid var(--brand-primary) !important;
    outline-offset: 2px;
}

/* Auto-invert the TAC logo for light theme to ensure visibility */
body.light-theme img[src*='tac-logo.png'] {
    filter: invert(1) hue-rotate(180deg) brightness(0.7) contrast(1.5) !important;
}

/* ==========================================================================
   OPEN POSITIONS JOB CARDS (Always White with Black Text)
   ========================================================================== */
.tj-job-card {
    background-color: #ffffff !important;
    border: 1px solid #e5e7eb !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05) !important;
    color: #1a1a1a !important;
    transition: all 0.3s ease !important;
}

.tj-job-card:hover {
    border-color: var(--brand-primary, #4DA8FF) !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08) !important;
    transform: translateY(-2px) !important;
}

.tj-job-card .tj-job-title {
    color: #111827 !important; /* Bold dark black */
    font-weight: 600 !important;
}

.tj-job-card .tj-meta-item {
    color: #4b5563 !important; /* Darker gray for readability */
}

.tj-job-card .tj-meta-item span {
    color: #4b5563 !important;
}

.tj-job-card .tj-meta-item svg {
    color: #4b5563 !important;
    stroke: #4b5563 !important;
}

.tj-job-card .tj-job-description {
    color: #374151 !important; /* Charcoal black */
}

.tj-job-card .tj-job-description p {
    color: #374151 !important;
}

.tj-job-card .tj-job-footer {
    border-top: 1px solid #f3f4f6 !important;
}

.tj-job-card .tj-imported-info {
    color: #6b7280 !important;
}

.tj-job-card .tj-imported-info span {
    color: #6b7280 !important;
}

.tj-job-card .tj-imported-info svg {
    color: #6b7280 !important;
    stroke: #6b7280 !important;
}

.tj-job-card .tj-view-btn {
    background-color: var(--brand-primary, #4DA8FF) !important;
    color: #ffffff !important; /* White text on primary button */
    border: none !important;
}

.tj-job-card .tj-view-btn:hover {
    background-color: var(--brand-primary-hover, #007BFF) !important;
    color: #ffffff !important;
}

/* ==========================================================================
   PARTNER LOGO MARQUEE / CAROUSEL (Sleek Dark Navy Strip for Logos)
   ========================================================================== */
.elementor-element-bd74147 .elementor-image-carousel-wrapper.swiper {
    background-color: #080c15 !important;
    padding: 24px 0 !important;
    border-radius: 16px !important;
    border: 1px solid rgba(243, 228, 195, 0.12) !important;
    box-shadow: inset 0 4px 12px rgba(0, 0, 0, 0.4) !important;
}

/* Ensure the transparent PNG logos in the carousel are clear, colored, and fully opaque */
.elementor-element-bd74147 .swiper-slide-image {
    max-height: 58px !important;
    width: auto !important;
    object-fit: contain !important;
    opacity: 1 !important;
    filter: none !important;
    transition: transform 0.3s ease !important;
}

.elementor-element-bd74147 .swiper-slide:hover .swiper-slide-image {
    transform: scale(1.08) !important;
}

/* ==========================================================================
   HEADER NAVIGATION BUTTON VERTICAL ALIGNMENT
   ========================================================================== */
.elementor-element-4be8faa {
    align-items: center !important;
}
.elementor-element-d8204d1 {
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    transform: translateY(4px) !important;
}

/* ==========================================================================
   GLOBAL ANIMATION DISABLE OVERRIDES
   ========================================================================== */
.animated, 
[data-settings*="animation"] {
    animation: none !important;
    animation-delay: 0s !important;
    animation-duration: 0s !important;
    transform: none !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.elementor-invisible {
    visibility: visible !important;
    opacity: 1 !important;
}

/* ==========================================================================
   INDUSTRIES CAROUSEL BG IMAGES
   ========================================================================== */
.insinghts_single_box {
    position: relative !important;
    overflow: hidden !important;
}
.insinghts_single_box img.card-bg-img {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 1 !important;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.insinghts_single_box:hover img.card-bg-img {
    transform: scale(1.05) !important;
}
.insinghts_single_box::after {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: linear-gradient(180deg, rgba(11, 11, 11, 0.3) 0%, rgba(11, 11, 11, 0.75) 100%) !important;
    z-index: 2 !important;
    transition: background 0.4s ease !important;
}
.insinghts_single_box:hover::after {
    background: linear-gradient(180deg, rgba(11, 11, 11, 0.2) 0%, rgba(11, 11, 11, 0.65) 100%) !important;
}
.insinghts_single_box > *:not(img.card-bg-img):not(::after) {
    position: relative !important;
    z-index: 3 !important;
}
