:root {
    /* === FONT FAMILIES === */
    --font-display: "Red Hat Display", sans-serif;
    --font-serif: "Playfair Display", serif;

    /* === FONT WEIGHTS === */
    --weight-light: 300;
    --weight-regular: 400;
    --weight-medium: 500;
    --weight-semibold: 600;
    --weight-bold: 700;


}


.darkmode--activated {
    --color-bg: #000;
    --color-text: #fff;
    /* override other vars for dark mode */
}
.page-template-custom-page-home-php {
    background: #fff !important;
}

.elementor-top-section {
    background: #fff !important;
}
body {
    font-family: var(--font-display);
    font-weight: var(--weight-regular);
    background-color: #fff;
}
.each-suburb p {
    position: relative;
    top: 50px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-display);
    font-weight: var(--weight-semibold);
}

p {
    font-family: var(--font-serif);
    font-weight: var(--weight-regular);
}

/* Font families */
.font-display {
    font-family: var(--font-display);
}

.font-serif {
    font-family: var(--font-serif);
}

/* Font weights */
.fw-light {
    font-weight: var(--weight-light);
}

.fw-regular {
    font-weight: var(--weight-regular);
}

.fw-medium {
    font-weight: var(--weight-medium);
}

.fw-semibold {
    font-weight: var(--weight-semibold);
}

.fw-bold {
    font-weight: var(--weight-bold);
}


html,
body {
    padding: 0;
    margin: 0;
    overflow-x: hidden;

}

/* ---------- Mega dropdown (desktop) ---------- */
.mega-dropdown {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: calc(100% + 18px);
    min-width: 820px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
    padding: 28px;
    display: none;
    z-index: 1200;
    overflow: hidden;
}

/* container layout inside mega */
.mega-dropdown .container-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 300px;
    gap: 20px;
    align-items: center;
}

/* left/right columns */
.services-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.services-list li {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 10px 6px;
}

.services-list li a {
    color: #222;
    text-decoration: none;
    font-weight: 500;
    font-size: 15px;
}

/* bright green circular icon (replace inner with your icons if needed) */
.services-list .icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #C7FF00;
    /* bright green */
    display: inline-block;
    box-shadow: inset 0 -2px 4px rgba(0, 0, 0, 0.06);
}

/* right card */
.dropdown-card {
    display: flex;
    align-items: center;
    gap: 18px;
    background: linear-gradient(90deg, #c7ff00, #b8f800);
    border-radius: 18px;
    padding: 22px;
    min-height: 140px;
}

.card-target {
    width: 88px;
    height: 88px;
    background: rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card-target .bullseye {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: white;
    box-shadow: inset 0 -4px 6px rgba(0, 0, 0, 0.08);
}

.card-text {
    font-size: 16px;
    font-weight: 600;
    color: #0b0b0b;
}

.card-text p {
    margin: 0;
    line-height: 1.1;
}

.card-arrow {
    display: inline-block;
    margin-top: 8px;
    font-size: 18px;
    text-decoration: none;
    color: #000;
}

/* show/hide behavior */
.has-dropdown:hover>.mega-dropdown,
.has-dropdown:focus-within>.mega-dropdown {
    display: block;
    animation: dropdown-fade .16s ease-out;
}

@keyframes dropdown-fade {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(-6px);
    }

    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

/* ensure parent li is position:relative for absolute dropdown */
.main-menu-list>li.has-dropdown {
    position: relative;
}

/* -------- Mobile dropdown (hamburger) ---------- */
.mobile-menu {
    display: none;
    /* your existing toggle will flip this */
    background: #fff;
    padding: 18px;
    border-top: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 14px 36px rgba(0, 0, 0, 0.06);
}

.mobile-menu-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mobile-item {
    margin-bottom: 8px;
}

.mobile-item a {
    display: block;
    padding: 12px 8px;
    text-decoration: none;
    color: #222;
}

/* mobile accordion for marketing solutions */
.mobile-has-dropdown .mobile-dropdown-panel {
    display: none;
    padding-left: 6px;
    border-left: 2px solid rgba(0, 0, 0, 0.04);
    margin-top: 8px;
}

.mobile-has-dropdown.open .mobile-dropdown-panel {
    display: block;
}

.mobile-services-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-services-list li a {
    padding: 10px 8px;
    display: block;
}

/* toggle button look */
.mobile-dropdown-toggle {
    width: 100%;
    padding: 12px 8px;
    font-size: 16px;
    background: transparent;
    border: none;
    text-align: left;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #222;
}

.chev {
    opacity: .7;
}

/* small screens tweaks */
@media (max-width: 991px) {
    .mobile-menu {
        display: block;
    }

    .menu-wrapper.d-none.d-lg-block {
        display: none !important;
    }

    .prim-btn-wrap.d-none.d-lg-block {
        display: none !important;
    }
}

/* accessibility focus styles */
.dropdown-toggle:focus+.mega-dropdown,
.dropdown-toggle:focus {
    outline: 3px solid rgba(199, 255, 0, 0.25);
    outline-offset: 3px;
}

ul.main-menu li {
    font-size: 18px;
    list-style: none;
    text-transform: uppercase;
}

.btn-wrap {
    position: relative;
    display: inline-block;
}

.main-btn {
    border-radius: 50px;
    padding: 8px 30px;
    text-transform: uppercase;
    font-size: 16px;
    background: #B2EA00;
    border-color: #B2EA00;
    color: #000;
    border-width: 2px;
}

.main-btn:hover {
    color: #fff;
    background: transparent;
    border-color: #B2EA00;
}

.section-space {
    padding-top: 5%;
    padding-bottom: 5%;
}

.section-space-hero {
    padding-top: 6%;
}

span.playfair {
    font-style: italic;
}
.meta-header {
    display: none;
}


.banner-heading {
    font-size: 80px;
}

span.img-bw {
    padding-right: 10px;
}

section.hero-banner .row {
    min-height: 50vh;
    align-items: center;
}

.design-banner-wrap img {
    border: 1px solid #A1D645;
    padding: 10px 50px;
    border-radius: 50px;
}

.left-img-wrapper .img-bind,
.right-img-wrapper .img-bind {
    position: relative;
    height: 700px;
}

img.laptop-tab {
    width: 100%;
    position: absolute;
    z-index: 111;
    left: 0;
    bottom: 15%;
}

img.ball {
    position: absolute;
    width: 30%;
    bottom: 0;
    right: 0;
    top: 55%;
    left: 40%;
}

img.cubic {
    position: absolute;
    left: 0;
    width: 30%;
    top: 0;
}

img.tab-laptop {
    position: absolute;
    width: 120%;
    top: 0;
    right: 0;
}

img.ring {
    position: absolute;
    width: 25%;
    right: 0;
}

img.arrow {
    position: absolute;
    width: 25%;
    top: 35%;
    left: 15%;
}

/* ===== video-expand-section (3-col) ===== */
.video-expand-section {
    position: relative;
    background: #fff;
    padding-top: 12px;
    padding-bottom: 120px;
    height: 250vh;
    overflow: visible !important;
}

/* make the row tight to hero */
.video-expand-section .row {
    margin: 0;
    overflow: visible !important;
}

/* left column */
.left-col {
    padding: 18px 48px;
}

.left-info {
    color: #000;
    font-family: var(--font-serif);
}

.left-info .dot {
    height: 8px;
    width: 8px;
    background-color: #9eff00;
    /* green or any color */
    border-radius: 50%;
    display: inline-block;
    margin-right: 8px;
    vertical-align: middle;
    animation: blink 1s infinite;
}

@keyframes blink {

    0%,
    50%,
    100% {
        opacity: 1;
    }

    25%,
    75% {
        opacity: 0;
    }
}

/* right column */
.right-col {
    padding: 18px 48px;
}

.video-expand-section .container-fluid {
    overflow: visible !important;
    max-width: 100% !important;
    padding: 0 !important;
}

.right-buttons ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: row;
    gap: 14px;
}

.circle-btn {
    display: inline-flex;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    background: #B2EA00;
    color: #000;
    text-decoration: none;
    font-weight: 600;
}

/* center / video */
.center-col {
    padding: 8px 20px;
    overflow: visible !important;
}

.middle-video-wrapper {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 11;
    width: 100%;
    display: flex;
    justify-content: center;
    pointer-events: none;
}

.middle-video {
    width: 720px;
    height: 420px;
    border-radius: 999px;
    overflow: hidden;
    transform-origin: center center;
    transition: all 0.3s ease;

}

.middle-video video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

a.button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 2px;
    border-radius: 23.5px;
    overflow: hidden;
    text-decoration: none;
    background: #B2EA00;
}

.button__wrapper {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 180px;
    height: 45px;
    border-radius: 22.5px;
    background: #0a0a0a;
}

a.button:hover .button__text {
    color: #0a0a0a;
}

.button__text {
    position: relative;
    z-index: 2;
    font-weight: 400;
    font-size: 18px;
    color: #fff;
    transition: 300ms ease;
}

.button__spotlight {
    position: absolute;
    z-index: 1;
    height: 10px;
    width: 10px;
    opacity: 1;
    border-radius: 50%;
    background: #B2EA00;
    inset: 0;
    top: 50%;
    transform: scale(0);
}

.left-info p {
    margin: 0;
}

section.who-we-are {
    z-index: 11111111;
    position: relative;
}


/* container must be position:relative so absolute fill aligns */
.who-wrap {
    position: relative;
}

.who-heading {
    position: relative;
    display: inline-block;
    margin: 0;
    font-weight: 800;
    line-height: 0.95;
    font-size: clamp(72px, 10vw, 180px);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.who-text-base,
.who-text-fill,
.who-fill-inner {
    display: block;
    white-space: pre-line;
    line-height: inherit;
    font-family: inherit;
    font-size: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
}

.who-text-base {
    color: #000;
    z-index: 1;
    position: relative;
}

.who-text-fill {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
    /* safe fallback */
    /* start fully hidden (clip everything on the right) */
    clip-path: inset(0% 100% 0% 0%);
    -webkit-clip-path: inset(0% 100% 0% 0%);
}

.who-fill-inner {
    color: #B2EA00;
    -webkit-font-smoothing: antialiased;
    backface-visibility: hidden;
}

/* paragraph under heading */
.who-wrap p {
    font-size: 28px;
    font-family: 'Red Hat Display', system-ui, sans-serif;
    color: #fff;
    margin-top: 28px;
}

.main-info p {
    font-weight: 800;
    font-size: 24px;
    text-transform: uppercase;
}

.right-heading-wraps {
    text-align: end;
}

.right-heading-wraps h3 {
    color: #B2EA00;
    font-size: 46px;
    font-weight: 800;
}

.right-heading-wraps h2 {
    color: #000;
    font-size: 50px;
}

/* Zig-zag section */
.zig-zag {
    /* keep your .section-space spacing, this only styles inside */
    position: relative;
}

/* Card base */
.zig-card {
    background: #0E0E0E;
    border-radius: 28px;
    padding: clamp(28px, 4vw, 64px);
    min-height: clamp(220px, 24vw, 380px);
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* keeps title anchored bottom */
    box-shadow: 0 0 0 rgba(0, 0, 0, 0);
    /* keep clean */
}

/* The green big 50+ top-left */
.zig-count {
    position: absolute;
    top: clamp(18px, 3.5vw, 40px);
    left: clamp(18px, 3.5vw, 40px);
    font-weight: 700;
    color: #B2EA00;
    /* neon green from your example */
    line-height: 0.9;
    /* responsive sizing */
    font-size: clamp(56px, 10vw, 160px);
    letter-spacing: -1px;
    transform-origin: left top;
    z-index: 2;
}

/* plus sign styling so it sits nicely with 50 */
.zig-count .plus {
    font-size: 0.45em;
    vertical-align: super;
    margin-left: 6px;
    display: inline-block;
}

/* Title bottom-right */
.zig-title {
    position: absolute;
    right: clamp(20px, 3.5vw, 40px);
    bottom: clamp(18px, 3.5vw, 36px);
    color: #ffffff;
    font-weight: 700;
    text-align: right;
    text-transform: uppercase;
    line-height: 1;
    font-size: clamp(18px, 2.5vw, 40px);
    z-index: 2;
}

/* Right column shift (creates the zig-zag). Increase/decrease value to match screenshot */
.zig-offset {
    margin-top: 72px;
}

span.who-text-base.industry {
    font-weight: 900;
    line-height: 0.8em;
}

.industry-wrapper p {
    font-size: 38px;
}

.each-box {
    position: relative;
    top: 0;
    margin-bottom: 80px;
    padding: 30px;
    border-radius: 22px;
    transform-origin: top center;
    will-change: transform;
    max-width: 500px !important;
    margin: 0 auto !important;
    margin-bottom: 20px;
}

.each-bottom h2 {
    font-weight: 800;
    font-size: 3em;
    color: #B2EA00 !important;
}

.each-bottom p {
    font-size: 18px;
    color: #fff !important;
}


.each-wrap {
    display: flex;
    flex-direction: column;
    min-height: 400px;
}

.industry-stack {
    position: relative;
    padding-bottom: 800px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.gsap-pin-spacer {
    pointer-events: none;
    position: relative !important;
}

.gsap-pin-spacer>.each-box {
    position: relative !important;
    z-index: inherit !important;
}

.each-box.box-1 {
    background: #000;
    z-index: 1;
}

.each-box.box-2 {
    background: #1A1A1A;
    z-index: 2;
}

.each-box.box-3 {
    background: #333333;
    z-index: 3;
}

.each-box.box-4 {
    background: #4D4D4D;
    z-index: 4;
}

.each-box.box-5 {
    background: #666666;
    z-index: 5;
}

.each-box .row {
    align-items: center;
}

.each-suburb p {
    font-size: 8em;
    font-weight: 900;
}


.each-title h2 {
    font-size: 38px;
}

.each-desc p {
    font-size: 16px;
}

.each-points h3 {
    font-size: 18px;
}

.each-points p {
    font-size: 26px;
    font-weight: 700;
}

.each-img img {
    width: 100%;
    height: 400px;
    object-fit: cover;
    border-radius: 20px;
}

.serivices-slide-text-wrap {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    flex: none;
    align-items: center;
    display: flex;
}

.services-slide-text-box {
    flex: none;
    padding: .5rem;
}

.service-slide-dot {
    background-color: #000;
    border-radius: 100%;
    flex: none;
    width: .5rem;
    height: .5rem;
}

.text-animate {
    animation: servicesslide 20s infinite linear;
}

.services-slide-text {
    font-family: var(--font-display);
    letter-spacing: .03rem;
    font-size: 16em;
    font-weight: 700;
    line-height: 0.8em;
    color: #F1F1F1;

}

.services-slide-content-block {
    grid-column-gap: 1.5rem;
    grid-row-gap: 1.5rem;
    display: flex;
}

section.slide-section {
    background: #000 !important;
}

.text-animatetwo {
    animation: servicesslide 20s infinite linear;
    animation-direction: reverse;
}

.laptop-tab,
.tab-laptop {
    /* Enable 3D transforms and smooth GPU acceleration */
    transform-style: preserve-3d;
    will-change: transform;
    /* Optional: smooth transition fallback */
    transition: transform 0.3s ease-out;

    /* Start the floating animation */
    animation: floatUpDown 4s ease-in-out infinite;
}

/* Keyframes for gentle up-and-down motion */
@keyframes floatUpDown {
    0% {
        transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0);
    }

    50% {
        transform: translate3d(0, -10px, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0);
    }

    100% {
        transform: translate3d(0, 0, 0) scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(0);
    }
}

@keyframes servicesslide {
    0% {
        transform: translateX(calc(0% + 50px));
    }

    100% {
        transform: translateX(-100%);
    }
}

.carousel-wrapper {
    overflow: hidden;
    width: 100%;
    box-sizing: border-box;
    padding-top: 3%;
    padding-bottom: 3%;
}

.carousel {
    display: flex;
    gap: 20px;
}

.carousel img {
    height: 350px;
    object-fit: contain;
    border-radius: 8px;
}

.carousel-two {
    display: flex;
    gap: 20px;
}

.carousel-two img {
    height: 350px;
    object-fit: contain;
    border-radius: 8px;
}

/* ---------- FORM CARD (dark rounded) ---------- */
.form-card {
    max-width: 1100px;
    background: #101010;
    border-radius: 28px;
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.55), 0 6px 12px rgba(0, 0, 0, 0.45);
    overflow: hidden;
}

/* left / right columns */
.left-card {
    background: transparent;
    color: #fff;
    min-height: 100%;
}

.right-card {
    background: transparent;
    color: #fff;
}

/* small badge */
.badge-small {
    display: inline-block;
    border: 1px solid rgba(90, 230, 140, 0.15);
    color: #6fe6a5;
    padding: 6px 12px;
    border-radius: 22px;
    font-size: 0.85rem;
    margin-bottom: 18px;
    font-family: var(--font-display);
}

/* title */
.form-title {
    font-size: 38px;
    line-height: 1.05;
    margin: 0 0 18px;
    font-family: var(--font-display);
    font-weight: 700;
    color: #fff;
}

.form-title .playfair.highlight {
    display: block;
    font-family: var(--font-serif);
    font-style: italic;
    font-size: 44px;
    color: #ffffff;
}

.at-no-cost {
    display: block;
    font-family: var(--font-serif);
    font-style: italic;
    color: #f4f1ee;
    font-size: 20px;
    margin-top: 6px;
}

/* benefits */
.form-benefits li {
    opacity: 0.95;
    margin-bottom: 10px;
    font-family: var(--font-display);
    font-size: 15px;
}

/* profile */
.profile-img {
    width: 112px;
    height: 112px;
    object-fit: cover;
    border-radius: 18px;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.5);
}

.profile-name {
    font-weight: 700;
    font-size: 18px;
    margin-bottom: 2px;
}

.profile-role {
    font-size: 13px;
    opacity: 0.75;
}

/* contact small link */
.book-call {
    display: inline-block;
    margin-top: 6px;
    color: #caa6ff;
    text-decoration: none;
    font-weight: 600;
}

/* FORM fields (dark) */
.form-label {
    display: block;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 8px;
}

.form-control.dark {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.06);
    padding: 14px 16px;
    border-radius: 10px;
    color: #e7e7e7;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.02);
}

.form-control.dark::placeholder {
    color: rgba(255, 255, 255, 0.35);
}

/* budget grid */
.budget-grid {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.budget-btn {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.08);
    padding: 10px 16px;
    border-radius: 10px;
    color: #fff;
    font-weight: 600;
    cursor: pointer;
    transition: all .18s ease;
}

.budget-btn:hover {
    transform: translateY(-3px);
}

.budget-btn.active {
    background: linear-gradient(90deg, #8b5cf6, #7c3aed);
    border-color: transparent;
    box-shadow: 0 6px 18px rgba(124, 58, 237, 0.28);
}

/* textarea */
textarea.textarea {
    resize: vertical;
    min-height: 110px;
}

/* CTA */
.btn-cta {
    background: linear-gradient(90deg, #7c3aed 0%, #8b5cf6 100%);
    border: none;
    color: #fff;
    padding: 12px 24px;
    border-radius: 12px;
    font-weight: 700;
    box-shadow: 0 10px 30px rgba(124, 58, 237, 0.18);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}

.btn-cta .arrow {
    font-size: 18px;
    margin-left: 6px;
}


.guranted-c-block {
    border: .0625rem solid gray;
    background-color: var(--success--50);
    border-radius: 4.375rem;
    margin-top: 30px;
    padding: 1rem 2rem;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 3rem -.75rem #0f172a1a;
}

.guranted-text-block.g-animate {
    flex-flow: row;
}

.g-animate {
    animation: gtext 30s infinite linear;
}

.guranted-text-block {
    grid-column-gap: .3125rem;
    grid-row-gap: .3125rem;
    display: flex;
}

@keyframes gtext {
    0% {
        transform: translateX(calc(0% + 50px));
    }

    100% {
        transform: translateX(-100%);
    }
}

.guranted-text-of {
    color: #000;
    letter-spacing: .03rem;
    text-transform: capitalize;
    white-space: nowrap;
    word-break: normal;
    flex: none;
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 150%;
}


.g-right-shade.is-contant-cta {
    background-image: linear-gradient(90deg, #d8ff84 42%, #fbfaf600);
    max-width: 30rem;
}

.g-right-shade {
    background-image: linear-gradient(90deg, #d8ff84 18%, #fbfaf600);
    width: 100%;
    max-width: 15rem;
    height: 100%;
    position: absolute;
    inset: 0% auto 0% 0%;
}


.g-right-shade.is-right.is-contact-cta {
    max-width: 30rem;
}

.g-right-shade.is-right {
    background-image: linear-gradient(270deg, #d8ff84 18%, #fbfaf600);
    inset: 0% 0% 0% auto;
}

.g-right-shade {
    background-image: linear-gradient(90deg, #d8ff84 18%, #fbfaf600);
    width: 100%;
    max-width: 15rem;
    height: 100%;
    position: absolute;
    inset: 0% auto 0% 0%;
}

.cta-orgonizer-image-block.is-absulute {
    justify-content: flex-start;
    align-items: center;
    display: flex;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1.125rem;
}

.cta-orgonizer-image-block {
    max-width: 11.5625rem;
}

.cta-orgonizer-image-block.is-absulute {
    justify-content: flex-start;
    align-items: center;
    display: flex;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 1.125rem;
}

.cta-orgonizer-image-block {
    max-width: 11.5625rem;
}

.cta-orgonizer-image-block.is-absulute IMG {
    max-width: 170px;
}


section.main-form {
    background: #fff !important;
}

/* Subscribe / follow section */
.subscribe-section {
    background: #fff;
    /* light background like screenshot */
    padding: 48px 0 70px;
    font-family: var(--font-display, "Red Hat Display"), system-ui, sans-serif;
    color: #fff;
}

/* centered paragraph */
.subscribe-copy {
    max-width: 820px;
    margin: 0 auto 22px;
    font-size: 18px;
    line-height: 1.6;
    opacity: .95;
    color: #fff;
    font-weight: 600;
}

.social-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 30px;
}

.social-pill {
    background: #efefef;
    width: 44px;
    height: 44px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: 0.2s ease;
    color: #111;
}

.social-pill i {
    font-size: 18px;
}

.social-pill:hover {
    background: #e2e2e2;
    transform: translateY(-4px);
}


/* subscribe form row */
.subscribe-form {
    margin-top: 6px;
}

.input-row {
    display: flex;
    gap: 16px;
    justify-content: center;
    align-items: center;
    max-width: 760px;
    margin: 0 auto;
}

/* input with icon */
.input-with-icon {
    display: flex;
    align-items: center;
    background: #fff;
    border: 1px solid #e5e5e5;
    padding: 10px 12px;
    border-radius: 10px;
    min-width: 360px;
    flex: 1 1 360px;
    box-shadow: none;
}

.mail-icon {
    margin-right: 10px;
    stroke: #bdbdbd;
    opacity: .95;
}

/* email input */
.subscribe-input {
    border: none;
    outline: none;
    font-size: 15px;
    padding: 8px 6px;
    width: 100%;
    font-family: inherit;
    color: #333;
}

/* subscribe button (purple gradient) */
.subscribe-btn {
    background: linear-gradient(90deg, #7c3aed 0%, #8b5cf6 100%);
    border: none;
    color: #fff;
    font-weight: 700;
    padding: 12px 22px;
    border-radius: 10px;
    min-width: 160px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    box-shadow: 0 12px 30px rgba(124, 58, 237, 0.18);
}

.subscribe-btn .arrow {
    font-size: 18px;
    margin-left: 4px;
}

/* a11y: visually-hidden label utility */
.sr-only {
    position: absolute !important;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.hoverable-items {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

section.hoverable-counter {
    background: url(../images/bg-hoverable.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.hoverable-items {
    padding: 60px;
    position: relative;
    z-index: 111;
}

.hoverable-items h2 {
    font-size: 15em;
    font-weight: 900;
    color: #C0C0C0;
}

.hoverable-items:before {
    content: '';
    background: #000;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    opacity: 0;
    z-index: -1;
    transition: 0.3s ease-in-out;
}

.hoverable-items:hover:before {
    opacity: 0.6;
}

.side-space {
    padding-left: 80px;
    padding-right: 80px;
}

section.our-services-sec.section-space {

    position: relative;
    padding-left: 80px;
    padding-right: 80px;
}

.service-boxes-wrapper {
    padding-top: 5%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.service-boxes {
    border: 2px solid #EFEFEF;
    padding: 30px;
    position: relative;
    z-index: 12;
    transition: 0.3s ease-in-out;
}

.service-boxes a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 450px;
    text-decoration: none;
    color: #000;
}

.service-boxes:hover .below-handle h2 {
    color: #B2EA00 !important;
}

.below-handle h2 {
    font-size: 48px;
}

.service-boxes:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: 0.3s ease-in-out;
    filter: brightness(0.2);
}

/* Row 1 */
.service-boxes-wrapper .row:nth-child(1) .col-lg-4:nth-child(1) .service-boxes:before {
    background-image: url(../images/ui-ux.jpg);
}

.service-boxes-wrapper .row:nth-child(1) .col-lg-4:nth-child(2) .service-boxes:before {
    background-image: url(../images/seo.jpg);
}

.service-boxes-wrapper .row:nth-child(1) .col-lg-4:nth-child(3) .service-boxes:before {
    background-image: url(../images/webapp.jpg);
}

/* Row 2 */
.service-boxes-wrapper .row:nth-child(2) .col-lg-4:nth-child(1) .service-boxes:before {
    background-image: url(../images/business-dev.jpg);
}

.service-boxes-wrapper .row:nth-child(2) .col-lg-4:nth-child(2) .service-boxes:before {
    background-image: url(../images/dmarketing.webp);
}

.service-boxes-wrapper .row:nth-child(2) .col-lg-4:nth-child(3) .service-boxes:before {
    background-image: url(../images/ad-manage.webp);
}





.service-boxes:hover:before {
    opacity: 1;
}

.service-boxes:hover .upper-info-handle {
    color: #fff;
}

.service-boxes:hover .upper-info-handle img {
    filter: invert(81%) sepia(47%) saturate(930%) hue-rotate(20deg) brightness(98%) contrast(101%);
}

.service-boxes:hover .below-handle h2,
.service-boxes:hover .below-handle p {
    color: #fff;
}

.upper-info-handle {
    display: flex;
    justify-content: space-between;
}

/*Footer CSS*/

/* FOOTER WITH VIDEO GLOBE */
.footer-with-globe {
    position: relative;
    color: #eee;
    font-family: var(--font-display, "Red Hat Display"), system-ui, sans-serif;
    overflow: visible;
    background: #000;
}

/* video container */
.footer-video-wrap {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 700px;
    /* video visible height - adjust as needed */
    z-index: 0;
    overflow: hidden;
}

.footer-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.footer-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(6, 8, 15, 0.15) 30%, rgba(6, 8, 15, 0.88) 70%);
    /* subtle darken */
    z-index: 1;
}

/* content sits on top of video */
.footer-content {
    position: relative;
    z-index: 2;
    padding-top: 500px;
    /* pushes content down so pills sit on globe */
    padding-bottom: 48px;
    color: #e7e7e7;
}

/* LOCATION PILL GRID */
.location-pills {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 28px;
}

.pills-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: repeat(4, 1fr);
    max-width: 1040px;
    width: 100%;
    justify-items: center;
}

.pill {
    background: rgba(34, 122, 173, 0.14);
    /* blue translucent */
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    padding: 12px 14px;
    min-width: 180px;
    text-align: center;
    backdrop-filter: blur(4px);
    color: #dff2ff;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
    transition: transform .18s ease, box-shadow .18s ease;
    font-size: 13px;
    line-height: 1.3;
}

.pill strong {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
    color: #fff;
}

.pill small {
    display: block;
    opacity: 0.95;
    color: rgba(235, 245, 255, 0.85);
}

/* hover lift */
.pill:hover {
    transform: translateY(-6px);
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.45);
}

/* responsive: fewer columns on smaller */
@media (max-width: 1200px) {
    .pills-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 850px) {
    .pills-grid {
        grid-template-columns: repeat(2, 1fr);
        max-width: 620px;
    }

    .footer-content {
        padding-top: 220px;
    }
}

@media (max-width: 480px) {
    .pills-grid {
        grid-template-columns: repeat(1, 1fr);
        max-width: 360px;
        padding: 0 16px;
    }

    .footer-content {
        padding-top: 180px;
    }
}

/* footer columns */
.footer-columns {
    margin-top: 24px;
    padding-top: 28px;
    padding-bottom: 28px;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
}

.footer-columns h5 {
    color: #fff;
    font-size: 14px;
    margin-bottom: 12px;
    font-weight: 700;
}

.footer-links {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-links li {
    margin: 10px 0;
}

.footer-links a {
    color: rgba(230, 230, 230, 0.85);
    text-decoration: none;
    font-size: 14px;
    opacity: 0.95;
}

.footer-links a:hover {
    color: #fff;
    text-decoration: underline;
}

/* partner logos row */
.footer-logos {
    margin-top: 18px;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
    padding-top: 22px;
    padding-bottom: 22px;
}

.footer-logos .logo-set {
    display: flex;
    gap: 32px;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.footer-logos img {
    height: 28px;
    opacity: 0.95;
    display: block;
}

.footer-logos img[alt="Google"] {
    height: 22px;
}

/* bottom bar */
.footer-bottom {
    background: #050505;
    border-top: 1px solid rgba(255, 255, 255, 0.03);
    padding: 18px 0;
    color: rgba(255, 255, 255, 0.65);
    font-size: 13px;
}

.footer-bottom a {
    color: rgba(255, 255, 255, 0.6);
    text-decoration: none;
}

.footer-bottom a:hover {
    color: #fff;
}

/* back to top button */
.back-to-top {
    position: fixed;
    right: 22px;
    bottom: 18px;
    z-index: 9999;
    background: #B2EA00;
    color: #fff;
    width: 44px;
    height: 44px;
    border-radius: 22px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 10px 30px rgba(124, 58, 237, 0.18);
    font-size: 14px;
}

body:not(.elementor-editor-active) .vamtam-sticky-header.vamtam-sticky-header--transparent-header {
    position: relative;
    top: 0;
}

h2.form-title {
    color: #fff !important;
}

label.form-label {
    color: #fff;
}

/* Form Popup Styles */
.gtv-popup-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    backdrop-filter: blur(4px);
    z-index: 99999;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.gtv-popup-overlay.active {
    display: flex;
    opacity: 1;
}

.gtv-popup-content {
    background: #1a1a1a;
    border: 1px solid #333;
    border-radius: 16px;
    padding: 40px;
    max-width: 500px;
    width: 90%;
    text-align: center;
    position: relative;
    transform: scale(0.8);
    transition: transform 0.3s ease;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

.gtv-popup-overlay.active .gtv-popup-content {
    transform: scale(1);
}

.gtv-popup-close {
    position: absolute;
    top: 15px;
    right: 15px;
    background: transparent;
    border: none;
    font-size: 32px;
    color: #888;
    cursor: pointer;
    line-height: 1;
    transition: color 0.2s;
    padding: 0;
    width: 32px;
    height: 32px;
}

.gtv-popup-close:hover {
    color: #cfeb00;
}

.gtv-popup-icon {
    margin-bottom: 20px;
}

.gtv-icon-success,
.gtv-icon-error {
    display: none;
    margin: 0 auto;
}

.gtv-popup-overlay.success .gtv-icon-success {
    display: block;
    animation: popIn 0.4s ease;
}

.gtv-popup-overlay.error .gtv-icon-error {
    display: block;
    animation: shake 0.4s ease;
}

.gtv-popup-title {
    font-size: 24px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 12px;
    font-family: 'Red Hat Display', sans-serif;
}

.gtv-popup-message {
    font-size: 16px;
    color: #aaa;
    line-height: 1.6;
    margin: 0;
}

/* Budget button selection state */
.budget-btn.selected {
    background: #cfeb00;
    color: #000;
    border-color: #cfeb00;
}

/* Animations */
@keyframes popIn {
    0% {
        transform: scale(0);
        opacity: 0;
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes shake {
    0%, 100% { transform: translateX(0); }
    25% { transform: translateX(-10px); }
    75% { transform: translateX(10px); }
}

/* Loading state for buttons */
.button.loading {
    pointer-events: none;
    opacity: 0.7;
}

.button.loading .button__text::after {
    content: '...';
    animation: dots 1.5s infinite;
}

@keyframes dots {
    0%, 20% { content: '.'; }
    40% { content: '..'; }
    60%, 100% { content: '...'; }
}

/* small screens */
@media (max-width: 767.98px) {
    .footer-columns .col-md-3 {
        flex: 0 0 50%;
        max-width: 50%;
        margin-bottom: 18px;
    }

    .footer-logos .logo-set {
        gap: 20px;
    }
}



/* responsive adjustments */
@media (max-width: 992px) {
    .middle-video {
        width: 520px;
        /* Increased from 340px */
        height: 320px;
        /* Increased from 260px */
    }

    .left-col,
    .right-col {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 576px) {
    .zig-offset {
        margin-top: 0;
        /* remove offset on mobile */
    }

    .middle-video {
        width: 340px;
        /* Increased from 260px */
        height: 240px;
        /* Increased from 200px */
        border-radius: 999px;
    }

    .left-info,
    .right-buttons {
        font-size: 14px;
    }
}

/* MOBILE MENU HIDDEN BY DEFAULT */
.mobile-menu {
    display: none;
    background: #000;
    padding: 20px;
}

.mobile-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.mobile-menu ul li {
    list-style: none;
    margin: 15px 0;
}

.mobile-menu ul li a {
    color: #fff;
    font-size: 18px;
    text-decoration: none;
}

/* HAMBURGER */
.hamburger {
    background: none;
    border: none;
    font-size: 28px;
    color: #000;
}

/* Desktop Menu Styling */
.main-menu-list li a {
    text-decoration: none;
    color: #000;
}

/* RESPONSIVE IMAGE */
.main-logo img {
    width: 130px;
}

/* Optional: Smooth dropdown */
.mobile-menu.show {
    display: block;
    animation: fadeDown 0.2s ease-in-out;
}

@keyframes fadeDown {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* responsive */

@media(max-width:600px) {

    .img-bind img {
        width: 100px;
    }

    img.ball {
        left: 80%;
        top: 0;
    }

    img.laptop-tab {
        top: 0;
        width: 20%;
        left: -5%;
    }

    img.cubic {
        display: none;
    }

    .img-bind {
        height: 100px !important;
    }

    .banner-heading {
        font-size: 40px;
        line-height: 55px;
    }

    .badge-wrapper img {
        width: 110px;
        object-fit: contain;
    }

    img.arrow {
        left: 0;
        width: 10%;
    }

    img.ring {
        width: 10%;
        display: none;
    }

    section.hero-banner .row {
        min-height: 70vh;
    }

    .section-space-hero {
        padding-left: 15px;
        padding-right: 15px;
    }

    .design-banner-wrap img {
        width: 100%;
    }

    .left-info.main-info {
        text-align: center;
    }

    .right-heading-wraps {
        text-align: center;
    }

    .section-space {
        padding-right: 20px !important;
        padding-left: 20px !important;
    }

    .service-boxes {
        margin-bottom: 20px;
    }

    .services-slide-text {
        font-size: 5em;
    }

    .hoverable-items {
        min-height: 50vh;
    }

    .hoverable-items h2 {
        font-size: 10em;
        text-align: center;
    }

    section.zig-zag .row {
        gap: 50px;
    }

    .middle-video-wrapper {
        top: 10%;
    }

    .middle-video-wrapper {
        position: relative;
    }

    section.video-expand-section {
        height: 50vh;
    }

    section.our-services-sec {
        padding-top: 150%;
    }
    
    .service-boxes a {
    min-height: 350px;
}

.service-boxes .below-handle h2 {
    font-size: 32px;
}
.each-bottom h2 {
    font-size: 1.5em;
}
.industry-stack {
    padding-bottom: 100px;
}

.contact-form .row.gx-3.mb-4 {
    flex-direction: column;
    gap: 25px;
}

.contact-form label {
    color: #fff;
}

.cta-orgonizer-image-block.is-absulute IMG {
    max-width: 100px;
}

.guranted-text-of {
    font-size: 16px;
}

.subscribe-section .input-row {
    flex-direction:column;
}

.input-with-icon {
    max-height: 100px;
}

.footer-video-wrap {
    height: 480px;
}
}