/*
Theme Name: Hello Elementor Child - IFL
Theme URI: https://iflus.org
Description: Custom child theme for Institute of Future Leaders (IFL) with official brand styling, typography, and enhanced UI components.
Author: IFL Web Development Team
Author URI: https://iflus.org
Template: hello-elementor
Version: 1.2.3
Text Domain: hello-elementor-child
*/

/* ==========================================================================
   1. BRAND DESIGN TOKENS & CSS VARIABLES
   ========================================================================== */
:root {
    /* Primary Brand Colors */
    --ifl-navy: #07205C;
    --ifl-navy-dark: #041238;
    --ifl-navy-light: #0E3082;
    --ifl-navy-subtle: rgba(7, 32, 92, 0.04);
    
    /* Secondary Accent Colors */
    --ifl-crimson: #EC0044;
    --ifl-crimson-hover: #D4003D;
    --ifl-crimson-subtle: rgba(236, 0, 68, 0.08);
    --ifl-crimson-glow: rgba(236, 0, 68, 0.25);
    
    /* Neutrals & Surfaces */
    --ifl-white: #FFFFFF;
    --ifl-bg-light: #F8FAFC;
    --ifl-bg-card: #FFFFFF;
    --ifl-border-light: #E2E8F0;
    --ifl-border-focus: #CBD5E1;
    
    /* Typography Colors */
    --ifl-text-primary: #0F172A;
    --ifl-text-secondary: #475569;
    --ifl-text-muted: #64748B;
    --ifl-text-light: #F8FAFC;
    
    /* Typography Font Stacks */
    --ifl-font-heading: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --ifl-font-body: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    
    /* Shadows & Radii */
    --ifl-radius-sm: 6px;
    --ifl-radius-md: 10px;
    --ifl-radius-lg: 16px;
    --ifl-radius-full: 9999px;
    --ifl-shadow-card: 0 4px 20px -2px rgba(7, 32, 92, 0.05), 0 2px 6px -1px rgba(7, 32, 92, 0.03);
    --ifl-shadow-hover: 0 20px 30px -4px rgba(7, 32, 92, 0.10), 0 8px 12px -2px rgba(7, 32, 92, 0.05);
    --ifl-shadow-crimson: 0 8px 24px -4px rgba(236, 0, 68, 0.30);
    
    /* Transitions */
    --ifl-transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ==========================================================================
   2. GLOBAL TYPOGRAPHY & RESET ENHANCEMENTS
   ========================================================================== */
body {
    font-family: var(--ifl-font-body);
    color: var(--ifl-text-primary);
    background-color: var(--ifl-white);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4, h5, h6,
.elementor-heading-title {
    font-family: var(--ifl-font-heading) !important;
    letter-spacing: -0.02em;
    color: var(--ifl-navy);
}

/* Suppress the redundant raw page header title generated by Hello Elementor */
.home .page-header,
.elementor-page .page-header,
.site-main > .page-header {
    display: none !important;
}

/* Eyebrows / Kickers */
.ifl-eyebrow,
.elementor-widget-heading.ifl-eyebrow .elementor-heading-title {
    font-family: var(--ifl-font-heading) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: var(--ifl-crimson) !important;
    display: inline-block;
    margin-bottom: 8px !important;
}

/* High-Impact Gradient Heading */
.ifl-gradient-text {
    background: linear-gradient(135deg, var(--ifl-navy) 0%, var(--ifl-crimson) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    display: inline-block;
}

/* ==========================================================================
   3. HEADER & NAVIGATION ENHANCEMENTS (SINGLE-LINE DESKTOP + RESPONSIVE)
   ========================================================================== */

/* 3.1 Header Container & Shell */
header.elementor-location-header {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 9999 !important;
    background: #FFFFFF !important;
}

[data-id="ifl_header_con"],
.ifl-sticky-header {
    display: flex !important;
    width: 100% !important;
    max-width: 100% !important;
    min-height: 76px !important;
    height: 76px !important;
    align-items: center !important;
    justify-content: center !important;
    background: #FFFFFF !important;
    border-bottom: 1px solid rgba(7, 32, 92, 0.08) !important;
    box-sizing: border-box !important;
    padding: 0 !important;
    margin: 0 !important;
    transition: background-color 0.25s ease, box-shadow 0.25s ease !important;
}

.elementor-location-header.elementor-sticky--effects,
[data-id="ifl_header_con"].elementor-sticky--effects,
.ifl-sticky-header.elementor-sticky--effects {
    background: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 4px 20px rgba(7, 32, 92, 0.08) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}

/* Inner Container Flex Layout */
[data-id="ifl_header_con"] > .e-con-inner,
.ifl-sticky-header > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 1360px !important;
    height: 100% !important;
    margin: 0 auto !important;
    padding: 0 36px !important;
    box-sizing: border-box !important;
    gap: 0 !important;
}

/* 3.2 Column Sizing & Distribution (Desktop >= 1025px) */
@media (min-width: 1025px) {
    /* Left: Logo Column */
    [data-id="ifl_hdr_col_left"] {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Center: Navigation Column */
    [data-id="ifl_hdr_col_center"],
    .ifl-nav {
        flex: 1 1 auto !important;
        width: auto !important;
        max-width: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: 38px !important;  /* Logo -> Nav gap: 35-45px */
        margin-right: 30px !important; /* Nav -> CTA gap: 25-35px */
        padding: 0 !important;
        min-width: 0 !important;
        flex-shrink: 1 !important;
    }

    /* Right: CTA Column */
    [data-id="ifl_hdr_col_right"],
    [data-id="ifl_header_con"] .ifl-hdr-cta-col {
        flex: 0 0 auto !important;
        width: auto !important;
        max-width: none !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        margin: 0 !important;
        padding: 0 !important;
        flex-shrink: 0 !important;
    }

    /* Ensure dropdown container is hidden on desktop */
    .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        display: none !important;
    }
}

/* 3.3 Logo Specifications */
[data-id="ifl_site_logo"],
.ifl-header-logo {
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    margin: 0 !important;
}

[data-id="ifl_site_logo"] a,
.ifl-header-logo a {
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

[data-id="ifl_site_logo"] img,
.ifl-header-logo img {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
    max-height: 44px !important;
    aspect-ratio: 400 / 179;
    object-fit: contain !important;
    display: block !important;
    transition: opacity 0.2s ease !important;
}

[data-id="ifl_site_logo"] a:hover img,
.ifl-header-logo a:hover img {
    opacity: 0.92 !important;
}

/* 3.4 Desktop Navigation Typography & Spacing */
@media (min-width: 1025px) {
    [data-id="ifl_nav_menu"] {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: auto !important;
        max-width: 100% !important;
    }

    [data-id="ifl_nav_menu"] .elementor-nav-menu--main {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
}

[data-id="ifl_nav_menu"] .elementor-nav-menu--main > ul.elementor-nav-menu,
.ifl-nav .elementor-nav-menu--main > ul.elementor-nav-menu {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 24px !important; /* Nav item gap: 22-28px */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    white-space: nowrap !important;
    width: auto !important;
}

[data-id="ifl_nav_menu"] .elementor-nav-menu--main > ul > li,
.ifl-nav .elementor-nav-menu--main > ul > li {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: nowrap !important;
    position: relative !important;
}

/* Nav Item Link (Typography Requirements) */
[data-id="ifl_nav_menu"] .elementor-nav-menu--main a.elementor-item,
.ifl-nav .elementor-nav-menu--main a.elementor-item {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.005em !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    color: #07205C !important;
    padding: 8px 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 5px !important;
    border-radius: 4px !important;
    transition: color 0.2s ease, background-color 0.2s ease !important;
    text-decoration: none !important;
    position: relative !important;
}

/* Subtle Interactive Hover (Minimal + Futuristic) */
[data-id="ifl_nav_menu"] .elementor-nav-menu--main a.elementor-item:hover,
[data-id="ifl_nav_menu"] .elementor-nav-menu--main a.elementor-item.elementor-item-active,
.ifl-nav .elementor-nav-menu--main a.elementor-item:hover,
.ifl-nav .elementor-nav-menu--main a.elementor-item.elementor-item-active {
    color: #EC0044 !important;
    background-color: rgba(7, 32, 92, 0.03) !important;
}

/* Chevron Submenu Indicator & Animation */
[data-id="ifl_nav_menu"] .elementor-nav-menu--main .sub-arrow,
.ifl-nav .elementor-nav-menu--main .sub-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 4px !important;
    transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease !important;
}

[data-id="ifl_nav_menu"] .elementor-nav-menu--main .sub-arrow svg,
.ifl-nav .elementor-nav-menu--main .sub-arrow svg {
    width: 8.5px !important;
    height: 8.5px !important;
    fill: currentColor !important;
    opacity: 0.55 !important;
    transition: fill 0.2s ease, opacity 0.2s ease !important;
}

[data-id="ifl_nav_menu"] .elementor-nav-menu--main li:hover > a .sub-arrow,
.ifl-nav .elementor-nav-menu--main li:hover > a .sub-arrow {
    transform: translateY(2px) !important;
}

[data-id="ifl_nav_menu"] .elementor-nav-menu--main li:hover > a .sub-arrow svg,
.ifl-nav .elementor-nav-menu--main li:hover > a .sub-arrow svg {
    opacity: 1 !important;
    fill: #EC0044 !important;
}

/* 3.5 Desktop Dropdown Submenu */
[data-id="ifl_nav_menu"] .elementor-nav-menu--main ul.sub-menu,
.ifl-nav .elementor-nav-menu--main ul.sub-menu {
    background: #FFFFFF !important;
    border: 1px solid rgba(7, 32, 92, 0.08) !important;
    border-radius: 8px !important;
    box-shadow: 0 16px 36px -4px rgba(7, 32, 92, 0.12), 0 4px 12px -2px rgba(7, 32, 92, 0.05) !important;
    padding: 8px 0 !important;
    min-width: 210px !important;
    margin-top: 10px !important;
    transition: opacity 0.2s ease, transform 0.2s ease !important;
}

[data-id="ifl_nav_menu"] .elementor-nav-menu--main ul.sub-menu li,
.ifl-nav .elementor-nav-menu--main ul.sub-menu li {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

[data-id="ifl_nav_menu"] .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item,
.ifl-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    letter-spacing: 0.005em !important;
    line-height: 1.35 !important;
    color: #07205C !important;
    padding: 9px 20px !important;
    display: block !important;
    white-space: nowrap !important;
    transition: background-color 0.15s ease, color 0.15s ease, padding-left 0.15s ease !important;
}

[data-id="ifl_nav_menu"] .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:hover,
.ifl-nav .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item:focus {
    background-color: rgba(236, 0, 68, 0.05) !important;
    color: #EC0044 !important;
    padding-left: 23px !important;
}
}

/* 3.6 Header CTA Button (The Converge 2026-27) */
[data-id="ifl_hdr_cta"],
.ifl-hdr-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    margin: 0 !important;
}

[data-id="ifl_hdr_cta"] .elementor-button,
.ifl-hdr-cta .elementor-button,
[data-id="ifl_header_con"] .ifl-btn-primary.elementor-widget-button .elementor-button {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 11.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    line-height: 1 !important;
    padding: 12px 18px !important;
    white-space: nowrap !important;
    background-color: #EC0044 !important;
    color: #FFFFFF !important;
    border-radius: 6px !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(236, 0, 68, 0.28) !important;
    transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    cursor: pointer !important;
}

[data-id="ifl_hdr_cta"] .elementor-button:hover,
.ifl-hdr-cta .elementor-button:hover,
[data-id="ifl_header_con"] .ifl-btn-primary.elementor-widget-button .elementor-button:hover {
    background-color: #D4003D !important;
    color: #FFFFFF !important;
    transform: translateY(-1px) !important;
    box-shadow: 0 8px 22px rgba(236, 0, 68, 0.38) !important;
}

[data-id="ifl_hdr_cta"] .elementor-button-content-wrapper,
[data-id="ifl_hdr_cta"] .elementor-button-text {
    white-space: nowrap !important;
    display: inline-block !important;
}

/* 3.7 Responsive Navigation (Tablet: 768px - 1024px) */
@media (max-width: 1024px) {
    header.elementor-location-header {
        display: block !important;
        width: 100% !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 9999 !important;
    }

    [data-id="ifl_header_con"],
    .ifl-sticky-header {
        height: 70px !important;
        min-height: 70px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: #FFFFFF !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    [data-id="ifl_header_con"] > .e-con-inner,
    .ifl-sticky-header > .e-con-inner {
        padding: 0 16px !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
        gap: 0 !important;
    }

    /* CRITICAL: Completely hide the desktop horizontal nav menu on tablet/mobile */
    [data-id="ifl_nav_menu"] .elementor-nav-menu--main,
    .ifl-nav .elementor-nav-menu--main {
        display: none !important;
        width: 0 !important;
        height: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        overflow: hidden !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    [data-id="ifl_nav_menu"],
    .ifl-nav-widget {
        width: auto !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    /* Left: Logo */
    [data-id="ifl_hdr_col_left"] {
        order: 1 !important;
        flex: 0 0 auto !important;
        width: auto !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    [data-id="ifl_site_logo"] img,
    .ifl-header-logo img {
        width: 145px !important;
        max-width: 145px !important;
        max-height: 38px !important;
        object-fit: contain !important;
        display: block !important;
    }

    /* Right: CTA Button */
    [data-id="ifl_hdr_col_right"],
    [data-id="ifl_header_con"] .ifl-hdr-cta-col {
        order: 2 !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin-left: auto !important;
        margin-right: 12px !important;
        display: flex !important;
        align-items: center !important;
        padding: 0 !important;
    }

    [data-id="ifl_hdr_cta"] .elementor-button,
    .ifl-hdr-cta .elementor-button,
    [data-id="ifl_header_con"] .ifl-btn-primary.elementor-widget-button .elementor-button {
        font-family: 'Inter', sans-serif !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        padding: 9px 13px !important;
        white-space: nowrap !important;
        letter-spacing: 0.02em !important;
    }

    /* Center: Hamburger Toggle */
    [data-id="ifl_hdr_col_center"],
    .ifl-nav {
        order: 3 !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
    }

    /* Hamburger Toggle Button */
    .elementor-menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 40px !important;
        height: 40px !important;
        border-radius: 6px !important;
        background: rgba(7, 32, 92, 0.04) !important;
        border: 1px solid rgba(7, 32, 92, 0.08) !important;
        cursor: pointer !important;
        transition: background-color 0.2s ease !important;
        margin: 0 !important;
        padding: 0 !important;
        flex: 0 0 auto !important;
    }

    .elementor-menu-toggle:hover {
        background: rgba(7, 32, 92, 0.08) !important;
    }

    .elementor-menu-toggle svg {
        width: 20px !important;
        height: 20px !important;
        fill: #07205C !important;
        margin: 0 !important;
    }

    /* Mobile Dropdown Menu Drawer */
    .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position: fixed !important;
        top: 70px !important;
        left: 0 !important;
        right: 0 !important;
        width: 100vw !important;
        background: #FFFFFF !important;
        box-shadow: 0 20px 40px rgba(7, 32, 92, 0.12) !important;
        border-top: 1px solid rgba(7, 32, 92, 0.08) !important;
        border-bottom: 3px solid #07205C !important;
        max-height: calc(100vh - 70px) !important;
        overflow-y: auto !important;
        z-index: 99999 !important;
        padding: 16px 24px 32px 24px !important;
        box-sizing: border-box !important;
    }

    .elementor-nav-menu--dropdown ul.elementor-nav-menu {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }

    .elementor-nav-menu--dropdown li.menu-item {
        width: 100% !important;
        border-bottom: 1px solid rgba(7, 32, 92, 0.06) !important;
        display: block !important;
    }

    .elementor-nav-menu--dropdown li.menu-item a {
        font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
        font-size: 15px !important;
        font-weight: 500 !important;
        color: #07205C !important;
        padding: 13px 4px !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        min-height: 48px !important;
        text-decoration: none !important;
    }

    .elementor-nav-menu--dropdown li.menu-item a:hover {
        color: #EC0044 !important;
    }

    .elementor-nav-menu--dropdown .sub-menu {
        padding: 4px 0 8px 16px !important;
        background: rgba(7, 32, 92, 0.02) !important;
        border-radius: 4px !important;
        margin-bottom: 8px !important;
    }

    .elementor-nav-menu--dropdown .sub-menu li {
        border-bottom: none !important;
    }

    .elementor-nav-menu--dropdown .sub-menu li a {
        font-size: 13.5px !important;
        color: #475569 !important;
        padding: 9px 8px !important;
        min-height: 40px !important;
    }

    .elementor-nav-menu--dropdown .sub-menu li a:hover {
        color: #EC0044 !important;
    }
}

/* 3.8 Universal Mobile Navigation (<= 767px: Smartphones, iPhone & Android) */
@media (max-width: 767px) {
    [data-id="ifl_header_con"],
    .ifl-sticky-header {
        height: 64px !important;
        min-height: 64px !important;
        width: 100% !important;
    }

    [data-id="ifl_header_con"] > .e-con-inner,
    .ifl-sticky-header > .e-con-inner {
        padding: 0 12px !important;
        gap: 0 !important;
    }

    [data-id="ifl_site_logo"] img,
    .ifl-header-logo img {
        width: 118px !important;
        max-width: 118px !important;
        max-height: 30px !important;
    }

    [data-id="ifl_hdr_col_right"],
    [data-id="ifl_header_con"] .ifl-hdr-cta-col {
        margin-left: auto !important;
        margin-right: 8px !important;
    }

    [data-id="ifl_hdr_cta"] .elementor-button,
    .ifl-hdr-cta .elementor-button,
    [data-id="ifl_header_con"] .ifl-btn-primary.elementor-widget-button .elementor-button {
        font-size: 10px !important;
        padding: 7px 11px !important;
        letter-spacing: 0.015em !important;
    }

    .elementor-menu-toggle {
        width: 36px !important;
        height: 36px !important;
        margin: 0 !important;
        flex: 0 0 auto !important;
    }

    .elementor-menu-toggle svg {
        width: 18px !important;
        height: 18px !important;
    }

    .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        top: 64px !important;
        max-height: calc(100vh - 64px) !important;
        padding: 12px 16px 24px 16px !important;
    }
}

/* 3.9 Ultra-Compact Mobile (<= 390px: iPhone 14/15, mini, SE) */
@media (max-width: 390px) {
    [data-id="ifl_header_con"] > .e-con-inner,
    .ifl-sticky-header > .e-con-inner {
        padding: 0 8px !important;
    }

    [data-id="ifl_site_logo"] img,
    .ifl-header-logo img {
        width: 106px !important;
        max-width: 106px !important;
        max-height: 28px !important;
    }

    [data-id="ifl_hdr_col_right"],
    [data-id="ifl_header_con"] .ifl-hdr-cta-col {
        margin-right: 6px !important;
    }

    [data-id="ifl_hdr_cta"] .elementor-button,
    .ifl-hdr-cta .elementor-button,
    [data-id="ifl_header_con"] .ifl-btn-primary.elementor-widget-button .elementor-button {
        font-size: 9px !important;
        padding: 6px 8px !important;
    }

    .elementor-menu-toggle {
        width: 32px !important;
        height: 32px !important;
    }

    .elementor-menu-toggle svg {
        width: 16px !important;
        height: 16px !important;
    }
}

/* ==========================================================================
   4. BUTTONS & CALLS TO ACTION
   ========================================================================== */
/* Primary Brand Button (Crimson Action) */
.ifl-btn-primary .elementor-button,
.elementor-button.ifl-btn-primary {
    background: var(--ifl-crimson) !important;
    color: var(--ifl-white) !important;
    font-family: var(--ifl-font-heading) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border-radius: var(--ifl-radius-sm) !important;
    padding: 14px 28px !important;
    box-shadow: var(--ifl-shadow-crimson);
    transition: var(--ifl-transition) !important;
    border: none !important;
}

.ifl-btn-primary .elementor-button:hover,
.elementor-button.ifl-btn-primary:hover {
    background: var(--ifl-crimson-hover) !important;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px -2px rgba(236, 0, 68, 0.40);
}

/* Secondary Brand Button (Navy Solid) */
.ifl-btn-secondary .elementor-button,
.elementor-button.ifl-btn-secondary {
    background: var(--ifl-navy) !important;
    color: var(--ifl-white) !important;
    font-family: var(--ifl-font-heading) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border-radius: var(--ifl-radius-sm) !important;
    padding: 14px 28px !important;
    transition: var(--ifl-transition) !important;
}

.ifl-btn-secondary .elementor-button:hover,
.elementor-button.ifl-btn-secondary:hover {
    background: var(--ifl-navy-light) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(7, 32, 92, 0.20);
}

/* Outline Button */
.ifl-btn-outline .elementor-button,
.elementor-button.ifl-btn-outline {
    background: transparent !important;
    color: var(--ifl-navy) !important;
    font-family: var(--ifl-font-heading) !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border: 2px solid var(--ifl-navy) !important;
    border-radius: var(--ifl-radius-sm) !important;
    padding: 12px 26px !important;
    transition: var(--ifl-transition) !important;
}

.ifl-btn-outline .elementor-button:hover,
.elementor-button.ifl-btn-outline:hover {
    background: var(--ifl-navy) !important;
    color: var(--ifl-white) !important;
    transform: translateY(-2px);
}

/* ==========================================================================
   5. PILLAR & FEATURE CARDS (ELEVATION & HOVER)
   ========================================================================== */
.ifl-card {
    background: var(--ifl-bg-card) !important;
    border-radius: var(--ifl-radius-lg) !important;
    border: 1px solid var(--ifl-border-light) !important;
    box-shadow: var(--ifl-shadow-card) !important;
    padding: 36px 30px !important;
    transition: var(--ifl-transition) !important;
    position: relative;
    overflow: hidden;
}

.ifl-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 4px;
    background: transparent;
    transition: var(--ifl-transition);
}

.ifl-card:hover {
    transform: translateY(-6px);
    box-shadow: var(--ifl-shadow-hover) !important;
    border-color: rgba(7, 32, 92, 0.15) !important;
}

.ifl-card:hover::before {
    background: linear-gradient(90deg, var(--ifl-navy), var(--ifl-crimson));
}

/* Icon Box inside Pillar Cards */
.ifl-card .elementor-icon {
    width: 60px;
    height: 60px;
    border-radius: var(--ifl-radius-md);
    background: var(--ifl-crimson-subtle);
    color: var(--ifl-crimson) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    transition: var(--ifl-transition);
}

.ifl-card:hover .elementor-icon {
    background: var(--ifl-crimson);
    color: var(--ifl-white) !important;
    transform: scale(1.06);
}

/* ==========================================================================
   6. IMPACT METRIC COUNTERS
   ========================================================================== */
.ifl-stat-box {
    text-align: center;
    padding: 24px 16px;
    border-radius: var(--ifl-radius-md);
    background: var(--ifl-white);
    border: 1px solid var(--ifl-border-light);
    box-shadow: var(--ifl-shadow-card);
}

.ifl-stat-box .elementor-counter-number-wrapper {
    font-family: var(--ifl-font-heading) !important;
    font-size: 44px !important;
    font-weight: 800 !important;
    color: var(--ifl-navy) !important;
    line-height: 1 !important;
    margin-bottom: 8px;
}

.ifl-stat-box .elementor-counter-title {
    font-family: var(--ifl-font-body) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--ifl-text-secondary) !important;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ==========================================================================
   7. FOOTER STYLING
   ========================================================================== */
.ifl-footer {
    background-color: var(--ifl-navy-dark) !important;
    color: #94A3B8 !important;
    padding-top: 60px !important;
    padding-bottom: 30px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.ifl-footer h4,
.ifl-footer .elementor-heading-title {
    color: var(--ifl-white) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    margin-bottom: 18px !important;
}

.ifl-footer a {
    color: #94A3B8 !important;
    text-decoration: none !important;
    transition: var(--ifl-transition);
}

.ifl-footer a:hover {
    color: var(--ifl-crimson) !important;
}

.ifl-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    padding-top: 24px;
    margin-top: 40px;
    font-size: 13px;
    color: #64748B;
}

/* ==========================================================================
   8. COOKIEADMIN OVERRIDES
   ========================================================================== */
.cookieadmin_law_container .cookieadmin_accept_btn {
    background-color: var(--ifl-crimson) !important;
    color: #FFFFFF !important;
    border-radius: 6px !important;
}

.cookieadmin_law_container .cookieadmin_reject_btn,
.cookieadmin_law_container .cookieadmin_customize_btn {
    background-color: #FFFFFF !important;
    color: var(--ifl-navy) !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 6px !important;
}

.cookieadmin_remark, 
.cookieadmin_showmore {
    color: var(--ifl-navy) !important;
}

/* ==========================================================================
   9. EDITORIAL REFINEMENTS (HERO, FORCES, TIMELINE, CONVERGE)
   ========================================================================== */

/* Logo Resets */
.ifl-header-logo img {
    height: auto !important;
    max-height: 52px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
}

.ifl-footer-logo img {
    height: auto !important;
    max-height: 48px !important;
    width: auto !important;
    object-fit: contain !important;
    display: block !important;
}

/* First-Viewport Editorial Typography */
.ifl-hero-h1 .elementor-heading-title {
    font-family: var(--ifl-font-heading) !important;
    font-size: clamp(34px, 3.4vw, 50px) !important;
    font-weight: 800 !important;
    line-height: 1.12 !important;
    letter-spacing: -0.03em !important;
    color: var(--ifl-navy) !important;
    margin-bottom: 14px !important;
}

.ifl-hero-forces-tag,
.ifl-hero-forces-tag .elementor-heading-title {
    font-family: var(--ifl-font-heading) !important;
    font-size: clamp(11.5px, 0.95vw, 13px) !important;
    font-weight: 700 !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
    color: var(--ifl-navy) !important;
    background: rgba(7, 32, 92, 0.05) !important;
    border: 1px solid rgba(7, 32, 92, 0.10) !important;
    display: inline-block !important;
    padding: 5px 14px !important;
    border-radius: 999px !important;
    margin-bottom: 14px !important;
}

.ifl-hero-lead p {
    font-family: var(--ifl-font-body) !important;
    font-size: clamp(15px, 1.05vw, 17px) !important;
    line-height: 1.55 !important;
    color: var(--ifl-text-secondary) !important;
    max-width: 520px !important;
    margin-bottom: 22px !important;
}

/* Hero Container Spacing, Grid & First-Viewport Balance */
[data-id="ifl_sec_hero"],
.ifl-hero-section {
    padding-top: 20px !important;
    padding-bottom: 28px !important;
    background-color: #F8FAFC !important;
    background-image: 
        linear-gradient(rgba(7, 32, 92, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7, 32, 92, 0.035) 1px, transparent 1px) !important;
    background-size: 48px 48px !important;
    position: relative !important;
    overflow: hidden !important;
}

[data-id="ifl_hero_btns"] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 16px !important;
    margin-top: 4px !important;
}

/* ==========================================================================
   HERO PHASE 1 REFINEMENT: ARCHITECTURAL & EDITORIAL COMPOSITION
   ========================================================================== */
.ifl-hero-visual-stage {
    position: relative;
    width: 100%;
    max-width: 580px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: iflHeroFadeUp 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

@keyframes iflHeroFadeUp {
    0% {
        opacity: 0;
        transform: translateY(14px);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Subtle Architectural Frame */
.ifl-hero-architectural-frame {
    position: relative;
    width: 100%;
    padding: 12px;
    border-radius: 20px;
    border: 1px solid rgba(7, 32, 92, 0.12);
    background: rgba(255, 255, 255, 0.65);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    box-shadow: 0 16px 40px -10px rgba(7, 32, 92, 0.12);
}

/* Architectural Registration Marks */
.ifl-arch-reg {
    position: absolute;
    font-family: var(--ifl-font-heading);
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: rgba(7, 32, 92, 0.45);
    text-transform: uppercase;
    user-select: none;
    pointer-events: none;
    background: #F8FAFC;
    padding: 1px 6px;
    border-radius: 3px;
    z-index: 5;
}

.ifl-arch-reg-tl {
    top: -8px;
    left: 20px;
}

.ifl-arch-reg-br {
    bottom: -8px;
    right: 24px;
}

/* Integrated Supporting IFL Brand Mark (Refined, Discreet, Not Dominating) */
.ifl-hero-brand-mark {
    position: absolute;
    top: -12px;
    right: 20px;
    z-index: 6;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    background: #07205C;
    padding: 5px 12px 5px 8px;
    border-radius: 999px;
    box-shadow: 0 6px 16px -2px rgba(4, 18, 56, 0.30);
    border: 1px solid rgba(255, 255, 255, 0.15);
}

.ifl-brand-mark-shield {
    width: 16px;
    height: 16px;
    object-fit: contain;
    display: block;
}

.ifl-brand-mark-txt {
    font-family: var(--ifl-font-heading);
    font-size: 8.5px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: #FFFFFF;
    line-height: 1;
}

/* Watermark Background Number */
.ifl-hero-watermark {
    position: absolute;
    top: -40px;
    right: -24px;
    font-family: var(--ifl-font-heading);
    font-size: 150px;
    font-weight: 900;
    line-height: 1;
    color: rgba(7, 32, 92, 0.035);
    z-index: 0;
    pointer-events: none;
    user-select: none;
    letter-spacing: -0.05em;
}

/* Dominant Primary Canvas: Collaborative Atrium */
.ifl-hero-main-canvas {
    position: relative;
    width: 100%;
    border-radius: 16px;
    overflow: hidden;
    background-color: var(--ifl-navy);
    box-shadow: 0 16px 36px -8px rgba(7, 32, 92, 0.22), 0 0 0 1px rgba(7, 32, 92, 0.08);
    z-index: 2;
    aspect-ratio: 16 / 11;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
}

.ifl-hero-main-canvas:hover {
    transform: translateY(-3px);
    box-shadow: 0 24px 48px -10px rgba(7, 32, 92, 0.28);
}

.ifl-hero-img-primary {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 11;
    object-fit: cover;
    display: block;
    filter: brightness(0.96) contrast(1.04);
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ifl-hero-main-canvas:hover .ifl-hero-img-primary {
    transform: scale(1.025);
}

/* Gradient Scrim over primary canvas */
.ifl-hero-scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 32, 92, 0.01) 0%, rgba(7, 32, 92, 0.16) 55%, rgba(4, 18, 56, 0.84) 100%);
    pointer-events: none;
}

/* Primary Canvas Meta Label - Neutral Technical Metadata */
.ifl-hero-canvas-meta {
    position: absolute;
    bottom: 16px;
    right: 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    z-index: 3;
    pointer-events: none;
}

.ifl-canvas-tag {
    font-family: var(--ifl-font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ifl-crimson);
    background: rgba(255, 255, 255, 0.95);
    padding: 3px 8px;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}

.ifl-canvas-coord {
    font-family: var(--ifl-font-body);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: #E2E8F0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
}

/* Secondary Overlapping Inset Card */
.ifl-hero-inset-card {
    position: absolute;
    bottom: -22px;
    left: -16px;
    z-index: 6;
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    padding: 10px 16px 10px 10px;
    border-radius: 14px;
    box-shadow: 0 18px 36px -6px rgba(7, 32, 92, 0.18), 0 0 0 1px rgba(7, 32, 92, 0.08);
    transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.ifl-hero-inset-card:hover {
    transform: translateY(-2px) scale(1.02);
    box-shadow: 0 22px 42px -6px rgba(7, 32, 92, 0.24), 0 0 0 1px rgba(236, 0, 68, 0.25);
}

.ifl-hero-inset-img-wrap {
    width: 54px;
    height: 54px;
    border-radius: 10px;
    overflow: hidden;
    flex-shrink: 0;
    box-shadow: 0 4px 10px rgba(7, 32, 92, 0.12);
    border: 2px solid #FFFFFF;
}

.ifl-hero-img-inset {
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    display: block;
}

.ifl-hero-inset-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.ifl-inset-status {
    font-family: var(--ifl-font-heading);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: var(--ifl-crimson);
    display: flex;
    align-items: center;
    gap: 5px;
}

.ifl-pulse-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--ifl-crimson);
    display: inline-block;
    box-shadow: 0 0 0 rgba(236, 0, 68, 0.4);
    animation: iflPulse 2s infinite;
}

@keyframes iflPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(236, 0, 68, 0.6);
    }
    70% {
        box-shadow: 0 0 0 6px rgba(236, 0, 68, 0);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(236, 0, 68, 0);
    }
}

.ifl-inset-title {
    font-family: var(--ifl-font-heading);
    font-size: 12.5px;
    font-weight: 700;
    color: var(--ifl-navy);
    line-height: 1.2;
    letter-spacing: 0.02em;
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    .ifl-hero-visual-stage {
        animation: none !important;
    }
    .ifl-pulse-dot {
        animation: none !important;
    }
    .ifl-hero-main-canvas,
    .ifl-hero-img-primary,
    .ifl-hero-inset-card {
        transition: none !important;
    }
}

/* ==========================================================================
   THREE FORCES (PHASE 2): ASYMMETRIC 60/40 TRIPARTITE ECOSYSTEM
   ========================================================================== */

/* Section Container & Stage */
[data-id="ifl_sec_forces"],
.ifl-sec-forces {
    background-color: #FFFFFF !important;
    border-top: 1px solid rgba(7, 32, 92, 0.08) !important;
    position: relative !important;
    overflow: hidden !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Atmospheric Background System (Grid & Radial Depth) */
.ifl-forces-bg-grid {
    position: absolute;
    top: -60px;
    bottom: -60px;
    left: 0;
    right: 0;
    width: 100%;
    background-image: 
        linear-gradient(rgba(7, 32, 92, 0.032) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7, 32, 92, 0.032) 1px, transparent 1px);
    background-size: 36px 36px;
    pointer-events: none;
    z-index: 0;
    will-change: transform;
}

.ifl-forces-bg-atmosphere {
    position: absolute;
    top: -80px;
    bottom: -80px;
    left: 0;
    right: 0;
    width: 100%;
    background: 
        radial-gradient(circle at 50% 12%, rgba(7, 32, 92, 0.045) 0%, rgba(248, 250, 252, 0) 65%),
        radial-gradient(circle at 85% 75%, rgba(236, 0, 68, 0.025) 0%, transparent 45%);
    pointer-events: none;
    z-index: 0;
    will-change: transform;
}

/* Hero -> Three Forces Architectural Transition Bridge */
.ifl-forces-transition-bridge {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 28px;
    padding-bottom: 12px;
    border-bottom: 1px dashed rgba(7, 32, 92, 0.10);
    position: relative;
    z-index: 2;
}

.ifl-bridge-reg {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: var(--ifl-font-heading);
    font-size: 9.5px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #94A3B8;
    text-transform: uppercase;
}

.ifl-bridge-tick {
    color: var(--ifl-crimson);
    font-size: 11px;
    font-weight: 700;
}

.ifl-bridge-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(7, 32, 92, 0.06), rgba(7, 32, 92, 0.02));
    margin: 0 16px;
}

/* Three Forces Section Lead Copy */
.ifl-forces-lead-p {
    max-width: 720px !important;
    color: #64748B !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    margin: 12px 0 0 0 !important;
}

/* Interconnection System (Connecting Bar with Live Beacon) */
.ifl-forces-interconnect {
    display: flex;
    align-items: center;
    width: 100%;
    margin: 8px 0 32px 0;
    gap: 16px;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
}

.ifl-interconnect-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(7, 32, 92, 0.04), rgba(7, 32, 92, 0.16));
}

.ifl-interconnect-line:last-child {
    background: linear-gradient(90deg, rgba(7, 32, 92, 0.16), rgba(7, 32, 92, 0.04));
}

.ifl-interconnect-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: #F8FAFC;
    border: 1px solid rgba(7, 32, 92, 0.10);
    padding: 6px 16px;
    border-radius: 999px;
    box-shadow: 0 2px 8px -2px rgba(7, 32, 92, 0.05);
}

.ifl-interconnect-text {
    font-family: var(--ifl-font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--ifl-navy);
    text-transform: uppercase;
}

/* Flex Split Layout (Zero-Overflow Calc) */
[data-id="ifl_forces_split"],
.elementor-element-ifl_forces_split {
    display: flex !important;
    flex-direction: row !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 28px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative;
    z-index: 2;
}

[data-id="ifl_force_dominant"],
.elementor-element-ifl_force_dominant {
    flex: 0 0 calc(59% - 14px) !important;
    width: calc(59% - 14px) !important;
    max-width: calc(59% - 14px) !important;
    box-sizing: border-box !important;
}

[data-id="ifl_forces_stack"],
.elementor-element-ifl_forces_stack {
    flex: 0 0 calc(41% - 14px) !important;
    width: calc(41% - 14px) !important;
    max-width: calc(41% - 14px) !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    gap: 20px !important;
    box-sizing: border-box !important;
}

/* Dominant Feature (Force 01 — Innovation & Emerging Technologies) */
.ifl-force-lead,
[data-id="ifl_force_dominant"],
.elementor-element-ifl_force_dominant {
    background-color: #07205C !important;
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
        linear-gradient(145deg, #07205C 0%, #041238 100%) !important;
    background-size: 28px 28px, 28px 28px, 100% 100% !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
    border-radius: 20px !important;
    padding: 34px 34px !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 20px 48px -12px rgba(4, 18, 56, 0.40) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease, border-color 0.4s ease !important;
    box-sizing: border-box !important;
}

.ifl-force-lead:hover,
[data-id="ifl_force_dominant"]:hover,
.elementor-element-ifl_force_dominant:hover {
    transform: translateY(-4px);
    box-shadow: 0 26px 56px -12px rgba(4, 18, 56, 0.50) !important;
    border-color: rgba(236, 0, 68, 0.40) !important;
}

.ifl-force-lead-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    z-index: 2;
    background: transparent !important;
}

/* Watermark Number & Midground Parallax Elements */
.ifl-force-watermark {
    position: absolute;
    top: -24px;
    right: -10px;
    font-family: var(--ifl-font-heading);
    font-size: 110px;
    font-weight: 900;
    line-height: 1;
    color: rgba(255, 255, 255, 0.05);
    pointer-events: none;
    z-index: 0;
    letter-spacing: -0.05em;
    user-select: none;
    will-change: transform;
}

.ifl-force-watermark-sub {
    font-size: 85px;
    top: -18px;
    right: -6px;
    color: rgba(7, 32, 92, 0.04);
}

.ifl-forces-midground-elem {
    will-change: transform;
}

/* Card Top Metadata */
.ifl-force-top-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    position: relative;
    z-index: 2;
}

.ifl-force-eyebrow {
    font-family: var(--ifl-font-heading);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ifl-crimson);
}

.ifl-force-eyebrow-sub {
    color: var(--ifl-navy);
}

.ifl-force-sys-tag {
    font-family: var(--ifl-font-heading);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: #CBD5E1;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    padding: 2px 7px;
    border-radius: 4px;
}

.ifl-force-sys-tag-sub {
    font-family: var(--ifl-font-heading);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.10em;
    text-transform: uppercase;
    color: #64748B;
    background: #F1F5F9;
    border: 1px solid #E2E8F0;
    padding: 2px 7px;
    border-radius: 4px;
}

.ifl-force-lead-title {
    font-family: var(--ifl-font-heading) !important;
    font-size: clamp(22px, 1.7vw, 27px) !important;
    font-weight: 800 !important;
    color: #FFFFFF !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 10px 0 !important;
}

.ifl-force-lead-desc {
    font-family: var(--ifl-font-body) !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    color: #CBD5E1 !important;
    margin: 0 0 18px 0 !important;
    max-width: 580px !important;
}

/* Primary Canvas in Dominant Force */
.ifl-force-canvas-lead {
    position: relative;
    width: 100%;
    height: 180px;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    box-shadow: 0 10px 24px -6px rgba(0, 0, 0, 0.35);
    background: #041238;
}

.ifl-force-img-lead {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    filter: brightness(0.95) contrast(1.05);
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ifl-force-lead:hover .ifl-force-img-lead {
    transform: scale(1.03);
}

.ifl-force-scrim-lead {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 32, 92, 0.05) 0%, rgba(4, 18, 56, 0.88) 100%);
    pointer-events: none;
}

.ifl-force-canvas-meta-lead {
    position: absolute;
    inset: 0;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    pointer-events: none;
    z-index: 2;
}

.ifl-canvas-corner-tag {
    font-family: var(--ifl-font-heading);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--ifl-crimson);
    background: rgba(255, 255, 255, 0.95);
    padding: 2px 7px;
    border-radius: 3px;
    align-self: flex-start;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}

.ifl-canvas-corner-tag-light {
    font-family: var(--ifl-font-heading);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: var(--ifl-navy);
    background: rgba(255, 255, 255, 0.95);
    padding: 2px 7px;
    border-radius: 3px;
    align-self: flex-start;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.ifl-canvas-bottom-meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
}

.ifl-canvas-lead-title {
    font-family: var(--ifl-font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.10em;
    color: #E2E8F0;
    text-transform: uppercase;
}

.ifl-canvas-lead-status {
    font-family: var(--ifl-font-heading);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.10em;
    color: #FFFFFF;
    background: rgba(236, 0, 68, 0.85);
    padding: 2px 8px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Thematic Focal Points (Zero Fabricated Course Names) */
.ifl-force-focal-grid {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 22px;
}

.ifl-focal-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
}

.ifl-focal-icon {
    font-size: 11px;
    color: var(--ifl-crimson);
    font-weight: 700;
    line-height: 1;
}

.ifl-focal-text {
    font-family: var(--ifl-font-body);
    font-size: 13.5px;
    font-weight: 500;
    color: #F1F5F9;
    letter-spacing: 0.01em;
}

/* Supporting Cards (Healthcare & Leadership) */
.ifl-force-sub,
[data-id="ifl_force_healthcare"],
.elementor-element-ifl_force_healthcare,
[data-id="ifl_force_leadership"],
.elementor-element-ifl_force_leadership {
    background-color: #FFFFFF !important;
    border: 1px solid var(--ifl-border-light) !important;
    border-radius: 18px !important;
    padding: 22px 24px !important;
    position: relative !important;
    overflow: hidden !important;
    box-shadow: 0 4px 20px -4px rgba(7, 32, 92, 0.06) !important;
    transition: transform 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
    box-sizing: border-box !important;
}

.ifl-force-sub:hover,
[data-id="ifl_force_healthcare"]:hover,
.elementor-element-ifl_force_healthcare:hover,
[data-id="ifl_force_leadership"]:hover,
.elementor-element-ifl_force_leadership:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px -6px rgba(7, 32, 92, 0.12) !important;
    border-color: rgba(7, 32, 92, 0.22) !important;
}

.ifl-force-sub-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    z-index: 2;
}

.ifl-force-canvas-sub {
    position: relative;
    width: 100%;
    height: 105px;
    aspect-ratio: 16 / 9;
    border-radius: 10px;
    overflow: hidden;
    margin: 4px 0 14px 0;
    border: 1px solid #E2E8F0;
    background: #07205C;
}

.ifl-force-img-sub {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    object-position: center 25% !important;
    display: block;
    filter: brightness(0.98) contrast(1.04);
    transition: transform 0.5s ease;
}

.ifl-force-sub:hover .ifl-force-img-sub {
    transform: scale(1.03);
}

.ifl-force-scrim-sub {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(7, 32, 92, 0.0) 0%, rgba(4, 18, 56, 0.45) 100%) !important;
    pointer-events: none;
}

.ifl-force-canvas-meta-sub {
    position: absolute;
    inset: 0;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    pointer-events: none;
    z-index: 2;
}

.ifl-canvas-sub-title {
    font-family: var(--ifl-font-heading);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.10em;
    color: #FFFFFF;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.6);
    text-transform: uppercase;
}

.ifl-force-sub-title {
    font-family: var(--ifl-font-heading) !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: var(--ifl-navy) !important;
    line-height: 1.25 !important;
    margin: 0 0 6px 0 !important;
    letter-spacing: -0.01em !important;
}

.ifl-force-sub-desc {
    font-family: var(--ifl-font-body) !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #64748B !important;
    margin: 0 0 16px 0 !important;
}

/* Force Buttons */
.ifl-force-btn-row {
    margin-top: auto;
}

.ifl-force-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    transition: all 0.25s ease !important;
}

.ifl-force-btn.ifl-btn-primary {
    background-color: var(--ifl-crimson) !important;
    color: #FFFFFF !important;
    font-family: var(--ifl-font-heading) !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    padding: 13px 24px !important;
    box-shadow: 0 8px 20px -4px rgba(236, 0, 68, 0.40) !important;
    letter-spacing: 0.02em !important;
    border: none !important;
}

.ifl-force-btn.ifl-btn-primary:hover {
    background-color: var(--ifl-crimson-hover) !important;
    color: #FFFFFF !important;
    transform: translateY(-2px);
    box-shadow: 0 12px 28px -4px rgba(236, 0, 68, 0.55) !important;
}

.ifl-force-btn.ifl-btn-outline {
    background-color: transparent !important;
    color: var(--ifl-navy) !important;
    font-family: var(--ifl-font-heading) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border: 1.5px solid rgba(7, 32, 92, 0.25) !important;
    border-radius: 8px !important;
    padding: 10px 20px !important;
    letter-spacing: 0.02em !important;
}

.ifl-force-btn.ifl-btn-outline:hover {
    background-color: var(--ifl-navy) !important;
    color: #FFFFFF !important;
    border-color: var(--ifl-navy) !important;
    transform: translateY(-2px);
    box-shadow: 0 8px 18px -4px rgba(7, 32, 92, 0.20) !important;
}

.ifl-force-btn .ifl-btn-arrow {
    transition: transform 0.25s ease;
}

.ifl-force-btn:hover .ifl-btn-arrow {
    transform: translateX(4px);
}

/* Bottom Exit Transition Bridge -> Phase 3 (3E Operating Methodology) */
.ifl-forces-exit-bridge {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 48px;
    gap: 16px;
    position: relative;
    z-index: 2;
}

.ifl-exit-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(7, 32, 92, 0.03), rgba(7, 32, 92, 0.12));
}

.ifl-exit-line:last-child {
    background: linear-gradient(90deg, rgba(7, 32, 92, 0.12), rgba(7, 32, 92, 0.03));
}

.ifl-exit-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 18px;
    background: #F8FAFC;
    border: 1px solid rgba(7, 32, 92, 0.10);
    border-radius: 999px;
    box-shadow: 0 2px 8px -2px rgba(7, 32, 92, 0.05);
}

.ifl-exit-label {
    font-family: var(--ifl-font-heading);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #475569;
    text-transform: uppercase;
}

.ifl-exit-arrow {
    color: var(--ifl-crimson);
    font-size: 11px;
    font-weight: 700;
}

/* ==========================================================================
   SCROLL REVEAL STAGGERED SEQUENCE
   ========================================================================== */

[data-id="ifl_forces_header"],
.elementor-element-ifl_forces_header {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}

.ifl-forces-interconnect .ifl-interconnect-line {
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
}

.ifl-forces-interconnect .ifl-interconnect-badge {
    opacity: 0;
    transform: scale(0.92);
    transition: opacity 0.6s ease 0.2s, transform 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.2s;
}

[data-id="ifl_force_dominant"],
.elementor-element-ifl_force_dominant {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.25s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.25s, box-shadow 0.4s ease, border-color 0.4s ease !important;
}

[data-id="ifl_force_healthcare"],
.elementor-element-ifl_force_healthcare {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.35s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.35s, box-shadow 0.35s ease, border-color 0.35s ease !important;
}

[data-id="ifl_force_leadership"],
.elementor-element-ifl_force_leadership {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.45s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.45s, box-shadow 0.35s ease, border-color 0.35s ease !important;
}

.ifl-forces-exit-bridge {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 0.7s ease 0.5s, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1) 0.5s;
}

/* Active State: .ifl-revealed */
.ifl-sec-forces.ifl-revealed [data-id="ifl_forces_header"],
.ifl-sec-forces.ifl-revealed .elementor-element-ifl_forces_header,
[data-id="ifl_sec_forces"].ifl-revealed [data-id="ifl_forces_header"],
[data-id="ifl_sec_forces"].ifl-revealed .elementor-element-ifl_forces_header {
    opacity: 1;
    transform: translateY(0);
}

.ifl-sec-forces.ifl-revealed .ifl-forces-interconnect .ifl-interconnect-line,
[data-id="ifl_sec_forces"].ifl-revealed .ifl-forces-interconnect .ifl-interconnect-line {
    transform: scaleX(1);
}

.ifl-sec-forces.ifl-revealed .ifl-forces-interconnect .ifl-interconnect-badge,
[data-id="ifl_sec_forces"].ifl-revealed .ifl-forces-interconnect .ifl-interconnect-badge {
    opacity: 1;
    transform: scale(1);
}

.ifl-sec-forces.ifl-revealed [data-id="ifl_force_dominant"],
.ifl-sec-forces.ifl-revealed .elementor-element-ifl_force_dominant,
[data-id="ifl_sec_forces"].ifl-revealed [data-id="ifl_force_dominant"],
[data-id="ifl_sec_forces"].ifl-revealed .elementor-element-ifl_force_dominant {
    opacity: 1;
    transform: translateY(0);
}

.ifl-sec-forces.ifl-revealed [data-id="ifl_force_healthcare"],
.ifl-sec-forces.ifl-revealed .elementor-element-ifl_force_healthcare,
[data-id="ifl_sec_forces"].ifl-revealed [data-id="ifl_force_healthcare"],
[data-id="ifl_sec_forces"].ifl-revealed .elementor-element-ifl_force_healthcare {
    opacity: 1;
    transform: translateY(0);
}

.ifl-sec-forces.ifl-revealed [data-id="ifl_force_leadership"],
.ifl-sec-forces.ifl-revealed .elementor-element-ifl_force_leadership,
[data-id="ifl_sec_forces"].ifl-revealed [data-id="ifl_force_leadership"],
[data-id="ifl_sec_forces"].ifl-revealed .elementor-element-ifl_force_leadership {
    opacity: 1;
    transform: translateY(0);
}

.ifl-sec-forces.ifl-revealed .ifl-forces-exit-bridge,
[data-id="ifl_sec_forces"].ifl-revealed .ifl-forces-exit-bridge {
    opacity: 1;
    transform: translateY(0);
}

/* Hover overrides after reveal */
.ifl-sec-forces.ifl-revealed [data-id="ifl_force_dominant"]:hover,
.ifl-sec-forces.ifl-revealed .elementor-element-ifl_force_dominant:hover,
[data-id="ifl_sec_forces"].ifl-revealed [data-id="ifl_force_dominant"]:hover,
[data-id="ifl_sec_forces"].ifl-revealed .elementor-element-ifl_force_dominant:hover {
    transform: translateY(-4px) !important;
}

.ifl-sec-forces.ifl-revealed [data-id="ifl_force_healthcare"]:hover,
.ifl-sec-forces.ifl-revealed .elementor-element-ifl_force_healthcare:hover,
[data-id="ifl_sec_forces"].ifl-revealed [data-id="ifl_force_healthcare"]:hover,
[data-id="ifl_sec_forces"].ifl-revealed .elementor-element-ifl_force_healthcare:hover,
.ifl-sec-forces.ifl-revealed [data-id="ifl_force_leadership"]:hover,
.ifl-sec-forces.ifl-revealed .elementor-element-ifl_force_leadership:hover,
[data-id="ifl_sec_forces"].ifl-revealed [data-id="ifl_force_leadership"]:hover,
[data-id="ifl_sec_forces"].ifl-revealed .elementor-element-ifl_force_leadership:hover {
    transform: translateY(-4px) !important;
}

/* Responsive Rules for Three Forces */
@media (max-width: 1024px) {
    [data-id="ifl_sec_forces"],
    .ifl-sec-forces {
        padding: 70px 24px 80px 24px !important;
    }
    [data-id="ifl_forces_split"],
    .elementor-element-ifl_forces_split {
        flex-direction: column !important;
        gap: 24px !important;
    }
    [data-id="ifl_force_dominant"],
    .elementor-element-ifl_force_dominant,
    [data-id="ifl_forces_stack"],
    .elementor-element-ifl_forces_stack {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    .ifl-force-lead,
    [data-id="ifl_force_dominant"],
    .elementor-element-ifl_force_dominant {
        padding: 30px 28px !important;
    }
    .ifl-force-canvas-lead {
        height: 170px;
    }
}

@media (max-width: 768px) {
    [data-id="ifl_sec_forces"],
    .ifl-sec-forces {
        padding: 60px 16px 70px 16px !important;
    }
    .ifl-force-canvas-lead {
        height: 180px;
    }
    .ifl-force-canvas-sub {
        height: 120px;
    }
    /* Disable parallax transforms on small screens */
    .ifl-forces-bg-grid,
    .ifl-forces-bg-atmosphere,
    .ifl-forces-midground-elem,
    .ifl-force-watermark {
        transform: none !important;
        will-change: auto !important;
    }
}

@media (max-width: 480px) {
    .ifl-force-lead,
    [data-id="ifl_force_dominant"],
    .elementor-element-ifl_force_dominant {
        padding: 22px 18px !important;
    }
    .ifl-force-sub,
    [data-id="ifl_force_healthcare"],
    .elementor-element-ifl_force_healthcare,
    [data-id="ifl_force_leadership"],
    .elementor-element-ifl_force_leadership {
        padding: 20px 18px !important;
    }
    .ifl-force-lead-title {
        font-size: 20px !important;
    }
    .ifl-force-canvas-lead {
        height: 155px;
    }
    .ifl-force-canvas-sub {
        height: 110px;
    }
    .ifl-force-focal-grid {
        gap: 6px;
    }
    .ifl-focal-text {
        font-size: 12px;
    }
    .ifl-force-btn {
        width: 100% !important;
        justify-content: center !important;
    }
    .ifl-forces-transition-bridge {
        margin-bottom: 20px;
    }
    .ifl-forces-exit-bridge {
        margin-top: 36px;
    }
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
    [data-id="ifl_forces_header"],
    .elementor-element-ifl_forces_header,
    .ifl-forces-interconnect .ifl-interconnect-line,
    .ifl-forces-interconnect .ifl-interconnect-badge,
    [data-id="ifl_force_dominant"],
    .elementor-element-ifl_force_dominant,
    [data-id="ifl_force_healthcare"],
    .elementor-element-ifl_force_healthcare,
    [data-id="ifl_force_leadership"],
    .elementor-element-ifl_force_leadership,
    .ifl-forces-exit-bridge,
    .ifl-force-lead,
    .ifl-force-sub,
    .ifl-force-img-lead,
    .ifl-force-img-sub,
    .ifl-force-btn,
    .ifl-force-btn .ifl-btn-arrow,
    .ifl-forces-bg-grid,
    .ifl-forces-bg-atmosphere,
    .ifl-forces-midground-elem,
    .ifl-force-watermark {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
        will-change: auto !important;
    }
}


/* ==========================================================================
   07. SECTION 03 — 3E METHODOLOGY (ENGAGE • EQUIP • EMPOWER)
   Editorial Sequential Progression Architecture • Zero Horizontal Bleed
   ========================================================================== */

.ifl-three-e,
[data-id="ifl_sec_timeline"] {
    position: relative !important;
    overflow: hidden !important;
    max-width: 100% !important;
    background-color: var(--ifl-bg-light) !important;
    padding: 90px 24px 70px 24px !important;
}

/* Background Microgrid & Atmosphere (Parallax Layer 1) */
.ifl-3e-bg-grid {
    position: absolute;
    top: -60px;
    bottom: -60px;
    left: 0;
    right: 0;
    width: 100%;
    pointer-events: none;
    z-index: 0;
    background-image: 
        linear-gradient(to right, rgba(7, 32, 92, 0.035) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(7, 32, 92, 0.035) 1px, transparent 1px);
    background-size: 36px 36px;
    will-change: transform;
}

.ifl-3e-bg-atmosphere {
    position: absolute;
    top: -80px;
    bottom: -80px;
    left: 0;
    right: 0;
    width: 100%;
    pointer-events: none;
    z-index: 0;
    background: radial-gradient(circle at 50% 25%, rgba(197, 13, 46, 0.035) 0%, rgba(7, 32, 92, 0.02) 45%, transparent 75%);
    will-change: transform;
}

/* Top Transition Bridge from Three Forces */
.ifl-3e-transition-bridge {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 40px;
    width: 100%;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}

.ifl-3e-transition-bridge .ifl-bridge-reg {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--ifl-font-mono, monospace);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--ifl-text-muted);
    white-space: nowrap;
}

.ifl-3e-transition-bridge .ifl-bridge-tick {
    color: var(--ifl-crimson);
    font-weight: 700;
}

.ifl-3e-transition-bridge .ifl-bridge-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(7, 32, 92, 0.12) 0%, rgba(197, 13, 46, 0.22) 50%, rgba(7, 32, 92, 0.12) 100%);
    min-width: 40px;
}

/* Section Header Styling */
.ifl-three-e .ifl-3e-eyebrow,
[data-id="ifl_time_header"] .ifl-eyebrow {
    margin-bottom: 12px !important;
}

.ifl-three-e .ifl-3e-h2,
[data-id="ifl_time_h2"] h2 {
    font-family: var(--ifl-font-heading) !important;
    font-size: clamp(32px, 3.8vw, 42px) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    color: var(--ifl-navy) !important;
    margin-bottom: 14px !important;
}

.ifl-three-e .ifl-3e-lead-p {
    font-family: var(--ifl-font-body) !important;
    font-size: clamp(15px, 1.1vw, 17px) !important;
    line-height: 1.6 !important;
    color: var(--ifl-text-muted) !important;
    max-width: 680px;
    margin: 0 !important;
}

/* Continuous Horizontal Datum Rail & Progression Grid */
.ifl-3e-progression,
[data-id="ifl_time_grid"] {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    gap: 24px !important;
    width: 100% !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 16px !important;
    margin-bottom: 36px !important;
}

/* Continuous Rail behind the cards on Desktop */
.ifl-3e-progression::before,
[data-id="ifl_time_grid"]::before {
    content: '';
    position: absolute;
    top: 54px;
    left: 8%;
    right: 8%;
    height: 2px;
    background: linear-gradient(90deg, rgba(197, 13, 46, 0.4) 0%, rgba(7, 32, 92, 0.22) 50%, rgba(197, 13, 46, 0.4) 100%);
    z-index: 1;
    pointer-events: none;
}

/* Stage Cards */
.ifl-3e-stage,
[data-id="ifl_node_engage"],
[data-id="ifl_node_equip"],
[data-id="ifl_node_empower"] {
    position: relative !important;
    z-index: 2 !important;
    background: #FFFFFF !important;
    border: 1px solid rgba(7, 32, 92, 0.08) !important;
    border-radius: 20px !important;
    padding: 0 !important;
    box-shadow: 0 10px 30px -10px rgba(7, 32, 92, 0.06), 0 2px 8px rgba(7, 32, 92, 0.02) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease, box-shadow 0.35s ease !important;
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 31% !important;
    overflow: hidden !important;
}

.ifl-3e-stage:hover,
[data-id="ifl_node_engage"]:hover,
[data-id="ifl_node_equip"]:hover,
[data-id="ifl_node_empower"]:hover {
    transform: translateY(-6px) !important;
    border-color: rgba(197, 13, 46, 0.45) !important;
    box-shadow: 0 20px 45px -12px rgba(7, 32, 92, 0.12), 0 0 0 1px rgba(197, 13, 46, 0.15) !important;
}

.ifl-3e-card-inner {
    padding: 32px 28px !important;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
    z-index: 2;
}

/* Top Meta Row inside Card */
.ifl-3e-stage-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    gap: 12px;
}

.ifl-3e-stage-tag {
    font-family: var(--ifl-font-mono, monospace);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--ifl-crimson);
}

.ifl-3e-vector-tag {
    font-family: var(--ifl-font-mono, monospace);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    color: var(--ifl-text-muted);
}

/* Numeral & Directional Connector Row */
.ifl-3e-num-wrap {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 16px;
}

.ifl-3e-num {
    font-family: var(--ifl-font-heading) !important;
    font-size: clamp(48px, 4vw, 56px) !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
    color: var(--ifl-navy) !important;
    display: inline-block;
    will-change: transform;
    transition: color 0.3s ease;
}

.ifl-3e-stage:hover .ifl-3e-num {
    color: var(--ifl-crimson) !important;
}

.ifl-3e-connector-arrow {
    font-family: var(--ifl-font-heading);
    font-size: 26px;
    font-weight: 700;
    color: var(--ifl-crimson);
    opacity: 0.65;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.ifl-connector-final {
    color: #10B981;
    font-size: 22px;
    opacity: 0.8;
}

.ifl-3e-stage:hover .ifl-3e-connector-arrow:not(.ifl-connector-final) {
    opacity: 1;
    transform: translateX(4px);
}

/* Stage Title */
.ifl-3e-stage-title {
    font-family: var(--ifl-font-heading) !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    color: var(--ifl-navy) !important;
    margin: 0 0 10px 0 !important;
}

/* Status Badge */
.ifl-3e-stage-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 4px 12px;
    background: rgba(7, 32, 92, 0.04);
    border: 1px solid rgba(7, 32, 92, 0.06);
    border-radius: 100px;
    width: fit-content;
    margin-bottom: 16px;
}

.ifl-3e-badge-txt {
    font-family: var(--ifl-font-mono, monospace);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--ifl-navy);
}

/* Preserved Stage Description Copy */
.ifl-3e-stage-desc {
    font-family: var(--ifl-font-body) !important;
    font-size: 15px !important;
    line-height: 1.65 !important;
    color: #4A5568 !important;
    margin: 0 0 24px 0 !important;
    flex: 1 1 auto;
}

/* Card Footer */
.ifl-3e-card-footer {
    padding-top: 16px;
    border-top: 1px solid rgba(7, 32, 92, 0.06);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.ifl-3e-step-index {
    font-family: var(--ifl-font-mono, monospace);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--ifl-text-muted);
}

/* Bottom Exit Transition Bridge to CONVERGE */
.ifl-3e-exit-bridge {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 44px;
    width: 100%;
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}

.ifl-3e-exit-bridge .ifl-exit-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(7, 32, 92, 0.15) 30%, rgba(197, 13, 46, 0.25) 70%, transparent 100%);
}

.ifl-3e-exit-bridge .ifl-exit-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 20px;
    background: #FFFFFF;
    border: 1px solid rgba(7, 32, 92, 0.12);
    border-radius: 100px;
    box-shadow: 0 4px 14px rgba(7, 32, 92, 0.05);
}

.ifl-3e-exit-bridge .ifl-exit-label {
    font-family: var(--ifl-font-mono, monospace);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--ifl-navy);
}

.ifl-3e-exit-bridge .ifl-exit-arrow {
    color: var(--ifl-crimson);
    font-size: 14px;
    font-weight: 800;
    animation: iflBounceDown 2s ease-in-out infinite;
}

@keyframes iflBounceDown {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(4px); }
}

/* Staggered Scroll Reveal Animations */
.ifl-three-e .ifl-3e-transition-bridge,
.ifl-three-e [data-id="ifl_time_header"],
.ifl-three-e .ifl-3e-stage,
.ifl-three-e .ifl-3e-exit-bridge {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.ifl-three-e.ifl-revealed .ifl-3e-transition-bridge {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.05s;
}

.ifl-three-e.ifl-revealed [data-id="ifl_time_header"] {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.15s;
}

.ifl-three-e.ifl-revealed [data-id="ifl_node_engage"] {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.25s;
}

.ifl-three-e.ifl-revealed [data-id="ifl_node_equip"] {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.38s;
}

.ifl-three-e.ifl-revealed [data-id="ifl_node_empower"] {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.5s;
}

.ifl-three-e.ifl-revealed .ifl-3e-exit-bridge {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.65s;
}

/* Responsive Adaptations: 1024px, 768px, 480px */
@media (max-width: 1024px) {
    .ifl-three-e,
    [data-id="ifl_sec_timeline"] {
        padding: 75px 20px 55px 20px !important;
    }

    .ifl-3e-progression,
    [data-id="ifl_time_grid"] {
        flex-direction: column !important;
        gap: 20px !important;
    }

    /* Vertical continuous rail on Tablet/Mobile */
    .ifl-3e-progression::before,
    [data-id="ifl_time_grid"]::before {
        top: 40px;
        bottom: 40px;
        left: 42px;
        right: auto;
        width: 2px;
        height: auto;
        background: linear-gradient(180deg, rgba(197, 13, 46, 0.4) 0%, rgba(7, 32, 92, 0.22) 50%, rgba(197, 13, 46, 0.4) 100%);
    }

    .ifl-3e-stage,
    [data-id="ifl_node_engage"],
    [data-id="ifl_node_equip"],
    [data-id="ifl_node_empower"] {
        width: 100% !important;
        flex: 1 1 100% !important;
    }

    /* Rotate connector arrow 90deg on vertical layout (preserve upright checkmark) */
    .ifl-3e-connector-arrow:not(.ifl-connector-final) {
        transform: rotate(90deg);
    }

    .ifl-3e-connector-arrow.ifl-connector-final {
        transform: none !important;
    }

    .ifl-3e-stage:hover .ifl-3e-connector-arrow:not(.ifl-connector-final) {
        transform: rotate(90deg) translateX(4px);
    }
}

@media (max-width: 768px) {
    .ifl-three-e,
    [data-id="ifl_sec_timeline"] {
        padding: 55px 16px 45px 16px !important;
    }

    .ifl-3e-card-inner {
        padding: 24px 20px !important;
    }

    .ifl-3e-num {
        font-size: 42px !important;
    }

    .ifl-3e-transition-bridge {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .ifl-3e-transition-bridge .ifl-bridge-line {
        display: none;
    }

    .ifl-3e-exit-bridge {
        flex-direction: column;
        gap: 12px;
    }

    .ifl-3e-exit-bridge .ifl-exit-line {
        display: none;
    }
}

@media (max-width: 480px) {
    .ifl-3e-card-inner {
        padding: 20px 16px !important;
    }

    .ifl-3e-stage-title {
        font-size: 20px !important;
    }

    .ifl-3e-stage-desc {
        font-size: 14px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ifl-three-e .ifl-3e-transition-bridge,
    .ifl-three-e [data-id="ifl_time_header"],
    .ifl-three-e .ifl-3e-stage,
    .ifl-three-e .ifl-3e-exit-bridge,
    .ifl-3e-bg-grid,
    .ifl-3e-bg-atmosphere,
    .ifl-3e-num,
    .ifl-3e-exit-bridge .ifl-exit-arrow {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
        will-change: auto !important;
    }
}


/* ==========================================================================
   08. SECTION 04 — THE CONVERGE 2026–27 (FLAGSHIP SUMMIT)
   Full-Width Dark Editorial Environment • Image-Driven Institutional Centerpiece
   ========================================================================== */

.ifl-sec-converge,
[data-id="ifl_sec_converge"] {
    position: relative !important;
    overflow: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 105px 0 115px 0 !important;
    background-color: #041238 !important;
    color: #FFFFFF !important;
    z-index: 3 !important;
}

/* Background Stage Wrapper & Photo Layer */
[data-id="ifl_conv_bg_stage"],
.elementor-element-ifl_conv_bg_stage,
[data-id="ifl_conv_bg_stage"] > .elementor-widget-container {
    position: static !important;
}

.ifl-conv-bg-stage-wrap {
    position: absolute !important;
    top: -60px !important;
    bottom: -60px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    height: calc(100% + 120px) !important;
    pointer-events: none !important;
    overflow: hidden !important;
    z-index: 0 !important;
}

.ifl-conv-bg-photo {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 60% !important;
    opacity: 0.88 !important;
    filter: saturate(0.88) brightness(0.95) !important;
    z-index: 0 !important;
    will-change: transform !important;
}

/* Deep Navy Directional Gradient Overlay:
   - High opacity on the left (solid dark navy behind title, tagline, description)
   - Opens up to ~38-42% opacity over the delegates on the right
   - Visual balance: ~40% photo presence, ~60% navy atmosphere
*/
.ifl-conv-bg-overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: 
        linear-gradient(90deg, 
            #041238 0%, 
            rgba(4, 18, 56, 0.96) 28%, 
            rgba(4, 18, 56, 0.82) 48%, 
            rgba(4, 18, 56, 0.38) 75%, 
            rgba(4, 18, 56, 0.58) 100%
        ),
        linear-gradient(180deg, 
            #041238 0%, 
            transparent 12%, 
            transparent 88%, 
            #041238 100%
        ) !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* 36px Microgrid Layer */
.ifl-conv-bg-grid {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-image: 
        linear-gradient(to right, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.025) 1px, transparent 1px) !important;
    background-size: 36px 36px !important;
    pointer-events: none !important;
    z-index: 2 !important;
    will-change: transform !important;
}

/* Ambient Radial Luminous Glow */
.ifl-conv-bg-atmosphere {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: radial-gradient(circle at 82% 50%, rgba(197, 13, 46, 0.12) 0%, rgba(7, 32, 92, 0.22) 45%, transparent 70%) !important;
    pointer-events: none !important;
    z-index: 2 !important;
}

/* Top Transition Bridge (Receiving from 3E) */
.ifl-conv-transition-bridge {
    position: relative !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: 1240px !important;
    margin: 0 auto 48px auto !important;
    padding: 0 24px !important;
}

.ifl-conv-transition-bridge .ifl-conv-bridge-reg {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--ifl-font-mono, monospace);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
    white-space: nowrap;
}

.ifl-conv-transition-bridge .ifl-bridge-tick {
    color: var(--ifl-crimson);
    font-weight: 700;
}

.ifl-conv-transition-bridge .ifl-conv-bridge-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.1) 0%, rgba(197, 13, 46, 0.35) 50%, rgba(255, 255, 255, 0.1) 100%);
    min-width: 40px;
}

/* Inner Centered Container */
.ifl-converge-box,
[data-id="ifl_conv_inner_box"] {
    position: relative !important;
    z-index: 3 !important;
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 24px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
}

/* Eyebrow Row */
.ifl-conv-eyebrow-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.ifl-conv-eyebrow-txt {
    font-family: var(--ifl-font-mono, monospace) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    color: var(--ifl-crimson) !important;
    text-transform: uppercase !important;
}

.ifl-conv-reg-code {
    font-family: var(--ifl-font-mono, monospace);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.45);
}

/* Title & Architectural Watermark Year */
.ifl-conv-title-wrap {
    position: relative !important;
    display: inline-block !important;
    margin-bottom: 14px !important;
}

.ifl-conv-watermark-year {
    position: absolute !important;
    left: -8px !important;
    top: -26px !important;
    right: auto !important;
    font-family: var(--ifl-font-heading) !important;
    font-size: clamp(75px, 11vw, 135px) !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: -0.04em !important;
    color: rgba(255, 255, 255, 0.06) !important;
    pointer-events: none !important;
    z-index: 0 !important;
    user-select: none !important;
    will-change: transform !important;
}

.ifl-converge-h2,
[data-id="ifl_conv_h2"] h2 {
    position: relative !important;
    z-index: 1 !important;
    font-family: var(--ifl-font-heading) !important;
    font-size: clamp(40px, 5.8vw, 68px) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.035em !important;
    color: #FFFFFF !important;
    margin: 0 !important;
    text-shadow: 0 4px 20px rgba(4, 18, 56, 0.8) !important;
}

/* Tagline */
.ifl-converge-tagline,
[data-id="ifl_conv_tagline"] h3 {
    font-family: var(--ifl-font-heading) !important;
    font-size: clamp(20px, 2.2vw, 26px) !important;
    font-weight: 600 !important;
    color: rgba(255, 255, 255, 0.95) !important;
    letter-spacing: -0.01em !important;
    margin: 12px 0 20px 0 !important;
    text-shadow: 0 2px 10px rgba(4, 18, 56, 0.8) !important;
}

/* Three Forces Structural Foundation Bar */
.ifl-conv-forces-bar {
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
    padding: 8px 20px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.10) !important;
    border-radius: 100px !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    margin-bottom: 24px !important;
}

.ifl-conv-force-item {
    display: flex;
    align-items: center;
    gap: 7px;
}

.ifl-conv-force-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--ifl-crimson);
}

.ifl-conv-force-tag {
    font-family: var(--ifl-font-mono, monospace);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--ifl-crimson);
}

.ifl-conv-force-title {
    font-family: var(--ifl-font-mono, monospace);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #FFFFFF;
}

.ifl-conv-force-sep {
    color: rgba(255, 255, 255, 0.25);
    font-size: 10px;
}

/* Preserved Lead Description */
.ifl-conv-lead-desc {
    font-family: var(--ifl-font-body) !important;
    font-size: clamp(16px, 1.15vw, 18px) !important;
    line-height: 1.7 !important;
    color: #CBD5E1 !important;
    max-width: 740px !important;
    margin: 0 0 42px 0 !important;
    text-shadow: 0 2px 8px rgba(4, 18, 56, 0.9) !important;
}

/* Connected Editorial Three-Track Progression System */
[data-id="ifl_conv_tracks_con"],
.ifl-conv-tracks-grid {
    position: relative !important;
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: stretch !important;
    gap: 22px !important;
    width: 100% !important;
    margin-top: 0 !important;
    margin-bottom: 44px !important;
}

/* Connecting Datum Rail: 01 ───────── 02 ───────── 03 */
.ifl-conv-tracks-grid::before {
    content: '';
    position: absolute;
    top: 42px;
    left: 30px;
    right: 30px;
    height: 1px;
    background: linear-gradient(90deg, rgba(197, 13, 46, 0.4) 0%, rgba(255, 255, 255, 0.15) 50%, rgba(197, 13, 46, 0.4) 100%);
    z-index: 0;
    pointer-events: none;
}

[data-id="track1"],
[data-id="track2"],
[data-id="track3"],
.ifl-conv-track-card {
    position: relative !important;
    z-index: 1 !important;
    flex: 1 1 31% !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid rgba(255, 255, 255, 0.09) !important;
    border-top: 2px solid rgba(197, 13, 46, 0.6) !important;
    border-radius: 16px !important;
    padding: 24px 22px 22px 22px !important;
    display: flex !important;
    flex-direction: column !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
}

[data-id="track1"]:hover,
[data-id="track2"]:hover,
[data-id="track3"]:hover,
.ifl-conv-track-card:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(197, 13, 46, 0.5) !important;
    border-top-color: var(--ifl-crimson) !important;
    background: rgba(255, 255, 255, 0.075) !important;
    box-shadow: 0 16px 36px -10px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(197, 13, 46, 0.25) !important;
}

/* Track Card Internal Elements */
.ifl-conv-track-inner {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ifl-conv-track-meta-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}

.ifl-conv-track-num {
    font-family: var(--ifl-font-heading) !important;
    font-size: 36px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    letter-spacing: -0.03em !important;
    color: #FFFFFF !important;
    padding-right: 8px;
    background: #06163e;
    border-radius: 4px;
}

.ifl-conv-track-tag {
    font-family: var(--ifl-font-mono, monospace) !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    color: var(--ifl-crimson) !important;
    text-transform: uppercase !important;
}

.ifl-conv-track-title {
    font-family: var(--ifl-font-heading) !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #FFFFFF !important;
    margin: 4px 0 16px 0 !important;
    letter-spacing: -0.01em !important;
    flex-grow: 1;
}

.ifl-conv-track-divider {
    height: 1px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.15) 0%, rgba(197, 13, 46, 0.4) 60%, transparent 100%);
    margin-bottom: 14px;
}

.ifl-conv-track-meta-bot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font-family: var(--ifl-font-mono, monospace);
    font-size: 10px;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.55);
    text-transform: uppercase;
}

.ifl-conv-track-code {
    color: var(--ifl-crimson);
    font-weight: 700;
}

.ifl-conv-track-spec {
    color: rgba(255, 255, 255, 0.65);
    font-size: 9.5px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Primary CTA Button */
[data-id="ifl_conv_btn"],
.ifl-conv-cta {
    display: inline-block !important;
    margin-bottom: 20px !important;
}

.ifl-conv-cta .elementor-button,
[data-id="ifl_conv_btn"] a {
    background: var(--ifl-crimson) !important;
    color: #FFFFFF !important;
    font-family: var(--ifl-font-heading) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    padding: 18px 42px !important;
    border-radius: 100px !important;
    box-shadow: 0 12px 30px -6px rgba(197, 13, 46, 0.45) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease, background 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

.ifl-conv-cta .elementor-button:hover,
[data-id="ifl_conv_btn"] a:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 18px 40px -6px rgba(197, 13, 46, 0.65) !important;
    background: #d61135 !important;
}

/* Bottom Exit Transition Bridge (to Section 05) */
.ifl-conv-exit-bridge {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    width: 100%;
    max-width: 1240px;
    margin: 44px auto 0 auto;
    padding: 0 24px;
}

.ifl-conv-exit-bridge .ifl-conv-exit-line {
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.12) 30%, rgba(197, 13, 46, 0.3) 70%, transparent 100%);
}

.ifl-conv-exit-bridge .ifl-conv-exit-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 22px;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 100px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.ifl-conv-exit-bridge .ifl-conv-exit-label {
    font-family: var(--ifl-font-mono, monospace);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: rgba(255, 255, 255, 0.85);
}

.ifl-conv-exit-bridge .ifl-conv-exit-arrow {
    color: var(--ifl-crimson);
    font-size: 14px;
    font-weight: 800;
    animation: iflBounceDown 2s ease-in-out infinite;
}

/* Staggered Scroll Reveal Animations */
.ifl-sec-converge .ifl-conv-transition-bridge,
.ifl-sec-converge .ifl-conv-eyebrow-row,
.ifl-sec-converge .ifl-conv-title-wrap,
.ifl-sec-converge .ifl-converge-tagline,
.ifl-sec-converge .ifl-conv-forces-bar,
.ifl-sec-converge .ifl-conv-lead-desc,
.ifl-sec-converge [data-id="track1"],
.ifl-sec-converge [data-id="track2"],
.ifl-sec-converge [data-id="track3"],
.ifl-sec-converge [data-id="ifl_conv_btn"],
.ifl-sec-converge .ifl-conv-exit-bridge {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1), transform 0.75s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

.ifl-sec-converge.ifl-revealed .ifl-conv-transition-bridge {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.05s;
}

.ifl-sec-converge.ifl-revealed .ifl-conv-eyebrow-row,
.ifl-sec-converge.ifl-revealed .ifl-conv-title-wrap {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.15s;
}

.ifl-sec-converge.ifl-revealed .ifl-converge-tagline,
.ifl-sec-converge.ifl-revealed .ifl-conv-forces-bar {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.25s;
}

.ifl-sec-converge.ifl-revealed .ifl-conv-lead-desc {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.35s;
}

.ifl-sec-converge.ifl-revealed [data-id="track1"] {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.45s;
}

.ifl-sec-converge.ifl-revealed [data-id="track2"] {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.55s;
}

.ifl-sec-converge.ifl-revealed [data-id="track3"] {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.65s;
}

.ifl-sec-converge.ifl-revealed [data-id="ifl_conv_btn"],
.ifl-sec-converge.ifl-revealed .ifl-conv-exit-bridge {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.75s;
}

/* Responsive Adaptations: 1024px, 768px, 480px */
@media (max-width: 1024px) {
    .ifl-sec-converge,
    [data-id="ifl_sec_converge"] {
        padding: 85px 0 90px 0 !important;
    }

    .ifl-conv-bg-photo {
        object-position: center 55% !important;
        opacity: 0.82 !important;
    }

    [data-id="ifl_conv_tracks_con"],
    .ifl-conv-tracks-grid {
        flex-direction: column !important;
        gap: 16px !important;
    }

    .ifl-conv-tracks-grid::before {
        top: 24px;
        bottom: 24px;
        left: 42px;
        right: auto;
        width: 1px;
        height: auto;
        background: linear-gradient(180deg, rgba(197, 13, 46, 0.4) 0%, rgba(255, 255, 255, 0.15) 50%, rgba(197, 13, 46, 0.4) 100%);
    }

    [data-id="track1"],
    [data-id="track2"],
    [data-id="track3"],
    .ifl-conv-track-card {
        width: 100% !important;
        flex: 1 1 100% !important;
    }

    .ifl-conv-watermark-year {
        font-size: 84px !important;
        top: -18px !important;
        opacity: 0.05 !important;
    }
}

@media (max-width: 768px) {
    .ifl-sec-converge,
    [data-id="ifl_sec_converge"] {
        padding: 70px 0 70px 0 !important;
    }

    .ifl-conv-bg-photo {
        object-position: center 78% !important;
        opacity: 0.65 !important;
    }

    .ifl-conv-bg-overlay {
        background: 
            linear-gradient(180deg, 
                rgba(4, 18, 56, 0.96) 0%, 
                rgba(4, 18, 56, 0.88) 32%, 
                rgba(4, 18, 56, 0.80) 65%, 
                #041238 100%
            ) !important;
    }

    .ifl-converge-h2,
    [data-id="ifl_conv_h2"] h2 {
        text-shadow: 0 4px 18px rgba(4, 18, 56, 0.95) !important;
    }

    .ifl-conv-lead-desc {
        text-shadow: 0 2px 10px rgba(4, 18, 56, 0.95) !important;
    }

    .ifl-conv-transition-bridge {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 8px !important;
        margin-bottom: 32px !important;
    }

    .ifl-conv-transition-bridge .ifl-conv-bridge-line {
        display: none !important;
    }

    .ifl-conv-exit-bridge {
        flex-direction: column !important;
        gap: 12px !important;
        margin-top: 32px !important;
    }

    .ifl-conv-exit-bridge .ifl-conv-exit-line {
        display: none !important;
    }

    .ifl-conv-forces-bar {
        flex-wrap: wrap !important;
        gap: 10px !important;
        padding: 8px 16px !important;
        border-radius: 12px !important;
    }

    .ifl-conv-forces-bar .ifl-conv-force-sep {
        display: none !important;
    }

    .ifl-conv-watermark-year {
        font-size: 64px !important;
        top: -14px !important;
    }
}

@media (max-width: 480px) {
    .ifl-converge-box,
    [data-id="ifl_conv_inner_box"] {
        padding: 0 16px !important;
    }

    .ifl-converge-h2,
    [data-id="ifl_conv_h2"] h2 {
        font-size: 34px !important;
    }

    .ifl-converge-tagline,
    [data-id="ifl_conv_tagline"] h3 {
        font-size: 19px !important;
    }

    .ifl-conv-lead-desc {
        font-size: 15px !important;
    }

    .ifl-conv-cta .elementor-button,
    [data-id="ifl_conv_btn"] a {
        width: 100% !important;
        justify-content: center !important;
        padding: 16px 28px !important;
        font-size: 15px !important;
    }

    .ifl-conv-track-spec {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ifl-sec-converge .ifl-conv-transition-bridge,
    .ifl-sec-converge .ifl-conv-eyebrow-row,
    .ifl-sec-converge .ifl-conv-title-wrap,
    .ifl-sec-converge .ifl-converge-tagline,
    .ifl-sec-converge .ifl-conv-forces-bar,
    .ifl-sec-converge .ifl-conv-lead-desc,
    .ifl-sec-converge [data-id="track1"],
    .ifl-sec-converge [data-id="track2"],
    .ifl-sec-converge [data-id="track3"],
    .ifl-sec-converge [data-id="ifl_conv_btn"],
    .ifl-sec-converge .ifl-conv-exit-bridge,
    .ifl-conv-bg-photo,
    .ifl-conv-bg-grid,
    .ifl-conv-watermark-year,
    .ifl-conv-exit-bridge .ifl-conv-exit-arrow {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
        will-change: auto !important;
    }
}


/* ==========================================================================
   10. RESPONSIVE REFINEMENTS (TABLET & MOBILE BREAKPOINTS)
   ========================================================================== */
@media (max-width: 1024px) {
    [data-id="ifl_sec_hero"],
    [data-id="ifl_sec_hero"] > .e-con-inner,
    .elementor-element-ifl_sec_hero,
    .elementor-element-ifl_sec_hero > .e-con-inner,
    .ifl-hero-section,
    .ifl-hero-section > .e-con-inner {
        --flex-direction: column !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding-top: 36px !important;
        padding-bottom: 60px !important;
    }

    [data-id="ifl_hero_left"],
    .elementor-element-ifl_hero_left {
        --width: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin-bottom: 32px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    [data-id="ifl_hero_right"],
    .elementor-element-ifl_hero_right {
        --width: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        margin-top: 8px !important;
    }

    .ifl-hero-forces-tag .elementor-heading-title {
        font-size: 12px !important;
        letter-spacing: 0.12em !important;
        padding: 5px 14px !important;
        white-space: nowrap !important;
    }

    .ifl-hero-h1 .elementor-heading-title {
        font-size: 42px !important;
        line-height: 1.12 !important;
        max-width: 680px !important;
        margin-bottom: 18px !important;
    }

    .ifl-hero-lead p {
        font-size: 17px !important;
        max-width: 600px !important;
        margin-bottom: 28px !important;
    }

    .ifl-hero-visual-stage {
        max-width: 540px !important;
        width: 100% !important;
        margin: 0 auto !important;
    }

    .ifl-hero-architectural-frame {
        padding: 12px !important;
        border-radius: 20px !important;
    }

    .ifl-hero-inset-card {
        bottom: -18px !important;
        left: -4px !important;
    }

    .ifl-hero-brand-mark {
        top: -10px !important;
        right: 16px !important;
    }

    .ifl-hero-watermark {
        font-size: 110px !important;
        top: -30px !important;
    }

    [data-id="ifl_forces_split"],
    .ifl-forces-split {
        flex-direction: column !important;
        gap: 24px !important;
    }
    
    [data-id="ifl_force_dominant"],
    [data-id="ifl_forces_stack"] {
        width: 100% !important;
    }
    
    [data-id="ifl_time_grid"]::before,
    .ifl-timeline-rule::before {
        display: none !important;
    }
}

@media (max-width: 767px) {
    [data-id="ifl_sec_hero"],
    [data-id="ifl_sec_hero"] > .e-con-inner,
    .elementor-element-ifl_sec_hero,
    .elementor-element-ifl_sec_hero > .e-con-inner,
    .ifl-hero-section,
    .ifl-hero-section > .e-con-inner {
        --flex-direction: column !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        padding-top: 24px !important;
        padding-bottom: 48px !important;
    }

    [data-id="ifl_hero_left"],
    .elementor-element-ifl_hero_left {
        --width: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin-bottom: 28px !important;
    }

    [data-id="ifl_hero_right"],
    .elementor-element-ifl_hero_right {
        --width: 100% !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        display: flex !important;
        justify-content: center !important;
        margin-top: 6px !important;
    }

    .ifl-eyebrow,
    .elementor-widget-heading.ifl-eyebrow .elementor-heading-title {
        font-size: 11px !important;
        letter-spacing: 0.08em !important;
        white-space: nowrap !important;
    }

    .ifl-hero-forces-tag,
    .ifl-hero-forces-tag .elementor-heading-title {
        font-size: 10px !important;
        letter-spacing: 0.06em !important;
        padding: 4px 10px !important;
        white-space: nowrap !important;
        margin-bottom: 16px !important;
    }

    .ifl-hero-h1 .elementor-heading-title {
        font-size: 32px !important;
        line-height: 1.15 !important;
        margin-bottom: 16px !important;
    }

    .ifl-hero-lead p {
        font-size: 15px !important;
        line-height: 1.55 !important;
        margin-bottom: 24px !important;
    }

    .ifl-hero-visual-stage {
        position: relative !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 16px auto 24px auto !important;
        display: block !important;
    }

    .ifl-hero-architectural-frame {
        padding: 8px !important;
        border-radius: 16px !important;
    }

    .ifl-hero-main-canvas {
        position: relative !important;
        width: 100% !important;
        border-radius: 12px !important;
        aspect-ratio: 4 / 3 !important;
        overflow: hidden !important;
    }

    .ifl-hero-inset-card {
        position: absolute !important;
        bottom: -16px !important;
        left: 8px !important;
        right: auto !important;
        top: auto !important;
        margin: 0 !important;
        z-index: 10 !important;
        padding: 6px 12px 6px 6px !important;
        border-radius: 10px !important;
    }

    .ifl-hero-inset-img-wrap {
        width: 44px !important;
        height: 44px !important;
        border-radius: 8px !important;
    }

    .ifl-inset-status {
        font-size: 8.5px !important;
    }

    .ifl-inset-title {
        font-size: 11px !important;
    }

    .ifl-hero-brand-mark {
        position: absolute !important;
        top: -10px !important;
        right: 12px !important;
        z-index: 10 !important;
        padding: 4px 10px 4px 6px !important;
    }

    .ifl-brand-mark-shield {
        width: 14px !important;
        height: 14px !important;
    }

    .ifl-brand-mark-txt {
        font-size: 7.5px !important;
    }

    .ifl-arch-reg {
        display: none !important;
    }

    .ifl-hero-watermark {
        display: none !important;
    }

    .ifl-converge-box,
    [data-id="ifl_conv_inner_box"] {
        padding: 40px 24px !important;
        border-radius: 18px !important;
    }
    
    [data-id="ifl_conv_tracks_con"] {
        flex-direction: column !important;
        gap: 16px !important;
    }

    [data-id="ifl_conv_tracks_con"] > div {
        width: 100% !important;
        margin-bottom: 8px;
    }

    [data-id="ifl_hero_btns"] {
        flex-direction: column !important;
        width: 100% !important;
        gap: 12px !important;
    }

    [data-id="ifl_hero_btns"] .elementor-widget-button,
    [data-id="ifl_hero_btns"] .elementor-button {
        width: 100% !important;
        text-align: center !important;
    }

    [data-id="ifl_act_split_cards"] {
        flex-direction: column !important;
        gap: 20px !important;
    }

    [data-id="ifl_path_mentor"],
    [data-id="ifl_path_partner"] {
        width: 100% !important;
        padding: 30px 20px !important;
    }
}

@media (max-width: 390px) {
    .ifl-eyebrow,
    .elementor-widget-heading.ifl-eyebrow .elementor-heading-title {
        font-size: 10px !important;
        letter-spacing: 0.06em !important;
        white-space: nowrap !important;
    }

    .ifl-hero-forces-tag,
    .ifl-hero-forces-tag .elementor-heading-title {
        font-size: 9px !important;
        letter-spacing: 0.04em !important;
        padding: 4px 8px !important;
        white-space: nowrap !important;
    }

    .ifl-hero-h1 .elementor-heading-title {
        font-size: 26px !important;
        line-height: 1.18 !important;
    }

    .ifl-hero-lead p {
        font-size: 14px !important;
        line-height: 1.5 !important;
    }

    .ifl-hero-inset-card {
        bottom: -14px !important;
        left: 4px !important;
        padding: 5px 10px 5px 5px !important;
    }

    .ifl-hero-inset-img-wrap {
        width: 38px !important;
        height: 38px !important;
    }

    .ifl-inset-status {
        font-size: 8px !important;
    }

    .ifl-inset-title {
        font-size: 10.5px !important;
    }

    .ifl-hero-brand-mark {
        top: -10px !important;
        right: 8px !important;
        padding: 4px 8px 4px 6px !important;
    }

    .ifl-brand-mark-shield {
        width: 12px !important;
        height: 12px !important;
    }

    .ifl-brand-mark-txt {
        font-size: 7px !important;
    }
}

/* ==========================================================================
   11. SECTION 05: FROM THE IFL PLATFORM (DYNAMIC EDITORIAL CONTENT SYSTEM)
   ========================================================================== */

.ifl-sec-platform,
[data-id="ifl_sec_platform"],
.elementor-element-ifl_sec_platform {
    position: relative !important;
    background-color: #F8FAFC !important;
    border-top: 1px solid #E2E8F0 !important;
    border-bottom: 1px solid #E2E8F0 !important;
    overflow: hidden !important;
    padding: 96px 0 !important;
}

.ifl-platform-head-block,
.ifl-platform-grid,
.ifl-platform-rail-bottom {
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.ifl-platform-inner-box,
[data-id="ifl_platform_inner_box"] {
    width: 100% !important;
    max-width: 1280px !important;
    margin: 0 auto !important;
    padding: 0 32px !important;
    box-sizing: border-box !important;
}

/* Section Header */
.ifl-platform-head-block {
    margin-bottom: 40px;
}

.ifl-platform-eyebrow-row {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    padding: 6px 14px;
    border-radius: 20px;
    margin-bottom: 18px;
    box-shadow: 0 1px 3px rgba(4, 18, 56, 0.04);
}

.ifl-pulse-dot-red {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #C50D2E;
    box-shadow: 0 0 8px rgba(197, 13, 46, 0.7);
    animation: iflPulseRed 2.2s infinite ease-in-out;
}

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

.ifl-eyebrow-mono {
    font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;
    font-size: 11.5px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #C50D2E;
    text-transform: uppercase;
}

.ifl-platform-h2 {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    color: #041238 !important;
    letter-spacing: -0.02em !important;
    margin: 0 0 14px 0 !important;
}

.ifl-platform-lead-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 17px !important;
    line-height: 1.6 !important;
    color: #64748B !important;
    max-width: 700px !important;
    margin: 0 0 10px 0 !important;
}

/* Design Preview Notice Banner */
.ifl-platform-preview-banner {
    background: #FFFFFF;
    border: 1px dashed rgba(197, 13, 46, 0.35);
    border-radius: 10px;
    padding: 10px 16px;
    margin-bottom: 28px;
    box-shadow: 0 1px 4px rgba(4, 18, 56, 0.03);
}

.ifl-preview-banner-inner {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.ifl-preview-badge {
    background: #C50D2E;
    color: #FFFFFF;
    font-family: monospace;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}

.ifl-preview-note {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #64748B;
}

.ifl-preview-note code {
    background: #F1F5F9;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 12px;
    color: #041238;
}

/* 60/40 Asymmetric Spread Grid */
.ifl-platform-grid {
    display: flex;
    gap: 32px;
    align-items: stretch;
    margin-bottom: 36px;
    box-sizing: border-box;
}

.ifl-platform-col-lead {
    flex: 0 0 58%;
    width: 58%;
    box-sizing: border-box;
}

.ifl-platform-col-lead.ifl-col-full {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 820px;
    margin: 0 auto;
}

.ifl-platform-col-stack {
    flex: 1;
    width: calc(42% - 32px);
    display: flex;
    flex-direction: column;
    gap: 16px;
    box-sizing: border-box;
}

/* Dominant Lead Card */
.ifl-platform-lead-card {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 18px rgba(4, 18, 56, 0.04);
    display: flex;
    flex-direction: column;
    height: 100%;
    box-sizing: border-box;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.ifl-platform-lead-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(4, 18, 56, 0.08);
    border-color: rgba(197, 13, 46, 0.3);
}

.ifl-platform-lead-media-link {
    position: relative;
    width: 100%;
    height: 240px;
    flex: 0 0 240px;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #041238;
    display: block;
}

.ifl-platform-lead-media-link img {
    width: 100%;
    height: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.ifl-platform-lead-card:hover .ifl-platform-lead-media-link img {
    transform: scale(1.04);
}

.ifl-platform-type-badge {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(4, 18, 56, 0.88);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: #FFFFFF;
    font-family: monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 5px 12px;
    border-radius: 6px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    z-index: 2;
}

.ifl-badge-insight { border-left: 3px solid #C50D2E !important; }
.ifl-badge-event { border-left: 3px solid #2563EB !important; }
.ifl-badge-update { border-left: 3px solid #059669 !important; }
.ifl-badge-converge { border-left: 3px solid #7C3AED !important; }
.ifl-badge-publication { border-left: 3px solid #D97706 !important; }

.ifl-platform-lead-body {
    padding: 28px 30px;
    display: flex;
    flex-direction: column;
    flex: 1;
    box-sizing: border-box;
}

.ifl-platform-card-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: monospace;
    font-size: 11.5px;
    color: #94A3B8;
    margin-bottom: 12px;
    font-weight: 600;
    letter-spacing: 0.05em;
}

.ifl-meta-date { color: #64748B; }
.ifl-meta-sep { color: #CBD5E1; }
.ifl-meta-channel { color: #C50D2E; font-weight: 700; }

.ifl-platform-lead-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #041238 !important;
    margin: 0 0 12px 0 !important;
}

.ifl-platform-lead-title a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.ifl-platform-lead-title a:hover {
    color: #C50D2E !important;
}

.ifl-platform-lead-excerpt {
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    line-height: 1.6;
    color: #64748B;
    margin: 0 0 20px 0;
    flex: 1;
}

.ifl-platform-lead-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: #C50D2E;
    text-decoration: none;
    transition: gap 0.2s ease, color 0.2s ease;
    margin-top: auto;
}

.ifl-platform-lead-cta:hover {
    gap: 12px;
    color: #041238;
}

/* Secondary Stacked Micro-Cards */
.ifl-platform-sub-card {
    display: flex;
    gap: 16px;
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
    border-radius: 14px;
    padding: 14px 16px;
    box-shadow: 0 2px 8px rgba(4, 18, 56, 0.03);
    box-sizing: border-box;
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.ifl-platform-sub-card:hover {
    transform: translateX(4px);
    box-shadow: 0 8px 22px rgba(4, 18, 56, 0.06);
    border-color: rgba(197, 13, 46, 0.3);
}

.ifl-platform-sub-thumb-link {
    flex: 0 0 96px;
    width: 96px;
    height: 86px;
    aspect-ratio: 96 / 86;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    background: #041238;
    display: block;
}

.ifl-platform-sub-thumb-link img {
    width: 100%;
    height: 100%;
    aspect-ratio: 96 / 86;
    object-fit: cover;
}

.ifl-platform-sub-body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.ifl-platform-sub-top {
    display: flex;
    gap: 10px;
    align-items: center;
}

.ifl-platform-type-tag {
    font-family: monospace;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.08em;
}

.ifl-tag-insight { color: #C50D2E !important; }
.ifl-tag-event { color: #2563EB !important; }
.ifl-tag-update { color: #059669 !important; }
.ifl-tag-converge { color: #7C3AED !important; }
.ifl-tag-publication { color: #D97706 !important; }

.ifl-platform-sub-date {
    font-family: monospace;
    font-size: 11px;
    color: #94A3B8;
    font-weight: 600;
}

.ifl-platform-sub-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    color: #041238 !important;
    margin: 0 !important;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.ifl-platform-sub-title a {
    color: inherit !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.ifl-platform-sub-title a:hover {
    color: #C50D2E !important;
}

.ifl-platform-sub-link {
    font-size: 12px;
    font-weight: 700;
    color: #64748B;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    transition: color 0.2s ease;
}

.ifl-platform-sub-link:hover {
    color: #C50D2E;
}

/* Institutional SVG Fallback Card */
.ifl-platform-thumb-fallback {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #F1F5F9 0%, #E2E8F0 100%);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

.ifl-fallback-watermark {
    position: absolute;
    font-family: monospace;
    font-size: 26px;
    font-weight: 900;
    color: rgba(4, 18, 56, 0.04);
    letter-spacing: 0.1em;
    pointer-events: none;
    text-transform: uppercase;
    white-space: nowrap;
}

.ifl-fallback-shield {
    width: 26px;
    height: 26px;
    z-index: 1;
    margin-bottom: 4px;
}

.ifl-fallback-coord {
    font-family: monospace;
    font-size: 8.5px;
    font-weight: 700;
    color: #64748B;
    letter-spacing: 0.08em;
    z-index: 1;
    text-transform: uppercase;
}

/* Bottom Utility Rail */
.ifl-platform-rail-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
    padding-top: 24px;
    border-top: 1px solid #E2E8F0;
}

.ifl-platform-explore-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 12px 28px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 700;
    color: #041238;
    border: 1.5px solid #041238;
    background: transparent;
    text-decoration: none;
    transition: all 0.25s ease;
}

.ifl-platform-explore-btn:hover {
    background: #041238;
    color: #FFFFFF;
}

/* Responsive Overrides */
@media (max-width: 1024px) {
    .ifl-sec-platform,
    [data-id="ifl_sec_platform"] {
        padding: 72px 0 !important;
    }

    .ifl-platform-grid {
        flex-direction: column !important;
        gap: 28px !important;
    }

    .ifl-platform-col-lead,
    .ifl-platform-col-stack {
        flex: 0 0 100% !important;
        width: 100% !important;
    }

    .ifl-platform-col-stack {
        gap: 14px !important;
    }

    .ifl-platform-lead-title {
        font-size: 22px !important;
    }
}

@media (max-width: 767px) {
    .ifl-sec-platform,
    [data-id="ifl_sec_platform"] {
        padding: 56px 0 !important;
    }

    .ifl-platform-inner-box,
    [data-id="ifl_platform_inner_box"] {
        padding: 0 16px !important;
    }

    .ifl-platform-h2 {
        font-size: 30px !important;
    }

    .ifl-platform-lead-desc {
        font-size: 15px !important;
        margin-bottom: 24px !important;
    }

    .ifl-platform-lead-media-link {
        height: 180px !important;
        flex: 0 0 180px !important;
    }

    .ifl-platform-lead-body {
        padding: 20px 18px !important;
    }

    .ifl-platform-sub-card {
        padding: 12px !important;
        gap: 12px !important;
    }

    .ifl-platform-sub-thumb-link {
        flex: 0 0 84px !important;
        width: 84px !important;
        height: 78px !important;
    }

    .ifl-platform-sub-title {
        font-size: 14px !important;
    }

    .ifl-platform-explore-btn {
        width: 100% !important;
        justify-content: center !important;
        text-align: center !important;
    }
}

@media (max-width: 390px) {
    .ifl-platform-h2 {
        font-size: 25px !important;
    }

    .ifl-platform-sub-thumb-link {
        flex: 0 0 72px !important;
        width: 72px !important;
        height: 72px !important;
    }

    .ifl-platform-sub-title {
        font-size: 13.5px !important;
    }

    .ifl-platform-sub-date {
        font-size: 10px !important;
    }

    .ifl-eyebrow-mono {
        font-size: 10px !important;
    }
}

/* ==========================================================================
   12. SECTION 06: PURPOSE, IMPACT & HUMAN PERSPECTIVE (PHASE 6)
   ========================================================================== */

.ifl-sec-purpose,
[data-id="ifl_sec_purpose"],
.elementor-element-ifl_sec_purpose {
    position: relative !important;
    background-color: #FFFFFF !important;
    background-image: 
        radial-gradient(circle at 12% 18%, rgba(236, 0, 68, 0.02) 0%, transparent 45%),
        linear-gradient(rgba(7, 32, 92, 0.018) 1px, transparent 1px),
        linear-gradient(90deg, rgba(7, 32, 92, 0.018) 1px, transparent 1px) !important;
    background-size: 100% 100%, 36px 36px, 36px 36px !important;
    border-top: 1px solid rgba(7, 32, 92, 0.08) !important;
    border-bottom: 1px solid rgba(7, 32, 92, 0.08) !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    padding: 104px 0 !important;
}

/* Inner Flex Container */
.ifl-purpose-inner,
[data-id="ifl_purpose_inner"] {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 56px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    position: relative;
    z-index: 2;
}

/* Two Columns Split */
.ifl-purpose-visual-col,
[data-id="ifl_purpose_visual_col"] {
    flex: 0 0 calc(52% - 28px) !important;
    width: calc(52% - 28px) !important;
    max-width: calc(52% - 28px) !important;
    box-sizing: border-box !important;
}

.ifl-purpose-content-col,
[data-id="ifl_purpose_content_col"] {
    flex: 0 0 calc(48% - 28px) !important;
    width: calc(48% - 28px) !important;
    max-width: calc(48% - 28px) !important;
    box-sizing: border-box !important;
}

/* Visual Stage & Frame */
.ifl-purpose-visual-stage {
    width: 100%;
    position: relative;
}

.ifl-purpose-frame {
    background: #FFFFFF;
    border: 1px solid rgba(7, 32, 92, 0.10);
    border-radius: 12px;
    padding: 8px;
    box-shadow: 0 16px 40px -12px rgba(7, 32, 92, 0.08), 0 2px 6px rgba(7, 32, 92, 0.02);
    position: relative;
    overflow: hidden;
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s ease;
    opacity: 0;
    transform: translateY(24px);
}

.ifl-purpose-frame:hover {
    box-shadow: 0 20px 48px -12px rgba(7, 32, 92, 0.12), 0 4px 12px rgba(236, 0, 68, 0.03);
}

.ifl-purpose-img-wrap {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    aspect-ratio: 4 / 3;
    width: 100%;
    background-color: #07205C;
}

.ifl-purpose-img {
    width: 100%;
    height: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: transform;
}

.ifl-purpose-frame:hover .ifl-purpose-img {
    transform: scale(1.02);
}

.ifl-purpose-scrim {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 72%, rgba(7, 32, 92, 0.22) 100%);
    pointer-events: none;
}

/* Metadata Bar under Image */
.ifl-purpose-meta-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 8px 4px 8px;
    font-family: var(--ifl-font-mono, 'JetBrains Mono', monospace);
    font-size: 10px;
    letter-spacing: 0.1em;
    color: #64748B;
    text-transform: uppercase;
}

.ifl-purpose-tag-mono {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 700;
    color: #475569;
}

.ifl-purpose-dot {
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--ifl-crimson);
}

.ifl-purpose-coord {
    font-size: 9.5px;
    color: #94A3B8;
    letter-spacing: 0.12em;
}

/* Editorial Content Column */
.ifl-purpose-content-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.15s;
    opacity: 0;
    transform: translateY(20px);
}

.ifl-purpose-eyebrow-row {
    margin-bottom: 14px;
}

.ifl-purpose-eyebrow {
    font-family: var(--ifl-font-mono, 'JetBrains Mono', monospace);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.14em;
    color: var(--ifl-crimson);
    text-transform: uppercase;
}

.ifl-purpose-h2 {
    font-family: var(--ifl-font-heading);
    font-size: 38px;
    font-weight: 700;
    line-height: 1.18;
    color: var(--ifl-navy);
    letter-spacing: -0.025em;
    margin: 0 0 18px 0;
}

.ifl-purpose-manifesto {
    font-family: var(--ifl-font-body);
    font-size: 16px;
    line-height: 1.68;
    color: #475569;
    margin: 0 0 28px 0;
    max-width: 520px;
}

/* Three Editorial Principles (Manifesto Typography) */
.ifl-purpose-principles {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    margin-bottom: 28px;
}

.ifl-purpose-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(7, 32, 92, 0.07);
}

.ifl-purpose-item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.ifl-purpose-num {
    font-family: var(--ifl-font-mono, 'JetBrains Mono', monospace);
    font-size: 12px;
    font-weight: 700;
    color: var(--ifl-crimson);
    letter-spacing: 0.08em;
    padding-top: 2px;
    flex-shrink: 0;
}

.ifl-purpose-body {
    flex: 1;
}

.ifl-purpose-item-title {
    font-family: var(--ifl-font-heading);
    font-size: 15px;
    font-weight: 700;
    color: var(--ifl-navy);
    margin: 0 0 4px 0;
    letter-spacing: -0.01em;
}

.ifl-purpose-item-desc {
    font-family: var(--ifl-font-body);
    font-size: 13.5px;
    line-height: 1.5;
    color: #64748B;
    margin: 0;
}

/* Subtle Continuation CTA */
.ifl-purpose-cta-row {
    margin-top: 4px;
}

.ifl-purpose-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--ifl-font-heading);
    font-size: 13.5px;
    font-weight: 700;
    color: var(--ifl-navy);
    text-decoration: none;
    border-bottom: 1.5px solid var(--ifl-crimson);
    padding-bottom: 3px;
    transition: color 0.3s ease, border-color 0.3s ease, gap 0.3s ease;
}

.ifl-purpose-link:hover {
    color: var(--ifl-crimson);
    gap: 12px;
}

.ifl-link-arrow {
    color: var(--ifl-crimson);
    font-size: 14px;
    transition: transform 0.3s ease;
}

.ifl-purpose-link:hover .ifl-link-arrow {
    transform: translateX(3px);
}

/* Active State: .ifl-revealed */
.ifl-sec-purpose.ifl-revealed .ifl-purpose-frame,
[data-id="ifl_sec_purpose"].ifl-revealed .ifl-purpose-frame {
    opacity: 1;
    transform: translateY(0);
}

.ifl-sec-purpose.ifl-revealed .ifl-purpose-content-wrap,
[data-id="ifl_sec_purpose"].ifl-revealed .ifl-purpose-content-wrap {
    opacity: 1;
    transform: translateY(0);
}

/* Responsive Rules for Purpose Section */
@media (max-width: 1024px) {
    .ifl-sec-purpose,
    [data-id="ifl_sec_purpose"] {
        padding: 80px 0 !important;
    }

    .ifl-purpose-inner,
    [data-id="ifl_purpose_inner"] {
        gap: 36px !important;
    }

    .ifl-purpose-h2 {
        font-size: 32px;
    }

    .ifl-purpose-manifesto {
        font-size: 15px;
    }
}

@media (max-width: 768px) {
    .ifl-sec-purpose,
    [data-id="ifl_sec_purpose"] {
        padding: 64px 0 !important;
    }

    .ifl-purpose-inner,
    [data-id="ifl_purpose_inner"] {
        flex-direction: column !important;
        gap: 36px !important;
    }

    .ifl-purpose-visual-col,
    [data-id="ifl_purpose_visual_col"],
    .ifl-purpose-content-col,
    [data-id="ifl_purpose_content_col"] {
        flex: 0 0 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .ifl-purpose-visual-stage {
        max-width: 540px;
        margin: 0 auto;
    }

    .ifl-purpose-h2 {
        font-size: 28px;
    }

    .ifl-purpose-manifesto {
        max-width: 100%;
    }
}

@media (max-width: 480px) {
    .ifl-sec-purpose,
    [data-id="ifl_sec_purpose"] {
        padding: 56px 0 !important;
    }

    .ifl-purpose-h2 {
        font-size: 24px;
        line-height: 1.22;
        margin-bottom: 14px;
    }

    .ifl-purpose-manifesto {
        font-size: 14px;
        line-height: 1.6;
        margin-bottom: 22px;
    }

    .ifl-purpose-item {
        gap: 12px;
        padding-bottom: 12px;
    }

    .ifl-purpose-item-title {
        font-size: 14px;
    }

    .ifl-purpose-item-desc {
        font-size: 12.5px;
    }

    .ifl-purpose-meta-bar {
        font-size: 9px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ifl-purpose-frame,
    .ifl-purpose-content-wrap,
    .ifl-purpose-img {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }
}

/* ==========================================================================
   SECTION 08: PRE-FOOTER STAY CONNECTED & INSTITUTIONAL INQUIRIES (PHASE 7B)
   ========================================================================== */
[data-id="ifl_sec_connect"],
.elementor-element-ifl_sec_connect,
.ifl-sec-connect {
    background-color: #F8FAFC !important;
    border-top: 1px solid rgba(10, 37, 64, 0.08) !important;
    border-bottom: 1px solid rgba(10, 37, 64, 0.08) !important;
    padding: 68px 32px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.ifl-connect-section {
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
    box-sizing: border-box;
}

.ifl-connect-grid {
    display: flex;
    align-items: stretch;
    gap: 48px;
    box-sizing: border-box;
}

.ifl-connect-col {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.ifl-connect-divider {
    width: 1px;
    background: rgba(10, 37, 64, 0.08);
    flex: 0 0 1px;
    align-self: stretch;
}

.ifl-connect-eyebrow-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}

.ifl-connect-eyebrow {
    font-family: monospace;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.1em;
    color: #C50D2E;
    text-transform: uppercase;
}

.ifl-connect-eyebrow.ifl-eyebrow-muted {
    color: #0A2540;
}

.ifl-connect-title {
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #041238 !important;
    letter-spacing: -0.015em !important;
    margin: 0 0 10px 0 !important;
}

.ifl-connect-desc {
    font-family: 'Inter', sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
    color: #64748B !important;
    margin: 0 0 24px 0 !important;
    max-width: 520px !important;
    flex: 1 0 auto;
}

/* Dispatch Form */
.ifl-dispatch-form {
    margin-bottom: 14px;
    width: 100%;
    max-width: 480px;
}

.ifl-form-group {
    display: flex;
    gap: 10px;
    align-items: center;
    width: 100%;
}

.ifl-dispatch-input {
    flex: 1;
    min-width: 0;
    height: 46px;
    background: #FFFFFF !important;
    border: 1px solid #CBD5E1 !important;
    border-radius: 8px !important;
    padding: 0 16px !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 14px !important;
    color: #041238 !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.ifl-dispatch-input:focus {
    outline: none !important;
    border-color: #041238 !important;
    box-shadow: 0 0 0 3px rgba(4, 18, 56, 0.12) !important;
}

.ifl-dispatch-btn {
    height: 46px;
    padding: 0 22px;
    background: #C50D2E !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 8px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    letter-spacing: 0.02em !important;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
    transition: background-color 0.2s ease, transform 0.2s ease;
    box-shadow: 0 2px 8px rgba(197, 13, 46, 0.22);
}

.ifl-dispatch-btn:hover {
    background: #A00A25 !important;
    transform: translateY(-1px);
}

.ifl-dispatch-btn:active {
    transform: translateY(0);
}

.ifl-form-feedback {
    font-family: 'Inter', sans-serif;
    font-size: 12.5px;
    line-height: 1.4;
    margin-top: 8px;
    min-height: 18px;
}

.ifl-form-feedback.is-error {
    color: #DC2626;
}

.ifl-form-feedback.is-success {
    color: #059669;
    font-weight: 500;
}

/* Inquiry Button */
.ifl-inquiry-action-row {
    margin-bottom: 14px;
    width: 100%;
    max-width: 480px;
}

.ifl-inquiry-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: 46px;
    padding: 0 24px;
    background: #041238 !important;
    color: #FFFFFF !important;
    border: 1px solid #041238 !important;
    border-radius: 8px !important;
    font-family: 'Plus Jakarta Sans', sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    letter-spacing: 0.02em !important;
    transition: background 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 2px 8px rgba(4, 18, 56, 0.12);
}

.ifl-inquiry-btn:hover {
    background: #0A2540 !important;
    border-color: #0A2540 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

.ifl-inquiry-btn .ifl-arrow {
    transition: transform 0.2s ease;
}

.ifl-inquiry-btn:hover .ifl-arrow {
    transform: translateX(3px);
}

/* Micro Notes */
.ifl-connect-meta-note {
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    line-height: 1.5;
    color: #94A3B8;
}

.ifl-connect-legal-link {
    color: #64748B;
    text-decoration: underline;
    transition: color 0.2s ease;
}

.ifl-connect-legal-link:hover {
    color: #C50D2E;
}

/* Responsive Rules for Stay Connected */
@media (max-width: 900px) {
    [data-id="ifl_sec_connect"],
    .elementor-element-ifl_sec_connect,
    .ifl-sec-connect {
        padding: 56px 24px !important;
    }

    .ifl-connect-grid {
        flex-direction: column;
        gap: 40px;
    }

    .ifl-connect-divider {
        width: 100%;
        height: 1px;
        flex: 0 0 1px;
    }

    .ifl-form-group {
        max-width: 100%;
    }
}

@media (max-width: 540px) {
    [data-id="ifl_sec_connect"],
    .elementor-element-ifl_sec_connect,
    .ifl-sec-connect {
        padding: 44px 16px !important;
    }

    .ifl-form-group {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }

    .ifl-dispatch-input,
    .ifl-dispatch-btn,
    .ifl-inquiry-btn {
        width: 100% !important;
        justify-content: center;
    }
}

/* ==========================================================================
   PHASE 8: GLOBAL FOOTER REDESIGN (Template ID 34)
   ========================================================================== */

/* Base Footer Shell */
.elementor-34,
footer.elementor-34,
.elementor-location-footer {
    background-color: #041238 !important;
    color: #F8FAFC !important;
    position: relative;
    width: 100%;
    clear: both;
}

.ifl-footer-container {
    background-color: #041238 !important;
    width: 100%;
    padding: 80px 32px 36px 32px;
    box-sizing: border-box;
}

.ifl-footer-container .e-con {
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;
}

.ifl-footer-container .elementor-widget-heading {
    margin-bottom: 0 !important;
}

.ifl-footer-inner {
    max-width: 1280px;
    margin: 0 auto;
    width: 100%;
}

/* Top Section: Brand + Navigation */
.ifl-footer-top {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 48px;
    margin-bottom: 64px;
}

/* Brand Column (Left) */
.ifl-footer-brand {
    flex: 0 0 32%;
    max-width: 380px;
}

@media (min-width: 1025px) {
    .ifl-footer-brand {
        flex: 0 0 380px !important;
        max-width: 380px !important;
        width: 380px !important;
    }
    .ifl-footer-nav {
        flex: 1 1 auto !important;
        min-width: 0 !important;
    }
}

.ifl-footer-brand .elementor-widget-image {
    margin-bottom: 24px !important;
}

.ifl-footer-brand .elementor-widget-image a,
.ifl-footer-logo-link {
    display: inline-block;
    text-decoration: none;
    transition: opacity 0.2s ease;
}

.ifl-footer-brand .elementor-widget-image a:hover,
.ifl-footer-logo-link:hover {
    opacity: 0.9;
}

.ifl-footer-logo-img,
.ifl-footer-logo-img img,
.ifl-footer-brand .elementor-widget-image img {
    display: block;
    width: 210px !important;
    height: auto !important;
    max-width: 100%;
}

.ifl-footer-statement,
.ifl-footer-statement .elementor-heading-title {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: #EC0044 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
}

.ifl-footer-statement.elementor-widget-heading,
.ifl-footer-statement:not(.elementor-widget-heading) {
    margin-bottom: 12px !important;
}

.ifl-footer-tagline,
.ifl-footer-tagline .elementor-heading-title {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    color: #FFFFFF !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
}

.ifl-footer-tagline.elementor-widget-heading,
.ifl-footer-tagline:not(.elementor-widget-heading) {
    margin-bottom: 14px !important;
}

.ifl-footer-desc,
.ifl-footer-desc p,
.ifl-footer-desc .elementor-widget-container p {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: #94A3B8 !important;
    margin: 0 !important;
}

/* Navigation Grid (Right) */
.ifl-footer-nav {
    flex: 1;
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 32px !important;
}

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

.ifl-footer-heading,
.ifl-footer-heading .elementor-heading-title {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    color: #FFFFFF !important;
    line-height: 1.4 !important;
    margin: 0 !important;
}

.ifl-footer-col .ifl-footer-heading.elementor-widget-heading {
    margin-bottom: 8px !important;
}

.ifl-footer-heading:not(.elementor-widget-heading) {
    margin: 0 0 20px 0 !important;
    position: relative;
    padding-bottom: 8px;
}

.ifl-footer-heading .elementor-heading-title {
    display: inline-block;
    position: relative;
    padding-bottom: 8px;
}

.ifl-footer-heading .elementor-heading-title::after,
.ifl-footer-heading:not(.elementor-widget)::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 20px;
    height: 2px;
    background-color: #EC0044;
    border-radius: 1px;
}

.ifl-footer-heading.elementor-widget::after {
    display: none !important;
}

.ifl-footer-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ifl-footer-list li {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

.ifl-footer-link,
.ifl-footer-link .elementor-heading-title,
.ifl-footer-link .elementor-heading-title a,
.ifl-footer-link a {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
    color: #CBD5E1 !important;
    text-decoration: none !important;
    display: inline-block;
    transition: color 0.2s ease, transform 0.2s ease;
    margin: 0 !important;
    padding: 0 !important;
}

.ifl-footer-link:hover,
.ifl-footer-link:focus-visible,
.ifl-footer-link:hover .elementor-heading-title a,
.ifl-footer-link:focus-visible .elementor-heading-title a,
.ifl-footer-link a:hover,
.ifl-footer-link a:focus-visible {
    color: #EC0044 !important;
    transform: translateX(3px);
}

/* Bottom Utility Bar */
.ifl-footer-bottom {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding-top: 32px;
    width: 100%;
}

.ifl-footer-bottom .elementor-widget {
    margin-bottom: 0 !important;
}

.ifl-footer-bottom-inner {
    display: flex !important;
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 16px !important;
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 13px;
    color: #94A3B8;
    width: 100%;
}

.ifl-footer-copyright,
.ifl-footer-copyright .elementor-heading-title {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #94A3B8 !important;
    white-space: nowrap;
    margin: 0 !important;
    line-height: 1.5 !important;
}

.ifl-footer-legal {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.ifl-footer-legal-link {
    color: #94A3B8 !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.ifl-footer-legal-link:hover,
.ifl-footer-legal-link:focus-visible {
    color: #EC0044 !important;
}

.ifl-footer-dot {
    color: rgba(255, 255, 255, 0.25);
    font-size: 12px;
}

.ifl-footer-powered {
    color: #94A3B8;
    white-space: nowrap;
}

.ifl-footer-powered-link {
    color: #CBD5E1 !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.ifl-footer-powered-link:hover,
.ifl-footer-powered-link:focus-visible {
    color: #EC0044 !important;
    text-decoration: underline !important;
}

/* Responsive Breakpoints */
@media (max-width: 1024px) {
    .ifl-footer-container {
        padding: 64px 28px 32px 28px;
    }
    
    .ifl-footer-top {
        gap: 36px;
    }
    
    .ifl-footer-nav {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 28px !important;
    }
}

@media (max-width: 768px) {
    .ifl-footer-container {
        padding: 56px 24px 28px 24px;
    }

    .ifl-footer-top {
        flex-direction: column !important;
        gap: 40px !important;
        margin-bottom: 48px;
    }

    .ifl-footer-brand {
        flex: 1 1 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .ifl-footer-nav {
        width: 100% !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 32px 24px !important;
    }

    .ifl-footer-bottom-inner {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 14px !important;
    }
}

@media (max-width: 480px) {
    .ifl-footer-container {
        padding: 48px 18px 24px 18px;
    }

    .ifl-footer-logo-img,
    .ifl-footer-logo-img img,
    .ifl-footer-brand .elementor-widget-image img {
        width: 180px !important;
    }

    .ifl-footer-nav {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .ifl-footer-heading .elementor-heading-title,
    .ifl-footer-heading {
        margin-bottom: 14px !important;
    }

    .ifl-footer-col {
        gap: 10px !important;
    }

    .ifl-footer-bottom-inner {
        font-size: 12.5px;
        gap: 12px !important;
    }
    
    .ifl-footer-legal {
        gap: 8px;
    }
}

/* ==========================================================================
   PHASE 9: IFL NEW EXPERIMENTAL HOMEPAGE (Page ID 175)
   Strictly Scoped — Zero Impact on Page 12
   ========================================================================== */

/* 01. DARK PHOTOGRAPHIC HERO */
.ifl-new-sec-hero,
.elementor-element-ifl_new_hero,
[data-id="ifl_new_hero"] {
    position: relative;
    width: 100%;
    min-height: 680px;
    background-color: #041238 !important;
    background-image: linear-gradient(180deg, rgba(4, 18, 56, 0.88) 0%, rgba(7, 32, 92, 0.74) 50%, rgba(4, 18, 56, 0.94) 100%), url('https://staging.iflus.org/wp-content/uploads/2026/09/ifl-hero-collaborative.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 130px 32px 110px 32px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.ifl-new-hero-inner,
.elementor-element-ifl_new_hero_inner,
[data-id="ifl_new_hero_inner"] {
    max-width: 1120px !important;
    width: 100% !important;
    margin: 0 auto !important;
    text-align: left !important;
    position: relative !important;
    z-index: 2 !important;
}

.ifl-new-hero-kicker-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.ifl-new-pulse-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: #EC0044;
    box-shadow: 0 0 10px rgba(236, 0, 68, 0.8);
    display: inline-block;
}

.ifl-new-hero-eyebrow {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.14em !important;
    color: #EC0044 !important;
}

.ifl-new-hero-h1 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 54px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em !important;
    color: #FFFFFF !important;
    margin: 0 0 24px 0 !important;
    max-width: 900px;
}

.ifl-new-hero-lead {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    color: #CBD5E1 !important;
    margin: 0 0 36px 0 !important;
    max-width: 760px;
}

.ifl-new-hero-cta-group {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-wrap: wrap;
}

.ifl-new-btn-primary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 30px;
    background-color: #EC0044 !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    border-radius: 6px;
    transition: background-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
    box-shadow: 0 4px 16px rgba(236, 0, 68, 0.35);
}

.ifl-new-btn-primary:hover {
    background-color: #D4003D !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 22px rgba(236, 0, 68, 0.45);
}

.ifl-new-btn-secondary {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    background-color: transparent !important;
    color: #FFFFFF !important;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    text-decoration: none !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    border-radius: 6px;
    transition: border-color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}

.ifl-new-btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    border-color: #FFFFFF !important;
    transform: translateY(-2px);
}

/* 02. COMPRESSED THREE FORCES (Light Editorial) */
.ifl-new-sec-forces,
.elementor-element-ifl_new_forces,
[data-id="ifl_new_forces"] {
    background-color: #F8FAFC !important;
    padding: 84px 32px 84px 32px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ifl-new-forces-inner,
.elementor-element-ifl_new_forces_inner,
[data-id="ifl_new_forces_inner"] {
    max-width: 1240px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

.ifl-new-header-block {
    margin-bottom: 44px;
    max-width: 780px;
}

.ifl-new-sec-eyebrow {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: #EC0044 !important;
    margin-bottom: 8px;
    display: block;
}

.ifl-new-sec-h2 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 38px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
    color: #07205C !important;
    margin: 0 0 14px 0 !important;
}

.ifl-new-sec-lead {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #475569 !important;
    margin: 0 !important;
}

.ifl-new-forces-grid {
    display: grid;
    grid-template-columns: 1.15fr 1fr;
    gap: 28px;
    align-items: stretch;
}

.ifl-new-force-lead-card {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(7, 32, 92, 0.06);
    border: 1px solid #E2E8F0;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ifl-new-force-lead-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 30px rgba(7, 32, 92, 0.12);
}

.ifl-new-force-img-wrap {
    position: relative;
    width: 100%;
    height: 260px;
    overflow: hidden;
    background-color: #041238;
}

.ifl-new-force-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.ifl-new-force-lead-card:hover .ifl-new-force-img {
    transform: scale(1.03);
}

.ifl-new-force-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    background: rgba(4, 18, 56, 0.85);
    backdrop-filter: blur(4px);
    color: #FFFFFF;
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    padding: 5px 12px;
    border-radius: 4px;
    border-left: 3px solid #EC0044;
}

.ifl-new-force-body {
    padding: 28px;
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: space-between;
}

.ifl-new-force-title {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 24px !important;
    font-weight: 700 !important;
    color: #07205C !important;
    margin: 0 0 10px 0 !important;
}

.ifl-new-force-desc {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: #64748B !important;
    margin: 0 0 20px 0 !important;
}

.ifl-new-force-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: #EC0044 !important;
    text-decoration: none !important;
    transition: gap 0.2s ease, color 0.2s ease;
}

.ifl-new-force-link:hover {
    gap: 10px;
    color: #D4003D !important;
}

.ifl-new-forces-stack {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ifl-new-force-sub-card {
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 16px rgba(7, 32, 92, 0.05);
    border: 1px solid #E2E8F0;
    display: flex;
    flex-direction: row;
    flex: 1;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.ifl-new-force-sub-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 24px rgba(7, 32, 92, 0.10);
}

.ifl-new-force-sub-img-wrap {
    position: relative;
    width: 38%;
    min-width: 140px;
    overflow: hidden;
    background-color: #041238;
}

.ifl-new-force-sub-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
}

.ifl-new-force-sub-card:hover .ifl-new-force-sub-img {
    transform: scale(1.04);
}

.ifl-new-force-sub-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
}

.ifl-new-force-sub-title {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 19px !important;
    font-weight: 700 !important;
    color: #07205C !important;
    margin: 0 0 6px 0 !important;
}

.ifl-new-force-sub-desc {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.5 !important;
    color: #64748B !important;
    margin: 0 0 14px 0 !important;
}

/* 03. THE CONVERGE (Dark Anchor) */
.ifl-new-sec-converge,
.elementor-element-ifl_new_converge,
[data-id="ifl_new_converge"] {
    position: relative;
    width: 100%;
    background-color: #041238 !important;
    background-image: linear-gradient(180deg, rgba(4, 18, 56, 0.92) 0%, rgba(7, 32, 92, 0.82) 50%, rgba(4, 18, 56, 0.96) 100%), url('https://staging.iflus.org/wp-content/uploads/2026/09/ifl-converge-flagship-summit.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    padding: 96px 32px 96px 32px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.ifl-new-converge-inner,
.elementor-element-ifl_new_converge_inner,
[data-id="ifl_new_converge_inner"] {
    max-width: 1240px !important;
    margin: 0 auto !important;
    width: 100% !important;
    position: relative !important;
    z-index: 2 !important;
}

.ifl-new-conv-header {
    text-align: center;
    max-width: 820px;
    margin: 0 auto 52px auto;
}

.ifl-new-conv-h2 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 46px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    color: #FFFFFF !important;
    margin: 0 0 12px 0 !important;
}

.ifl-new-conv-tagline {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.12em !important;
    color: #EC0044 !important;
    margin-bottom: 16px;
}

.ifl-new-conv-desc {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 16.5px !important;
    line-height: 1.65 !important;
    color: #CBD5E1 !important;
    margin: 0 !important;
}

.ifl-new-conv-tracks {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 48px;
}

.ifl-new-conv-track-card {
    background: rgba(7, 32, 92, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    padding: 28px 24px;
    backdrop-filter: blur(8px);
    transition: border-color 0.25s ease, transform 0.25s ease, background 0.25s ease;
}

.ifl-new-conv-track-card:hover {
    border-color: #EC0044;
    background: rgba(7, 32, 92, 0.85);
    transform: translateY(-3px);
}

.ifl-new-track-num {
    font-family: 'Plus Jakarta Sans', sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: #EC0044;
    letter-spacing: 0.12em;
    margin-bottom: 12px;
    display: block;
}

.ifl-new-track-title {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #FFFFFF !important;
    line-height: 1.35 !important;
    margin: 0 0 10px 0 !important;
}

.ifl-new-track-desc {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 13.5px !important;
    line-height: 1.55 !important;
    color: #94A3B8 !important;
    margin: 0 !important;
}

.ifl-new-conv-cta-row {
    text-align: center;
}

/* 04. COMPACT PLATFORM FEED (Light Surface) */
.ifl-new-sec-platform,
.elementor-element-ifl_new_platform,
[data-id="ifl_new_platform"] {
    background-color: #FFFFFF !important;
    padding: 76px 32px 76px 32px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.ifl-new-platform-inner,
.elementor-element-ifl_new_platform_inner,
[data-id="ifl_new_platform_inner"] {
    max-width: 1240px !important;
    margin: 0 auto !important;
    width: 100% !important;
}

.page-id-175 .ifl-platform-feed-stage {
    margin-top: 28px;
}

.page-id-175 .ifl-platform-grid {
    gap: 24px !important;
}

.page-id-175 .ifl-card-lead-inner {
    padding: 24px !important;
}

.page-id-175 .ifl-card-thumb-wrap {
    height: 220px !important;
}

.page-id-175 .ifl-sub-card-inner {
    padding: 16px 20px !important;
}

/* 05. GET INVOLVED (Dark Invitation Anchor) */
.ifl-new-sec-action,
.elementor-element-ifl_new_action,
[data-id="ifl_new_action"] {
    position: relative;
    width: 100%;
    background-color: #041238 !important;
    background-image: linear-gradient(180deg, rgba(4, 18, 56, 0.92) 0%, rgba(7, 32, 92, 0.86) 100%), url('https://staging.iflus.org/wp-content/uploads/2026/09/ifl_purpose_human_leadership_1790157013690.jpg') !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    padding: 88px 32px 88px 32px !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.ifl-new-action-inner,
.elementor-element-ifl_new_action_inner,
[data-id="ifl_new_action_inner"] {
    max-width: 860px !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 2 !important;
}

.ifl-new-action-h2 {
    font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 42px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    color: #FFFFFF !important;
    margin: 0 0 16px 0 !important;
}

.ifl-new-action-lead {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
    font-size: 16.5px !important;
    line-height: 1.65 !important;
    color: #CBD5E1 !important;
    margin: 0 auto 36px auto !important;
    max-width: 720px;
}

.ifl-new-action-cta-group {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}

/* Responsive Rules for IFL NEW */
@media (max-width: 1024px) {
    .ifl-new-sec-hero,
    .elementor-element-ifl_new_hero,
    [data-id="ifl_new_hero"] {
        padding: 100px 28px 80px 28px !important;
        min-height: 580px !important;
    }

    .ifl-new-hero-h1 {
        font-size: 42px !important;
    }

    .ifl-new-sec-h2 {
        font-size: 32px !important;
    }

    .ifl-new-conv-h2 {
        font-size: 38px !important;
    }

    .ifl-new-forces-grid {
        grid-template-columns: 1fr;
    }

    .ifl-new-conv-tracks {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

@media (max-width: 768px) {
    .ifl-new-sec-hero,
    .elementor-element-ifl_new_hero,
    [data-id="ifl_new_hero"] {
        padding: 80px 20px 60px 20px !important;
        min-height: 500px !important;
    }

    .ifl-new-hero-h1 {
        font-size: 34px !important;
    }

    .ifl-new-hero-lead {
        font-size: 15.5px !important;
    }

    .ifl-new-sec-forces,
    .elementor-element-ifl_new_forces,
    [data-id="ifl_new_forces"],
    .ifl-new-sec-converge,
    .elementor-element-ifl_new_converge,
    [data-id="ifl_new_converge"],
    .ifl-new-sec-platform,
    .elementor-element-ifl_new_platform,
    [data-id="ifl_new_platform"],
    .ifl-new-sec-action,
    .elementor-element-ifl_new_action,
    [data-id="ifl_new_action"] {
        padding: 60px 20px !important;
    }

    .ifl-new-force-sub-card {
        flex-direction: column;
    }

    .ifl-new-force-sub-img-wrap {
        width: 100%;
        height: 180px;
    }

    .ifl-new-action-h2 {
        font-size: 32px !important;
    }

    .ifl-new-action-cta-group {
        flex-direction: column;
        width: 100%;
    }

    .ifl-new-btn-primary,
    .ifl-new-btn-secondary {
        width: 100%;
        justify-content: center;
        box-sizing: border-box;
    }
}

@media (max-width: 480px) {
    .ifl-new-hero-h1 {
        font-size: 28px !important;
    }

    .ifl-new-sec-h2,
    .ifl-new-conv-h2,
    .ifl-new-action-h2 {
        font-size: 26px !important;
    }
}

/* ==========================================================================
   CONVERGE FLAGSHIP LANDING PAGE — ARCHITECTURAL REDESIGN (v1.2.3)
   Scoped exclusively to Page ID 19 (.page-id-19)
   Visual System Derived Directly from Approved IFL Reference Design
   Full-Bleed Photography Sec 4 + 2-Column Impact & Contact Sec 6
   ========================================================================== */

body.page-id-19 {
    background-color: #020817 !important;
    color: #FFFFFF;
    font-family: var(--ifl-font-body, 'Inter', sans-serif);
    overflow-x: hidden;
}

body.page-id-19 .elementor-19 {
    background-color: #020817 !important;
}

/* Subtle Technical Background Grid */
.ifl-conv-grid-bg {
    background-image: 
        linear-gradient(to right, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
    background-size: 56px 56px;
}

/* Container Inner Bounds & Full-width Section Environments */
[data-id^="conv_zone_"],
.elementor-element[data-id^="conv_zone_"] {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

[data-id^="conv_zone_"] > .e-con-inner {
    max-width: 1180px !important;
    width: 100% !important;
    margin: 0 auto !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
}

/* --- Architectural Typography & Section Indices --- */
.ifl-conv-index-crimson,
.ifl-conv-index {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.8125rem !important;
    font-weight: 800 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #EC0044 !important;
    margin-bottom: 8px !important;
}

.ifl-conv-heading-xl {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: clamp(2.75rem, 5.2vw, 4.5rem) !important;
    font-weight: 800 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.035em !important;
    color: #FFFFFF !important;
}

.ifl-conv-heading-sub {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: clamp(1.35rem, 2.2vw, 1.85rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.015em !important;
    color: #FFFFFF !important;
}

.ifl-conv-heading-lg {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: clamp(2rem, 3.5vw, 2.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.025em !important;
    color: #FFFFFF !important;
}

.ifl-conv-heading-md {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: clamp(1.3rem, 2vw, 1.6rem) !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.015em !important;
    color: #FFFFFF !important;
}

.ifl-conv-lead {
    font-size: clamp(1rem, 1.3vw, 1.125rem) !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    max-width: 680px;
}

.ifl-conv-text {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.72);
}

/* --- Action Buttons --- */
.ifl-conv-btn-primary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background-color: #EC0044 !important;
    color: #FFFFFF !important;
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.9375rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    padding: 13px 26px !important;
    border-radius: 9999px !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    border: none !important;
    box-shadow: 0 4px 20px rgba(236, 0, 68, 0.35) !important;
}

.ifl-conv-btn-primary:hover {
    background-color: #D4003D !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(236, 0, 68, 0.5) !important;
    color: #FFFFFF !important;
}

.ifl-conv-btn-secondary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    background-color: rgba(4, 18, 56, 0.4) !important;
    color: #FFFFFF !important;
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: 0.9375rem !important;
    font-weight: 600 !important;
    padding: 13px 26px !important;
    border-radius: 9999px !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    text-decoration: none !important;
    transition: all 0.3s ease !important;
    backdrop-filter: blur(8px);
}

.ifl-conv-btn-secondary:hover {
    background-color: rgba(255, 255, 255, 0.12) !important;
    border-color: rgba(255, 255, 255, 0.8) !important;
    transform: translateY(-2px) !important;
    color: #FFFFFF !important;
}

/* ==========================================================================
   ZONE 01: HERO (Cinematic Photo + Dark Navy Overlay + Compact Viewport)
   ========================================================================== */
.elementor-element-conv_zone_01_hero,
[data-id="conv_zone_01_hero"] {
    position: relative !important;
    padding: 50px 24px 35px 24px !important;
    background-color: #020817 !important;
    background-image: 
        linear-gradient(180deg, rgba(2, 8, 23, 0.82) 0%, rgba(4, 18, 56, 0.94) 100%),
        url('https://staging.iflus.org/wp-content/uploads/2026/09/ifl-converge-flagship-summit.jpg') !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    overflow: hidden !important;
    min-height: 580px !important;
    border-bottom: 1px solid rgba(236, 0, 68, 0.35) !important;
    box-sizing: border-box !important;
}

.ifl-conv-hero-grid {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 40px;
    align-items: center;
    position: relative;
    z-index: 2;
}

.ifl-conv-thematic-ribbon {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.8125rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    color: #CBD5E1;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.ifl-conv-thematic-ribbon span {
    color: #EC0044;
}

.ifl-conv-hero-cta-row {
    display: flex;
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 18px;
}

.ifl-conv-hero-watermark-left {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.28);
    margin-top: 20px;
    line-height: 1.4;
}

/* Hero Right Editorial Inset */
.ifl-conv-hero-side {
    display: flex;
    justify-content: flex-end;
}

.ifl-conv-hero-quote-box {
    border-left: 1px solid rgba(255, 255, 255, 0.22);
    padding-left: 24px;
    position: relative;
    max-width: 420px;
}

.ifl-conv-hero-vertical-meta {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.5);
    text-transform: uppercase;
    margin-bottom: 12px;
}

.ifl-conv-hero-quote-text {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.975rem;
    line-height: 1.55;
    color: rgba(255, 255, 255, 0.95);
    font-style: italic;
    margin: 0 0 10px 0;
}

.ifl-conv-hero-quote-cite {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.14em;
    color: #EC0044;
    text-transform: uppercase;
}

.ifl-conv-hero-watermark-right {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.28);
    margin-top: 20px;
    text-align: right;
    line-height: 1.4;
}

/* ==========================================================================
   ZONE 02: THE PLATFORM (Light Editorial Environment #FFFFFF — Reference Sec 2)
   ========================================================================== */
.elementor-element-conv_zone_02_platform,
[data-id="conv_zone_02_platform"] {
    background-color: #FFFFFF !important;
    color: #0F172A !important;
    padding: 45px 24px !important;
    border-bottom: 1px solid #E2E8F0 !important;
}

.ifl-conv-platform-split {
    display: grid;
    grid-template-columns: 1fr 1.05fr;
    gap: 40px;
    align-items: center;
    margin-bottom: 20px;
}

.ifl-conv-heading-lg-light {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    font-size: clamp(2rem, 3.2vw, 2.75rem) !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
    color: #07205C !important;
}

.ifl-conv-lead-light {
    font-size: 1.025rem !important;
    line-height: 1.65 !important;
    color: #475569 !important;
}

.ifl-conv-link-light {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.9375rem;
    font-weight: 700;
    color: #07205C;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all 0.25s ease;
    border-bottom: 2px solid transparent;
}

.ifl-conv-link-light:hover {
    color: #EC0044;
    border-bottom-color: #EC0044;
}

.ifl-conv-platform-photo {
    border-radius: 12px;
    overflow: hidden;
    height: 240px;
    box-shadow: 0 16px 36px rgba(7, 32, 92, 0.08);
    border: 1px solid #E2E8F0;
}

.ifl-conv-platform-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Horizontal Editorial Pathway on Light */
.ifl-conv-anchors-pathway-light {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    border-top: 1px solid #E2E8F0;
    border-bottom: 1px solid #E2E8F0;
    padding: 14px 0;
}

.ifl-conv-anchor-item-light {
    flex: 1;
    padding: 0 16px;
    border-left: 1px solid #E2E8F0;
    transition: all 0.3s ease;
}

.ifl-conv-anchor-item-light:first-child {
    border-left: none;
    padding-left: 0;
}

.ifl-conv-anchor-item-light:last-child {
    padding-right: 0;
}

.ifl-conv-anchor-item-light:hover {
    transform: translateY(-2px);
}

.ifl-conv-anchor-verb-light {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.1rem;
    font-weight: 800;
    color: #07205C;
    letter-spacing: 0.04em;
    margin-bottom: 4px;
}

.ifl-conv-anchor-desc-light {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #64748B;
    margin: 0;
}

/* ==========================================================================
   ZONE 03: THREE FORCES (Deep Navy #041238 + 3 Connected Panels)
   ========================================================================== */
.elementor-element-conv_zone_03_forces,
[data-id="conv_zone_03_forces"] {
    background-color: #041238 !important;
    padding: 48px 24px !important;
    border-bottom: 1px solid rgba(236, 0, 68, 0.25) !important;
}

.ifl-conv-forces-sub-ribbon {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    color: rgba(255, 255, 255, 0.7);
    text-transform: uppercase;
}

.ifl-conv-dot-crimson {
    width: 6px;
    height: 6px;
    background: #EC0044;
    border-radius: 50%;
    box-shadow: 0 0 8px #EC0044;
}

/* 3 Forces Horizontal Panels (Matching Reference Section 2) */
.ifl-conv-forces-3panel {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch;
}

.ifl-conv-force-card {
    border-radius: 12px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.35s ease;
}

.ifl-conv-force-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.4);
}

.ifl-conv-force-card.is-dark {
    background: #020817;
    border: 1px solid rgba(255, 255, 255, 0.16);
}

.ifl-conv-force-card.is-light {
    background: #FFFFFF;
    border: 1px solid #E2E8F0;
}

.ifl-conv-force-photo {
    width: 100%;
    height: 165px;
    position: relative;
    overflow: hidden;
}

.ifl-conv-force-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.ifl-conv-force-card:hover .ifl-conv-force-photo img {
    transform: scale(1.05);
}

.ifl-conv-force-watermark {
    position: absolute;
    top: 8px;
    right: 12px;
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 2.5rem;
    font-weight: 900;
    color: rgba(255, 255, 255, 0.2);
    pointer-events: none;
    line-height: 1;
}

.ifl-conv-force-body {
    padding: 16px 18px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.ifl-conv-force-num-crimson {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.1rem;
    font-weight: 800;
    color: #EC0044;
    margin-bottom: 6px;
}

.ifl-conv-force-title-white {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.1rem;
    font-weight: 800;
    color: #FFFFFF;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.ifl-conv-force-desc-white {
    font-size: 0.85rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

.ifl-conv-force-title-dark {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.1rem;
    font-weight: 800;
    color: #07205C;
    margin: 0 0 6px 0;
    line-height: 1.3;
}

.ifl-conv-force-desc-dark {
    font-size: 0.85rem;
    line-height: 1.5;
    color: #475569;
    margin: 0;
}

.ifl-conv-force-tags-dark {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.ifl-conv-force-tags-dark span {
    font-size: 0.72rem;
    font-weight: 600;
    background: rgba(255, 255, 255, 0.08);
    color: rgba(255, 255, 255, 0.85);
    padding: 3px 8px;
    border-radius: 4px;
}

.ifl-conv-force-tags-light {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 12px;
}

.ifl-conv-force-tags-light span {
    font-size: 0.72rem;
    font-weight: 600;
    background: #F1F5F9;
    color: #07205C;
    padding: 3px 8px;
    border-radius: 4px;
}

/* ==========================================================================
   ZONE 04: WHAT TO EXPECT & WHO ATTENDS (Full-Bleed Conference Photography)
   ========================================================================== */
.elementor-element-conv_zone_04_experience,
[data-id="conv_zone_04_experience"] {
    position: relative !important;
    background-color: #020817 !important;
    background-image: 
        linear-gradient(180deg, rgba(2, 8, 23, 0.88) 0%, rgba(4, 18, 56, 0.90) 50%, rgba(2, 8, 23, 0.92) 100%),
        url('https://staging.iflus.org/wp-content/uploads/2026/09/ifl-converge-experience-conference.jpg') !important;
    background-position: center center !important;
    background-size: cover !important;
    background-repeat: no-repeat !important;
    padding: 40px 24px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.ifl-conv-experience-wrap {
    width: 100%;
}

/* 3E-Style Connected Progression Grid */
.ifl-conv-progression-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px 20px;
    margin: 14px 0 18px 0;
}

.ifl-conv-progression-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding-bottom: 10px;
    position: relative;
    background: rgba(2, 8, 23, 0.45);
    padding: 10px 14px;
    border-radius: 8px;
    backdrop-filter: blur(6px);
}

.ifl-conv-progression-num {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.35rem;
    font-weight: 800;
    color: #EC0044;
    line-height: 1;
}

.ifl-conv-progression-body h4 {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.875rem;
    font-weight: 700;
    color: #FFFFFF;
    margin: 0 0 4px 0;
    letter-spacing: 0.02em;
}

.ifl-conv-progression-body p {
    font-size: 0.8rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.72);
    margin: 0;
}

.ifl-conv-progression-chevron {
    color: #EC0044;
    font-size: 1.05rem;
    font-weight: 700;
    margin-left: auto;
    align-self: center;
}

/* Audience Glassmorphic Panel Layout */
.ifl-conv-audience-container {
    margin-top: 16px;
}

.ifl-conv-audience-glass-panel {
    background: rgba(2, 8, 23, 0.65);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    padding: 14px 20px;
    max-width: 980px;
    margin: 0 auto;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.35);
}

.ifl-conv-audience-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
}

.ifl-conv-aud-tag {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 6px;
    padding: 5px 11px;
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.775rem;
    font-weight: 700;
    color: #FFFFFF;
    letter-spacing: 0.03em;
    transition: all 0.25s ease;
}

.ifl-conv-aud-tag:hover {
    background: rgba(236, 0, 68, 0.2);
    border-color: #EC0044;
}

/* ==========================================================================
   ZONE 05: PARTICIPATION (Rich Signature Navy #07205C)
   ========================================================================== */
.elementor-element-conv_zone_05_participation,
[data-id="conv_zone_05_participation"] {
    background-color: #07205C !important;
    padding: 48px 24px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-bottom: 1px solid rgba(236, 0, 68, 0.35) !important;
}

.ifl-conv-offers-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-top: 18px;
    margin-bottom: 24px;
}

.ifl-conv-offer-card {
    background: #041238;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    padding: 22px 18px;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.3s ease;
}

.ifl-conv-offer-card.is-featured {
    border-color: #EC0044;
    box-shadow: 0 12px 40px rgba(236, 0, 68, 0.25);
    background: linear-gradient(180deg, #092873 0%, #041238 100%);
}

.ifl-conv-offer-badge {
    display: inline-block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #EC0044;
    background: rgba(236, 0, 68, 0.12);
    padding: 3px 8px;
    border-radius: 4px;
    margin-bottom: 10px;
    align-self: flex-start;
}

.ifl-conv-offer-title {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.25rem;
    font-weight: 800;
    color: #FFFFFF;
    margin-bottom: 8px;
}

.ifl-conv-offer-price {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.875rem;
    font-weight: 700;
    color: #EC0044;
    letter-spacing: 0.04em;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.ifl-conv-inclusions {
    list-style: none;
    padding: 0;
    margin: 10px 0 14px 0;
    font-size: 0.825rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.85);
    flex-grow: 1;
}

.ifl-conv-inclusions li {
    position: relative;
    padding-left: 18px;
    margin-bottom: 4px;
}

.ifl-conv-inclusions li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #EC0044;
    font-weight: 700;
}

/* 3E-Style Connected Process Progression */
.ifl-conv-process-chevron-flow {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 16px 0 10px 0;
    background: rgba(2, 8, 23, 0.45);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 14px 18px;
}

.ifl-conv-process-step {
    text-align: center;
    flex: 1;
}

.ifl-conv-process-num {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.3rem;
    font-weight: 800;
    color: #EC0044;
    line-height: 1;
    margin-bottom: 2px;
}

.ifl-conv-process-title {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.8125rem;
    font-weight: 800;
    color: #FFFFFF;
    letter-spacing: 0.04em;
}

.ifl-conv-process-desc {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.65);
    margin-top: 2px;
}

.ifl-conv-process-arrow {
    color: #EC0044;
    font-size: 1.15rem;
    font-weight: 700;
    padding: 0 8px;
}

/* ==========================================================================
   ZONE 06: PHILOSOPHY & CLIMAX + CONTACT CONVERGE (2-Column Split)
   ========================================================================== */
.elementor-element-conv_zone_06_climax,
[data-id="conv_zone_06_climax"] {
    padding: 48px 24px 0 24px !important;
    background-color: #020817 !important;
    position: relative !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

.ifl-conv-climax-split {
    display: grid;
    grid-template-columns: 1.15fr 0.95fr;
    gap: 40px;
    align-items: flex-start;
    text-align: left;
}

.ifl-conv-climax-left {
    display: flex;
    flex-direction: column;
}

.ifl-conv-pillars-staggered {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 14px 0 20px 0;
}

.ifl-conv-pillar-line {
    display: flex;
    align-items: baseline;
    gap: 12px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    padding-bottom: 8px;
    transition: all 0.3s ease;
}

.ifl-conv-pillar-line:hover {
    border-color: rgba(236, 0, 68, 0.5);
    transform: translateX(6px);
}

.ifl-conv-pillar-num {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.875rem;
    font-weight: 800;
    color: #EC0044;
    letter-spacing: 0.12em;
}

.ifl-conv-pillar-word {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: clamp(1.3rem, 2.2vw, 1.85rem);
    font-weight: 800;
    color: #FFFFFF;
    letter-spacing: -0.02em;
    min-width: 160px;
}

.ifl-conv-pillar-desc {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.72);
    line-height: 1.45;
    flex: 1;
}

.ifl-conv-manifesto {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: clamp(1.25rem, 2.2vw, 1.75rem);
    font-weight: 800;
    line-height: 1.35;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    margin: 14px 0 0 0;
    font-style: italic;
    border-left: 2px solid #EC0044;
    padding-left: 16px;
}

/* Contact CONVERGE Card */
.ifl-conv-contact-card {
    background: #041238;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 12px;
    padding: 24px 22px;
    box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
    box-sizing: border-box;
}

.ifl-conv-contact-title {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 1.35rem;
    font-weight: 800;
    color: #FFFFFF;
    margin: 8px 0 6px 0;
}

.ifl-conv-contact-subtitle {
    font-size: 0.8125rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.7);
    margin: 0 0 16px 0;
}

.ifl-conv-contact-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ifl-conv-form-group {
    display: flex;
    flex-direction: column;
}

.ifl-conv-form-group label {
    font-size: 0.75rem;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.85);
    margin-bottom: 3px;
}

.ifl-conv-form-group input,
.ifl-conv-form-group select,
.ifl-conv-form-group textarea {
    width: 100%;
    box-sizing: border-box;
    padding: 9px 12px;
    background: #020817;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 6px;
    color: #FFFFFF;
    font-size: 0.875rem;
    font-family: inherit;
    transition: all 0.25s ease;
}

.ifl-conv-form-group input:focus,
.ifl-conv-form-group select:focus,
.ifl-conv-form-group textarea:focus {
    border-color: #EC0044;
    outline: none;
    box-shadow: 0 0 0 2px rgba(236, 0, 68, 0.25);
}

.ifl-conv-form-feedback {
    margin-top: 10px;
    padding: 10px 12px;
    border-radius: 6px;
    font-size: 0.8125rem;
    line-height: 1.45;
}

.ifl-conv-form-feedback.is-success {
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid #10B981;
    color: #D1FAE5;
}

.ifl-conv-form-feedback.is-error {
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid #EF4444;
    color: #FEE2E2;
}

/* ==========================================================================
   FOOTER STRUCTURAL BOUNDARY & SEPARATION
   ========================================================================== */
.ifl-conv-footer-boundary {
    width: 100%;
    background-color: #01040B;
    border-top: 1px solid #EC0044;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 36px;
}

.ifl-conv-footer-boundary-label {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif);
    font-size: 0.6875rem;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.45);
    text-transform: uppercase;
}

body.page-id-19 footer.elementor-location-footer,
body.page-id-19 .elementor-34 {
    background-color: #01040B !important;
}

/* ==========================================================================
   BRANDED REGISTRATION CHECKOUT STYLES (WooCommerce Override)
   ========================================================================== */
.woocommerce-checkout {
    background-color: #041238 !important;
    color: #FFFFFF !important;
}

.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review {
    background: #07205C;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    padding: 30px;
    color: #FFFFFF;
    margin-bottom: 30px;
}

.woocommerce-checkout h3 {
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    color: #FFFFFF !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    padding-bottom: 14px;
    margin-bottom: 24px !important;
}

.woocommerce-checkout label {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.875rem !important;
    font-weight: 600 !important;
    margin-bottom: 6px !important;
}

.woocommerce-checkout input.input-text,
.woocommerce-checkout select {
    background-color: #041238 !important;
    border: 1px solid rgba(255, 255, 255, 0.18) !important;
    color: #FFFFFF !important;
    border-radius: 6px !important;
    padding: 12px 14px !important;
    font-size: 0.9375rem !important;
}

.woocommerce-checkout input.input-text:focus,
.woocommerce-checkout select:focus {
    border-color: #EC0044 !important;
    outline: none !important;
    box-shadow: 0 0 0 2px rgba(236, 0, 68, 0.25) !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border-collapse: collapse;
    width: 100%;
    color: #FFFFFF !important;
}

.woocommerce-checkout .woocommerce-checkout-review-order-table th,
.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 14px 10px;
    border-color: rgba(255, 255, 255, 0.1) !important;
    color: #FFFFFF !important;
}

.woocommerce-checkout .order-total .woocommerce-Price-amount {
    color: #EC0044 !important;
    font-weight: 800;
    font-size: 1.25rem;
}

.woocommerce-checkout #place_order {
    background-color: #EC0044 !important;
    color: #FFFFFF !important;
    font-family: var(--ifl-font-heading, 'Plus Jakarta Sans', sans-serif) !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    padding: 16px 32px !important;
    border-radius: 6px !important;
    border: none !important;
    width: 100%;
    cursor: pointer;
    transition: all 0.3s ease;
    box-shadow: 0 4px 20px rgba(236, 0, 68, 0.35);
}

.woocommerce-checkout #place_order:hover {
    background-color: #D4003D !important;
    box-shadow: 0 8px 28px rgba(236, 0, 68, 0.5);
}

/* ==========================================================================
   RESPONSIVE MEDIA QUERIES (1024, 768, 390)
   ========================================================================== */
@media (max-width: 1024px) {
    .ifl-conv-hero-grid {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .ifl-conv-hero-side {
        justify-content: flex-start;
    }
    .ifl-conv-hero-quote-box {
        max-width: 100%;
    }
    .ifl-conv-platform-split {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .ifl-conv-anchors-pathway-light {
        flex-wrap: wrap;
        gap: 16px;
    }
    .ifl-conv-anchor-item-light {
        flex: 0 0 calc(50% - 10px);
        border-left: none;
        padding: 8px 0;
    }
    .ifl-conv-forces-3panel {
        grid-template-columns: 1fr;
    }
    .ifl-conv-progression-grid {
        grid-template-columns: 1fr 1fr;
    }
    .ifl-conv-climax-split {
        grid-template-columns: 1fr;
        gap: 32px;
    }
}

@media (max-width: 768px) {
    .ifl-conv-anchors-pathway-light {
        flex-direction: column;
    }
    .ifl-conv-anchor-item-light {
        flex: 1 1 100%;
        border-left: none;
        border-bottom: 1px solid #E2E8F0;
        padding: 12px 0;
    }
    .ifl-conv-anchor-item-light:last-child {
        border-bottom: none;
    }
    .ifl-conv-progression-grid {
        grid-template-columns: 1fr;
    }
    .ifl-conv-offers-grid {
        grid-template-columns: 1fr;
    }
    .ifl-conv-process-chevron-flow {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }
    .ifl-conv-process-arrow {
        transform: rotate(90deg);
        align-self: center;
    }
    .ifl-conv-pillar-line {
        flex-direction: column;
        gap: 6px;
        margin-left: 0 !important;
    }
    .ifl-conv-pillar-word {
        min-width: unset;
    }
    .ifl-conv-manifesto {
        margin: 16px 0 0 0;
    }
}
