/******************************************************
 * HOMEPAGE CUSTOM CSS
 ******************************************************/

/******************************************************
 * GLOBAL / ROOT FIXES
 ******************************************************/

/* Prevent unwanted horizontal scrolling everywhere */
html { overflow-x: clip; }
body { overflow-x: hidden !important; }

/* Global dark background */
html, body, .site, #page, #content, .elementor-section-wrap, .elementor {
    background-color: #001034 !important;
}


/******************************************************
 * HEADER — TRANSPARENT + SCROLL BEHAVIOR
 ******************************************************/

/* Top bar color */
.top-bar-wrapper,
.elementor-8110 .elementor-element.elementor-element-608ef85:not(.elementor-motion-effects-element-type-background) {
    background-color: #2e6bf8 !important;
}

/* Transparent header default */
.navbar__wrapper {
    background: transparent !important;
    border-bottom: none !important;
    transition: background-color 550ms;
}

/* Transparent nav link colors */
.navbar__wrapper .navmenu__link-list li a,
.navbar__wrapper li a div,
.navbar__wrapper div,
.navbar__wrapper .button-11.cc-navbar.cc-secondary {
    color: #FFF !important;
}

/* Dropdown typography */
.navbar__wrapper .dropdown-column-title,
.navbar__wrapper .dropdown-card-title-copy,
.navbar__wrapper .dropdown-footer-link-2.footerlinks,
.navbar__wrapper .footerlinks a {
    color: #1b1b1b !important;
}

/* White logo on transparent header */
.image-33 {
    filter: brightness(0) invert(1);
}

/* Fixed header state */
.navbar__wrapper.fixed_menu {
    background-color: #FFF !important;
    border-bottom: 1px solid #e4e4e4 !important;
}

/* Normal logo when fixed */
.navbar__wrapper.fixed_menu .image-33 {
    filter: initial !important;
}

/* Dark nav text when fixed */
.navbar__wrapper.fixed_menu .navmenu__link-list li a,
.navbar__wrapper.fixed_menu li a div,
.navbar__wrapper.fixed_menu div,
.navbar__wrapper.fixed_menu .button-11.cc-navbar.cc-secondary {
    color: #1b1b1b !important;
    transition: background-color 550ms;
}


/******************************************************
 * HERO SECTION & STRUCTURE
 ******************************************************/

.gradient22 h1, .gradient22 h3 {
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(
    to bottom,
    #0d47a1,   /* deep navy blue */
    #2e6bf8 25%, /* vibrant blue */
    #4aa9ff 50%, /* bright electric blue */
    #42e3ff 75%, /* aqua highlight */
    #5be2ff      /* lighter glow */
  ) !important;
  -webkit-background-clip: text;
  background-clip: text;
}


.herosection { min-height: 110vh !important; }

.hero-content { padding-top: 300px !important; }

.main-navigation > ul > li {
    align-items: baseline !important;
    padding-top: 10px !important;
}

.main-navigation ul > li.menu-item-has-children > a:after,
.main-navigation ul > li.is-mega-menu > a:after {
    position: inherit !important;
    padding-left: 5px !important;
}

.subheading_safe,
.section_text.white {
    padding-bottom: 20px !important;
}

.container-small { z-index: 1 !important; }

a.w-webflow-badge { display: none !important; }

.site-content .top-sectpho { padding-top: 0; }
@media (max-width: 980px) {
    .site-content .top-sectpho { padding-top: 100px; }
}

/******************************************************
 * INNER SHADOW DECORATION
 ******************************************************/

#inner-shadow {
    box-shadow:
        inset -10px 130px 8px 0px #6565652B,
        inset 0px -11px 8px -3px #6565652B;
}


/******************************************************
 * PLATFORM IMAGE SHRINK EFFECT (#platform-shrink)
 ******************************************************/

/* Holds the scroll progress value */
#platform-shrink { --shrink-progress: 0; }

/* Image scales based on scroll */
#platform-shrink img {
    width: 100%;
    height: auto;
    transform: scale(calc(1.18 - var(--shrink-progress) * 0.18));
    transform-origin: center;
    transition: transform 0.08s linear;
    will-change: transform;
    max-width: none;
}

/* Round the image container */
.elementor-element-e55f96c.fade-bottom.fade-border.elementor-widget-image,
.elementor-element-e55f96c .elementor-widget-container {
    border-radius: 12px;
    overflow: hidden;
}

/* OVERRIDE: Ensure platform graphic can grow outside the fade-border wrapper */
#platform-shrink,
#platform-shrink .elementor-widget-container {
    overflow: visible !important;
}
.fade-border:has(#platform-shrink) {
    overflow: visible !important;
}

/* Disable effect on smaller screens */
@media (max-width: 1024px) {
    #platform-shrink { --shrink-progress: 0 !important; }

    #platform-shrink img {
        transform: none !important;
        transition: none !important;
        width: 100% !important;
        object-fit: cover !important;
    }

    .elementor-element-e55f96c,
    .elementor-element-e55f96c .elementor-widget-container {
        padding: 0 !important;
        margin: 0 !important;
    }
}


/******************************************************
 * PARALLAX SECTION (#applebg & .parallax-target)
 ******************************************************/

#applebg {
    position: relative;
    background-position: center calc(50% + var(--scroll-shift, 0px));
    background-size: cover;
}

.parallax-target {
    position: relative;
    transform: translateY(calc(var(--parallax-shift, 0px)));
    will-change: transform;
}

@media (max-width: 1024px) {
    #applebg { background-position: center; }
    .parallax-target { transform: none !important; }
}


/******************************************************
 * BLOG POST CARDS — PUSH “READ MORE” DOWN
 ******************************************************/

.elementor-element-760fb81c .elementor-post__card {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.elementor-element-760fb81c .elementor-post__text {
    flex: 1 1 auto;
}

.elementor-element-760fb81c .elementor-post__read-more {
    margin-top: auto;
    padding-bottom: 10px;
}


/******************************************************
 * “HOW WE WORK” TILE ALIGNMENT
 ******************************************************/

.elementor-element-73ff652 .e-con-full.e-flex.e-con.e-child {
    display: flex;
    flex-direction: column;
}

.elementor-element-73ff652 .elementor-widget-image-box {
    flex: 0 0 auto;
}

.elementor-element-73ff652 .elementor-widget-text-editor {
    margin-top: auto;
}

.elementor-element-73ff652 .arrow-wrap {
    padding-bottom: 10px;
}


/******************************************************
 * PROGRESS BAR FIXES
 ******************************************************/

/* Add spacing ABOVE progress bars */
.elementor-progress-wrapper {
    margin-top: 16px !important;
}

/* Hide label text inside the bar */
span.elementor-progress-text {
    visibility: hidden;
}

/* Disable animation on smaller screens */
@media (max-width: 1024px) {
    .elementor-element-151207c .elementor-progress-bar {
        transition: none !important;
    }
}


/******************************************************
 * “BOOK YOUR DEMO” GLOW + MOBILE CENTERING
 ******************************************************/

/* Default desktop left-aligned */
.circle-cent-footer {
    text-align: left !important;
    position: relative;
}

/* Title glow behind the heading */
.circle-cent-footer::before {
    content: '';
    position: absolute;
    top: -50%;
    left: -40%;
    width: 100%;
    height: 100%;
    background-image: radial-gradient(#2e6bf8, #2e6bf8, transparent 70%);
    filter: blur(40px);
}

/* Center the heading on mobile */
@media (max-width: 1024px) {
    .circle-cent-footer,
    .circle-cent-footer .elementor-widget-container,
    .circle-cent-footer .elementor-heading-title {
        text-align: center !important;
        margin-left: auto !important;
        margin-right: auto !important;
        justify-content: center !important;
    }
}


/******************************************************
 * STEP ROW — ICON LEFT / NUMBER RIGHT
 ******************************************************/

.step-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
}

.step-row .step-number {
    margin-left: auto !important;
    padding-left: 20px !important;
    display: flex !important;
    align-items: center !important;
    text-align: right !important;
}

.step-row .elementor-widget-image,
.step-row .elementor-widget-heading {
    flex-shrink: 0 !important;
}

.step-number .elementor-heading-title {
    white-space: nowrap !important;
}


/******************************************************
 * LEFT-SIDE BLUE GLOW
 ******************************************************/

.blob-gradient-left {
    position: relative;
    overflow: hidden;
}

.blob-gradient-left::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-100%, -50%);
    width: 1100px;
    height: 900px;

    background: radial-gradient(
        circle at 65% center,
        rgba(46,107,248,0.75) 0%,
        rgba(46,107,248,0.55) 20%,
        rgba(80,140,255,0.40) 45%,
        rgba(120,170,255,0.20) 70%,
        rgba(120,170,255,0.00) 100%
    );

    filter: blur(70px);
    z-index: 0;
}

.blob-gradient-left > * { position: relative; z-index: 2; }


/******************************************************
 * RIGHT-SIDE BLUE GLOW
 ******************************************************/

.blob-gradient {
    position: relative;
    overflow: hidden;
}

.blob-gradient::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    width: 1100px;
    height: 900px;

    background: radial-gradient(
        circle at 35% center,
        rgba(46,107,248,0.75) 0%,
        rgba(46,107,248,0.55) 20%,
        rgba(80,140,255,0.40) 45%,
        rgba(120,170,255,0.20) 70%,
        rgba(120,170,255,0.00) 100%
    );

    filter: blur(70px);
    z-index: 0;
}

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