:root {
    --gd-bg: #0b0d0b;
    --gd-bg2: #121511;
    --gd-panel: #171a16;
    --gd-line: #2a2d29;
    --gd-text: #f7f7f3;
    --gd-muted: #a8ada5;
    --gd-accent: #F9BC05;
    --gd-black: #090a09;
    --gd-radius: 22px;
    --gd-shadow: 0 20px 60px rgba(0, 0, 0, .26)
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    background: var(--gd-bg);
    color: var(--gd-text);
    font-family: Inter, Arial, sans-serif;
    overflow-x: hidden
}

body,
button,
input,
textarea,
select {
    font-family: Inter, Arial, sans-serif
}

a {
    color: inherit
}

img {
    max-width: 100%;
    height: auto
}

.gd-container {
    width: min(1200px, calc(100% - 40px));
    margin-inline: auto
}

.gd-topbar {
    background: #0f110f;
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    font-size: 13px;
    color: #c9cdc6
}

.gd-topbar-inner {
    min-height: 34px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px
}

.gd-topbar-inner>div {
    display: flex;
    gap: 24px
}

.gd-topbar a {
    text-decoration: none;
    color: #fff
}

.gd-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(11, 13, 11, .93);
    backdrop-filter: blur(15px);
    border-bottom: 1px solid rgba(255, 255, 255, .07)
}

.gd-header-inner {
    height: 82px;
    display: flex;
    align-items: center;
    gap: 28px
}

.gd-logo {
    display: flex;
    align-items: center;
    width: 190px;
    flex: 0 0 auto
}

.gd-logo img {
    width: 100%;
    display: block
}

.gd-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-left: auto
}

.gd-nav>a,
.gd-nav-dropdown>button {
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    background: none;
    border: 0;
    cursor: pointer;
    padding: 28px 0
}

.gd-nav>a:hover,
.gd-nav-dropdown>button:hover {
    color: var(--gd-accent)
}

.gd-nav-dropdown {
    position: relative
}

.gd-mega {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: 68px;
    width: min(1000px, 88vw);
    padding: 26px;
    background: #121511;
    border: 1px solid #2c302a;
    border-radius: 22px;
    box-shadow: var(--gd-shadow);
    grid-template-columns: repeat(3, 1fr);
    gap: 24px
}

.gd-nav-dropdown:hover .gd-mega,
.gd-nav-dropdown.open .gd-mega {
    display: grid
}

.gd-mega>div {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.gd-mega strong {
    font: 700 16px Manrope;
    margin-bottom: 5px;
    color: #fff
}

.gd-mega a {
    text-decoration: none;
    color: #aeb4ab;
    font-size: 13px
}

.gd-mega a:hover {
    color: var(--gd-accent)
}

.gd-header-cta,
.gd-pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    border: 0;
    background: var(--gd-accent);
    color: #090a09 !important;
    font-weight: 800;
    padding: 12px 15px 12px 20px;
    border-radius: 999px;
    cursor: pointer
}

.gd-header-cta span,
.gd-pill b {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #fff;
    font-size: 18px
}

.gd-menu-toggle {
    display: none;
    margin-left: auto;
    border: 1px solid #343833;
    background: #171a16;
    color: #fff;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    font-size: 22px
}

main {
    min-height: 50vh
}

.elementor {
    --e-global-color-0ffd2d2: #F9BC05;
    --e-global-color-4124454: #fff;
    --e-global-color-c94a8f9: #000;
    --e-global-color-primary: #F9BC05;
    --e-global-color-secondary: #fff;
    --e-global-color-text: #b7bbb5;
    --e-global-typography-primary-font-family: "Manrope";
    --e-global-typography-primary-font-weight: 700;
    --e-global-typography-text-font-family: "Inter";
    --e-global-typography-text-font-weight: 400
}

.elementor .e-con {
    display: var(--display, flex);
    flex-direction: var(--flex-direction, column);
    flex-wrap: var(--flex-wrap, nowrap);
    justify-content: var(--justify-content, normal);
    align-items: var(--align-items, normal);
    gap: var(--gap, 0);
    width: 100%;
    max-width: var(--width, 100%);
    margin: var(--margin-top, 0) var(--margin-right, auto) var(--margin-bottom, 0) var(--margin-left, auto);
    padding: var(--padding-top, 0) var(--padding-right, 0) var(--padding-bottom, 0) var(--padding-left, 0)
}

.elementor .elementor-widget {
    max-width: 100%
}

.elementor .elementor-widget-container {
    max-width: 100%
}

.elementor h1,
.elementor h2,
.elementor h3,
.elementor h4,
.elementor h5,
.elementor h6 {
    font-family: Manrope, Inter, sans-serif;
    margin-top: 0
}

.elementor p {
    line-height: 1.7
}

.elementor a {
    text-decoration: none
}

.elementor img {
    display: block
}

.elementor .elementor-button {
    background: var(--gd-accent);
    color: #0b0d0b;
    border-radius: 999px;
    font-weight: 700;
    padding: 12px 20px;
    text-decoration: none
}

.elementor-icon-list-items {
    list-style: none;
    margin: 0;
    padding: 0
}

.elementor-icon-list-item>a,
.elementor-icon-list-item {
    display: flex;
    align-items: center;
    gap: 10px
}

.elementor-icon-list-icon {
    display: inline-flex
}

.gd-icon-char {
    display: inline-grid;
    place-items: center;
    min-width: 1em;
    font-style: normal;
    font-weight: 800
}

.gd-icon-img {
    display: block;
    width: 1em;
    height: 1em;
    object-fit: contain
}

.jeg-elementor-kit.jkit-button .jkit-button-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 12px
}

.jeg-elementor-kit.jkit-button .jkit-button-wrapper img {
    width: 38px;
    height: 38px
}

.gd-why {
    display: grid;
    grid-template-columns: .9fr 1.1fr;
    gap: 55px;
    padding: 90px 0
}

.gd-why-copy>span,
.gd-team-intro>span {
    color: var(--gd-accent);
    font-weight: 700
}

.gd-why-copy h2,
.gd-team-intro h2 {
    font: 800 clamp(34px, 4vw, 58px)/1.05 Manrope;
    margin: 16px 0
}

.gd-why-copy p,
.gd-team-intro p {
    color: var(--gd-muted);
    line-height: 1.8
}

.gd-why-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px
}

.gd-why-card {
    background: #151815;
    border: 1px solid #2b2f29;
    border-radius: 24px;
    padding: 28px;
    min-height: 230px
}

.gd-why-card h3 {
    font: 700 20px Manrope
}

.gd-why-card p {
    color: #aeb4ac
}

.gd-why-icon {
    width: 58px;
    height: 58px;
    border-radius: 16px;
    display: grid;
    place-items: center;
    background: var(--gd-accent);
    color: #000;
    margin-bottom: 30px;
    font-size: 24px
}

.gd-logo-marquee {
    overflow: hidden;
    padding: 20px 0
}

.gd-logo-track {
    display: flex;
    align-items: center;
    width: max-content;
    gap: 50px;
    animation: gdMarquee 24s linear infinite
}

.gd-logo-track img {
    width: 160px;
    height: 80px;
    object-fit: contain;
    filter: grayscale(1);
    opacity: .82
}

.gd-logo-track:hover {
    animation-play-state: paused
}

@keyframes gdMarquee {
    to {
        transform: translateX(-50%)
    }
}

.gd-testimonial-card {
    background: #151815;
    border: 1px solid #2b2f29;
    border-radius: 22px;
    padding: 24px;
    min-width: 320px
}

.gd-testimonial-head {
    display: flex;
    align-items: center;
    gap: 12px
}

.gd-testimonial-head img {
    width: 54px;
    height: 54px;
    border-radius: 50%;
    object-fit: cover
}

.gd-testimonial-head h3 {
    margin: 0;
    font-size: 18px
}

.gd-testimonial-head p {
    margin: 3px 0 0;
    color: var(--gd-muted);
    font-size: 13px
}

.gd-stars {
    color: var(--gd-accent);
    letter-spacing: 2px;
    margin: 18px 0
}

.gd-testimonial-card blockquote {
    margin: 0;
    color: #d6dad4;
    line-height: 1.7
}

.gd-carousel {
    display: flex;
    gap: 20px;
    overflow: auto;
    scroll-snap-type: x mandatory;
    padding-bottom: 10px;
    scrollbar-width: none
}

.gd-carousel>* {
    scroll-snap-align: start
}

.gd-team-widget {
    display: grid;
    grid-template-columns: .8fr 1.2fr;
    gap: 48px
}

.gd-team-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px
}

.gd-team-card {
    background: #151815;
    border: 1px solid #2a2e28;
    border-radius: 22px;
    overflow: hidden;
    padding-bottom: 22px
}

.gd-team-card img {
    aspect-ratio: 4/5;
    object-fit: cover;
    width: 100%
}

.gd-team-card h3,
.gd-team-card p,
.gd-team-social {
    padding: 0 18px
}

.gd-team-card h3 {
    margin: 18px 0 6px
}

.gd-team-card p {
    margin: 0;
    color: var(--gd-muted)
}

.gd-team-social {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px
}

.gd-team-social a {
    font-size: 11px;
    color: var(--gd-accent)
}

.gd-form-grid,
.elementor-form-fields-wrapper {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px
}

.elementor-field-group {
    display: flex;
    flex-direction: column;
    gap: 7px
}

.elementor-field-group label {
    font-size: 13px;
    color: #c8cdc6
}

.elementor-field-group input,
.elementor-field-group textarea,
.elementor-field-group select,
.gd-form-grid input,
.gd-form-grid textarea,
.gd-form-grid select {
    width: 100%;
    background: #171a17;
    border: 1px solid #343832;
    border-radius: 13px;
    padding: 14px 16px;
    color: #fff;
    outline: none
}

.elementor-field-group textarea,
.gd-form-grid textarea {
    min-height: 135px;
    resize: vertical
}

.elementor-field-group input:focus,
.elementor-field-group textarea:focus,
.elementor-field-group select:focus,
.gd-form-grid input:focus,
.gd-form-grid textarea:focus {
    border-color: var(--gd-accent)
}

.elementor-field-type-textarea,
.elementor-field-type-select,
.elementor-form-fields-wrapper>.elementor-field-group:last-of-type {
    grid-column: 1/-1
}

.gd-hp {
    position: absolute !important;
    left: -9999px !important
}

.gd-form-status {
    grid-column: 1/-1;
    font-size: 14px;
    min-height: 20px
}

.gd-form-status.success {
    color: #a7f3a0
}

.gd-form-status.error {
    color: #ff9090
}

.gd-contact-extra {
    padding: 90px 0;
    background: #101310
}

.gd-contact-extra h2 {
    font: 800 46px Manrope
}

.gd-blog-section {
    padding: 40px 0 100px
}

.gd-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px
}

.gd-blog-card {
    background: #141714;
    border: 1px solid #292d27;
    border-radius: 24px;
    overflow: hidden
}

.gd-blog-image {
    display: block
}

.gd-blog-image img {
    width: 100%;
    aspect-ratio: 16/10;
    object-fit: cover
}

.gd-blog-body {
    padding: 22px
}

.gd-blog-date {
    font-size: 12px;
    color: var(--gd-accent);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .08em
}

.gd-blog-card h3 {
    font: 700 22px/1.25 Manrope;
    margin: 10px 0
}

.gd-blog-card h3 a {
    text-decoration: none
}

.gd-blog-card p {
    color: var(--gd-muted);
    line-height: 1.7
}

.gd-text-link,
.gd-back-link {
    color: var(--gd-accent);
    font-weight: 700;
    text-decoration: none
}

.gd-empty {
    padding: 30px;
    border: 1px dashed #3a3f38;
    border-radius: 18px;
    color: #b7bdb4
}

.gd-single-blog {
    padding: 90px 0
}

.gd-blog-narrow {
    max-width: 900px
}

.gd-single-blog h1 {
    font: 800 clamp(38px, 5vw, 68px)/1.08 Manrope;
    margin: 18px 0 30px
}

.gd-single-featured {
    width: 100%;
    border-radius: 24px;
    margin: 20px 0 35px
}

.gd-richtext {
    font-size: 17px;
    line-height: 1.9;
    color: #d6dad4
}

.gd-richtext h2,
.gd-richtext h3 {
    font-family: Manrope;
    color: #fff;
    margin-top: 1.8em
}

.gd-richtext img {
    border-radius: 18px
}

.gd-not-found {
    padding: 130px 0;
    text-align: center
}

.gd-not-found span {
    font: 800 90px Manrope;
    color: var(--gd-accent)
}

.gd-not-found h1 {
    font: 800 50px Manrope
}

.gd-footer {
    background: #0d0f0d;
    border-top: 1px solid #272b25;
    padding: 70px 0 25px
}

.gd-footer-grid {
    display: grid;
    grid-template-columns: 1.4fr .8fr .9fr 1.2fr;
    gap: 45px
}

.gd-footer-brand img {
    width: 220px;
    margin-bottom: 20px
}

.gd-footer p {
    color: #9ea49c;
    line-height: 1.7
}

.gd-footer h3 {
    font: 700 18px Manrope;
    margin-top: 0
}

.gd-footer-grid>div>a {
    display: block;
    text-decoration: none;
    color: #aeb4ac;
    margin: 10px 0
}

.gd-footer-grid>div>a:hover {
    color: var(--gd-accent)
}

.gd-socials {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.gd-socials a {
    font-size: 12px;
    color: var(--gd-accent);
    text-decoration: none
}

.gd-footer-bottom {
    border-top: 1px solid #242822;
    margin-top: 45px;
    padding-top: 22px;
    display: flex;
    justify-content: space-between;
    gap: 25px;
    color: #838981;
    font-size: 13px
}

.gd-footer-bottom a {
    text-decoration: none;
    color: #aeb4ac
}

@media(max-width:1100px) {
    .gd-header-cta {
        display: none
    }

    .gd-nav {
        gap: 17px
    }

    .gd-nav>a,
    .gd-nav-dropdown>button {
        font-size: 13px
    }

    .gd-blog-grid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(max-width:900px) {
    .gd-topbar {
        display: none
    }

    .gd-header-inner {
        height: 72px
    }

    .gd-logo {
        width: 165px
    }

    .gd-menu-toggle {
        display: block
    }

    .gd-nav {
        display: none;
        position: absolute;
        left: 20px;
        right: 20px;
        top: 76px;
        background: #121511;
        border: 1px solid #30342e;
        border-radius: 18px;
        padding: 16px;
        box-shadow: var(--gd-shadow);
        flex-direction: column;
        align-items: stretch;
        gap: 0
    }

    .gd-nav.open {
        display: flex
    }

    .gd-nav>a,
    .gd-nav-dropdown>button {
        display: block;
        width: 100%;
        text-align: left;
        padding: 12px 8px
    }

    .gd-nav-dropdown:hover .gd-mega {
        display: none
    }

    .gd-nav-dropdown.open .gd-mega {
        display: grid;
        position: static;
        transform: none;
        width: 100%;
        grid-template-columns: 1fr 1fr;
        margin-top: 6px
    }

    .gd-why,
    .gd-team-widget {
        grid-template-columns: 1fr
    }

    .gd-team-grid {
        grid-template-columns: repeat(3, 1fr)
    }

    .gd-footer-grid {
        grid-template-columns: 1fr 1fr
    }
}

@media(max-width:767px) {
    .gd-container {
        width: min(100% - 24px, 1200px)
    }

    .gd-mega {
        grid-template-columns: 1fr !important;
        max-height: 65vh;
        overflow: auto
    }

    .gd-why-grid,
    .gd-team-grid,
    .gd-blog-grid {
        grid-template-columns: 1fr
    }

    .gd-form-grid,
    .elementor-form-fields-wrapper {
        grid-template-columns: 1fr
    }

    .elementor-field-type-textarea,
    .elementor-field-type-select,
    .elementor-form-fields-wrapper>.elementor-field-group:last-of-type {
        grid-column: auto
    }

    .gd-footer-grid {
        grid-template-columns: 1fr
    }

    .gd-footer-bottom {
        flex-direction: column
    }

    .gd-testimonial-card {
        min-width: 88vw
    }
}

/* Elementor migration helpers */
.elementor-element[style*="--display:grid"] {
    display: grid !important
}

.elementor .e-con[style*="--display:grid"] {
    display: grid !important
}

.elementor .elementor-widget-text-editor p:last-child {
    margin-bottom: 0
}

.elementor .elementor-heading-title a {
    color: inherit
}

.elementor .elementor-icon-box-wrapper,
.elementor .elementor-image-box-wrapper {
    display: flex;
    gap: 20px
}

.elementor .elementor-image-box-img {
    margin: 0;
    flex: 0 0 auto
}

.elementor .elementor-image-box-img img {
    max-width: 120px
}

/* =====================================================
   GAPSOE HOME - REMOVE EXCESSIVE 200PX TOP/BOTTOM GAP
   ===================================================== */

/* HERO */
.elementor-15 [data-id="1a51da1"] {
    --padding-top: 55px !important;
    --padding-bottom: 55px !important;
    --padding-left: 0px !important;
    --padding-right: 0px !important;

    padding-top: 55px !important;
    padding-bottom: 55px !important;
}

/* hero inner container */
.elementor-15 [data-id="b13d8f6"] {
    --padding-top: 0px !important;
    --padding-bottom: 0px !important;

    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* remove accidental top gap from main */
main {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.elementor-15 {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

/* first Elementor section */
.elementor-15>.e-con:first-child {
    margin-top: 0 !important;
}

/* ==========================================
   TABLET
   ========================================== */

@media (max-width:1024px) {

    .elementor-15 [data-id="1a51da1"] {
        --padding-top: 45px !important;
        --padding-bottom: 45px !important;

        padding-top: 45px !important;
        padding-bottom: 45px !important;
    }

}

/* ==========================================
   MOBILE
   ========================================== */

@media (max-width:767px) {

    .elementor-15 [data-id="1a51da1"] {
        --padding-top: 32px !important;
        --padding-bottom: 40px !important;
        --padding-left: 0px !important;
        --padding-right: 0px !important;

        padding-top: 32px !important;
        padding-bottom: 40px !important;
    }

}

/* ==========================================================
   GAPSOE HOME — HERO / BANNER FINAL PROFESSIONAL UI
   Only Section: data-id="1a51da1"
   ========================================================== */

/* ---------- HERO ROOT ---------- */

.elementor-15 [data-id="1a51da1"] {
    --padding-top: 72px !important;
    --padding-right: 0px !important;
    --padding-bottom: 76px !important;
    --padding-left: 0px !important;

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

    padding: 72px 0 76px !important;
    margin: 0 !important;

    overflow: hidden !important;
    isolation: isolate;

    background-color: #050605;
}

/* Keep your original wave background visible,
   but make text area more readable */
.elementor-15 [data-id="1a51da1"]::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;

    background:
        radial-gradient(circle at 78% 48%,
            rgba(249, 188, 5, .08) 0,
            rgba(249, 188, 5, .025) 26%,
            transparent 48%),
        linear-gradient(90deg,
            rgba(3, 4, 3, .30) 0%,
            rgba(3, 4, 3, .06) 48%,
            rgba(3, 4, 3, .16) 100%);
}

.elementor-15 [data-id="1a51da1"]>* {
    position: relative;
    z-index: 2;
}

/* ---------- MAIN WIDTH ---------- */

.elementor-15 [data-id="b13d8f6"] {
    width: 100% !important;
    max-width: none !important;

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

.elementor-15 [data-id="b13d8f6"]>.e-con-inner {
    width: min(1240px, calc(100% - 64px)) !important;
    max-width: 1240px !important;

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

    display: grid !important;
    grid-template-columns:
        minmax(0, 1.03fr) minmax(430px, .97fr) !important;

    align-items: center !important;
    justify-content: normal !important;

    gap: 72px !important;
}

/* ==========================================================
   LEFT CONTENT
   ========================================================== */

.elementor-15 [data-id="a254dc3"] {
    width: 100% !important;
    max-width: 680px !important;

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

    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: center !important;

    gap: 0 !important;
}

/* EYEBROW */

.elementor-15 [data-id="4ef701c"] {
    width: auto !important;
    margin: 0 0 18px !important;
}

.elementor-15 [data-id="4ef701c"] .elementor-heading-title {
    margin: 0 !important;

    color: #F9BC05 !important;

    font-size: 14px !important;
    line-height: 1.3 !important;

    font-weight: 800 !important;

    letter-spacing: .025em !important;
}

/* MAIN TITLE */

.elementor-15 [data-id="16a8cbe"] {
    width: 100% !important;
    max-width: 680px !important;

    margin: 0 !important;
}

.elementor-15 [data-id="16a8cbe"] .elementor-heading-title {
    margin: 0 !important;

    max-width: 670px;

    font-family: Manrope, Inter, Arial, sans-serif !important;

    font-size: clamp(48px, 4.55vw, 68px) !important;
    line-height: .99 !important;

    letter-spacing: -2.6px !important;

    font-weight: 800 !important;

    color: #fff !important;

    text-wrap: balance;
}

/* ==========================================================
   PHONE CTA
   ========================================================== */

.elementor-15 [data-id="ab97312"] {
    width: auto !important;

    margin: 30px 0 0 !important;
    padding: 0 !important;
}

.elementor-15 [data-id="90d265e"] {
    width: auto !important;
}

.elementor-15 [data-id="90d265e"] .elementor-icon-list-items {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-15 [data-id="90d265e"] .elementor-icon-list-item {
    margin: 0 !important;
}

.elementor-15 [data-id="90d265e"] .elementor-icon-list-item a {
    display: inline-flex !important;
    align-items: center !important;

    gap: 11px !important;

    padding: 8px 16px 8px 8px !important;

    background: rgba(255, 255, 255, .055);

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

    border-radius: 999px;

    color: #fff !important;

    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 750 !important;

    transition:
        transform .25s ease,
        border-color .25s ease,
        background .25s ease;
}

.elementor-15 [data-id="90d265e"] .elementor-icon-list-item a:hover {
    transform: translateY(-2px);

    background: rgba(249, 188, 5, .08);

    border-color: rgba(249, 188, 5, .55);
}

.elementor-15 [data-id="90d265e"] .elementor-icon-list-icon {
    flex: 0 0 38px;

    width: 38px !important;
    height: 38px !important;

    display: grid !important;
    place-items: center !important;

    margin: 0 !important;

    border-radius: 50%;

    background: #F9BC05;

    color: #050605 !important;
}

.elementor-15 [data-id="90d265e"] .elementor-icon-list-icon i {
    color: #050605 !important;
    font-size: 16px !important;
}

/* ==========================================================
   FEATURE PILLS
   ========================================================== */

.elementor-15 [data-id="8d1edff"] {
    width: 100% !important;

    margin: 24px 0 0 !important;
    padding: 0 !important;

    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;

    align-items: center !important;

    gap: 12px !important;
}

.elementor-15 [data-id="8d1edff"]>.elementor-widget {
    width: auto !important;
    max-width: none !important;

    margin: 0 !important;
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-items {
    margin: 0 !important;
    padding: 0 !important;
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-item {
    display: flex !important;
    align-items: center !important;

    gap: 9px !important;

    padding: 9px 13px !important;

    margin: 0 !important;

    background: rgba(255, 255, 255, .04);

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

    border-radius: 999px;
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-icon {
    width: 18px;
    height: 18px;

    flex: 0 0 18px;

    display: grid !important;
    place-items: center !important;
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-icon svg {
    display: block !important;

    width: 16px !important;
    height: 16px !important;

    fill: #F9BC05 !important;
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-text {
    color: #eef0ec !important;

    font-size: 13px !important;
    line-height: 1.2 !important;

    font-weight: 650 !important;

    white-space: nowrap;
}

/* ==========================================================
   RIGHT VISUAL
   ========================================================== */

.elementor-15 [data-id="7c51e9f"] {
    position: relative !important;

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

    height: 530px !important;
    min-height: 530px !important;

    justify-self: end !important;

    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;

    margin: 0 !important;
    padding: 18px !important;

    overflow: visible !important;

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

    border-radius: 28px;

    background:
        linear-gradient(145deg,
            rgba(255, 255, 255, .055),
            rgba(255, 255, 255, .012));

    box-shadow:
        0 28px 90px rgba(0, 0, 0, .38),
        inset 0 1px rgba(255, 255, 255, .05);

    backdrop-filter: blur(4px);
}

/* subtle yellow light */

.elementor-15 [data-id="7c51e9f"]::before {
    content: "";

    position: absolute;

    width: 270px;
    height: 270px;

    top: 10%;
    right: -10%;

    border-radius: 50%;

    background: rgba(249, 188, 5, .10);

    filter: blur(90px);

    pointer-events: none;
}

/* image */

.elementor-15 [data-id="a49562a"] {
    position: relative;

    z-index: 2;

    width: 100% !important;
    height: 100% !important;

    margin: 0 !important;
}

.elementor-15 [data-id="a49562a"] .elementor-widget-container {
    width: 100% !important;
    height: 100% !important;
}

.elementor-15 [data-id="a49562a"] img {
    display: block !important;

    width: 100% !important;
    height: 100% !important;

    margin: 0 auto !important;

    object-fit: contain !important;
    object-position: center bottom !important;

    filter:
        drop-shadow(0 24px 28px rgba(0, 0, 0, .25));
}

/* ==========================================================
   TRUSTED B2B FLOATING CARD
   ========================================================== */

.elementor-15 [data-id="5cfb74e"] {
    position: absolute !important;

    top: 46% !important;
    left: -95px !important;

    transform: translateY(-50%) !important;

    width: 220px !important;
    max-width: 220px !important;

    height: auto !important;

    z-index: 10 !important;

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

.elementor-15 [data-id="b301d60"] {
    width: 100% !important;

    margin: 0 !important;
    padding: 16px 18px !important;

    background:
        linear-gradient(135deg,
            rgba(35, 37, 34, .96),
            rgba(22, 24, 22, .90));

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

    border-radius: 14px;

    box-shadow:
        0 20px 55px rgba(0, 0, 0, .40);

    backdrop-filter: blur(12px);
}

.elementor-15 [data-id="b301d60"] .elementor-icon-list-item {
    display: flex !important;

    align-items: center !important;

    gap: 12px !important;
}

.elementor-15 [data-id="b301d60"] .elementor-icon-list-icon {
    flex: 0 0 36px;

    width: 36px;
    height: 36px;

    display: grid !important;
    place-items: center !important;

    border-radius: 10px;

    background: #F9BC05;

    color: #050605 !important;
}

.elementor-15 [data-id="b301d60"] .elementor-icon-list-icon i {
    color: #050605 !important;
    font-size: 17px !important;
}

.elementor-15 [data-id="b301d60"] .elementor-icon-list-text {
    color: #fff !important;

    font-size: 14px !important;
    line-height: 1.28 !important;

    font-weight: 750 !important;
}

/* ==========================================================
   LAPTOP
   ========================================================== */

@media (max-width:1199px) {

    .elementor-15 [data-id="b13d8f6"]>.e-con-inner {
        width: min(1080px, calc(100% - 48px)) !important;

        grid-template-columns:
            minmax(0, 1fr) minmax(390px, .88fr) !important;

        gap: 48px !important;
    }

    .elementor-15 [data-id="16a8cbe"] .elementor-heading-title {
        font-size: 54px !important;
    }

    .elementor-15 [data-id="7c51e9f"] {
        height: 480px !important;
        min-height: 480px !important;
    }

    .elementor-15 [data-id="5cfb74e"] {
        left: -60px !important;

        width: 195px !important;
        max-width: 195px !important;
    }
}

/* ==========================================================
   TABLET
   ========================================================== */

@media (max-width:1024px) {

    .elementor-15 [data-id="1a51da1"] {
        --padding-top: 58px !important;
        --padding-bottom: 64px !important;

        padding: 58px 0 64px !important;
    }

    .elementor-15 [data-id="b13d8f6"]>.e-con-inner {
        width: calc(100% - 40px) !important;

        grid-template-columns:
            minmax(0, 1fr) 360px !important;

        gap: 34px !important;
    }

    .elementor-15 [data-id="16a8cbe"] .elementor-heading-title {
        font-size: 46px !important;

        letter-spacing: -1.8px !important;
    }

    .elementor-15 [data-id="7c51e9f"] {
        width: 100% !important;

        height: 430px !important;
        min-height: 430px !important;

        padding: 14px !important;

        border-radius: 22px;
    }

    .elementor-15 [data-id="5cfb74e"] {
        left: -35px !important;

        width: 175px !important;
        max-width: 175px !important;
    }

    .elementor-15 [data-id="b301d60"] {
        padding: 13px !important;
    }

    .elementor-15 [data-id="b301d60"] .elementor-icon-list-text {
        font-size: 12px !important;
    }

    .elementor-15 [data-id="8d1edff"] {
        gap: 8px !important;
    }

    .elementor-15 [data-id="8d1edff"] .elementor-icon-list-item {
        padding: 8px 10px !important;
    }

    .elementor-15 [data-id="8d1edff"] .elementor-icon-list-text {
        font-size: 11px !important;
    }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width:767px) {

    .elementor-15 [data-id="1a51da1"] {
        --padding-top: 40px !important;
        --padding-bottom: 48px !important;

        padding: 40px 0 48px !important;
    }

    .elementor-15 [data-id="b13d8f6"]>.e-con-inner {
        width: calc(100% - 28px) !important;
        max-width: none !important;

        display: flex !important;
        flex-direction: column !important;

        gap: 38px !important;

        align-items: stretch !important;
    }

    /* text side */

    .elementor-15 [data-id="a254dc3"] {
        max-width: 100% !important;

        align-items: flex-start !important;
    }

    .elementor-15 [data-id="4ef701c"] {
        margin-bottom: 13px !important;
    }

    .elementor-15 [data-id="4ef701c"] .elementor-heading-title {
        font-size: 12px !important;
    }

    .elementor-15 [data-id="16a8cbe"] {
        max-width: 100% !important;
    }

    .elementor-15 [data-id="16a8cbe"] .elementor-heading-title {
        max-width: 550px;

        font-size:
            clamp(37px,
                10.4vw,
                50px) !important;

        line-height: 1.02 !important;

        letter-spacing: -1.6px !important;
    }

    /* phone */

    .elementor-15 [data-id="ab97312"] {
        margin-top: 23px !important;
    }

    .elementor-15 [data-id="90d265e"] .elementor-icon-list-item a {
        font-size: 14px !important;

        padding-right: 14px !important;
    }

    /* feature chips */

    .elementor-15 [data-id="8d1edff"] {
        margin-top: 17px !important;

        gap: 8px !important;
    }

    .elementor-15 [data-id="8d1edff"] .elementor-icon-list-item {
        padding: 8px 10px !important;
    }

    .elementor-15 [data-id="8d1edff"] .elementor-icon-list-text {
        white-space: normal;

        font-size: 11px !important;
    }

    /* image */

    .elementor-15 [data-id="7c51e9f"] {
        justify-self: auto !important;

        width: min(100%, 520px) !important;

        height: 460px !important;
        min-height: 460px !important;

        margin: 0 auto !important;

        padding: 12px !important;

        border-radius: 22px;
    }

    /* trust card moves inside image */

    .elementor-15 [data-id="5cfb74e"] {
        top: 24px !important;
        left: 20px !important;

        transform: none !important;

        width: 175px !important;
        max-width: 175px !important;
    }
}

/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media (max-width:480px) {

    .elementor-15 [data-id="1a51da1"] {
        padding: 32px 0 42px !important;

        --padding-top: 32px !important;
        --padding-bottom: 42px !important;
    }

    .elementor-15 [data-id="b13d8f6"]>.e-con-inner {
        width: calc(100% - 24px) !important;

        gap: 30px !important;
    }

    .elementor-15 [data-id="16a8cbe"] .elementor-heading-title {
        font-size:
            clamp(34px,
                10.5vw,
                42px) !important;

        letter-spacing: -1.25px !important;
    }

    .elementor-15 [data-id="90d265e"] .elementor-icon-list-icon {
        width: 34px !important;
        height: 34px !important;

        flex-basis: 34px;
    }

    .elementor-15 [data-id="8d1edff"] {
        flex-direction: column !important;

        align-items: flex-start !important;
    }

    .elementor-15 [data-id="8d1edff"]>.elementor-widget {
        width: 100% !important;
    }

    .elementor-15 [data-id="8d1edff"] .elementor-icon-list-item {
        width: 100%;

        border-radius: 12px;
    }

    .elementor-15 [data-id="7c51e9f"] {
        height: 390px !important;
        min-height: 390px !important;

        border-radius: 18px;
    }

    .elementor-15 [data-id="5cfb74e"] {
        top: 14px !important;
        left: 14px !important;

        width: 160px !important;
        max-width: 160px !important;
    }

    .elementor-15 [data-id="b301d60"] {
        padding: 11px !important;
    }

    .elementor-15 [data-id="b301d60"] .elementor-icon-list-icon {
        width: 31px;
        height: 31px;

        flex-basis: 31px;
    }

    .elementor-15 [data-id="b301d60"] .elementor-icon-list-text {
        font-size: 11px !important;
    }
}

/* ==========================================================
   GAPSOE HERO — FINAL POLISHED OVERRIDE
   ========================================================== */

/* ===== HERO OVERALL ===== */

.elementor-15 [data-id="1a51da1"] {
    --padding-top: 64px !important;
    --padding-bottom: 72px !important;

    padding: 64px 0 72px !important;

    min-height: 650px;

    display: flex !important;
    align-items: center !important;

    background-position: center center !important;
    background-size: cover !important;
}

/* dark readable overlay */
.elementor-15 [data-id="1a51da1"]::after {
    background:
        linear-gradient(90deg,
            rgba(0, 0, 0, .34) 0%,
            rgba(0, 0, 0, .08) 48%,
            rgba(0, 0, 0, .15) 100%),
        radial-gradient(circle at 72% 44%,
            rgba(249, 188, 5, .07),
            transparent 34%) !important;
}

/* ===== MAIN GRID ===== */

.elementor-15 [data-id="b13d8f6"]>.e-con-inner {
    width: min(1240px, calc(100% - 72px)) !important;
    max-width: 1240px !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr) minmax(440px, .91fr) !important;

    gap: 78px !important;

    align-items: center !important;
}

/* ==========================================================
   LEFT
   ========================================================== */

.elementor-15 [data-id="a254dc3"] {
    max-width: 650px !important;
}

/* eyebrow */

.elementor-15 [data-id="4ef701c"] {
    position: relative;
    padding-left: 18px !important;
}

.elementor-15 [data-id="4ef701c"]::before {
    content: "";
    position: absolute;

    width: 7px;
    height: 7px;

    left: 0;
    top: 50%;

    transform: translateY(-50%);

    border-radius: 50%;

    background: #F9BC05;

    box-shadow:
        0 0 0 5px rgba(249, 188, 5, .10);
}

.elementor-15 [data-id="4ef701c"] .elementor-heading-title {
    font-size: 13px !important;
    font-weight: 800 !important;

    letter-spacing: .03em !important;

    color: #F9BC05 !important;
}

/* title */

.elementor-15 [data-id="16a8cbe"] {
    max-width: 640px !important;
}

.elementor-15 [data-id="16a8cbe"] .elementor-heading-title {
    font-size: clamp(50px, 4.5vw, 66px) !important;

    line-height: 1.015 !important;

    letter-spacing: -2.6px !important;

    font-weight: 800 !important;

    color: #fff !important;
}

/* ==========================================================
   PHONE CTA
   ========================================================== */

.elementor-15 [data-id="ab97312"] {
    margin-top: 30px !important;
}

.elementor-15 [data-id="90d265e"] .elementor-icon-list-item a {
    min-height: 52px;

    display: inline-flex !important;
    align-items: center !important;

    gap: 12px !important;

    padding:
        6px 18px 6px 6px !important;

    background:
        linear-gradient(180deg,
            rgba(255, 255, 255, .075),
            rgba(255, 255, 255, .035));

    border:
        1px solid rgba(249, 188, 5, .30);

    border-radius: 999px;

    box-shadow:
        0 10px 30px rgba(0, 0, 0, .16);

    transition:
        transform .25s ease,
        border-color .25s ease,
        background .25s ease;
}

.elementor-15 [data-id="90d265e"] .elementor-icon-list-item a:hover {
    transform: translateY(-2px);

    border-color:
        rgba(249, 188, 5, .75);

    background:
        rgba(249, 188, 5, .09);
}

.elementor-15 [data-id="90d265e"] .elementor-icon-list-text {
    color: #fff !important;

    font-size: 15px !important;

    font-weight: 750 !important;
}

/* yellow icon circle */

.elementor-15 [data-id="90d265e"] .elementor-icon-list-icon {
    width: 40px !important;
    height: 40px !important;

    min-width: 40px !important;

    display: grid !important;
    place-items: center !important;

    background: #F9BC05 !important;

    border-radius: 50% !important;
}

/* REMOVE MISSING JKI FONT ICON */

.elementor-15 [data-id="90d265e"] .elementor-icon-list-icon i {
    display: block !important;

    width: 18px !important;
    height: 18px !important;

    font-size: 0 !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 18px 18px !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23060706' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") !important;
}

/* ==========================================================
   FEATURE CHIPS
   ========================================================== */

.elementor-15 [data-id="8d1edff"] {
    margin-top: 23px !important;

    gap: 10px !important;
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-item {
    min-height: 39px;

    padding: 8px 13px !important;

    background:
        rgba(255, 255, 255, .045);

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

    border-radius: 999px;

    transition:
        background .2s ease,
        border-color .2s ease;
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-item:hover {
    background:
        rgba(249, 188, 5, .07);

    border-color:
        rgba(249, 188, 5, .28);
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-icon {
    width: 17px !important;
    height: 17px !important;

    flex: 0 0 17px;
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-icon svg {
    width: 17px !important;
    height: 17px !important;

    fill: #F9BC05 !important;
}

.elementor-15 [data-id="8d1edff"] .elementor-icon-list-text {
    font-size: 12px !important;

    font-weight: 650 !important;

    color: #f1f2ef !important;
}

/* ==========================================================
   RIGHT VISUAL — CLEANER
   ========================================================== */

.elementor-15 [data-id="7c51e9f"] {
    width: 100% !important;
    max-width: 520px !important;

    height: 520px !important;
    min-height: 520px !important;

    justify-self: end !important;

    padding: 20px !important;

    background:
        linear-gradient(145deg,
            rgba(255, 255, 255, .055),
            rgba(255, 255, 255, .016)) !important;

    border:
        1px solid rgba(255, 255, 255, .12) !important;

    border-radius: 28px !important;

    box-shadow:
        0 35px 90px rgba(0, 0, 0, .30),
        inset 0 1px 0 rgba(255, 255, 255, .05);

    backdrop-filter:
        blur(4px);
}

/* inner picture frame */

.elementor-15 [data-id="a49562a"] {
    overflow: hidden;

    border-radius: 17px;

    background: #050605;
}

.elementor-15 [data-id="a49562a"] img {
    width: 100% !important;
    height: 100% !important;

    object-fit: contain !important;

    object-position: center bottom !important;
}

/* ==========================================================
   TRUST CARD
   ========================================================== */

.elementor-15 [data-id="5cfb74e"] {
    top: 46% !important;

    left: -98px !important;

    width: 225px !important;
    max-width: 225px !important;
}

.elementor-15 [data-id="b301d60"] {
    min-height: 70px;

    display: flex !important;

    align-items: center !important;

    padding: 12px 15px !important;

    background:
        linear-gradient(135deg,
            rgba(35, 37, 34, .96),
            rgba(17, 19, 17, .94)) !important;

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

    border-radius: 14px !important;

    box-shadow:
        0 20px 55px rgba(0, 0, 0, .38);

    backdrop-filter: blur(15px);
}

/* trust icon box */

.elementor-15 [data-id="b301d60"] .elementor-icon-list-icon {
    width: 42px !important;
    height: 42px !important;

    min-width: 42px !important;

    display: grid !important;
    place-items: center !important;

    background: #F9BC05 !important;

    border-radius: 11px !important;
}

/* missing shield font => real SVG shield */

.elementor-15 [data-id="b301d60"] .elementor-icon-list-icon i {
    display: block !important;

    width: 20px !important;
    height: 20px !important;

    font-size: 0 !important;

    background-repeat: no-repeat !important;
    background-position: center !important;
    background-size: 20px 20px !important;

    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23060706' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E") !important;
}

.elementor-15 [data-id="b301d60"] .elementor-icon-list-text {
    color: #fff !important;

    font-size: 13px !important;
    line-height: 1.3 !important;

    font-weight: 750 !important;
}

/* ==========================================================
   IMAGE BOTTOM-RIGHT RATING CARD
   Existing image already contains rating graphic.
   Add visual depth without touching it.
   ========================================================== */

.elementor-15 [data-id="7c51e9f"]::after {
    content: "";

    position: absolute;

    right: -35px;
    bottom: -28px;

    width: 170px;
    height: 110px;

    z-index: -1;

    border-radius: 30px;

    background:
        rgba(249, 188, 5, .08);

    filter: blur(40px);

    pointer-events: none;
}

/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1024px) {

    .elementor-15 [data-id="1a51da1"] {
        min-height: auto;

        padding:
            52px 0 60px !important;
    }

    .elementor-15 [data-id="b13d8f6"]>.e-con-inner {
        width: calc(100% - 40px) !important;

        grid-template-columns:
            minmax(0, 1fr) 380px !important;

        gap: 38px !important;
    }

    .elementor-15 [data-id="16a8cbe"] .elementor-heading-title {
        font-size: 47px !important;
    }

    .elementor-15 [data-id="7c51e9f"] {
        height: 440px !important;
        min-height: 440px !important;

        padding: 15px !important;
    }

    .elementor-15 [data-id="5cfb74e"] {
        left: -45px !important;

        width: 185px !important;
        max-width: 185px !important;
    }

    .elementor-15 [data-id="b301d60"] {
        padding: 10px 11px !important;
    }

    .elementor-15 [data-id="b301d60"] .elementor-icon-list-icon {
        width: 36px !important;
        height: 36px !important;

        min-width: 36px !important;
    }

    .elementor-15 [data-id="b301d60"] .elementor-icon-list-text {
        font-size: 11px !important;
    }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767px) {

    .elementor-15 [data-id="1a51da1"] {
        padding:
            38px 0 48px !important;
    }

    .elementor-15 [data-id="b13d8f6"]>.e-con-inner {
        width: calc(100% - 28px) !important;

        display: flex !important;

        flex-direction:
            column !important;

        gap: 34px !important;
    }

    .elementor-15 [data-id="a254dc3"] {
        max-width: 100% !important;
    }

    .elementor-15 [data-id="16a8cbe"] .elementor-heading-title {
        font-size:
            clamp(37px,
                10vw,
                49px) !important;

        line-height: 1.025 !important;

        letter-spacing:
            -1.6px !important;
    }

    /* phone remains compact */

    .elementor-15 [data-id="90d265e"] .elementor-icon-list-item a {
        min-height: 48px;

        font-size: 13px !important;
    }

    .elementor-15 [data-id="90d265e"] .elementor-icon-list-icon {
        width: 36px !important;
        height: 36px !important;

        min-width: 36px !important;
    }

    /* feature badges */

    .elementor-15 [data-id="8d1edff"] {
        gap: 8px !important;
    }

    /* visual */

    .elementor-15 [data-id="7c51e9f"] {
        width: min(100%, 510px) !important;

        height: 460px !important;
        min-height: 460px !important;

        justify-self: auto !important;

        margin: 0 auto !important;

        padding: 13px !important;

        border-radius: 22px !important;
    }

    /* floating badge becomes inside image */

    .elementor-15 [data-id="5cfb74e"] {
        top: 20px !important;
        left: 18px !important;

        transform: none !important;

        width: 178px !important;
        max-width: 178px !important;
    }
}

/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media(max-width:480px) {

    .elementor-15 [data-id="1a51da1"] {
        padding:
            30px 0 40px !important;
    }

    .elementor-15 [data-id="b13d8f6"]>.e-con-inner {
        width: calc(100% - 24px) !important;
    }

    .elementor-15 [data-id="16a8cbe"] .elementor-heading-title {
        font-size:
            clamp(34px,
                10.4vw,
                42px) !important;
    }

    /* full-width phone CTA */

    .elementor-15 [data-id="90d265e"],
    .elementor-15 [data-id="90d265e"] .elementor-icon-list-item,
    .elementor-15 [data-id="90d265e"] .elementor-icon-list-item a {
        width: 100% !important;
    }

    .elementor-15 [data-id="8d1edff"] {
        flex-direction:
            column !important;

        align-items:
            stretch !important;
    }

    .elementor-15 [data-id="8d1edff"]>.elementor-widget {
        width: 100% !important;
    }

    .elementor-15 [data-id="8d1edff"] .elementor-icon-list-item {
        width: 100%;

        border-radius: 12px;
    }

    .elementor-15 [data-id="7c51e9f"] {
        height: 390px !important;
        min-height: 390px !important;
    }

    .elementor-15 [data-id="5cfb74e"] {
        top: 13px !important;
        left: 13px !important;

        width: 166px !important;
        max-width: 166px !important;
    }
}
/* ==========================================================
   GAPSOE DIGITAL
   COMPLETE HOME PAGE PREMIUM UI
   ========================================================== */

:root{
    --gd-yellow:#f9bc05;
    --gd-yellow-2:#ffd242;
    --gd-bg:#050605;
    --gd-bg-2:#080a08;
    --gd-surface:#0e110e;
    --gd-card:#121512;
    --gd-card-2:#171a17;
    --gd-line:rgba(255,255,255,.09);
    --gd-line-2:rgba(255,255,255,.14);
    --gd-text:#ffffff;
    --gd-muted:#9ea59d;
    --gd-muted-2:#c6cbc4;
    --gd-container:1220px;
    --gd-radius:22px;
    --gd-radius-sm:14px;
    --gd-shadow:0 30px 80px rgba(0,0,0,.32);
}

/* ==========================================================
   GLOBAL HOME RESET
   ========================================================== */

html,
body{
    margin:0;
    padding:0;
    max-width:100%;
    overflow-x:hidden;
}

body{
    background:var(--gd-bg);
    color:var(--gd-text);
}

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

.elementor-15{
    width:100%;
    max-width:100%;
    overflow:hidden;
    background:var(--gd-bg);
}

.elementor-15 .elementor-element,
.elementor-15 .elementor-widget,
.elementor-15 .elementor-widget-container{
    min-width:0;
    max-width:100%;
}

.elementor-15 img{
    max-width:100%;
    height:auto;
}

.elementor-15 h1,
.elementor-15 h2,
.elementor-15 h3,
.elementor-15 h4,
.elementor-15 h5{
    margin-top:0;
    color:#fff;
    font-family:Manrope,Inter,Arial,sans-serif;
}

.elementor-15 p{
    color:var(--gd-muted);
}

.elementor-15 a{
    text-decoration:none;
}

/* reliable boxed container */

.elementor-15 .e-con-boxed > .e-con-inner{
    width:min(var(--gd-container),calc(100% - 48px)) !important;
    max-width:var(--gd-container) !important;
    margin-inline:auto !important;
}

/* section label */

.elementor-15 [data-id="e9d6429"] .elementor-heading-title,
.elementor-15 [data-id="c890cba"] .elementor-heading-title,
.elementor-15 [data-id="218b5a6"] .elementor-heading-title,
.elementor-15 [data-id="3a20296"] .elementor-heading-title,
.elementor-15 [data-id="6d9467e"] .elementor-heading-title,
.elementor-15 [data-id="cdefc7b"] .elementor-heading-title{
    color:var(--gd-yellow) !important;
    font-size:13px !important;
    line-height:1.4 !important;
    font-weight:800 !important;
    letter-spacing:.04em !important;
    margin-bottom:12px !important;
}

/* large section titles */

.elementor-15 [data-id="5e83cb3"] .elementor-heading-title,
.elementor-15 [data-id="8e7302a"] .elementor-heading-title,
.elementor-15 [data-id="7a76d2e"] .elementor-heading-title,
.elementor-15 [data-id="8f9efcf"] .elementor-heading-title,
.elementor-15 [data-id="8cc6de5"] .elementor-heading-title,
.elementor-15 [data-id="04c9f56"] .elementor-heading-title{
    color:#fff !important;
    font-size:clamp(34px,3.3vw,50px) !important;
    line-height:1.08 !important;
    letter-spacing:-1.6px !important;
    font-weight:800 !important;
}

/* ==========================================================
   HERO V2
   ========================================================== */

.gd-hero-v2{
    position:relative;
    isolation:isolate;
    overflow:hidden;

    display:flex;
    align-items:center;

    min-height:660px;
    padding:68px 0 74px;

    background:#050605;
}

/*
 Use original site background if it already exists.
 Otherwise this premium background still works.
*/

.gd-hero-v2__bg{
    position:absolute;
    inset:0;
    z-index:-3;

    background:
        radial-gradient(
            circle at 74% 28%,
            rgba(249,188,5,.09),
            transparent 28%
        ),
        radial-gradient(
            circle at 12% 18%,
            rgba(249,188,5,.055),
            transparent 23%
        ),
        linear-gradient(
            135deg,
            #080a08,
            #020302 68%
        );
}

.gd-hero-v2__bg::before{
    content:"";
    position:absolute;
    inset:-20%;

    opacity:.18;

    background:
        repeating-radial-gradient(
            ellipse at 14% 48%,
            transparent 0 18px,
            rgba(255,255,255,.13) 19px 21px,
            transparent 22px 38px
        );

    transform:rotate(-8deg);
}

.gd-hero-v2::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:-2;

    background:
        linear-gradient(
            90deg,
            rgba(0,0,0,.16),
            rgba(0,0,0,.02) 55%,
            rgba(0,0,0,.14)
        );
}

.gd-hero-v2__container{
    width:min(1240px,calc(100% - 64px));
    margin-inline:auto;

    display:grid;
    grid-template-columns:minmax(0,1.03fr) minmax(420px,.97fr);
    align-items:center;

    gap:72px;
}

.gd-hero-v2__content{
    min-width:0;
    max-width:690px;
}

.gd-hero-v2__eyebrow{
    display:inline-flex;
    align-items:center;

    margin-bottom:18px;

    color:var(--gd-yellow);

    font-size:14px;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.025em;
}

.gd-hero-v2__title{
    margin:0;

    max-width:690px;

    color:#fff;

    font-family:Manrope,Inter,Arial,sans-serif;

    font-size:clamp(50px,4.65vw,68px);
    line-height:1;
    letter-spacing:-2.7px;

    font-weight:800;
}

.gd-hero-v2__cta-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:18px;

    margin-top:30px;
}

.gd-hero-v2__btn{
    min-height:54px;

    display:inline-flex;
    align-items:center;

    gap:14px;

    padding:7px 7px 7px 24px;

    color:#060706;
    background:var(--gd-yellow);

    border:1px solid var(--gd-yellow);

    border-radius:999px;

    font-size:15px;
    font-weight:800;

    box-shadow:
        0 12px 35px rgba(249,188,5,.13);

    transition:.25s ease;
}

.gd-hero-v2__btn:hover{
    transform:translateY(-2px);
    background:var(--gd-yellow-2);
}

.gd-hero-v2__btn-icon{
    width:39px;
    height:39px;

    flex:0 0 39px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:#fff;
}

.gd-hero-v2__btn-icon svg{
    width:17px;
    height:17px;
}

.gd-hero-v2__phone{
    display:inline-flex;
    align-items:center;

    gap:10px;

    color:#fff;

    font-size:16px;
    font-weight:750;
}

.gd-hero-v2__phone:hover{
    color:var(--gd-yellow);
}

.gd-hero-v2__phone-icon{
    width:28px;
    height:28px;

    display:grid;
    place-items:center;

    color:var(--gd-yellow);
}

.gd-hero-v2__phone-icon svg{
    width:24px;
    height:24px;
}

.gd-hero-v2__features{
    margin-top:27px;

    display:flex;
    align-items:center;
    flex-wrap:wrap;

    gap:12px 20px;
}

.gd-hero-v2__feature{
    display:inline-flex;
    align-items:center;

    gap:9px;

    color:#fff;

    font-size:14px;
    font-weight:700;
}

.gd-hero-v2__feature-icon{
    width:26px;
    height:26px;

    flex:0 0 26px;

    color:var(--gd-yellow);
}

.gd-hero-v2__feature-icon svg{
    width:24px;
    height:24px;
}

/* HERO IMAGE */

.gd-hero-v2__visual{
    min-width:0;

    display:flex;
    justify-content:flex-end;
}

.gd-hero-v2__visual-card{
    position:relative;

    width:100%;
    max-width:520px;

    padding:19px;

    border:1px solid rgba(255,255,255,.11);
    border-radius:28px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.055),
            rgba(255,255,255,.012)
        );

    box-shadow:
        0 35px 90px rgba(0,0,0,.35),
        inset 0 1px rgba(255,255,255,.05);
}

.gd-hero-v2__image-wrap{
    overflow:hidden;

    width:100%;

    border-radius:18px;

    background:#050605;
}

.gd-hero-v2__image-wrap img{
    display:block;

    width:100%;
    height:480px;

    object-fit:cover;
    object-position:center;
}

.gd-hero-v2__trusted{
    position:absolute;

    top:42%;
    left:-100px;

    z-index:8;

    transform:translateY(-50%);

    display:flex;
    align-items:center;

    gap:13px;

    min-width:205px;

    padding:15px 17px;

    border:1px solid rgba(255,255,255,.13);
    border-radius:15px;

    background:rgba(27,29,27,.94);

    box-shadow:
        0 20px 55px rgba(0,0,0,.42);

    backdrop-filter:blur(14px);

    color:#fff;

    font-size:13px;
    line-height:1.3;
    font-weight:750;
}

.gd-hero-v2__trusted-icon{
    width:36px;
    height:36px;

    flex:0 0 36px;

    display:grid;
    place-items:center;

    color:var(--gd-yellow);
}

.gd-hero-v2__trusted-icon svg{
    width:23px;
    height:23px;
}

.gd-hero-v2__rating{
    position:absolute;

    right:18px;
    bottom:18px;

    z-index:8;

    min-width:175px;

    padding:14px 16px;

    border:1px solid rgba(255,255,255,.08);
    border-radius:17px;

    background:rgba(4,5,4,.94);

    box-shadow:
        0 18px 45px rgba(0,0,0,.32);
}

.gd-hero-v2__avatars{
    display:flex;
    align-items:center;

    margin-bottom:9px;
}

.gd-hero-v2__avatars img{
    width:31px !important;
    height:31px !important;

    margin-left:-7px;

    border:2px solid #fff;
    border-radius:50%;

    object-fit:cover;
}

.gd-hero-v2__avatars img:first-child{
    margin-left:0;
}

.gd-hero-v2__score-row{
    display:flex;
    align-items:center;
    gap:8px;
}

.gd-hero-v2__score{
    color:#fff;
    font-size:28px;
    line-height:1;
    font-weight:800;
}

.gd-hero-v2__stars{
    color:#cce700;
    font-size:16px;
}

.gd-hero-v2__rating p{
    margin:7px 0 0;

    color:#bcc1ba;

    font-size:11px;
}

/* ==========================================================
   COMPANY INTRO
   ========================================================== */

.elementor-15 [data-id="7b428bc"]{
    padding:30px 0 20px !important;

    background:#090b09;

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

.elementor-15 [data-id="3fb2786"] .elementor-heading-title{
    text-align:center;

    color:#bfc4bd !important;

    font-size:13px !important;
    line-height:1.5 !important;

    font-weight:650 !important;

    letter-spacing:.03em;
}

.elementor-15 [data-id="d4076b4"]{
    min-height:20px !important;

    padding:0 0 20px !important;

    background:#090b09;
}

/* ==========================================================
   ABOUT GAPSOE
   ========================================================== */

.elementor-15 [data-id="8937d31"]{
    position:relative;

    padding:92px 0 !important;

    background:
        radial-gradient(
            circle at 10% 40%,
            rgba(249,188,5,.055),
            transparent 28%
        ),
        #080a08;
}

.elementor-15 [data-id="4e1e563"] > .e-con-inner{
    display:grid !important;

    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);

    gap:44px !important;

    align-items:stretch !important;
}

/* image column */

.elementor-15 [data-id="32c230b"]{
    position:relative;

    min-height:470px;

    overflow:hidden;

    border-radius:var(--gd-radius);
}

.elementor-15 [data-id="5006241"],
.elementor-15 [data-id="5006241"] .elementor-widget-container{
    height:100%;
}

.elementor-15 [data-id="5006241"] img{
    width:100% !important;
    height:100% !important;

    min-height:470px;

    object-fit:cover !important;

    transition:
        transform .65s ease;
}

.elementor-15 [data-id="32c230b"]:hover img{
    transform:scale(1.035);
}

/* badges over image */

.elementor-15 [data-id="1b94f8d"]{
    position:absolute !important;

    left:22px;
    bottom:22px;

    z-index:5;

    width:auto !important;

    display:flex !important;
    flex-direction:row !important;

    gap:8px !important;

    padding:9px !important;

    border:1px solid rgba(255,255,255,.12);
    border-radius:999px;

    background:rgba(7,8,7,.78);

    backdrop-filter:blur(10px);
}

.elementor-15 [data-id="1b94f8d"] > .elementor-widget{
    width:auto !important;
}

.elementor-15 [data-id="1b94f8d"] .elementor-icon-list-item{
    display:flex !important;
    align-items:center !important;

    gap:7px !important;

    padding:7px 10px !important;
}

.elementor-15 [data-id="1b94f8d"] svg{
    width:14px !important;
    height:14px !important;

    fill:var(--gd-yellow) !important;
}

.elementor-15 [data-id="1b94f8d"] .elementor-icon-list-text{
    color:#fff !important;

    font-size:11px !important;
    font-weight:650 !important;
}

/* about info card */

.elementor-15 [data-id="fe5ace0"]{
    position:relative;

    width:100% !important;

    padding:42px !important;

    display:flex !important;
    flex-direction:column !important;

    justify-content:center !important;

    border:1px solid var(--gd-line);
    border-radius:var(--gd-radius) !important;

    background:
        linear-gradient(
            145deg,
            #151815,
            #0c0f0c
        ) !important;

    box-shadow:var(--gd-shadow);
}

.elementor-15 [data-id="5e83cb3"]{
    max-width:560px;
}

/* counters */

.elementor-15 [data-id="f900fc1"]{
    display:grid !important;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:12px !important;

    margin-top:32px;
}

.elementor-15 [data-id="f900fc1"] > .e-con{
    width:100% !important;

    padding:22px !important;

    border:1px solid rgba(255,255,255,.08);
    border-radius:15px;

    background:rgba(255,255,255,.025);
}

.elementor-15 .elementor-counter-title{
    color:#9fa59d;

    font-size:12px;
    line-height:1.4;
}

.elementor-15 .elementor-counter-number-wrapper{
    margin-top:7px;

    color:var(--gd-yellow);

    font-family:Manrope,Inter,sans-serif;

    font-size:32px;
    line-height:1;
    font-weight:800;
}

/* hide decorative volleyball which frequently breaks */
.elementor-15 [data-id="c6f9469"]{
    display:none !important;
}

/* ==========================================================
   SERVICES
   ========================================================== */

.elementor-15 [data-id="586d1c2"]{
    padding:94px 0 100px !important;

    background:
        linear-gradient(
            180deg,
            #050605,
            #080a08
        );
}

.elementor-15 [data-id="0155326"]{
    width:100% !important;

    max-width:720px !important;

    margin-bottom:42px !important;
}

.elementor-15 [data-id="232cc15"]{
    width:100% !important;

    display:grid !important;

    grid-template-columns:repeat(3,minmax(0,1fr)) !important;

    gap:17px !important;

    align-items:stretch !important;
}

/*
 Some cards have an unnecessary Elementor outer wrapper,
 others are directly custom-service-inner.
*/

.elementor-15 [data-id="232cc15"] > .e-con{
    width:100% !important;
    max-width:none !important;

    min-width:0 !important;

    height:100%;

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

.elementor-15 .custom-service-inner{
    position:relative !important;

    width:100% !important;

    min-width:0 !important;
    min-height:275px !important;
    height:100% !important;

    padding:23px 22px 20px !important;

    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;

    overflow:hidden !important;

    border:1px solid var(--gd-line) !important;
    border-radius:17px !important;

    background:
        linear-gradient(
            145deg,
            #151815,
            #0c0f0c
        ) !important;

    box-shadow:
        0 12px 35px rgba(0,0,0,.12);

    transition:
        transform .28s ease,
        border-color .28s ease,
        box-shadow .28s ease;
}

.elementor-15 .custom-service-inner::after{
    content:"";

    position:absolute;

    right:-80px;
    bottom:-80px;

    width:170px;
    height:170px;

    border-radius:50%;

    background:
        radial-gradient(
            circle,
            rgba(249,188,5,.13),
            transparent 68%
        );

    opacity:.4;

    pointer-events:none;
}

.elementor-15 .custom-service-inner:hover{
    transform:translateY(-6px);

    border-color:
        rgba(249,188,5,.42) !important;

    box-shadow:
        0 24px 55px rgba(0,0,0,.25);
}

/* service icon */

.elementor-15 .custom-service-inner > .elementor-widget-icon{
    width:auto !important;

    margin-bottom:20px !important;
}

.elementor-15 .custom-service-inner .elementor-icon{
    width:46px !important;
    height:46px !important;

    display:grid !important;
    place-items:center !important;

    padding:11px !important;

    border:0 !important;
    border-radius:14px !important;

    color:#050605 !important;
    fill:#050605 !important;

    background:var(--gd-yellow) !important;

    transition:
        transform .3s ease;
}

.elementor-15 .custom-service-inner:hover .elementor-icon{
    transform:rotate(-5deg) scale(1.05);
}

.elementor-15 .custom-service-inner .elementor-icon svg{
    width:23px !important;
    height:23px !important;

    fill:#050605 !important;
}

/* card heading */

.elementor-15 .custom-service-inner
> .elementor-widget-heading:not(.custom-item-count):not(.custom-service-btn){
    width:100% !important;

    min-height:52px;
}

.elementor-15 .custom-service-inner
> .elementor-widget-heading:not(.custom-item-count):not(.custom-service-btn)
.elementor-heading-title{
    margin:0 !important;

    padding-right:30px;

    color:#fff !important;

    font-size:18px !important;
    line-height:1.25 !important;

    font-weight:750 !important;
}

/* list */

.elementor-15 .custom-service-list{
    width:100% !important;

    margin-top:12px !important;
    margin-bottom:18px !important;

    padding:0 !important;
}

.elementor-15 .custom-service-list
.elementor-icon-list-items{
    display:flex;

    flex-direction:column;

    gap:7px;
}

.elementor-15 .custom-service-list
.elementor-icon-list-item{
    display:flex !important;

    align-items:flex-start !important;

    gap:8px !important;
}

.elementor-15 .custom-service-list
.elementor-icon-list-icon{
    flex:0 0 10px;

    margin-top:3px;
}

.elementor-15 .custom-service-list svg{
    width:10px !important;
    height:10px !important;

    fill:var(--gd-yellow) !important;
}

.elementor-15 .custom-service-list
.elementor-icon-list-text{
    color:#aab0a8 !important;

    font-size:11px !important;
    line-height:1.5 !important;
}

/* number */

.elementor-15 .custom-item-count{
    position:absolute !important;

    top:18px !important;
    right:18px !important;

    width:auto !important;

    z-index:4;
}

.elementor-15 .custom-item-count
.elementor-heading-title{
    color:#72776f !important;

    font-size:11px !important;
    line-height:1 !important;

    font-weight:800 !important;
}

/* learn more */

.elementor-15 .custom-service-btn{
    width:auto !important;

    align-self:flex-end !important;

    margin-top:auto !important;

    z-index:4;
}

.elementor-15 .custom-service-btn
.elementor-heading-title{
    font-size:11px !important;
}

.elementor-15 .custom-service-btn a{
    display:inline-flex;

    align-items:center;

    gap:7px;

    color:#fff !important;

    font-weight:650;

    transition:.2s ease;
}

.elementor-15 .custom-service-btn a::after{
    content:"↗";

    color:var(--gd-yellow);
}

.elementor-15 .custom-service-btn a:hover{
    color:var(--gd-yellow) !important;
}

/* ==========================================================
   VIDEO
   ========================================================== */

.elementor-15 .elementor-widget-elementskit-video{
    position:relative;

    overflow:hidden;

    min-height:480px;

    display:grid;
    place-items:center;
}

.elementor-15
.elementor-widget-elementskit-video
.elementor-widget-container,
.elementor-15
.elementor-widget-elementskit-video
.ekit-wid-con,
.elementor-15
.elementor-widget-elementskit-video
.video-content{
    width:100%;
    height:100%;

    display:grid;
    place-items:center;
}

.elementor-15 .ekit-video-popup-btn{
    position:relative;

    width:78px !important;
    height:78px !important;

    display:grid !important;
    place-items:center !important;

    margin:auto !important;

    border-radius:50% !important;

    color:#060706 !important;
    background:var(--gd-yellow) !important;

    box-shadow:
        0 0 0 15px rgba(249,188,5,.10),
        0 0 0 30px rgba(249,188,5,.04);

    font-size:0;
}

.elementor-15 .ekit-video-popup-btn::after{
    content:"▶";

    transform:translateX(2px);

    font-size:20px;
    line-height:1;

    color:#060706;
}

/* ==========================================================
   CLIENT FEEDBACK MARQUEE
   ========================================================== */

.elementor-15 [data-id="3a067a4"]{
    overflow:hidden;

    border-top:1px solid rgba(255,255,255,.07);
    border-bottom:1px solid rgba(255,255,255,.07);
}

.cf-marquee-wrap{
    width:100% !important;

    overflow:hidden !important;

    padding:30px 0 !important;

    background:#0d100d !important;
}

.cf-marquee-track{
    display:flex !important;

    width:max-content;

    animation:cfMarqueeSlide 26s linear infinite !important;
}

.cf-marquee-group{
    display:flex !important;
    align-items:center;
}

.cf-marquee-group span{
    margin-right:32px !important;

    font-family:Manrope,Inter,sans-serif !important;

    font-size:clamp(30px,4vw,54px) !important;

    font-weight:800 !important;

    white-space:nowrap;

    color:transparent !important;

    -webkit-text-fill-color:transparent !important;

    -webkit-text-stroke:
        1px rgba(255,255,255,.22) !important;
}

.cf-marquee-group span:nth-child(even){
    color:var(--gd-yellow) !important;

    -webkit-text-fill-color:
        var(--gd-yellow) !important;

    -webkit-text-stroke:0 !important;

    opacity:.55;
}

/* remove random empty gap */

.elementor-15 [data-id="98f59cd"]{
    display:none !important;
}

/* ==========================================================
   WHAT CUSTOMERS / GOOGLE NEED
   ========================================================== */

.elementor-15 [data-id="4568986"]{
    padding:92px 0 35px !important;

    background:#050605;
}

.elementor-15 [data-id="4568986"] > .e-con-inner{
    text-align:center;
}

.elementor-15 [data-id="218b5a6"] .elementor-heading-title{
    text-align:center;
}

.elementor-15 [data-id="7a76d2e"]{
    max-width:760px;

    margin-inline:auto;
}

.elementor-15 [data-id="7a76d2e"] .elementor-heading-title{
    text-align:center;
}

/* huge website banner */

.elementor-15 [data-id="fdb1da3"]{
    padding:0 0 90px !important;

    background:#050605;
}

.elementor-15 [data-id="fdb1da3"] > .e-con-inner{
    overflow:hidden;

    border:1px solid var(--gd-line);

    border-radius:24px;

    background:#0d100d;

    box-shadow:
        0 30px 70px rgba(0,0,0,.28);
}

.elementor-15 [data-id="5994cc0"] img{
    display:block;

    width:100% !important;
    height:auto !important;

    transition:
        transform .7s ease;
}

.elementor-15 [data-id="fdb1da3"]:hover img{
    transform:scale(1.018);
}

/* ==========================================================
   EVERYTHING WEBSITE NEEDS
   ========================================================== */

.elementor-15 [data-id="9ddc3c2"]{
    padding:92px 0 !important;

    background:
        radial-gradient(
            circle at 85% 20%,
            rgba(249,188,5,.05),
            transparent 28%
        ),
        #080a08;
}

.elementor-15 [data-id="9ddc3c2"] > .e-con-inner{
    display:grid !important;

    grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);

    gap:60px !important;

    align-items:start !important;
}

.elementor-15 [data-id="2dabb5c"]{
    position:sticky;

    top:120px;

    width:100% !important;
}

.elementor-15 [data-id="85403d4"]{
    width:100% !important;

    padding:34px !important;

    border:1px solid var(--gd-line);
    border-radius:20px !important;

    background:
        linear-gradient(
            145deg,
            #151815,
            #0e110e
        ) !important;

    box-shadow:
        0 25px 65px rgba(0,0,0,.22);
}

.elementor-15 [data-id="7d765ef"]{
    padding-bottom:20px;

    margin-bottom:20px !important;

    border-bottom:1px solid rgba(255,255,255,.08);
}

.elementor-15 [data-id="7d765ef"]
.elementor-heading-title{
    margin:0 !important;

    color:#fff !important;

    font-size:18px !important;
    font-weight:750 !important;
}

.elementor-15 [data-id="ca3016f"]{
    display:grid !important;

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

    gap:10px 22px !important;

    width:100% !important;
}

.elementor-15 [data-id="ca3016f"] > .e-con{
    width:100% !important;

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

.elementor-15 [data-id="ca3016f"]
.elementor-icon-list-item{
    display:flex !important;

    align-items:flex-start !important;

    gap:9px !important;

    padding:9px 0;
}

.elementor-15 [data-id="ca3016f"]
.elementor-icon-list-icon{
    flex:0 0 18px;

    width:18px;
    height:18px;

    margin-top:1px;

    display:grid;
    place-items:center;

    border-radius:50%;

    background:
        rgba(249,188,5,.12);
}

.elementor-15 [data-id="ca3016f"]
.elementor-icon-list-icon svg{
    width:9px !important;
    height:9px !important;

    fill:var(--gd-yellow) !important;
}

.elementor-15 [data-id="ca3016f"]
.elementor-icon-list-text{
    color:#c3c8c1 !important;

    font-size:12px !important;
    line-height:1.5 !important;
}

/* ==========================================================
   PORTFOLIO
   ========================================================== */

.elementor-15 [data-id="2e91a5a"]{
    padding:94px 0 36px !important;

    background:#050605;
}

.elementor-15 [data-id="4231805"]{
    max-width:680px !important;
}

.elementor-15 [data-id="72cf8d8"]{
    display:none !important;
}

.elementor-15 [data-id="906ccdd"]{
    padding:0 0 100px !important;

    background:#050605;
}

.elementor-15 [data-id="a932bc2"]{
    width:100% !important;
}

.elementor-15 [data-id="a932bc2"]
.swiper,
.elementor-15 [data-id="a932bc2"]
.e-n-carousel{
    width:100% !important;

    overflow:hidden !important;

    padding:8px 2px 44px;
}

.elementor-15 [data-id="a932bc2"]
.swiper-wrapper{
    align-items:stretch !important;
}

.elementor-15 [data-id="a932bc2"]
.swiper-slide{
    height:auto !important;
}

.elementor-15 [data-id="a932bc2"]
.swiper-slide > .e-con,
.elementor-15 .custom-transition-card{
    height:100% !important;

    overflow:hidden;

    border:1px solid var(--gd-line) !important;
    border-radius:20px !important;

    background:
        linear-gradient(
            145deg,
            #151815,
            #0c0f0c
        ) !important;

    transition:
        transform .28s ease,
        border-color .28s ease;
}

.elementor-15 [data-id="a932bc2"]
.swiper-slide:hover > .e-con,
.elementor-15 .custom-transition-card:hover{
    transform:translateY(-5px);

    border-color:
        rgba(249,188,5,.4) !important;
}

/* carousel navigation */

.elementor-15 .elementor-swiper-button,
.elementor-15 .swiper-button-prev,
.elementor-15 .swiper-button-next{
    width:42px !important;
    height:42px !important;

    min-width:42px !important;
    min-height:42px !important;

    display:grid !important;
    place-items:center !important;

    color:#050605 !important;
    background:var(--gd-yellow) !important;

    border-radius:50% !important;
}

.elementor-15 .swiper-pagination-bullet{
    width:7px;
    height:7px;

    background:#62675f !important;

    opacity:1;
}

.elementor-15 .swiper-pagination-bullet-active{
    width:22px;

    border-radius:999px;

    background:var(--gd-yellow) !important;
}

/* ==========================================================
   CUSTOM TESTIMONIALS
   ========================================================== */

.gd-carousel{
    display:flex;

    gap:18px;

    overflow-x:auto;

    padding:4px 0 14px;

    scroll-snap-type:x mandatory;

    scrollbar-width:none;
}

.gd-carousel::-webkit-scrollbar{
    display:none;
}

.gd-testimonial-card{
    flex:0 0 calc(33.333% - 12px);

    min-width:0;

    padding:25px;

    scroll-snap-align:start;

    border:1px solid var(--gd-line);
    border-radius:20px;

    background:
        linear-gradient(
            145deg,
            #151815,
            #0d100d
        );

    box-shadow:
        0 18px 45px rgba(0,0,0,.16);
}

.gd-testimonial-head{
    display:flex;
    align-items:center;

    gap:12px;
}

.gd-testimonial-head img{
    width:50px !important;
    height:50px !important;

    border-radius:50%;

    object-fit:cover;
}

.gd-testimonial-card blockquote{
    margin:0;

    color:#d1d5cf;

    font-size:14px;
    line-height:1.7;
}

.gd-stars{
    margin:16px 0;

    color:var(--gd-yellow);
}

/* ==========================================================
   TEAM
   ========================================================== */

.gd-team-widget{
    width:min(var(--gd-container),calc(100% - 48px));

    margin:0 auto;

    display:grid;

    grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);

    align-items:start;

    gap:48px;

    padding:95px 0;
}

.gd-team-grid{
    display:grid;

    grid-template-columns:repeat(3,minmax(0,1fr));

    gap:17px;
}

.gd-team-card{
    position:relative;

    min-width:0;

    overflow:hidden;

    padding-bottom:20px;

    border:1px solid var(--gd-line);
    border-radius:20px;

    background:#121512;

    transition:
        transform .3s ease,
        border-color .3s ease;
}

.gd-team-card:hover{
    transform:translateY(-6px);

    border-color:
        rgba(249,188,5,.38);
}

.gd-team-card img{
    display:block;

    width:100%;

    aspect-ratio:4/4.5;

    object-fit:cover;

    transition:
        transform .5s ease;
}

.gd-team-card:hover img{
    transform:scale(1.035);
}

.gd-team-card h3{
    margin:17px 18px 5px;

    color:#fff;

    font-family:Manrope,Inter,sans-serif;

    font-size:17px;
    font-weight:750;
}

.gd-team-card p{
    margin:0 18px;

    color:#929990;

    font-size:12px;
}

.gd-team-social{
    display:flex;
    flex-wrap:wrap;

    gap:7px;

    margin:12px 18px 0;
}

.gd-team-social a{
    display:inline-flex;

    padding:5px 9px;

    border:1px solid rgba(255,255,255,.08);
    border-radius:999px;

    color:var(--gd-yellow);

    font-size:10px;
}

/* ==========================================================
   CONTACT / DROP US A LINE
   ========================================================== */

.elementor-15 [data-id="d546b99"]{
    display:none !important;
}

.elementor-15 [data-id="4a9fc58"]{
    padding:96px 0 !important;

    background:
        radial-gradient(
            circle at 15% 25%,
            rgba(249,188,5,.06),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #080a08,
            #040504
        );
}

.elementor-15 [data-id="12c15b3"] > .e-con-inner{
    display:grid !important;

    grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);

    gap:36px !important;

    align-items:stretch !important;
}

/* contact image side */

.elementor-15 [data-id="ff2552b"]{
    width:100% !important;
}

.elementor-15 [data-id="0ac38ab"]{
    max-width:630px;

    margin-bottom:25px;
}

.elementor-15 [data-id="c00589d"]{
    overflow:hidden;

    border:1px solid var(--gd-line);
    border-radius:20px;
}

.elementor-15 [data-id="5284461"] img{
    width:100% !important;

    min-height:360px;

    object-fit:cover !important;

    transition:
        transform .6s ease;
}

.elementor-15 [data-id="c00589d"]:hover img{
    transform:scale(1.035);
}

/* form card */

.elementor-15 [data-id="ac19749"]{
    width:100% !important;

    padding:34px !important;

    border:1px solid var(--gd-line);
    border-radius:20px !important;

    background:
        linear-gradient(
            145deg,
            #151815,
            #0d100d
        ) !important;

    box-shadow:
        0 28px 75px rgba(0,0,0,.25);
}

.elementor-15 [data-id="2c460f2"]{
    margin-bottom:24px !important;
}

.elementor-15 [data-id="2c460f2"]
.elementor-heading-title{
    margin:0 !important;

    color:#fff !important;

    font-size:30px !important;
    line-height:1.1 !important;

    font-weight:800 !important;
}

/* IMPORTANT Elementor form override */

.elementor-15
.elementor-form-fields-wrapper{
    width:100% !important;

    display:grid !important;

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

    gap:13px !important;
}

.elementor-15
.elementor-field-group{
    width:100% !important;
    max-width:100% !important;

    display:flex !important;
    flex-direction:column !important;

    align-items:stretch !important;

    gap:7px !important;
}

.elementor-15
.elementor-field-group label{
    color:#c7ccc5 !important;

    font-size:11px !important;
    font-weight:650;
}

.elementor-15
.elementor-field-group input,
.elementor-15
.elementor-field-group textarea,
.elementor-15
.elementor-field-group select{
    width:100% !important;
    max-width:100% !important;

    margin:0 !important;

    padding:12px 14px !important;

    color:#fff !important;

    background:#181b18 !important;

    border:1px solid rgba(255,255,255,.11) !important;
    border-radius:10px !important;

    outline:0 !important;

    box-shadow:none !important;

    transition:
        border-color .2s ease,
        background .2s ease;
}

.elementor-15
.elementor-field-group input{
    min-height:46px !important;
}

.elementor-15
.elementor-field-group textarea{
    min-height:120px !important;

    resize:vertical;
}

.elementor-15
.elementor-field-group input:focus,
.elementor-15
.elementor-field-group textarea:focus,
.elementor-15
.elementor-field-group select:focus{
    border-color:
        rgba(249,188,5,.8) !important;

    background:#1b1e1b !important;
}

.elementor-15
.elementor-field-type-textarea,
.elementor-15
.elementor-field-type-select,
.elementor-15
.elementor-field-type-submit{
    grid-column:1/-1 !important;
}

.elementor-15
.elementor-field-type-submit
.elementor-button{
    width:100% !important;

    min-height:48px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    border:0 !important;
    border-radius:10px !important;

    color:#050605 !important;
    background:var(--gd-yellow) !important;

    font-size:13px !important;
    font-weight:800 !important;

    cursor:pointer;

    transition:
        transform .2s ease,
        background .2s ease;
}

.elementor-15
.elementor-field-type-submit
.elementor-button:hover{
    transform:translateY(-2px);

    background:var(--gd-yellow-2) !important;
}

.gd-hp{
    position:absolute !important;
    left:-9999px !important;
}

/* ==========================================================
   GENERAL HOVER / VISIBILITY SAFETY
   ========================================================== */

.elementor-15 .elementor-invisible{
    visibility:visible !important;
    opacity:1 !important;
}

.elementor-15 .swiper,
.elementor-15 .swiper-wrapper,
.elementor-15 .swiper-slide{
    max-width:100%;
}

/* ==========================================================
   LAPTOP
   ========================================================== */

@media(max-width:1199px){

    .elementor-15
    .e-con-boxed > .e-con-inner{
        width:min(1080px,calc(100% - 42px)) !important;
    }

    .gd-hero-v2__container{
        width:min(1080px,calc(100% - 48px));

        grid-template-columns:
            minmax(0,1fr)
            minmax(390px,.9fr);

        gap:48px;
    }

    .gd-hero-v2__title{
        font-size:55px;
    }

    .gd-hero-v2__visual-card{
        max-width:470px;
    }

    .gd-hero-v2__image-wrap img{
        height:440px;
    }

    .gd-hero-v2__trusted{
        left:-55px;
    }

    .elementor-15
    [data-id="232cc15"]{
        grid-template-columns:
            repeat(3,minmax(0,1fr))
            !important;
    }
}

/* ==========================================================
   TABLET
   ========================================================== */

@media(max-width:1024px){

    .elementor-15
    .e-con-boxed > .e-con-inner{
        width:calc(100% - 36px) !important;
    }

    /* hero */

    .gd-hero-v2{
        min-height:auto;

        padding:56px 0;
    }

    .gd-hero-v2__container{
        width:calc(100% - 36px);

        grid-template-columns:
            minmax(0,1fr)
            360px;

        gap:34px;
    }

    .gd-hero-v2__title{
        font-size:46px;

        letter-spacing:-1.8px;
    }

    .gd-hero-v2__image-wrap img{
        height:395px;
    }

    .gd-hero-v2__trusted{
        left:-38px;

        min-width:175px;

        font-size:11px;
    }

    /* about */

    .elementor-15
    [data-id="4e1e563"] > .e-con-inner{
        grid-template-columns:1fr 1fr;

        gap:28px !important;
    }

    .elementor-15 [data-id="32c230b"],
    .elementor-15 [data-id="5006241"] img{
        min-height:420px;
    }

    .elementor-15 [data-id="fe5ace0"]{
        padding:30px !important;
    }

    /* services */

    .elementor-15
    [data-id="232cc15"]{
        grid-template-columns:
            repeat(2,minmax(0,1fr))
            !important;
    }

    /* included */

    .elementor-15
    [data-id="9ddc3c2"] > .e-con-inner{
        grid-template-columns:.8fr 1.2fr;

        gap:35px !important;
    }

    /* testimonials */

    .gd-testimonial-card{
        flex-basis:
            calc(50% - 9px);
    }

    /* team */

    .gd-team-widget{
        grid-template-columns:1fr;

        gap:30px;
    }

    /* contact */

    .elementor-15
    [data-id="12c15b3"] > .e-con-inner{
        grid-template-columns:1fr 1fr;

        gap:25px !important;
    }

    .elementor-15 [data-id="ac19749"]{
        padding:26px !important;
    }
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media(max-width:767px){

    .elementor-15
    .e-con-boxed > .e-con-inner{
        width:calc(100% - 28px) !important;
    }

    /* HERO */

    .gd-hero-v2{
        padding:40px 0 48px;
    }

    .gd-hero-v2__container{
        width:calc(100% - 28px);

        display:flex;

        flex-direction:column;

        gap:34px;
    }

    .gd-hero-v2__content{
        max-width:100%;
    }

    .gd-hero-v2__title{
        font-size:
            clamp(37px,10.2vw,49px);

        line-height:1.02;

        letter-spacing:-1.5px;
    }

    .gd-hero-v2__visual{
        width:100%;

        justify-content:center;
    }

    .gd-hero-v2__visual-card{
        width:100%;
        max-width:510px;

        padding:13px;

        border-radius:22px;
    }

    .gd-hero-v2__image-wrap{
        border-radius:14px;
    }

    .gd-hero-v2__image-wrap img{
        height:420px;
    }

    .gd-hero-v2__trusted{
        top:18px;
        left:18px;

        transform:none;

        min-width:165px;
    }

    .gd-hero-v2__features{
        gap:10px 15px;
    }

    /* about */

    .elementor-15 [data-id="8937d31"],
    .elementor-15 [data-id="586d1c2"],
    .elementor-15 [data-id="9ddc3c2"],
    .elementor-15 [data-id="4a9fc58"]{
        padding-top:62px !important;
        padding-bottom:62px !important;
    }

    .elementor-15
    [data-id="4e1e563"] > .e-con-inner{
        display:flex !important;

        flex-direction:column;

        gap:22px !important;
    }

    .elementor-15 [data-id="32c230b"],
    .elementor-15 [data-id="5006241"] img{
        min-height:310px;
    }

    .elementor-15 [data-id="fe5ace0"]{
        padding:25px !important;
    }

    .elementor-15
    [data-id="f900fc1"]{
        grid-template-columns:1fr 1fr;
    }

    /* SERVICE */

    .elementor-15
    [data-id="232cc15"]{
        grid-template-columns:1fr !important;

        gap:13px !important;
    }

    .elementor-15 .custom-service-inner{
        min-height:235px !important;

        padding:21px 19px !important;
    }

    .elementor-15
    .custom-service-inner
    > .elementor-widget-heading:not(.custom-item-count):not(.custom-service-btn){
        min-height:0;
    }

    /* video */

    .elementor-15
    .elementor-widget-elementskit-video{
        min-height:320px;
    }

    /* titles */

    .elementor-15
    [data-id="5e83cb3"]
    .elementor-heading-title,
    .elementor-15
    [data-id="8e7302a"]
    .elementor-heading-title,
    .elementor-15
    [data-id="7a76d2e"]
    .elementor-heading-title,
    .elementor-15
    [data-id="8f9efcf"]
    .elementor-heading-title,
    .elementor-15
    [data-id="8cc6de5"]
    .elementor-heading-title,
    .elementor-15
    [data-id="04c9f56"]
    .elementor-heading-title{
        font-size:31px !important;

        letter-spacing:-.9px !important;
    }

    /* website banner */

    .elementor-15 [data-id="4568986"]{
        padding:62px 0 25px !important;
    }

    .elementor-15 [data-id="fdb1da3"]{
        padding-bottom:62px !important;
    }

    .elementor-15
    [data-id="fdb1da3"] > .e-con-inner{
        border-radius:16px;
    }

    /* INCLUDED */

    .elementor-15
    [data-id="9ddc3c2"] > .e-con-inner{
        display:flex !important;

        flex-direction:column;

        gap:25px !important;
    }

    .elementor-15 [data-id="2dabb5c"]{
        position:static;
    }

    .elementor-15 [data-id="85403d4"]{
        padding:23px !important;
    }

    .elementor-15 [data-id="ca3016f"]{
        grid-template-columns:1fr !important;
    }

    /* portfolio */

    .elementor-15 [data-id="2e91a5a"]{
        padding:62px 0 28px !important;
    }

    .elementor-15 [data-id="906ccdd"]{
        padding-bottom:65px !important;
    }

    /* testimonial */

    .gd-testimonial-card{
        flex:0 0 88%;
    }

    /* team */

    .gd-team-widget{
        width:calc(100% - 28px);

        padding:65px 0;
    }

    .gd-team-grid{
        grid-template-columns:1fr;
    }

    /* contact */

    .elementor-15
    [data-id="12c15b3"] > .e-con-inner{
        display:flex !important;

        flex-direction:column;

        gap:24px !important;
    }

    .elementor-15 [data-id="5284461"] img{
        min-height:290px;
        max-height:360px;
    }

    .elementor-15 [data-id="ac19749"]{
        padding:22px 18px !important;
    }

    .elementor-15
    .elementor-form-fields-wrapper{
        grid-template-columns:1fr !important;
    }

    .elementor-15
    .elementor-field-type-textarea,
    .elementor-15
    .elementor-field-type-select,
    .elementor-15
    .elementor-field-type-submit{
        grid-column:auto !important;
    }
}

/* ==========================================================
   SMALL MOBILE
   ========================================================== */

@media(max-width:480px){

    .elementor-15
    .e-con-boxed > .e-con-inner{
        width:calc(100% - 24px) !important;
    }

    .gd-hero-v2{
        padding:30px 0 40px;
    }

    .gd-hero-v2__container{
        width:calc(100% - 24px);
    }

    .gd-hero-v2__title{
        font-size:
            clamp(34px,10.4vw,42px);
    }

    .gd-hero-v2__cta-row{
        flex-direction:column;

        align-items:stretch;
    }

    .gd-hero-v2__btn,
    .gd-hero-v2__phone{
        width:100%;

        justify-content:center;
    }

    .gd-hero-v2__features{
        flex-direction:column;

        align-items:flex-start;
    }

    .gd-hero-v2__image-wrap img{
        height:350px;
    }

    .gd-hero-v2__trusted{
        top:12px;
        left:12px;

        min-width:150px;

        padding:10px 11px;

        font-size:10px;
    }

    .gd-hero-v2__rating{
        right:10px;
        bottom:10px;

        min-width:142px;
    }

    .elementor-15 [data-id="fe5ace0"]{
        padding:21px !important;
    }

    .elementor-15 [data-id="f900fc1"]{
        grid-template-columns:1fr;
    }

    .elementor-15 .custom-service-inner{
        padding:20px 17px !important;
    }

    .elementor-15 [data-id="85403d4"]{
        padding:20px !important;
    }
}