/* ==========================================================================
   Beacon Tower - Modern Responsive Design System
   Matches 1:1 with https://beacontower.io visual identity (Source Sans Pro & Lato)
   Full support for all content layouts, grids, cards, accordions, and images
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,400&family=Source+Sans+Pro:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

@font-face {
    font-family: 'ETmodules';
    src: url('/static/fonts/modules.woff') format('woff'),
         url('/static/fonts/modules.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Font Awesome 5 Free';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('/static/fonts/fa-solid-900.woff2') format('woff2'),
         url('/static/fonts/fa-solid-900.ttf') format('truetype');
}

@font-face {
    font-family: 'FontAwesome';
    font-style: normal;
    font-weight: 900;
    font-display: swap;
    src: url('/static/fonts/fa-solid-900.woff2') format('woff2'),
         url('/static/fonts/fa-solid-900.ttf') format('truetype');
}

@font-face {
    font-family: 'FontAwesome';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/static/fonts/fa-solid-900.woff2') format('woff2'),
         url('/static/fonts/fa-solid-900.ttf') format('truetype');
}

.et-pb-icon {
    font-family: 'ETmodules' !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 48px;
    color: var(--color-primary);
    display: inline-block;
    margin-bottom: 15px;
}

:root {
    --color-primary: #d91f27;
    --color-primary-hover: #808080;
    --color-heading: #333333;
    --color-body: #808080;
    --color-text-dark: #151b26;
    --color-nav: #646f79;
    --color-bg-light: #f8f9fa;
    --color-bg-white: #ffffff;
    --color-border: #e2e8f0;
    --color-border-dark: #dddddd;
    --font-heading: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --font-body: 'Lato', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    --max-width: 1200px;
    --header-height: 80px;
    --header-height-fixed: 60px;
    --transition-fast: 0.2s ease;
}

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

html {
    font-size: 16px;
    scroll-behavior: smooth;
    -webkit-font-smoothing: antialiased;
    color-scheme: only light !important;
    background-color: #ffffff !important;
}

body {
    font-family: var(--font-body);
    font-size: 18px;
    line-height: 1.6;
    color: var(--color-body);
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
    color-scheme: only light !important;
}

h1, h2, h3, h4, h5, h6 {
    font-family: var(--font-heading);
    color: var(--color-heading);
    line-height: 1.3;
    font-weight: 700;
    margin-bottom: 0.6em;
}

h1 { font-size: 2.5rem; }
h2 { font-size: 2.0rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }

p {
    margin-bottom: 1.2em;
}

ul, ol {
    margin-bottom: 1.2em;
    padding-left: 24px;
}

li {
    margin-bottom: 0.4em;
}

a {
    color: var(--color-primary);
    text-decoration: none;
    transition: color var(--transition-fast);
}

a:hover {
    color: var(--color-primary-hover);
}

img {
    max-width: 100%;
    height: auto;
    display: inline-block;
    vertical-align: middle;
}

.container {
    width: 100%;
    max-width: var(--max-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}

/* ==========================================================================
   Top Header (Language Bar)
   ========================================================================== */

#top-header {
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
    border-bottom: 1px solid #f0f0f0;
    font-size: 14px;
    color: var(--color-text-dark);
    padding: 6px 0;
    z-index: 1002;
    position: relative;
}

#top-header .container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    max-width: 100%;
    padding-left: 35px;
    padding-right: 35px;
}

.lang-switcher {
    display: flex;
    align-items: center;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.lang-switcher a {
    display: inline-flex;
    align-items: center;
    opacity: 0.7;
    transition: opacity var(--transition-fast), transform var(--transition-fast);
}

.lang-switcher a:hover,
.lang-switcher .active a {
    opacity: 1;
    transform: scale(1.1);
}

.lang-switcher img {
    width: 18px;
    height: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.15);
    border-radius: 2px;
}

/* ==========================================================================
   Main Sticky Header & Navigation
   ========================================================================== */

#main-header {
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
    position: sticky;
    top: 0;
    z-index: 1001;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    transition: all 0.3s ease;
    height: var(--header-height);
    display: flex;
    align-items: center;
}

#main-header.et-fixed-header {
    height: var(--header-height-fixed);
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

#main-header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 100%;
    padding-left: 35px;
    padding-right: 35px;
}

.logo-container a {
    display: inline-block;
}

.logo-container img {
    height: 48px;
    width: auto;
    transition: height 0.3s ease;
}

#main-header.et-fixed-header .logo-container img {
    height: 38px;
}

nav#top-menu-nav {
    display: flex;
    align-items: center;
}

ul#top-menu {
    display: flex;
    align-items: center;
    gap: 24px;
    list-style: none;
    padding: 0;
    margin: 0;
}

ul#top-menu > li {
    position: relative;
}

ul#top-menu > li > a {
    color: var(--color-nav);
    font-size: 17px;
    font-weight: 600;
    padding: 10px 0;
    position: relative;
    display: block;
}

ul#top-menu > li > a::before {
    content: "";
    position: absolute;
    bottom: 2px;
    left: 0;
    right: 100%;
    height: 2px;
    background: var(--color-primary);
    transition: right 0.25s ease, left 0.25s ease;
}

ul#top-menu > li:hover > a::before,
ul#top-menu > li.active > a::before {
    left: 0;
    right: 0;
}

ul#top-menu > li.active > a {
    color: var(--color-primary);
}

/* Dropdown Sub-menus */
ul#top-menu li.has-children:hover > ul.sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

ul.sub-menu {
    position: absolute;
    top: 100%;
    left: 0;
    background: var(--color-bg-white);
    min-width: 240px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    border-radius: 4px;
    list-style: none;
    padding: 10px 0;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: all 0.2s ease;
    z-index: 1000;
}

ul.sub-menu li a {
    display: block;
    padding: 8px 18px;
    color: var(--color-nav);
    font-size: 15px;
    font-weight: 500;
}

ul.sub-menu li a:hover {
    background-color: #f7f7f7;
    color: var(--color-primary);
}

/* Header CTA Button (1:1 with WordPress) */
ul#top-menu > li.menu_cta a {
    background-color: #d91f27 !important;
    color: #ffffff !important;
    padding: 12px 20px !important;
    border-radius: 5px !important;
    border: 2px solid #d91f27 !important;
    font-size: 15px;
    font-weight: 700;
    transition: all var(--transition-fast);
}

ul#top-menu > li.menu_cta a::before {
    display: none !important;
}

ul#top-menu > li.menu_cta a:hover {
    background-color: #ffffff !important;
    color: #d91f27 !important;
}

/* Mobile Menu Button */
.mobile-nav-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    color: var(--color-heading);
}

.mobile-nav-toggle svg {
    width: 28px;
    height: 28px;
}

/* ==========================================================================
   Buttons & Generic Components
   ========================================================================== */

.btn, .et_pb_button {
    display: inline-block;
    background-color: var(--color-primary);
    color: #ffffff !important;
    font-family: var(--font-heading);
    font-size: 16px;
    font-weight: 700;
    padding: 12px 28px;
    border-radius: 5px;
    border: none;
    cursor: pointer;
    transition: all var(--transition-fast);
    text-align: center;
}

.btn:hover, .et_pb_button:hover {
    background-color: var(--color-primary-hover);
    color: #ffffff !important;
    letter-spacing: 0.5px;
}

.btn-secondary {
    background-color: transparent;
    color: var(--color-heading) !important;
    border: 2px solid var(--color-border-dark);
}

.btn-secondary:hover {
    border-color: var(--color-primary);
    color: var(--color-primary) !important;
    background-color: transparent;
}

/* ==========================================================================
   Full Grid & Column Layouts (Divi 1:1 Compatibility)
   ========================================================================== */

.page-content {
    width: 100%;
}

.et_pb_section {
    position: relative;
    padding: 70px 0;
    width: 100%;
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
}

.et_pb_section.et_pb_with_background:not(#coverflow-carousel) {
    background-color: #f4f4f4 !important;
    background-image: url(/static/img/bg-gray.png) !important;
    background-repeat: repeat !important;
}

/* ==========================================================================
   Home Section Background Alternation (1:1 with WordPress/Divi)
   ========================================================================== */

/* 1. Carousel Section: Pattern Watermark */
#coverflow-carousel.et_pb_section,
.et_pb_section#coverflow-carousel {
    background-image: url(/static/img/connected-products-light.jpg) !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-color: #ffffff !important;
    padding: 90px 0 70px 0 !important;
    overflow: hidden !important;
}

/* 2. Blog Bar: Pure White with 30px #D6D6D6 Border (1:1 with .et_pb_section_9) */
.et_pb_section.et_pb_with_border {
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
    border: 30px solid #d6d6d6 !important;
    border-image: url(/static/img/bg-d6d6d6.png) 1 repeat !important;
    padding: 35px 0 !important;
}

/* 3. Utility Balancing Section: Pure White #ffffff (1:1 with beacontower.io) */
.home-content .home-sec-utility,
.home-content .et_pb_section#iotworks:not(.et_pb_with_background),
.home-content .et_pb_section_10,
.home-content .et_pb_section_6:not(.et_pb_with_border):not(.et_pb_with_background) {
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
    padding: 80px 0 !important;
}

/* 4. Featured Case Studies: Light Gray #f4f4f4 (1:1 with beacontower.io) */
.home-content .home-sec-cases,
.home-content .et_pb_section_11,
.home-content .et_pb_section_7.et_pb_with_background,
.home-content .et_pb_section_6.et_pb_with_background {
    background-color: #f4f4f4 !important;
    background-image: url(/static/img/bg-gray.png) !important;
    background-repeat: repeat !important;
    padding: 80px 0 !important;
}

/* 5. Achieve Industrial IoT success: Pure White #ffffff (1:1 with beacontower.io) */
.home-content .home-sec-industrial,
.home-content .et_pb_section_12,
.home-content .et_pb_section_8:not(#coverflow-carousel):not(.et_pb_with_background),
.home-content .et_pb_section_7:not(.et_pb_with_background) {
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
    padding: 80px 0 !important;
}

/* 6. Security & Bottom CTA: Light Gray #f4f4f4 (1:1 with beacontower.io) */
.home-content .home-sec-security,
.home-content .et_pb_section#iotworks.et_pb_with_background,
.home-content .et_pb_section_13,
.home-content .et_pb_section_9.et_pb_with_background:not(.et_pb_with_border),
.home-content .et_pb_section_8.et_pb_with_background:not(#coverflow-carousel) {
    background-color: #f4f4f4 !important;
    background-image: url(/static/img/bg-gray.png) !important;
    background-repeat: repeat !important;
    padding: 80px 0 !important;
}

/* 7. Footer: Pure White #ffffff with Top Border (1:1 with beacontower.io) */
#main-footer {
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
    border-top: 1px solid #e0e0e0 !important;
    margin-top: 0 !important;
}

.et_pb_row {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto 30px auto;
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: center;
}

.et_pb_row:last-child {
    margin-bottom: 0;
}

.et_pb_row_fullwidth {
    width: 94%;
    max-width: 1400px;
}

.et_pb_column {
    min-width: 0;
    box-sizing: border-box;
}

.et_pb_column_4_4 { width: 100%; flex: 0 0 100%; }
.et_pb_column_1_2 { width: calc(50% - 15px); flex: 0 0 calc(50% - 15px); }
.et_pb_column_1_3 { width: calc(33.333% - 20px); flex: 0 0 calc(33.333% - 20px); }
.et_pb_column_2_3 { width: calc(66.666% - 10px); flex: 0 0 calc(66.666% - 10px); }
.et_pb_column_1_4 { width: calc(25% - 22.5px); flex: 0 0 calc(25% - 22.5px); }
.et_pb_column_3_4 { width: calc(75% - 7.5px); flex: 0 0 calc(75% - 7.5px); }
.et_pb_column_1_5 { width: calc(20% - 24px); flex: 0 0 calc(20% - 24px); }

@media (max-width: 980px) {
    .et_pb_row {
        gap: 20px;
    }
    .et_pb_column_1_2, .et_pb_column_1_3, .et_pb_column_2_3,
    .et_pb_column_1_4, .et_pb_column_3_4, .et_pb_column_1_5 {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
}

h1:empty, h2:empty, h3:empty, h4:empty, p:empty {
    display: none !important;
}

.typed-me {
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
    font-weight: 700;
}

/* ==========================================================================
   Carousel & Card Decks (.dica_divi_carousel - 3D Coverflow)
   ========================================================================== */

#coverflow-carousel .et_pb_row,
#coverflow-carousel .et_pb_row_4 {
    width: 89% !important;
    max-width: 89% !important;
    margin: 0 auto !important;
    display: block !important;
    overflow: hidden !important;
}

@media (max-width: 980px) {
    #coverflow-carousel .et_pb_row,
    #coverflow-carousel .et_pb_row_4 {
        width: 85% !important;
        max-width: 85% !important;
    }
}

.dica_divi_carousel {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
    position: relative;
    overflow: hidden !important;
}

.dica-container {
    position: relative;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
    padding: 0;
    overflow: hidden !important;
}

.dica-container .swiper-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto;
    padding-top: 15px !important;
    padding-bottom: 39px !important;
    overflow: hidden !important;
}

.dica-container .swiper-wrapper {
    margin: 0;
}

/* 5 Cards visible on desktop (2 left, 1 center, 2 right via Swiper slidesPerView=4 & rotate=42deg) */
.dica_divi_carousel .swiper-slide,
.dica_divi_carousel .dica_divi_carouselitem {
    box-sizing: border-box;
    height: auto;
}

.home-content .dica_divi_carousel .dica_divi_carouselitem > div:first-of-type,
.home-content .dica_divi_carousel .dica-item:not(.empty-content) {
    background-color: rgba(0, 0, 0, 0.8) !important;
    border-radius: 0;
    overflow: hidden;
    box-shadow: 0px 12px 18px -6px rgba(0, 0, 0, 0.3) !important;
    display: flex;
    flex-direction: column;
    height: 100%;
    border: none !important;
    text-align: left;
}

.dica-item.empty-content,
.dica-item.empty-content > div,
.divi_carousel_custom .dica_divi_carouselitem > div:first-of-type,
.divi_carousel_custom .dica-item,
.sections-content .dica_divi_carouselitem > div:first-of-type,
.sections-content .dica_divi_carousel .dica-item {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
}

.dica_divi_carousel .dica-item-image,
.dica_divi_carousel .dica-item .dica-image-container img,
.dica_divi_carousel .dica-item .dica-image-container .image {
    width: 100% !important;
    height: auto !important;
    display: block;
}

.dica_divi_carousel .dica-item-content {
    padding: 25px !important;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    justify-content: space-between;
    background-color: transparent !important;
}

.dica_divi_carousel .dica-item-content h1.item-title,
.dica_divi_carousel .dica-item-content h4.item-title,
.dica_divi_carousel .dica-item-content .item-title a {
    color: #ffffff !important;
    font-size: 20px !important;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 10px;
    text-decoration: none;
}

.dica_divi_carousel .dica-item-content .content p,
.dica_divi_carousel .dica-item-content p {
    color: #b3b3b3 !important;
    font-size: 14px !important;
    line-height: 1.6;
    margin-bottom: 18px;
}

/* Red CTA Button in Carousel Item */
.dica_divi_carousel .dica-item-content > div:not(.content):not(.dica-image-container) {
    text-align: right;
}

.dica_divi_carousel .dica-item-content a.et_pb_button,
.dica_divi_carousel .dica-item-content > div:not(.content):not(.dica-image-container) a {
    background-color: #d91f27 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 3px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 600;
    display: inline-block;
    text-decoration: none;
    transition: background-color 0.2s ease;
}

.dica_divi_carousel .dica-item-content a.et_pb_button:hover,
.dica_divi_carousel .dica-item-content > div:not(.content):not(.dica-image-container) a:hover {
    background-color: #141414 !important;
    color: #ffffff !important;
}

/* Navigation Arrows (1:1 53x53 White Squares with ETmodules Black Chevrons) */
.dica-container .swiper-button-prev,
.dica-container .swiper-button-next {
    width: 53px !important;
    height: 53px !important;
    font-size: 53px !important;
    line-height: 53px !important;
    padding: 0 !important;
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer;
    z-index: 20;
}

.dica-container .swiper-button-prev:before,
.dica-container .swiper-button-next:before {
    content: attr(data-icon);
    font-family: 'ETmodules' !important;
    font-size: 53px !important;
    line-height: 1 !important;
    color: #000000 !important;
    vertical-align: middle !important;
}

.dica-container .swiper-button-prev::after,
.dica-container .swiper-button-next::after {
    display: none !important;
}

/* Swiper Pagination Bullets */
.dica-container .swiper-pagination {
    bottom: 5px !important;
}

.dica-container .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 4px !important;
    background-color: #e0e0e0 !important;
    opacity: 1 !important;
    transition: all 0.3s ease;
}

.dica-container .swiper-pagination-bullet-active {
    background-color: #0c71c3 !important;
}

/* ==========================================================================
   Blurbs, Images & Typography Modules
   ========================================================================== */

.et_pb_text {
    margin-bottom: 20px;
    position: relative;
}

.et_pb_text_inner > *:last-child {
    margin-bottom: 0;
}

.et_pb_image {
    margin-bottom: 25px;
    text-align: center;
    position: relative;
}

.et_pb_image_wrap {
    position: relative;
    display: inline-block;
    overflow: hidden;
    border-radius: 6px;
    width: 100%;
}

.et_pb_image img {
    border-radius: 6px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.06);
    max-width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}

/* Divi Image Hover Overlay Effect (Featured Case Studies) */
.et_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.47) !important;
    opacity: 0;
    transition: opacity 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
    pointer-events: none;
    border-radius: 6px;
}

.et_overlay:before {
    content: attr(data-icon);
    font-family: 'ETmodules' !important;
    font-size: 32px;
    color: #ffffff !important;
    font-weight: 400 !important;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    transition: transform 0.3s ease;
}

.et_pb_has_overlay:hover .et_overlay,
.et_pb_image_wrap:hover .et_overlay,
.et_pb_image.et_pb_has_overlay:hover .et_overlay {
    opacity: 1 !important;
}

.et_pb_has_overlay:hover .et_overlay:before,
.et_pb_image_wrap:hover .et_overlay:before,
.et_pb_image.et_pb_has_overlay:hover .et_overlay:before {
    transform: translate(-50%, -50%) scale(1);
}

.et_pb_has_overlay:hover img,
.et_pb_image_wrap:hover img {
    transform: scale(1.05);
}

.et_pb_text_align_center { text-align: center; }
.et_pb_text_align_left { text-align: left; }
.et_pb_text_align_right { text-align: right; }

.et_pb_blurb {
    margin-bottom: 25px;
}

.et_pb_blurb_content {
    display: flex;
    flex-direction: column;
}

.et_pb_blurb_position_left .et_pb_blurb_content {
    display: flex;
    flex-direction: row;
    gap: 16px;
    align-items: flex-start;
}

.et_pb_blurb_position_left .et_pb_main_blurb_image {
    flex-shrink: 0;
    margin-bottom: 0;
}

.et_pb_text_align_center .et_pb_blurb_content {
    align-items: center;
    text-align: center;
}

/* Blurb Images & Icons Alignment */
.et_pb_main_blurb_image {
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 20px auto;
}

.et_pb_main_blurb_image .et_pb_image_wrap {
    width: 64px !important;
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.et_pb_main_blurb_image .et-pb-icon {
    font-size: 48px !important;
    line-height: 1 !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #d91f27 !important;
}

.et_pb_main_blurb_image img {
    max-width: 64px;
    height: auto;
    display: inline-block;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Header Baseline Alignment (All 4 Blurb Titles Start on Exact Same Baseline) */
.et_pb_blurb_container {
    width: 100%;
}

.et_pb_blurb_container h4.et_pb_module_header {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
    margin: 0 0 16px 0 !important;
    color: var(--color-heading);
    height: 54px;
    min-height: 54px;
    display: block;
    text-align: center;
}

/* Specific Home Section Typography, Dividers & Images (1:1 with beacontower.io) */
.home-sec-utility .et_pb_text_8 h2,
.home-sec-utility h2 {
    font-size: 30px !important;
    text-align: center !important;
    margin-bottom: 32px !important;
}

.et_pb_divider {
    border-bottom: 1px solid var(--color-border);
    margin: 25px 0;
}

.et_pb_divider_0,
.et_pb_divider_1,
.et_pb_divider_2,
.et_pb_divider_3 {
    max-width: 100px !important;
    width: 100px !important;
    height: 3px !important;
    border-top: 3px solid #d91f27 !important;
    border-bottom: none !important;
    margin-top: 0 !important;
    margin-bottom: 20px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.home-content .et_pb_divider_1 {
    margin-left: 0 !important;
    margin-right: auto !important;
}

.home-sec-cases .et_pb_text_9 h2,
.home-sec-cases h2 {
    font-weight: 700 !important;
    font-size: 45px !important;
    color: #333333 !important;
    text-align: center !important;
    margin-bottom: 10px !important;
}

.home-sec-cases .et_pb_text_10 {
    max-width: 710px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-bottom: 50px !important;
    text-align: center !important;
}

.home-sec-cases .et_pb_image_0 .et_pb_image_wrap,
.home-sec-cases .et_pb_image_1 .et_pb_image_wrap,
.home-sec-cases .et_pb_image_2 .et_pb_image_wrap {
    border-radius: 0 !important;
}

.home-sec-cases .et_pb_image_0 .et_pb_image_wrap img,
.home-sec-cases .et_pb_image_1 .et_pb_image_wrap img,
.home-sec-cases .et_pb_image_2 .et_pb_image_wrap img {
    height: 212px !important;
    width: 100% !important;
    object-fit: cover !important;
    border-radius: 0 !important;
}

.home-sec-industrial .et_pb_text_11 h3,
.home-sec-industrial h3 {
    font-weight: 700 !important;
    font-size: 30px !important;
    color: #333333 !important;
}

.home-sec-industrial .et_pb_image_3 .et_pb_image_wrap,
.home-sec-industrial .et_pb_image_3 img {
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Specific Home Utility Blurb Precision Alignment */
.home-sec-utility .et_pb_row_7,
.home-sec-utility .et_pb_row_6,
.home-sec-utility .et_pb_row_5 {
    display: flex !important;
    align-items: flex-start !important;
}

.home-sec-utility .et_pb_column {
    display: flex !important;
    flex-direction: column !important;
}

.home-sec-utility .et_pb_blurb {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    margin-bottom: 0 !important;
}

.home-sec-utility .et_pb_blurb_content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
}

.home-sec-utility .et_pb_main_blurb_image {
    width: 64px !important;
    height: 64px !important;
    min-height: 64px !important;
    max-height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 auto 20px auto !important;
    padding: 0 !important;
}

.home-sec-utility .et_pb_main_blurb_image .et_pb_image_wrap {
    width: 64px !important;
    height: 64px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.home-sec-utility .et_pb_main_blurb_image .et-pb-icon {
    font-family: 'ETmodules' !important;
    font-size: 48px !important;
    line-height: 1 !important;
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #d91f27 !important;
}

.home-sec-utility .et_pb_blurb_container h4.et_pb_module_header {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    margin: 0 0 16px 0 !important;
    padding: 0 !important;
    font-size: 20px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: center !important;
    color: #333333 !important;
    display: block !important;
}

.home-sec-utility .et_pb_blurb_description p {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #666666 !important;
    margin: 0 !important;
    text-align: center !important;
}

.et_pb_divider {
    border-bottom: 1px solid var(--color-border);
    margin: 25px 0;
}

/* ==========================================================================
   Accordions & Fold-Out Toggles
   ========================================================================== */

.et_pb_toggle {
    border: 1px solid var(--color-border);
    border-radius: 6px;
    margin-bottom: 15px;
    background: #ffffff;
    overflow: hidden;
}

.et_pb_toggle_title {
    padding: 16px 20px;
    font-size: 1.15rem;
    font-weight: 700;
    color: var(--color-heading);
    cursor: pointer;
    margin: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fafbfc;
    transition: background-color 0.2s ease;
}

.et_pb_toggle_title:hover {
    background-color: #f1f5f9;
}

.et_pb_toggle_title::after {
    content: "+";
    font-size: 22px;
    color: var(--color-primary);
    font-weight: 700;
}

.et_pb_toggle_open .et_pb_toggle_title::after {
    content: "-";
}

.et_pb_toggle_content {
    padding: 20px;
    border-top: 1px solid var(--color-border);
    display: none;
    line-height: 1.7;
}

.et_pb_toggle_open .et_pb_toggle_content {
    display: block;
}

/* ==========================================================================
   Modals & Popups
   ========================================================================== */

.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.65);
    z-index: 99999;
    display: none;
    justify-content: center;
    align-items: center;
    padding: 20px;
    backdrop-filter: blur(2px);
}

.modal-overlay.active {
    display: flex;
}

.modal-container {
    background: var(--color-bg-white);
    max-width: 620px;
    width: 100%;
    border-radius: 8px;
    box-shadow: 0 15px 40px rgba(0,0,0,0.25);
    position: relative;
    padding: 35px;
    max-height: 90vh;
    overflow-y: auto;
    animation: modalFadeIn 0.3s ease;
}

@keyframes modalFadeIn {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

.modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: var(--color-primary);
    color: #ffffff;
    border: none;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    cursor: pointer;
    font-size: 18px;
    line-height: 32px;
    text-align: center;
    transition: background-color var(--transition-fast);
}

.modal-close:hover {
    background: var(--color-primary-hover);
}

.modal-header {
    text-align: center;
    margin-bottom: 24px;
}

.modal-header h2 {
    font-size: 26px;
    margin-bottom: 6px;
}

.modal-header p {
    color: var(--color-nav);
    font-size: 16px;
}

/* Form Styles */
.secure-form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.form-group label {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-heading);
}

.form-group label em {
    color: var(--color-primary);
    font-style: normal;
}

.form-control {
    width: 100%;
    height: 44px;
    padding: 10px 14px;
    font-family: var(--font-body);
    font-size: 16px;
    color: var(--color-text-dark);
    border: 1px solid var(--color-border-dark);
    border-radius: 5px;
    transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

textarea.form-control {
    height: auto;
    min-height: 100px;
    resize: vertical;
}

.form-control:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(217, 31, 39, 0.15);
}

.form-hp-field {
    display: none !important;
    opacity: 0;
    position: absolute;
    left: -9999px;
    width: 0;
    height: 0;
}

.form-feedback {
    display: none;
    padding: 12px;
    border-radius: 5px;
    font-size: 15px;
    margin-top: 10px;
}

.form-feedback.success {
    display: block;
    background-color: #d1fae5;
    color: #065f46;
    border: 1px solid #a7f3d0;
}

.form-feedback.error {
    display: block;
    background-color: #fee2e2;
    color: #991b1b;
    border: 1px solid #fecaca;
}

/* ==========================================================================
   Footer
   ========================================================================== */

#main-footer {
    background-color: #ffffff !important;
    background-image: url(/static/img/bg-white.png) !important;
    background-repeat: repeat !important;
    border-top: 1px solid #e0e0e0 !important;
    padding: 60px 0 20px 0;
    margin-top: 0 !important;
}

.footer-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1.3fr;
    gap: 40px;
    margin-bottom: 40px;
}

.footer-col h4 {
    font-size: 20px;
    margin-bottom: 18px;
    color: var(--color-heading);
}

.footer-logo {
    margin-bottom: 20px;
    max-width: 200px;
}

.footer-links {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 0;
}

.footer-links a {
    color: var(--color-primary);
    font-size: 16px;
}

.footer-links a:hover {
    color: var(--color-primary-hover);
    text-decoration: underline;
}

.footer-contacts {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.contact-row {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.contact-icon {
    width: 40px;
    height: 40px;
    background-color: var(--color-primary);
    color: #ffffff;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.contact-icon svg {
    width: 20px;
    height: 20px;
    fill: currentColor;
}

.contact-info strong {
    display: block;
    color: var(--color-heading);
    font-size: 15px;
}

.contact-info span, .contact-info a {
    color: var(--color-body);
    font-size: 15px;
}

.contact-info a:hover {
    color: var(--color-primary);
}

#footer-bottom {
    border-top: 1px solid var(--color-border);
    padding-top: 20px;
    text-align: center;
    font-size: 14px;
    color: var(--color-nav);
}

@media (max-width: 980px) {
    h1 { font-size: 2.1rem; }
    h2 { font-size: 1.7rem; }
    
    .mobile-nav-toggle {
        display: block;
    }
    
    nav#top-menu-nav {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        background: var(--color-bg-white);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1);
        padding: 20px;
    }
    
    nav#top-menu-nav.active {
        display: block;
    }
    
    ul#top-menu {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    
    ul.sub-menu {
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        padding-left: 15px;
    }
    
    .footer-grid {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Case Detail Pages Typography & Design System
   Matches 1:1 with site-wide typography (Source Sans Pro & Lato)
   All headings: #333333 (never white)
   All body text: #555555 / #666666 (never white)
   ========================================================================== */

.case-detail-content {
    width: 100%;
    background-color: #ffffff !important;
    color: #555555;
    font-family: var(--font-body);
}

.case-detail-content .et_pb_section {
    padding: 35px 0 !important;
    background-color: #ffffff !important;
}

.case-detail-content .et_pb_section_4 {
    padding: 50px 0 25px 0 !important;
    background-color: #ffffff !important;
}

.case-detail-content .et_pb_section_5 {
    padding: 25px 0 !important;
    background-color: #ffffff !important;
}

.case-detail-content .et_pb_section_6 {
    padding: 25px 0 60px 0 !important;
    background-color: #ffffff !important;
}

.case-detail-content .et_pb_row {
    width: 90% !important;
    max-width: 1160px !important;
    margin: 0 auto 30px auto !important;
}

/* Universal heading pattern across all cases */
.case-detail-content h1,
.case-detail-content h2,
.case-detail-content h3,
.case-detail-content h4,
.case-detail-content h5,
.case-detail-content h6,
.case-detail-content h1 *,
.case-detail-content h2 *,
.case-detail-content h3 *,
.case-detail-content h4 *,
.case-detail-content h5 *,
.case-detail-content h6 * {
    font-family: var(--font-heading) !important;
    color: var(--color-heading) !important;
    line-height: 1.3 !important;
    font-weight: 700 !important;
    text-shadow: none !important;
}

/* Case Hero title */
.case-detail-content .et_pb_text_8 h1 {
    font-size: 44px !important;
    font-weight: 700 !important;
    color: var(--color-heading) !important;
    margin-bottom: 12px !important;
    text-align: center !important;
}

/* Eyebrow sub-labels (e.g. "Case", "Mål", "Goal") */
.case-detail-content .et_pb_text_7 h4,
.case-detail-content .et_pb_text_10 h4 {
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--color-heading) !important;
    margin-bottom: 8px !important;
}

/* Red accent divider below case title */
.case-detail-content .et_pb_divider_0 {
    width: 50px !important;
    height: 3px !important;
    background-color: var(--color-primary) !important;
    border: none !important;
    margin: 15px auto 20px auto !important;
}

.case-detail-content .et_pb_divider_0 .et_pb_divider_internal {
    display: none !important;
}

/* Spacing dividers without borders */
.case-detail-content .et_pb_divider.et_pb_space,
.case-detail-content .et_pb_divider.et_pb_space .et_pb_divider_internal {
    border: none !important;
    border-bottom: none !important;
    height: 0 !important;
    margin: 10px 0 !important;
}

/* Hero subtitle paragraph */
.case-detail-content .et_pb_text_9 p {
    font-size: 19px !important;
    color: #777777 !important;
    text-align: center !important;
    max-width: 800px !important;
    margin: 0 auto !important;
}

/* Section 5 Goal / Headline */
.case-detail-content .et_pb_text_11 h1,
.case-detail-content .et_pb_text_11 h2,
.case-detail-content .et_pb_section_5 .et_pb_text_11 h1,
.case-detail-content .et_pb_section_5 .et_pb_text_11 h2 {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--color-heading) !important;
    line-height: 1.25 !important;
    margin-bottom: 24px !important;
    text-align: left !important;
}

/* Section 5 & 6 Subheads */
.case-detail-content h3 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--color-heading) !important;
    margin-top: 32px !important;
    margin-bottom: 14px !important;
    line-height: 1.35 !important;
}

.case-detail-content h5 {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--color-heading) !important;
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    line-height: 1.4 !important;
}

/* All body paragraphs, lists, and spans */
.case-detail-content p,
.case-detail-content li,
.case-detail-content div.et_pb_text_inner,
.case-detail-content .et_pb_text p,
.case-detail-content .et_pb_text li {
    font-family: var(--font-body) !important;
    font-size: 17px !important;
    line-height: 1.65 !important;
    color: #555555 !important;
}

/* Spans inside paragraphs or lists inherit dark readable color */
.case-detail-content p span,
.case-detail-content li span,
.case-detail-content div.et_pb_text_inner span {
    color: inherit !important;
}

/* Strong / bold text in body stands out in dark heading color */
.case-detail-content strong,
.case-detail-content strong *,
.case-detail-content b,
.case-detail-content b * {
    color: var(--color-heading) !important;
    font-weight: 700 !important;
}

/* Lead labels formatted as paragraph strongs */
.case-detail-content p strong:only-child,
.case-detail-content p > strong:first-child {
    font-size: 18px;
    display: inline-block;
    margin-bottom: 4px;
}

/* Unordered & ordered lists spacing */
.case-detail-content ul,
.case-detail-content ol {
    margin: 14px 0 24px 24px !important;
    padding-left: 10px !important;
}

.case-detail-content li {
    margin-bottom: 10px !important;
    color: #555555 !important;
}

/* Links inside case content */
.case-detail-content a {
    color: var(--color-primary) !important;
    text-decoration: none !important;
    transition: color var(--transition-fast);
}

.case-detail-content a:hover {
    color: var(--color-primary-hover) !important;
    text-decoration: underline !important;
}

/* Testimonial & Quote boxes in case studies and blog posts */
.case-detail-content .et_pb_testimonial,
.article-page .et_pb_testimonial,
.article-body .et_pb_testimonial,
.article-body blockquote,
.et_pb_testimonial {
    background-color: #f8f9fa !important;
    border: 1px solid var(--color-border) !important;
    border-left: 4px solid var(--color-primary) !important;
    border-radius: 8px !important;
    padding: 25px 30px !important;
    margin: 25px 0 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

.case-detail-content .et_pb_testimonial_content p,
.article-page .et_pb_testimonial_content p,
.article-body .et_pb_testimonial_content p,
.article-body blockquote p,
.et_pb_testimonial_content p {
    color: #444444 !important;
    font-style: italic !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    margin-bottom: 12px !important;
}

.case-detail-content .et_pb_testimonial_content p:last-child,
.article-page .et_pb_testimonial_content p:last-child,
.article-body .et_pb_testimonial_content p:last-child,
.article-body blockquote p:last-child,
.et_pb_testimonial_content p:last-child {
    margin-bottom: 0 !important;
}

.case-detail-content .et_pb_testimonial_author,
.article-page .et_pb_testimonial_author,
.article-body .et_pb_testimonial_author,
.et_pb_testimonial_author {
    color: var(--color-heading) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    display: block !important;
    margin-top: 10px !important;
}

@media (max-width: 980px) {
    .case-detail-content .et_pb_text_8 h1 {
        font-size: 32px !important;
    }
    .case-detail-content .et_pb_text_11 h1,
    .case-detail-content .et_pb_text_11 h2 {
        font-size: 26px !important;
    }
    .case-detail-content h3 {
        font-size: 20px !important;
    }
}



/* ==========================================================================
   Industries & Solutions Hub Page (1:1 with Original Divi)
   ========================================================================== */

/* Section 2: 4 Industry Feature Cards (.img_btn_row) */
.img_btn_row {
    margin-top: 40px !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.img_btn_row .cmn_img_btn_columng {
    text-align: center;
    transition: transform 0.3s ease-in, box-shadow 0.3s ease-in;
    padding: 15px !important;
    border-radius: 6px;
    cursor: pointer;
}

.img_btn_row .cmn_img_btn_columng:hover {
    transform: scale(1.08);
    box-shadow: 0px 2px 18px 0px rgba(217, 31, 39, 0.2);
}

.img_btn_row .cmn_img_btn_columng .et_pb_image {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 120px;
    margin-bottom: 12px;
}

.img_btn_row .cmn_img_btn_columng .et_pb_image_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
}

.img_btn_row .cmn_img_btn_columng .et_pb_image_wrap img {
    height: auto !important;
    max-height: 110px !important;
    width: auto !important;
    max-width: 100% !important;
    object-fit: contain;
    margin: 0 auto !important;
    display: block !important;
}

/* Original Divi width constraints for 4 icons */
.img_btn_row .cmn_img_btn_columng .et_pb_image_1 {
    width: 59% !important;
    margin: 0 auto !important;
}

.img_btn_row .cmn_img_btn_columng .et_pb_image_2 {
    width: 84% !important;
    margin: 0 auto !important;
}

.img_btn_row .cmn_img_btn_columng .et_pb_image_3 {
    width: 42% !important;
    margin: 0 auto !important;
}

.img_btn_row .cmn_img_btn_columng .et_pb_image_4 {
    width: 42% !important;
    margin: 0 auto !important;
}

/* Industry Card Text & Hover Underline */
.img_btn_row .cmn_img_btn_columng .et_pb_text {
    margin-top: 10px;
}

.img_btn_row .cmn_img_btn_columng .et_pb_text_inner p {
    margin: 0;
    line-height: 1.3;
}

.img_btn_row .cmn_img_btn_columng .et_pb_text_inner a {
    text-decoration: none;
    color: #333333;
    display: inline-block;
    transition: color 0.2s ease;
}

.img_btn_row .cmn_img_btn_columng .et_pb_text_inner a span,
.img_btn_row .cmn_img_btn_columng .et_pb_text_inner p span {
    color: #333333;
    font-size: 22px !important;
    font-weight: 700 !important;
}

.img_btn_row .cmn_img_btn_columng:hover .et_pb_text_inner p,
.img_btn_row .cmn_img_btn_columng:hover .et_pb_text_inner a {
    border-bottom: 1px solid #d91f27;
}

.img_btn_row .cmn_img_btn_columng:hover .et_pb_text_inner p span,
.img_btn_row .cmn_img_btn_columng:hover .et_pb_text_inner a span {
    color: #d91f27 !important;
}

/* Section 3: Whitepaper Download Section */
.et_pb_section.industries-whitepaper-section,
.sections-content .et_pb_section_10 {
    background-color: #f4f4f4 !important;
    padding-top: 70px !important;
    padding-bottom: 70px !important;
}

.industries-whitepaper-section .et_pb_row_7 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
}

.industries-whitepaper-section .et_pb_divider_1 {
    width: 50px !important;
    height: 3px !important;
    max-width: 50px !important;
    margin: 0 0 20px 0 !important;
    background-color: #d91f27 !important;
    border: none !important;
}

.industries-whitepaper-section h2 span,
.industries-whitepaper-section h2 strong {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    line-height: 1.25 !important;
}

.industries-whitepaper-section p span {
    font-size: 15px !important;
    color: #666666 !important;
    line-height: 1.6 !important;
}

/* Whitepaper Form */
.popup_contact_jn.update_fomr_solution {
    margin-top: 20px;
}

.popup_contact_jn.update_fomr_solution .container {
    padding: 0 !important;
    margin-bottom: 15px;
}

.popup_contact_jn.update_fomr_solution label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #333333 !important;
    margin-bottom: 6px;
}

.popup_contact_jn.update_fomr_solution label em {
    color: #d91f27 !important;
    font-style: normal;
    margin-left: 2px;
}

.popup_contact_jn.update_fomr_solution input[type="text"],
.popup_contact_jn.update_fomr_solution input[type="email"] {
    width: 100%;
    padding: 12px 14px;
    font-size: 15px;
    border: 1px solid #dcdcdc;
    border-radius: 4px;
    background: #ffffff;
    color: #333333;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.popup_contact_jn.update_fomr_solution input[type="text"]:focus,
.popup_contact_jn.update_fomr_solution input[type="email"]:focus {
    border-color: #d91f27;
    box-shadow: 0 0 0 2px rgba(217, 31, 39, 0.15);
    outline: none;
}

.popup_contact_jn.update_fomr_solution input.wpcf7-submit {
    background-color: #d91f27 !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 30px !important;
    width: 250px !important;
    max-width: 100%;
    padding: 12px 24px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin: 25px auto 0 auto !important;
    display: block !important;
    cursor: pointer;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.popup_contact_jn.update_fomr_solution input.wpcf7-submit:hover {
    opacity: 0.85;
}

/* Whitepaper Right Column Image */
.industries-whitepaper-section .et_pb_column_12,
.industries-whitepaper-section .et_pb_column_11.et-last-child {
    display: flex;
    align-items: center;
    justify-content: center;
}

.industries-whitepaper-section .et_pb_image_5 .et_pb_image_wrap,
.industries-whitepaper-section .et_pb_image_4 .et_pb_image_wrap {
    display: block;
    width: 100%;
}

.industries-whitepaper-section .et_pb_image_5 .et_pb_image_wrap img,
.industries-whitepaper-section .et_pb_image_4 .et_pb_image_wrap img {
    width: 100% !important;
    height: auto !important;
    display: block;
    border-radius: 4px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

@media (max-width: 980px) {
    .img_btn_row .cmn_img_btn_columng {
        width: calc(50% - 15px) !important;
        flex: 0 0 calc(50% - 15px) !important;
        margin-bottom: 25px;
    }
    .industries-whitepaper-section .et_pb_column_12,
    .industries-whitepaper-section .et_pb_column_11.et-last-child {
        margin-top: 30px;
    }
}

@media (max-width: 600px) {
    .img_btn_row .cmn_img_btn_columng {
        width: 100% !important;
        flex: 0 0 100% !important;
    }
}


/* ==========================================================================
   Solutions Page (IoT Solution / Platform Flavour Hub)
   ========================================================================== */

/* Hero Section (Section 0) */
.page-solution .et_pb_section_8.et_pb_section,
.page-solution .et_pb_section_4.et_pb_section {
    background-color: #f4f4f4 !important;
    margin-top: 0px !important;
    margin-bottom: -20px !important;
    padding-top: 73px !important;
    padding-bottom: 60px !important;
}

.page-solution .et_pb_section_8 .et_pb_row_4 {
    align-items: center !important;
    margin-top: 100px !important;
    margin-bottom: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.page-solution .et_pb_section_4 .et_pb_row_4 {
    align-items: center !important;
    margin-top: 100px !important;
    margin-bottom: 0px !important;
    padding-top: 30px !important;
    padding-bottom: 0px !important;
}

.page-solution .et_pb_section_8 .et_pb_row_4 h1,
.page-solution .et_pb_section_4 .et_pb_row_4 h1 {
    font-size: 40px !important;
    line-height: 52px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 10px !important;
}

.page-solution .et_pb_section_8 .et_pb_column_4,
.page-solution .et_pb_section_4 .et_pb_column_4 {
    align-self: center !important;
}

.page-solution .et_pb_section_8 .et_pb_image_0,
.page-solution .et_pb_section_4 .et_pb_image_0 {
    text-align: right;
}

.page-solution .et_pb_section_8 .et_pb_image_0 img,
.page-solution .et_pb_section_4 .et_pb_image_0 img {
    max-width: 100%;
    height: auto;
    object-fit: contain;
}

.page-solution .et_pb_section_8 .et_pb_text,
.page-solution .et_pb_section_4 .et_pb_text {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
}

.page-solution .et_pb_section_8 .et_pb_row_5,
.page-solution .et_pb_section_4 .et_pb_row_5 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 30px !important;
}

/* Solutions Page: SaaS and iPaaS Option Cards (Section 1) */
.page-solution .et_pb_section_9.et_pb_section,
.page-solution .et_pb_section_5.et_pb_section {
    background-color: #ffffff !important;
    padding-top: 3px !important;
    padding-bottom: 0px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.page-solution .img_btn_row.img_btn_update {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding-top: 30px !important;
    padding-bottom: 0px !important;
    padding-left: 0px !important;
    padding-right: 0px !important;
    display: flex !important;
    justify-content: center !important;
    gap: 40px !important;
}

.page-solution .img_btn_update .cmn_img_btn_columng {
    max-width: 360px !important;
    flex: 0 0 360px !important;
    text-align: center !important;
    padding: 15px !important;
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.page-solution .img_btn_update .cmn_img_btn_columng:hover {
    transform: scale(1.06);
    box-shadow: 0px 4px 20px 0px rgba(217, 31, 39, 0.15);
}

.page-solution .img_btn_update .sp_ic {
    min-height: auto !important;
    margin-bottom: 31.25px !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.page-solution .img_btn_update .sp_ic a {
    display: inline-block;
}

.page-solution .img_btn_update .sp_ic img {
    width: 80.55px !important;
    height: 80.55px !important;
    max-width: 80.55px !important;
    max-height: 80.55px !important;
    object-fit: contain !important;
    margin: 0 auto !important;
    display: block !important;
}

.page-solution .img_btn_update .et_pb_text {
    margin-top: 0 !important;
    margin-bottom: 25px !important;
}

.page-solution .img_btn_update .cmn_img_btn_columng .et_pb_text_inner p span strong span,
.page-solution .img_btn_update .cmn_img_btn_columng .et_pb_text_inner p a strong span {
    font-size: 26px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    transition: color 0.2s ease;
}

.page-solution .img_btn_update .cmn_img_btn_columng:hover .et_pb_text_inner p span strong span,
.page-solution .img_btn_update .cmn_img_btn_columng:hover .et_pb_text_inner p a strong span {
    color: #d91f27 !important;
}

.page-solution .img_btn_update .cmn_img_btn_columng:hover .et_pb_text_inner p {
    border-bottom: 2px solid #d91f27;
    display: inline-block;
}

/* Solutions Page: 12 Business Features Accordions (Section 2) */
.page-solution .business_features_accordion_section {
    background-color: #ffffff !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.page-solution .business_accordion_cmn_row_update {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    margin-top: 0px !important;
    margin-bottom: 25px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    gap: 66px !important;
}

.page-solution .business_accordion_cmn_row_update .et_pb_column_1_3 {
    flex: 0 0 calc((100% - 132px) / 3) !important;
    max-width: calc((100% - 132px) / 3) !important;
    position: relative !important;
    min-height: 48px !important;
    margin-bottom: 0 !important;
}

/* Blurb Icon on the Left */
.page-solution .business_accordion_cmn_row_update .et_pb_blurb {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.page-solution .business_accordion_cmn_row_update .et_pb_blurb .et_pb_main_blurb_image {
    margin-bottom: 0 !important;
    text-align: left;
    display: flex;
    align-items: center;
}

.page-solution .business_accordion_cmn_row_update .et_pb_blurb span.et_pb_image_wrap {
    display: block;
    width: auto !important;
}

.page-solution .business_accordion_cmn_row_update .et_pb_blurb img {
    height: 42px !important;
    width: auto !important;
    max-width: 65px !important;
    object-fit: contain !important;
    display: block !important;
}

/* Accordion Box pushed right by margin-left */
.page-solution .business_accordion_cmn_row_update .et_pb_accordion {
    margin-left: 65px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle {
    background-color: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e02b20 !important;
    border-radius: 0 !important;
    margin-bottom: 2px !important;
    overflow: visible !important;
    box-shadow: none !important;
    padding: 5px 20px 20px 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
}

.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title {
    background: transparent !important;
    font-size: 17px !important;
    line-height: 20.4px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    padding: 0 50px 0 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    position: relative !important;
    display: block !important;
    transition: color 0.2s ease !important;
}

.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title:hover {
    color: #e02b20 !important;
    background: transparent !important;
}

.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title {
    color: #e02b20 !important;
}

/* Plus/Minus Indicator */
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::before {
    display: none !important;
}

.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::after {
    content: "+" !important;
    font-size: 20px !important;
    color: #e02b20 !important;
    font-weight: 700 !important;
    position: absolute !important;
    right: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    line-height: 1 !important;
}

.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title::after {
    content: "-" !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Toggle Content (hidden by default) */
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_content {
    display: none;
    padding: 12px 5px 15px 0 !important;
    border-top: none !important;
    background: transparent !important;
    font-size: 15px;
    line-height: 1.6;
    color: #4a5568;
}

.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_content {
    display: block !important;
}

/* Bottom Challenge Section (Row 11 & 12) */
.page-solution .business_features_accordion_section .et_pb_row_11 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding-top: 30px !important;
    padding-bottom: 17px !important;
    text-align: center !important;
}

.page-solution .business_features_accordion_section .et_pb_row_11 .et_pb_text {
    margin-bottom: 0px !important;
    padding-bottom: 0px !important;
}

.page-solution .business_features_accordion_section .et_pb_row_11 h2 {
    font-size: 30px !important;
    line-height: 1.3em !important;
    font-weight: 700 !important;
    color: #333333 !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding-bottom: 10px !important;
    text-align: center !important;
}

.page-solution .business_features_accordion_section .et_pb_row_11 p {
    max-width: 820px !important;
    margin: 0 auto !important;
    padding-bottom: 18px !important;
    font-size: 16px !important;
    color: #808080 !important;
    text-align: center !important;
    line-height: 1.8 !important;
}

/* Row 12: Two comparison cards ALWAYS side-by-side on desktop */
.page-solution .business_features_accordion_section .et_pb_row_12 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    gap: 30px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    padding-top: 0px !important;
    padding-bottom: 30px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

.page-solution .business_features_accordion_section .et_pb_row_12 .et_pb_column_1_2 {
    width: calc(50% - 15px) !important;
    flex: 0 0 calc(50% - 15px) !important;
    max-width: calc(50% - 15px) !important;
    box-sizing: border-box !important;
}

.page-solution .business_features_accordion_section .et_pb_row_12 .et_pb_image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    margin-bottom: 15px !important;
}

.page-solution .business_features_accordion_section .et_pb_row_12 .et_pb_text p {
    font-size: 15px !important;
    color: #555555 !important;
    line-height: 1.5 !important;
}

/* Responsive adjustments */
@media (max-width: 980px) {
    .page-solution .business_accordion_cmn_row_update {
        gap: 20px !important;
    }
    .page-solution .business_accordion_cmn_row_update .et_pb_column_1_3 {
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }
}

@media (max-width: 768px) {
    .page-solution .business_features_accordion_section .et_pb_row_12 {
        flex-wrap: wrap !important;
    }
    .page-solution .business_features_accordion_section .et_pb_row_12 .et_pb_column_1_2 {
        width: 100% !important;
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 30px;
    }
}

/* ==========================================================================
   Platform Page (.page-platform) Specific 1:1 Styling
   ========================================================================== */

/* Hero Section */
.page-platform .et_pb_section_8.et_pb_section,
.page-platform .et_pb_section_4.et_pb_section {
    background-color: #f4f4f4 !important;
    padding-top: 56px !important;
    padding-bottom: 56px !important;
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.page-platform .et_pb_row_4 {
    margin-top: 100px !important;
    padding-top: 28px !important;
    padding-bottom: 28px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    max-width: 1120px !important;
}

.page-platform .et_pb_row_4 .et_pb_column_1_2 {
    flex: 0 0 calc((100% - 62px) / 2) !important;
    max-width: calc((100% - 62px) / 2) !important;
}

.page-platform .et_pb_row_4 h1 {
    font-size: 40px !important;
    line-height: 52px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    margin-bottom: 0px !important;
    padding: 0 !important;
}

.page-platform .et_pb_row_4 .et_pb_text p {
    font-size: 18px !important;
    line-height: 28.8px !important;
    color: #808080 !important;
    margin-top: 15px !important;
}

.page-platform .et_pb_row_4 .et_pb_text p a {
    color: #d91f27 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.page-platform .et_pb_row_4 .et_pb_text p a:hover {
    color: #d91f27 !important;
    text-decoration: underline !important;
}

.page-platform .et_pb_row_4 .et_pb_image img {
    border-radius: 0px !important;
    box-shadow: none !important;
    max-width: 100% !important;
    height: auto !important;
}

.page-platform .et_pb_row_4 .et_pb_image_wrap {
    border-radius: 0px !important;
    box-shadow: none !important;
}

/* Remove unwanted red divider bars from spacers */
.page-platform .et_pb_divider.et_pb_space,
.page-platform .et_pb_divider.et_pb_space .et_pb_divider_internal {
    border: none !important;
    border-top: none !important;
    border-bottom: none !important;
    height: 23px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Section Headings */
.page-platform .et_pb_row_5 h2,
.page-platform .et_pb_row_7 h2,
.page-platform .et_pb_row_11 h2,
.page-platform .et_pb_row_16 h2 {
    font-size: 26px !important;
    line-height: 33.8px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    text-align: center !important;
    margin-bottom: 25px !important;
}

.page-platform .et_pb_row_11 h2 {
    margin-top: 30px !important;
}

/* Functionalities and Capabilities (Platform, Solution, iPaaS, SaaS) */
.page-platform .business_accordion_cmn_row_update,
.page-solution .business_accordion_cmn_row_update,
.page-ipaas .business_accordion_cmn_row_update,
.page-saas .business_accordion_cmn_row_update {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    margin-top: 0px !important;
    margin-bottom: 25px !important;
    padding-top: 0px !important;
    padding-bottom: 0px !important;
    gap: 66px !important;
    max-width: 1120px !important;
}

.page-platform .business_accordion_cmn_row_update .et_pb_column_1_3,
.page-solution .business_accordion_cmn_row_update .et_pb_column_1_3,
.page-ipaas .business_accordion_cmn_row_update .et_pb_column_1_3,
.page-saas .business_accordion_cmn_row_update .et_pb_column_1_3 {
    flex: 0 0 calc((100% - 132px) / 3) !important;
    max-width: calc((100% - 132px) / 3) !important;
    position: relative !important;
    min-height: 48px !important;
    margin-bottom: 0 !important;
}

/* Blurb Icon on the Left */
.page-platform .business_accordion_cmn_row_update .et_pb_blurb,
.page-solution .business_accordion_cmn_row_update .et_pb_blurb,
.page-ipaas .business_accordion_cmn_row_update .et_pb_blurb,
.page-saas .business_accordion_cmn_row_update .et_pb_blurb {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    width: 50px !important;
    height: 50px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
}

.page-platform .business_accordion_cmn_row_update .et_pb_blurb .et_pb_main_blurb_image,
.page-solution .business_accordion_cmn_row_update .et_pb_blurb .et_pb_main_blurb_image,
.page-ipaas .business_accordion_cmn_row_update .et_pb_blurb .et_pb_main_blurb_image,
.page-saas .business_accordion_cmn_row_update .et_pb_blurb .et_pb_main_blurb_image {
    margin-bottom: 0 !important;
    text-align: left;
    display: flex;
    align-items: center;
}

.page-platform .business_accordion_cmn_row_update .et_pb_blurb span.et_pb_image_wrap,
.page-solution .business_accordion_cmn_row_update .et_pb_blurb span.et_pb_image_wrap,
.page-ipaas .business_accordion_cmn_row_update .et_pb_blurb span.et_pb_image_wrap,
.page-saas .business_accordion_cmn_row_update .et_pb_blurb span.et_pb_image_wrap {
    display: block;
    width: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.page-platform .business_accordion_cmn_row_update .et_pb_blurb img,
.page-solution .business_accordion_cmn_row_update .et_pb_blurb img,
.page-ipaas .business_accordion_cmn_row_update .et_pb_blurb img,
.page-saas .business_accordion_cmn_row_update .et_pb_blurb img {
    height: 42px !important;
    width: auto !important;
    max-width: 65px !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Accordion Box pushed right by margin-left */
.page-platform .business_accordion_cmn_row_update .et_pb_accordion,
.page-solution .business_accordion_cmn_row_update .et_pb_accordion,
.page-ipaas .business_accordion_cmn_row_update .et_pb_accordion,
.page-saas .business_accordion_cmn_row_update .et_pb_accordion {
    margin-left: 65px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}

.page-platform .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle,
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle,
.page-ipaas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle,
.page-saas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle,
.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle {
    background-color: transparent !important;
    border: none !important;
    border-bottom: 1px solid #e02b20 !important;
    border-radius: 0 !important;
    margin-bottom: 2px !important;
    overflow: visible !important;
    box-shadow: none !important;
    padding: 5px 20px 20px 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
}

.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle {
    padding: 20px 20px 20px 0 !important;
}

.page-platform .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title,
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title,
.page-ipaas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title,
.page-saas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title,
.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle_title {
    background: transparent !important;
    font-size: 17px !important;
    line-height: 20.4px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    padding: 0 40px 0 0 !important;
    margin: 0 !important;
    cursor: pointer !important;
    position: relative !important;
    display: block !important;
    transition: color 0.2s ease !important;
}

.page-platform .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title:hover,
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title:hover,
.page-ipaas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title:hover,
.page-saas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title:hover,
.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle_title:hover {
    color: #e02b20 !important;
    background: transparent !important;
}

.page-platform .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title,
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title,
.page-ipaas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title,
.page-saas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title,
.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title {
    color: #e02b20 !important;
}

/* Plus/Minus Indicator */
.page-platform .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::after,
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::after,
.page-ipaas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::after,
.page-saas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::after,
.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle_title::after {
    display: none !important;
}

.page-platform .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::before,
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::before,
.page-ipaas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::before,
.page-saas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_title::before,
.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle_title::before {
    content: "+" !important;
    font-family: inherit !important;
    font-size: 20px !important;
    color: #e02b20 !important;
    font-weight: 700 !important;
    position: absolute !important;
    right: -3px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    line-height: 1 !important;
}

.page-platform .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title::before,
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title::before,
.page-ipaas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title::before,
.page-saas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title::before,
.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle_open .et_pb_toggle_title::before {
    content: "-" !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

/* Toggle Content (hidden by default) */
.page-platform .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_content,
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_content,
.page-ipaas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_content,
.page-saas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_content,
.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle_content {
    display: none;
    padding: 12px 5px 15px 0 !important;
    border-top: none !important;
    background: transparent !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #4a5568 !important;
}

.page-platform .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_content,
.page-solution .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_content,
.page-ipaas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_content,
.page-saas .business_accordion_cmn_row_update .accordion_area_up .et_pb_toggle_open .et_pb_toggle_content,
.page-platform .et_pb_row_18 .accordion_area_up .et_pb_toggle_open .et_pb_toggle_content {
    display: block !important;
}

/* Section 3: Architectural Features */
.page-platform .et_pb_section_11.et_pb_section,
.page-platform .et_pb_section_6.et_pb_section {
    background-color: #f4f4f4 !important;
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

.page-platform .et_pb_row_16,
.page-platform .et_pb_row_17,
.page-platform .et_pb_row_18 {
    max-width: 1120px !important;
}

.page-platform .et_pb_row_16 .et_pb_image,
.page-platform .et_pb_row_17 .et_pb_image {
    text-align: center !important;
    margin: 0 auto 30px auto !important;
    max-width: 717px !important;
    width: 64% !important;
}

.page-platform .et_pb_row_16 .et_pb_image_wrap,
.page-platform .et_pb_row_17 .et_pb_image_wrap {
    display: block !important;
    width: 100% !important;
    margin: 0 auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    text-align: center !important;
}

.page-platform .et_pb_row_16 .et_pb_image img,
.page-platform .et_pb_row_17 .et_pb_image img {
    margin: 0 auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.page-platform .et_pb_row_17 .et_pb_text p {
    font-size: 18px !important;
    line-height: 28.8px !important;
    color: #808080 !important;
    font-weight: 500 !important;
    text-align: left !important;
    max-width: 1120px !important;
    width: 100% !important;
    margin: 30px 0 35px 0 !important;
}

.page-platform .et_pb_row_18 {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 62px !important;
}

.page-platform .et_pb_row_18 .et_pb_column_1_2 {
    flex: 0 0 calc((100% - 62px) / 2) !important;
    max-width: calc((100% - 62px) / 2) !important;
    align-self: flex-start !important;
}

/* Platform Carousel Styling */
.page-platform .dica_divi_carousel {
    max-width: 1120px !important;
    margin: 0 auto !important;
}

.page-platform .dica_divi_carousel .swiper-slide,
.page-platform .dica_divi_carousel .dica_divi_carouselitem,
.page-connected-products .dica_divi_carousel .swiper-slide,
.page-connected-products .dica_divi_carousel .dica_divi_carouselitem,
.page-energy-utilities .dica_divi_carousel .swiper-slide,
.page-energy-utilities .dica_divi_carousel .dica_divi_carouselitem,
.page-industry-4-0 .dica_divi_carousel .swiper-slide,
.page-industry-4-0 .dica_divi_carousel .dica_divi_carouselitem,
.page-medical-device .dica_divi_carousel .swiper-slide,
.page-medical-device .dica_divi_carousel .dica_divi_carouselitem {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

.page-platform .dica_divi_carousel .dica-item,
.page-connected-products .dica_divi_carousel .dica-item,
.page-energy-utilities .dica_divi_carousel .dica-item,
.page-industry-4-0 .dica_divi_carousel .dica-item,
.page-medical-device .dica_divi_carousel .dica-item {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.page-platform .dica_divi_carousel .dica-item-image,
.page-connected-products .dica_divi_carousel .dica-item-image,
.page-energy-utilities .dica_divi_carousel .dica-item-image,
.page-industry-4-0 .dica_divi_carousel .dica-item-image,
.page-medical-device .dica_divi_carousel .dica-item-image {
    border-radius: 4px !important;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12) !important;
    width: 100% !important;
    height: auto !important;
    display: block !important;
}

.page-platform .dica-container .swiper-button-prev,
.page-platform .dica-container .swiper-button-next {
    width: 35px !important;
    height: 35px !important;
    background-color: #d91f27 !important;
    background-image: none !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    z-index: 20 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.page-platform .dica-container .swiper-button-prev {
    left: 10px !important;
}

.page-platform .dica-container .swiper-button-next {
    right: 10px !important;
}

.page-platform .dica-container .swiper-button-prev::before,
.page-platform .dica-container .swiper-button-next::before {
    font-family: 'ETmodules' !important;
    font-size: 28px !important;
    line-height: 1 !important;
    color: #ffffff !important;
}

.page-platform .dica-container .swiper-button-prev::before {
    content: "4" !important;
}

.page-platform .dica-container .swiper-button-next::before {
    content: "5" !important;
}

.page-platform .dica-container .swiper-pagination-bullet {
    background-color: #d91f27 !important;
    width: 8px !important;
    height: 8px !important;
    opacity: 0.35 !important;
}

.page-platform .dica-container .swiper-pagination-bullet-active {
    opacity: 1 !important;
}

/* Responsive adjustments */
@media (max-width: 980px) {
    .page-platform .et_pb_row_4 {
        margin-top: 50px !important;
    }
    .page-platform .et_pb_row_4 .et_pb_column_1_2,
    .page-platform .et_pb_row_18 .et_pb_column_1_2 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        margin-bottom: 30px !important;
    }
    .page-platform .business_accordion_cmn_row_update,
    .page-solution .business_accordion_cmn_row_update,
    .page-ipaas .business_accordion_cmn_row_update,
    .page-saas .business_accordion_cmn_row_update {
        gap: 30px !important;
    }
    .page-platform .business_accordion_cmn_row_update .et_pb_column_1_3,
    .page-solution .business_accordion_cmn_row_update .et_pb_column_1_3,
    .page-ipaas .business_accordion_cmn_row_update .et_pb_column_1_3,
    .page-saas .business_accordion_cmn_row_update .et_pb_column_1_3 {
        flex: 0 0 100% !important;
        max-width: 100% !important;
    }
    .page-platform .et_pb_row_16 .et_pb_image,
    .page-platform .et_pb_row_17 .et_pb_image {
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* SaaS Page: Diagram alignright float layout (1:1 with beacontower.io) */
.page-saas img.alignright,
img.alignright {
    float: right !important;
    margin: 0 0 20px 30px !important;
    max-width: 55% !important;
    width: auto !important;
    height: auto !important;
    display: block !important;
}

@media (max-width: 980px) {
    .page-saas img.alignright,
    img.alignright {
        float: none !important;
        margin: 0 auto 30px auto !important;
        max-width: 100% !important;
    }
}

/* iPaaS Page: Architecture Diagram constrained width (1:1 with beacontower.io) */
.page-ipaas .et_pb_row_6 img,
.page-ipaas img[src*="iPaaS-large"] {
    max-width: 820px !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
}

/* ==========================================================================
   Insights Hub: Responsive Video Iframes & Blog Grid
   ========================================================================== */

/* Responsive Video Iframes in Insights */
.insights-content iframe,
.et_pb_code_inner iframe,
.et_pb_section iframe {
    width: 100% !important;
    max-width: 100% !important;
    aspect-ratio: 16 / 9 !important;
    height: auto !important;
    display: block !important;
    border-radius: 4px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
}

/* Top-align all rows in Insights Hub */
.insights-content .et_pb_row {
    align-items: flex-start !important;
}

/* Video Section Alignment */
.insights-content #video_section .et_pb_row {
    align-items: flex-start !important;
}

.insights-content #video_section .et_pb_column_1_3 {
    display: flex;
    flex-direction: column;
    margin-bottom: 25px;
}

.insights-content #video_section .et_pb_text {
    min-height: 44px;
    display: flex;
    align-items: flex-end;
    margin-bottom: 10px !important;
}

.insights-content #video_section .et_pb_text p {
    font-size: 15px;
    font-weight: 600;
    color: var(--color-heading, #222);
    margin: 0 !important;
    line-height: 1.35;
}

/* Insights Columns Section Alignment */
.insights-content #insight_section .et_pb_row {
    align-items: flex-start !important;
}

.insights-content #insight_section .et_pb_column_1_3 {
    align-self: flex-start !important;
}

.insights-content #insight_section h2 {
    margin-top: 0 !important;
    font-size: 26px;
    font-weight: 700;
    line-height: 1.3;
    margin-bottom: 15px !important;
    color: var(--color-heading, #222);
}

/* Blog Grid Module (dl-blog-module1) */
.dl-blog-module1 .et_pb_ajax_pagination_container {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    grid-gap: 35px 30px !important;
    margin-top: 25px;
}

.dl-blog-module1 article.et_pb_post {
    display: flex;
    flex-direction: column;
    padding-bottom: 25px;
    background: #ffffff;
    box-sizing: border-box;
    border-bottom: 1px solid #f0f0f0;
}

.dl-blog-module1 .entry-featured-image-url {
    display: block;
    margin-bottom: 18px;
    overflow: hidden;
    border-radius: 4px;
    aspect-ratio: 16 / 10;
    background-color: #f8f9fa;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.dl-blog-module1 .entry-featured-image-url img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block;
    transition: transform 0.3s ease;
}

.dl-blog-module1 article.et_pb_post:hover .entry-featured-image-url img {
    transform: scale(1.03);
}

.dl-blog-module1 .entry-title {
    font-size: 20px !important;
    line-height: 1.35 !important;
    margin: 0 0 12px 0 !important;
    font-weight: 700 !important;
}

.dl-blog-module1 .entry-title a {
    color: var(--color-heading, #222) !important;
    text-decoration: none !important;
    transition: color 0.2s ease;
}

.dl-blog-module1 .entry-title a:hover {
    color: var(--color-primary, #d91f27) !important;
}

.dl-blog-module1 .post-content {
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: var(--color-text, #4a5568) !important;
    margin-top: auto;
}

.dl-blog-module1 .post-content-inner p {
    margin: 0 !important;
    font-size: 15px !important;
    line-height: 1.6 !important;
    color: #555555 !important;
}

@media (max-width: 980px) {
    .dl-blog-module1 .et_pb_ajax_pagination_container {
        grid-template-columns: repeat(2, 1fr) !important;
        grid-gap: 25px !important;
    }
}

@media (max-width: 640px) {
    .dl-blog-module1 .et_pb_ajax_pagination_container {
        grid-template-columns: 1fr !important;
        grid-gap: 25px !important;
    }
}

/* ==========================================================================
   Get Started Page Styles (1:1 with Original)
   ========================================================================== */

/* Section 1: SaaS vs iPaaS Comparison */
.page-get-started .et_pb_section:first-child,
.page-get-started .et_pb_section_8,
.page-get-started .et_pb_section_4 {
    background-color: #F4F4F4 !important;
    padding: 60px 0 !important;
    margin-bottom: 0 !important;
}

.page-get-started .et_pb_row_4.et_pb_row {
    width: 56% !important;
    max-width: 1080px !important;
    margin: 60px auto 30px auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 40px !important;
}

.page-get-started .et_pb_row_4 .et_pb_column_1_2 {
    width: calc(50% - 20px) !important;
    flex: 0 0 calc(50% - 20px) !important;
}

.page-get-started .et_pb_row_4 h2 {
    font-size: 50px !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #333333 !important;
    margin: 0 0 25px 0 !important;
}

.page-get-started .et_pb_row_4 h2 a {
    color: #333333 !important;
    text-decoration: none !important;
    font-weight: 600 !important;
    font-size: 50px !important;
}

.page-get-started .et_pb_row_4 h2 a:hover {
    color: #d91f27 !important;
}

/* Custom Blurbs in SaaS vs iPaaS */
.page-get-started .custom_blurb_j {
    margin-bottom: 22px !important;
    text-align: left !important;
}

.page-get-started .custom_blurb_j .et_pb_blurb_content {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 15px !important;
}

.page-get-started .custom_blurb_j .et_pb_main_blurb_image {
    width: 32px !important;
    height: 32px !important;
    min-width: 32px !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
}

.page-get-started .custom_blurb_j .et_pb_main_blurb_image .et-pb-icon {
    font-size: 32px !important;
    width: 32px !important;
    height: 32px !important;
    line-height: 32px !important;
    color: #d91f27 !important;
    margin: 0 !important;
}

.page-get-started .custom_blurb_j .et_pb_blurb_container {
    padding: 0 !important;
    margin: 0 !important;
    flex: 1 !important;
    width: auto !important;
    text-align: left !important;
}

.page-get-started .custom_blurb_j h4.et_pb_module_header,
.page-get-started .custom_blurb_j .et_pb_module_header {
    font-size: 24px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    color: #333333 !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    text-align: left !important;
    display: block !important;
}

.page-get-started .custom_blurb_j .et_pb_module_header span {
    color: #333333 !important;
    text-align: left !important;
    display: inline !important;
}

/* Section 2: Steps and Schedule a Demo */
.page-get-started .et_pb_section:nth-child(2),
.page-get-started .et_pb_section_9,
.page-get-started .et_pb_section_5 {
    background-color: #ffffff !important;
    padding: 70px 0 80px 0 !important;
}

.page-get-started .et_pb_row_5.et_pb_row {
    width: 80% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between !important;
    align-items: flex-start !important;
    gap: 30px !important;
}

.page-get-started .et_pb_row_5 .et_pb_column_1_3 {
    width: calc(33.333% - 20px) !important;
    flex: 0 0 calc(33.333% - 20px) !important;
    text-align: center !important;
}

/* Step Numbers: 1. Sign up, 2. Build, 3. Scale */
.page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:first-child {
    margin-bottom: 12px !important;
    text-align: center !important;
}

.page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:first-child p,
.page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:first-child span {
    font-size: 75px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    color: #333333 !important;
    text-align: center !important;
    margin: 0 !important;
    display: block !important;
}

/* Step Descriptions */
.page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:not(:first-child) {
    margin-bottom: 8px !important;
    text-align: center !important;
}

.page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:not(:first-child) p,
.page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:not(:first-child) span {
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #808080 !important;
    text-align: center !important;
    margin: 0 !important;
}

.page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:not(:first-child) a {
    color: #d91f27 !important;
    text-decoration: underline !important;
}

.page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:not(:first-child) a:hover {
    color: #b7181f !important;
}

/* Button Row */
.page-get-started .et_pb_row_6.et_pb_row {
    width: 100% !important;
    margin: 60px auto 0 auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
}

.page-get-started .et_pb_row_6 .et_pb_column {
    width: 100% !important;
    flex: 0 0 100% !important;
    display: flex !important;
    justify-content: center !important;
    text-align: center !important;
}

.page-get-started .et_pb_button_0_wrapper {
    display: flex !important;
    justify-content: center !important;
    width: 100% !important;
    text-align: center !important;
}

.page-get-started .et_pb_button_0 {
    font-size: 20px !important;
    font-weight: 500 !important;
    line-height: 34px !important;
    color: #ffffff !important;
    background-color: #d91f27 !important;
    padding: 6px 20px !important;
    border: none !important;
    border-radius: 4px !important;
    display: inline-block !important;
    transform: matrix(1.76, 0, 0, 1.76, 0, 0) !important;
    transform-origin: center center !important;
    margin: 25px 0 !important;
    cursor: pointer !important;
    text-decoration: none !important;
    transition: all 300ms ease !important;
}

.page-get-started .et_pb_button_0:hover {
    background-color: #b7181f !important;
    color: #ffffff !important;
}

/* Responsive adjustments for mobile and tablets */
@media (max-width: 980px) {
    .page-get-started .et_pb_row_4.et_pb_row {
        width: 90% !important;
        flex-direction: column !important;
        gap: 30px !important;
    }

    .page-get-started .et_pb_row_4 .et_pb_column_1_2 {
        width: 100% !important;
        flex: 0 0 100% !important;
    }

    .page-get-started .et_pb_row_5.et_pb_row {
        width: 90% !important;
        flex-direction: column !important;
        gap: 40px !important;
    }

    .page-get-started .et_pb_row_5 .et_pb_column_1_3 {
        width: 100% !important;
        flex: 0 0 100% !important;
    }

    .page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:first-child p,
    .page-get-started .et_pb_row_5 .et_pb_column_1_3 > .et_pb_text:first-child span {
        font-size: 50px !important;
    }

    .page-get-started .et_pb_button_0 {
        transform: scale(1.2) !important;
    }
}

/* ==========================================================================
   Industry Pages Styles (1:1 with Original)
   ========================================================================== */

/* 1. Hub Page: 4 Industry Cards Alignment */
.page-industries-hub .img_btn_row.et_pb_row {
    align-items: flex-start !important;
}

.page-industries-hub .img_btn_row .et_pb_column {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
}

.page-industries-hub .img_btn_row .et_pb_image {
    min-height: 95px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-bottom: 10px !important;
}

.page-industries-hub .img_btn_row .et_pb_image img {
    max-height: 92px !important;
    width: auto !important;
    object-fit: contain !important;
}

.page-industries-hub .img_btn_row .et_pb_text {
    text-align: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.page-industries-hub .img_btn_row .et_pb_text p,
.page-industries-hub .img_btn_row .et_pb_text h4,
.page-industries-hub .img_btn_row .et_pb_text a {
    font-size: 18px !important;
    font-weight: 600 !important;
    color: #333333 !important;
    text-align: center !important;
}

/* 2. Subpages Section 1: Features Inner Box / 3 White Cards */
.features_inner_box {
    background-color: #f4f4f4 !important;
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.features_inner_box .features_header h1 {
    font-size: 40px !important;
    font-weight: 700 !important;
    color: #333333 !important;
    text-align: center !important;
    margin-bottom: 30px !important;
}

.features_inner_box .update_row_for_3box.et_pb_row {
    width: 90% !important;
    max-width: 1200px !important;
    margin: 0 auto !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: stretch !important;
    gap: 30px !important;
}

.features_inner_box .update_row_for_3box .et_pb_column_1_3 {
    width: calc(33.333% - 20px) !important;
    flex: 1 1 calc(33.333% - 20px) !important;
    display: flex !important;
    flex-direction: column !important;
}

.features_inner_box .update_row_for_3box .fetures_body {
    background-color: #ffffff !important;
    border-radius: 10px !important;
    border: 1px solid #ffffff !important;
    padding: 30px 25px 25px 25px !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

.features_inner_box .update_row_for_3box .fetures_body .et_pb_text_inner {
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    text-align: center;
    max-width: 100% !important;
    padding: 0 !important;
    border: none !important;
}

.features_inner_box .update_row_for_3box .fetures_body.et_pb_text_align_left .et_pb_text_inner,
.page-medical-device .features_inner_box .update_row_for_3box .fetures_body .et_pb_text_inner {
    text-align: left !important;
}

.features_inner_box .update_row_for_3box .fetures_body h2 {
    font-size: 24px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #333333 !important;
    margin: 0 0 15px 0 !important;
    padding: 0 0 10px 0 !important;
    text-align: center !important;
}

.features_inner_box .update_row_for_3box .fetures_body h2 span {
    color: #333333 !important;
}

.features_inner_box .update_row_for_3box .fetures_body p {
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #808080 !important;
    margin: 0 !important;
    text-align: center;
}

.features_inner_box .update_row_for_3box .fetures_body p span {
    color: #808080 !important;
}

.features_inner_box .update_row_for_3box .fetures_body.et_pb_text_align_left p,
.page-medical-device .features_inner_box .update_row_for_3box .fetures_body p {
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #808080 !important;
    margin: 0 0 12px 0 !important;
    text-align: left !important;
}

.features_inner_box .update_row_for_3box .fetures_body ul,
.page-medical-device .features_inner_box .update_row_for_3box .fetures_body ul {
    text-align: left !important;
    list-style-type: disc !important;
    margin: 0 0 15px 25px !important;
    padding: 0 !important;
}

.features_inner_box .update_row_for_3box .fetures_body li,
.page-medical-device .features_inner_box .update_row_for_3box .fetures_body li {
    text-align: left !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #808080 !important;
    margin-bottom: 8px !important;
    padding: 0 !important;
}

.features_inner_box .update_row_for_3box .fetures_body li span,
.page-medical-device .features_inner_box .update_row_for_3box .fetures_body li span {
    color: #808080 !important;
}

/* 3. Industry Showcase Full-Width Carousel */
.page-connected-products .dica_divi_carouselitem,
.page-energy-utilities .dica_divi_carouselitem,
.page-industry-4-0 .dica_divi_carouselitem {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.page-connected-products .dica_divi_carouselitem img,
.page-energy-utilities .dica_divi_carouselitem img,
.page-industry-4-0 .dica_divi_carouselitem img {
    width: 100% !important;
    max-width: 1200px !important;
    height: auto !important;
    display: block !important;
    border-radius: 4px;
}

/* 4. Section 3: Accordions Top Alignment and Styling */
.page-connected-products .et_pb_row:has(.et_pb_accordion),
.page-energy-utilities .et_pb_row:has(.et_pb_accordion),
.page-industry-4-0 .et_pb_row:has(.et_pb_accordion),
.page-medical-device .et_pb_row:has(.et_pb_accordion),
.page-industries-hub .et_pb_row:has(.et_pb_accordion),
.page-connected-products .et_pb_row_8,
.page-connected-products .et_pb_row_7,
.page-energy-utilities .et_pb_row_8,
.page-energy-utilities .et_pb_row_7,
.page-industry-4-0 .et_pb_row_8,
.page-industry-4-0 .et_pb_row_7,
.page-medical-device .et_pb_row_9,
.page-medical-device .et_pb_row_8 {
    align-items: flex-start !important;
}

.page-connected-products .et_pb_accordion .et_pb_toggle,
.page-energy-utilities .et_pb_accordion .et_pb_toggle,
.page-industry-4-0 .et_pb_accordion .et_pb_toggle,
.page-medical-device .et_pb_accordion .et_pb_toggle {
    background-color: #f4f4f4 !important;
    padding: 20px !important;
    margin-bottom: 30px !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 7px !important;
    box-shadow: 0px 9px 5px -6px rgba(0, 0, 0, 0.3) !important;
    overflow: visible !important;
    transition: background-color 0.2s ease, box-shadow 0.2s ease !important;
}

.page-connected-products .et_pb_accordion .et_pb_toggle.et_pb_toggle_open,
.page-energy-utilities .et_pb_accordion .et_pb_toggle.et_pb_toggle_open,
.page-industry-4-0 .et_pb_accordion .et_pb_toggle.et_pb_toggle_open,
.page-medical-device .et_pb_accordion .et_pb_toggle.et_pb_toggle_open {
    background-color: #ffffff !important;
    box-shadow: 0px 9px 5px -6px rgba(0, 0, 0, 0.3) !important;
}

.page-connected-products .et_pb_accordion .et_pb_toggle_title,
.page-energy-utilities .et_pb_accordion .et_pb_toggle_title,
.page-industry-4-0 .et_pb_accordion .et_pb_toggle_title,
.page-medical-device .et_pb_accordion .et_pb_toggle_title {
    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #666666 !important;
    padding: 0 40px 0 0 !important;
    margin: 0 !important;
    background: transparent !important;
    position: relative !important;
    cursor: pointer !important;
}

.page-connected-products .et_pb_accordion .et_pb_toggle_title:hover,
.page-energy-utilities .et_pb_accordion .et_pb_toggle_title:hover,
.page-industry-4-0 .et_pb_accordion .et_pb_toggle_title:hover,
.page-medical-device .et_pb_accordion .et_pb_toggle_title:hover,
.page-connected-products .et_pb_accordion .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title,
.page-energy-utilities .et_pb_accordion .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title,
.page-industry-4-0 .et_pb_accordion .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title,
.page-medical-device .et_pb_accordion .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_title {
    color: #e02b20 !important;
}

.page-connected-products .et_pb_accordion .et_pb_toggle_content,
.page-energy-utilities .et_pb_accordion .et_pb_toggle_content,
.page-industry-4-0 .et_pb_accordion .et_pb_toggle_content,
.page-medical-device .et_pb_accordion .et_pb_toggle_content {
    padding: 20px 0 0 0 !important;
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #808080 !important;
}

/* 5. Section 4: Architectural Features Grid Rows Alignment and Typography */
.page-connected-products .et_pb_section:last-child,
.page-energy-utilities .et_pb_section:last-child,
.page-industry-4-0 .et_pb_section:last-child,
.page-medical-device .et_pb_section:last-child,
.page-connected-products .et_pb_section_11,
.page-connected-products .et_pb_section_7,
.page-energy-utilities .et_pb_section_11,
.page-energy-utilities .et_pb_section_7,
.page-industry-4-0 .et_pb_section_11,
.page-industry-4-0 .et_pb_section_7,
.page-medical-device .et_pb_section_10,
.page-medical-device .et_pb_section_6 {
    background-color: #f4f4f4 !important;
}

.page-connected-products .et_pb_equal_columns.et_pb_gutters4,
.page-energy-utilities .et_pb_equal_columns.et_pb_gutters4,
.page-industry-4-0 .et_pb_equal_columns.et_pb_gutters4,
.page-medical-device .et_pb_equal_columns.et_pb_gutters4 {
    align-items: flex-start !important;
    margin-bottom: 50px !important;
    justify-content: space-between !important;
}

.page-connected-products .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2,
.page-energy-utilities .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2,
.page-industry-4-0 .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2,
.page-medical-device .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 {
    width: 46% !important;
    flex: 0 0 46% !important;
}

/* Large numbers 01, 02, 03 in Section 4 */
.page-connected-products .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(1) p,
.page-energy-utilities .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(1) p,
.page-industry-4-0 .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(1) p,
.page-medical-device .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(1) p {
    font-size: 75px !important;
    font-weight: 800 !important;
    line-height: 1.3em !important;
    color: #0465b3 !important;
    text-align: center !important;
    margin: 0 0 10px 0 !important;
}

.page-connected-products .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(2) h2,
.page-energy-utilities .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(2) h2,
.page-industry-4-0 .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(2) h2,
.page-medical-device .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(2) h2,
.section_get_started h2 {
    font-size: 35px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #333333 !important;
    text-align: center !important;
    margin: 0 0 15px 0 !important;
}

.section_get_started .et_pb_row:first-child h2 {
    font-weight: 600 !important;
    margin-bottom: 30px !important;
    text-align: center !important;
}

.page-connected-products .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(3) p,
.page-energy-utilities .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(3) p,
.page-industry-4-0 .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(3) p,
.page-medical-device .et_pb_equal_columns.et_pb_gutters4 .et_pb_column_1_2 > .et_pb_text:nth-child(3) p,
.section_get_started .et_pb_column_1_2 p {
    font-size: 18px !important;
    line-height: 1.6 !important;
    color: #808080 !important;
    text-align: center !important;
    margin: 0 !important;
}

/* ================= Process Icons & Flow Arrows ================= */
.for_icon_column,
.process_down_icon {
    position: relative;
}

@media all and (min-width: 981px) {
    .for_icon_column::after {
        position: absolute;
        content: '\f30b';
        left: 100%;
        top: 130px;
        color: #d91f27;
        font-size: 45px;
        margin-top: -10px;
        font-family: 'Font Awesome 5 Free', 'FontAwesome', sans-serif;
        font-weight: 900;
        transform: translateX(-50%);
        z-index: 2;
        line-height: 1;
    }

    .for_icon_column_right::after {
        content: '\f30a';
        left: 100%;
        transform: translateX(-50%);
    }

    .process_down_icon::before {
        position: absolute;
        content: '\f309';
        left: 50%;
        color: #d91f27;
        font-size: 45px;
        margin-top: -10px;
        font-family: 'Font Awesome 5 Free', 'FontAwesome', sans-serif;
        font-weight: 900;
        bottom: -40px;
        transform: translateX(-50%);
        z-index: 2;
        line-height: 1;
    }
}

@media (max-width: 980px) {
    .column-reverse {
        display: flex !important;
        flex-direction: column-reverse !important;
    }
}



