
.ct-header nav a:hover,
.ct-header nav li.current-menu-item > a,
.ct-header nav li.current-menu-ancestor > a {
    background: transparent !important;
    color: #4AFFC3 !important;
}
.ct-map-icon img {
	vertical-align: middle;
}

.ct-backdrop-s {
	backdrop-filter: blur(3px);
}

.ct-backdrop-m {
	backdrop-filter: blur(7px);
}


.ct-backdrop-l {
	backdrop-filter: blur(10px);
}

.ct-boxshadow {
	box-shadow: 0 -1px 0 0 #52ff7d29,0 0 0 1px #ffffff1f;
}

@media (min-width: 999.98px) {
	.ct-column-sticky {
		position: sticky;
		top: 80px;
		align-self: start;
	}
}
/* =========================================
   WHAT WE DO MEGA MENU
========================================= */

.ct-header .mega-what-we-do > .sub-menu {
    position: absolute !important;
    left: 50% !important;    transform: translateX(-50%) !important;


    width: 100vw !important;
    max-width: 100vw !important;

    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0 70px !important;

     padding: 60px                              /* Top */
    max(70px, calc((100vw - 1240px) / 2))  /* Right */
    60px                              /* Bottom */
    max(120px, calc((100vw - 1240px) / 2 + 50px)) /* Left */
    !important;

    background: rgba(2, 6, 5, 0.96) !important;
    border-top: 1px solid rgba(74,255,195,.18) !important;
    border-bottom: 1px solid rgba(74,255,195,.18) !important;
    border-left: 0 !important;
    border-right: 0 !important;
    border-radius: 0 !important;

    box-shadow: 0 30px 80px rgba(0,0,0,.55) !important;
    z-index: 9999 !important;
}

/* Items */
.ct-header .mega-what-we-do > .sub-menu li {
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    padding: 22px 0 !important;
}

/* Links */
.ct-header .mega-what-we-do > .sub-menu li a {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    padding: 0 !important;
}

.ct-header .mega-what-we-do > .sub-menu li a span {
    display: block !important;
    margin-top: 8px !important;

    color: rgba(255,255,255,.58) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}

.ct-header .mega-what-we-do > .sub-menu li a:hover {
    color: #4AFFC3 !important;
}

.ct-header .mega-what-we-do > .sub-menu li a:hover span {
    color: rgba(255,255,255,.75) !important;
}

/* =========================================
   NORMAL DROPDOWNS (Active Projects etc.)
========================================= */

.ct-header .small-dropdown > .sub-menu {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;

    display: block !important;

    padding: 18px 22px !important;

    background: rgba(2,6,5,.96) !important;
    border: 1px solid rgba(74,255,195,.18) !important;
    border-radius: 18px !important;
    box-shadow: 0 20px 50px rgba(0,0,0,.45) !important;
}

.ct-header .small-dropdown > .sub-menu li {
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
}

.ct-header .small-dropdown > .sub-menu li:last-child {
    border-bottom: 0 !important;
}

.ct-header .small-dropdown > .sub-menu li a {
    display: block !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: #fff !important;
}

.ct-header .small-dropdown > .sub-menu li a:hover {
    color: #4AFFC3 !important;
}
/* =========================================
   TABLET & MOBILE
   Revert to normal dropdown
========================================= */

@media (max-width: 1200px) {

    .ct-header .mega-what-we-do > .sub-menu {

        position: static !important;
        left: auto !important;
        transform: none !important;

        width: 100% !important;
        max-width: 100% !important;

        display: block !important;

        padding: 0 !important;
        margin: 0 !important;

        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .ct-header .mega-what-we-do > .sub-menu li {
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
        padding: 0 !important;
    }

    .ct-header .mega-what-we-do > .sub-menu li a {
        display: block !important;
        padding: 14px 0 !important;
        font-size: 16px !important;
    }

    /* Hide descriptions on tablet/mobile */
    .ct-header .mega-what-we-do > .sub-menu li a span {
        display: none !important;
    }
}
/* Mobile menu: remove mega styling */
@media (max-width: 999px) {

    .ct-header .small-dropdown > .sub-menu,
    .ct-header .mega-what-we-do > .sub-menu {
			
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;

     
        padding: 0 !important;
        margin: 0 !important;

        background: transparent !important;
        border: 0 !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .ct-header .small-dropdown > .sub-menu li,
    .ct-header .mega-what-we-do > .sub-menu li {
        padding: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
			text-align: left !important;
    }

    .ct-header .small-dropdown > .sub-menu li a,
    .ct-header .mega-what-we-do > .sub-menu li a {
        padding: 14px 0 !important;
        font-size: 14px !important;
        text-align: left !important;
    }

    .ct-header .sub-menu li a span {
        display: none !important;
    }

    /* Hide social icons in mobile menu */
    .ct-header .ct-social-box {
        display: none !important;
    }
}
/* Left align mobile menu headings */
@media (max-width: 999px) {

    .ct-header .ct-mobile-menu .menu-item > a {
        text-align: left !important;
        justify-content: flex-start !important;
    }

}

/* Left align mobile off-canvas menu */
@media (max-width: 999px) {

    .ct-panel .mobile-menu,
    .ct-panel .mobile-menu ul,
    .ct-panel .mobile-menu li,
    .ct-panel .mobile-menu a {
        text-align: left !important;
    }

    .ct-panel .mobile-menu a {
        justify-content: flex-start !important;
        align-items: flex-start !important;
    }

    .ct-panel .mobile-menu .sub-menu {
        padding-left: 0 !important;
    }
}
/* Left align mobile parent menu items with dropdown arrows */
@media (max-width: 999px) {
 .ct-toggle-dropdown-mobile {
        display: none !important;
    }
	
	  .ct-panel .mega-what-we-do > .ct-sub-menu-parent > a {
        pointer-events: none !important;
        cursor: default !important;
    }

    .ct-panel .mega-what-we-do .ct-toggle-dropdown-mobile {
        display: none !important;
    }
    .ct-panel .ct-sub-menu-parent {
        justify-content: flex-start !important;
        text-align: left !important;
        width: 100% !important;
    }

    .ct-panel .ct-sub-menu-parent > a {
        text-align: left !important;
        justify-content: flex-start !important;
        width: auto !important;
    }

    .ct-panel .ct-toggle-dropdown-mobile {
        margin-left: 10px !important;
    }
}

/* Centre the placeholder text */
#aihub_waitlist input::placeholder {
    text-align: center;
    opacity: 1;
}

/* Centre the email address when someone types */
#aihub_waitlist input[type="email"] {
    text-align: center;
}

/* Centre Elementor success message */
.elementor-message,
.elementor-message-success {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
	font-size: 18px;
	padding-top:10px;
}

.emg-mini-card {
  padding: 32px;
  border: 1px solid rgba(74,255,195,.14);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(74,255,195,.055), rgba(255,255,255,.015));
  min-height: 260px;
  transition: all .25s ease;
}

.emg-mini-card:hover {
  transform: translateY(-4px);
  border-color: rgba(74,255,195,.38);
  box-shadow: 0 20px 60px rgba(74,255,195,.06);
}
.homepage-longer-card{
    position:relative;
    overflow:hidden;

    background:
        linear-gradient(135deg,
        rgba(8,30,22,.96),
        rgba(2,8,6,.96));

    border:1px solid rgba(74,255,195,.16);
    border-radius:28px;

    padding:56px 60px;

    transition:.35s ease;
}

.homepage-longer-card:hover{
    transform:translateY(-4px);
    border-color:rgba(74,255,195,.32);
    box-shadow:
        0 18px 60px rgba(0,0,0,.45),
        inset 0 1px 0 rgba(255,255,255,.03);
}

.homepage-longer-card::after{
    content:"";

    position:absolute;
    top:35px;
    right:45px;

    width:42px;
    height:42px;

    border:5px solid #4AFFC3;
    border-radius:50%;

    box-shadow:
        0 0 30px rgba(74,255,195,.45);

    opacity:.95;
}
.homepage-longer-card::before{
    content:"";

    position:absolute;

    top:-180px;
    right:-120px;

    width:420px;
    height:420px;

    border-radius:50%;

    border:none !important;
    outline:none !important;
    box-shadow:none !important;
    background:
        radial-gradient(circle,
        rgba(74,255,195,.12),
        transparent 0%);

    pointer-events:none;
}

.homepage-longer-card h2{
    color:#4AFFC3;
    font-size:30px;
    line-height:1;
    font-weight:800;
    margin-bottom:24px;
}
.homepage-longer-card blockquote{
    margin:36px 0;

    padding-left:26px;

    border-left:4px solid #4AFFC3;

    font-size:34px;
    line-height:1.35;
    font-weight:800;

    color:#fff;

    max-width:900px;
}
.homepage-longer-card p{
    color:rgba(255,255,255,.72);
    font-size:18px;
    line-height:1.75;
    max-width:980px;
}

.homepage-difference-section{
    position:relative;
    overflow:hidden;
    padding:50px 20px 110px !important;
}

.ct-header .mega-active-projects > .sub-menu {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;

    width: 100vw !important;
    max-width: 100vw !important;

    margin-left: 0 !important;
}


.homepage-difference-section::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            180deg,
            rgba(0,0,0,.88) 0%,
            rgba(0,0,0,.45) 35%,
            rgba(0,0,0,.25) 100%
        );
    z-index:0;
    pointer-events:none;
}

.homepage-difference-section > *{
    position:relative;
    z-index:1;
}
.homepage-difference-heading{
    max-width:1240px;
    margin:0 auto 35px !important;
}

.homepage-difference-heading h2{
    color:#fff !important;
    font-size:clamp(42px,5vw,72px) !important;
    line-height:1 !important;
    letter-spacing:-1.5px !important;
}

.homepage-difference-heading p{
    color:#4AFFC3 !important;
    font-size:13px !important;
    font-weight:800 !important;
    letter-spacing:3px !important;
    text-transform:uppercase !important;
    margin-bottom:4px !important;
}
/* =========================================
   Join the AI Hub CTA
========================================= */

.join-the-ai-hub-cta-hp{

    position:relative;
    overflow:hidden;
    background:
        linear-gradient(
        135deg,
        rgba(8,26,19,.95),
        rgba(2,8,6,.96));

    border:1px solid rgba(255,255,255,.06);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.03),
        0 0 0 1px rgba(74,255,195,.04),
        0 0 45px rgba(74,255,195,.05),
        0 30px 80px rgba(0,0,0,.45);

    transition:.35s ease;
}

.join-the-ai-hub-cta-hp:hover{

    transform:translateY(-3px);

    border-color:rgba(74,255,195,.14);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04),
        0 0 0 1px rgba(74,255,195,.06),
        0 0 65px rgba(74,255,195,.08),
        0 35px 90px rgba(0,0,0,.5);
}


/* Soft emerald glow */

.join-the-ai-hub-cta-hp::before{

    content:"";

    position:absolute;

    inset:0;

    background:
        radial-gradient(circle at 80% 20%,
        rgba(74,255,195,.08),
        transparent 35%);

    pointer-events:none;
}


/* Subtle top highlight */

.join-the-ai-hub-cta-hp::after{

    content:"";

    position:absolute;

    left:0;
    right:0;
    top:0;

    height:1px;

    background:
        linear-gradient(
        90deg,
        transparent,
        rgba(74,255,195,.25),
        transparent);

    opacity:.6;

}


.ct-header .mega-active-projects > .sub-menu li {
    border-bottom: 1px solid rgba(255,255,255,.08) !important;
    padding: 22px 0 !important;
}

.ct-header .mega-active-projects > .sub-menu li a {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    color: #fff !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    padding: 0 !important;
}

.ct-header .mega-active-projects > .sub-menu li a span {
    display: block !important;
    margin-top: 8px !important;

    color: rgba(255,255,255,.58) !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    font-weight: 400 !important;
}

.ct-header .mega-active-projects > .sub-menu li a:hover {
    color: #4AFFC3 !important;
}


.ct-header .mega-active-projects > .sub-menu{

    position:absolute !important;
    left:50% !important;
    transform:translateX(-50%) !important;

    width:100vw;
    display:grid;

    grid-template-columns:420px 420px;
    justify-content:center;
    gap:80px;

    padding:60px max(70px,calc((100vw - 1240px)/2));

    background:rgba(2,6,5,.96);
    border-top:1px solid rgba(74,255,195,.18);
    border-bottom:1px solid rgba(74,255,195,.18);
}
@media (max-width: 1200px) {
    .ct-header .mega-active-projects > .sub-menu {
        position: static !important;
        left: auto !important;
        transform: none !important;
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        background: transparent !important;
        border: 0 !important;
        box-shadow: none !important;
    }

    .ct-header .mega-active-projects > .sub-menu li {
        padding: 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.08) !important;
    }

    .ct-header .mega-active-projects > .sub-menu li a {
        padding: 14px 0 !important;
        font-size: 16px !important;
    }

    .ct-header .mega-active-projects > .sub-menu li a span {
        display: none !important;
    }
}
/* Active Projects mega menu — viewport aligned */
.ct-header li.mega-active-projects.animated-submenu-block {
    position: static !important;
}

.ct-header li.mega-active-projects.animated-submenu-block > ul.sub-menu {
    position: absolute !important;

    left: 0% !important;
    right: auto !important;
   transform: none !important;

    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;

    display: grid !important;
    grid-template-columns: 420px 420px !important;
    justify-content: center !important;
    gap: 80px !important;

    padding: 60px max(70px, calc((100vw - 1240px) / 2)) !important;

    background: rgba(2,6,5,.96) !important;
    border-top: 1px solid rgba(74,255,195,.18) !important;
    border-bottom: 1px solid rgba(74,255,195,.18) !important;
    border-radius: 0 !important;

    box-shadow: 0 30px 80px rgba(0,0,0,.55) !important;
    z-index: 99999 !important;
}

[data-header*="type-1"] .ct-header [data-id="menu"] {
    --menu-indicator-hover-color: transparent !important;
}

/* Fix tablet header/menu overlap */
@media (max-width: 1200px) {

  .ct-header li.mega-active-projects.animated-submenu-block > ul.sub-menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;

    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;

    display: block !important;
    padding: 0 !important;
    margin: 0 !important;

    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  .ct-header li.mega-active-projects.animated-submenu-block > ul.sub-menu li {
    padding: 0 !important;
  }

  .ct-header li.mega-active-projects.animated-submenu-block > ul.sub-menu li a {
    padding: 14px 0 !important;
    font-size: 16px !important;
  }

  .ct-header li.mega-active-projects.animated-submenu-block > ul.sub-menu li a span {
    display: none !important;
  }@media (max-width: 768px) {
    .ct-header .site-logo-container img {
        height: 70px !important;
        width: auto !important;
    }
}