/* ===== Google Ads Hero Section ===== */
.gg-hero {
    position: relative;
    overflow: hidden;
    padding: 20px 0 0;
}

/* Background Google Partner image with gradient overlay */
.gg-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.31;
}

.gg-hero-bg img {
    position: absolute;
    top: 0;
    right: 0;
    width: 83.45%;
    height: 100%;
    object-fit: cover;
}

.gg-hero-bg-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(107deg, #fff 29.78%, rgba(255, 255, 255, 0) 74.45%);
}

/* Breadcrumb */
.gg-breadcrumb-nav {
    margin-bottom: 40px;
}

.gg-breadcrumb-list {
    display: flex;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    font-family: 'Google Sans', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

.gg-breadcrumb-item a {
    text-decoration: none;
    color: rgba(47, 47, 47, 0.6);
    transition: color 0.3s ease;
}

.gg-breadcrumb-item a:hover {
    color: #00D88A;
}

.gg-breadcrumb-separator {
    margin: 0 8px;
    color: rgba(47, 47, 47, 0.4);
}

.gg-breadcrumb-item.active {
    color: rgba(47, 47, 47, 0.8);
}

/* Hero content layout */
.gg-hero-content {
    display: flex;
    align-items: center;
    gap: 40px;
    position: relative;
    z-index: 1;
}

.gg-hero-left {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 65px;
}

/* Hero text block */
.gg-hero-text {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gg-hero-title {
    font-family: 'Google Sans', sans-serif;
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -2.4px;
    max-width: 564px;
}

.gg-hero-title-dark {
    color: var(--text-dark, #262626);
}

.gg-hero-title-green {
    color: #00D88A;
}

.gg-hero-desc {
    font-family: 'Google Sans', sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: var(--text-dark, #262626);
    line-height: 1.5;
    max-width: 612px;
}

.gg-hero-desc p {
    margin: 0;
}

/* CTA Button */
.gg-hero-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    height: 58px;
    padding: 10px 32px;
    border-radius: 58px;
    background: linear-gradient(90deg, #19D08E 0%, #26FFB1 100%);
    color: #fff;
    font-family: 'Google Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    width: fit-content;
    transition: opacity 0.3s ease;
}

.gg-hero-cta:hover {
    border-radius: 58px;
    border: 1px solid var(--gradient, #19D08E);
    background: linear-gradient(90deg, #002232 0%, #064666 100%);
    box-shadow: 0 4px 7.5px 0 rgba(6, 70, 102, 0.28);
}

.gg-hero-cta-arrow {
    width: 14px;
    height: 17px;
    transform: rotate(90deg);
}

/* Customer trust row */
.gg-hero-trust {
    display: flex;
    align-items: center;
    gap: 19px;
}

.gg-hero-avatars {
    display: flex;
}

.gg-hero-avatar {
    width: 59px;
    height: 59px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #fff;
    margin-left: -17px;
}

.gg-hero-avatar:first-child {
    margin-left: 0;
}

.gg-hero-trust-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.gg-hero-stars {
    width: 93px;
    height: 16px;
}

.gg-hero-trust-number {
    font-family: 'Google Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #2f2f2f;
}

.gg-hero-trust-label {
    font-family: 'Google Sans', sans-serif;
    font-size: 12px;
    font-weight: 400;
    color: #2f2f2f;
}

/* Right side - target image */
.gg-hero-right {
    flex-shrink: 0;
    width: 480px;
}

.gg-hero-image {
    width: 100%;
    height: auto;
    display: block;
}

/* ===== Problems / Services Section ===== */
.gg-problems {
    padding: 80px 0;
}

.gg-problems-title {
    font-family: 'Google Sans', sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: var(--text-dark, #262626);
    text-align: center;
    letter-spacing: -2.4px;
    line-height: 1.2;
    max-width: 725px;
    margin: 0 auto 41px;
}

.gg-problems-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.gg-problem-card {
    display: flex;
    align-items: center;
    height: 113px;
    border-radius: 20px;
    padding: 0 49px;
    position: relative;
    border: 1px solid transparent;
    transition: all 0.3s ease;
}

.gg-problem-card:hover {
    border: 1px solid #00CD83;
    box-shadow: 0px 0px 23.7px 0px rgba(0, 0, 0, 0.1);
}

.gg-problem-card--search {
    background: #EFF5FE;
}

.gg-problem-card--shopping {
    background: #FFFDE2;
}

.gg-problem-card--maps {
    background: #EEF7F0;
}

.gg-problem-card--youtube {
    background: #FDF1F0;
}

.gg-problem-icon {
    width: 84px;
    height: 84px;
    flex-shrink: 0;
}

.gg-problem-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.gg-problem-text {
    font-family: 'Google Sans', sans-serif;
    font-size: 28px;
    font-weight: 400;
    color: #14313A;
    line-height: 1.124;
    max-width: 632px;
    margin-left: 32px;
    transition: opacity 0.3s ease;
}

.gg-problem-card .gg-problem-text {
    color: var(--text-dark, #262626);
    opacity: 0.75;
}

.gg-problem-card:hover .gg-problem-text {
    opacity: 1;
}

.gg-problem-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 42px;
    padding: 10px 32px;
    border-radius: 58px;
    font-family: 'Google Sans', sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    white-space: nowrap;
    text-decoration: none;
    margin-left: auto;
    min-width: 272px;
}

.gg-problem-btn--blue {
    background: #1A73E8;
}

.gg-problem-btn--yellow {
    background: #FFC722;
}

.gg-problem-btn--green {
    background: #34A853;
}

.gg-problem-btn--red {
    background: #EA4335;
}

/* ===== Services Explore Section ===== */
.gg-services {
    padding: 80px 0;
}

.gg-services-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin-bottom: 44px;
}

.gg-services-title {
    font-family: 'Google Sans', sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: var(--text-dark, #262626);
    letter-spacing: -2.4px;
    line-height: 1.2;
    max-width: 725px;
}

.gg-services-nav {
    display: flex;
    gap: 0;
}

.gg-services-nav-btn {
    width: 48px;
    height: 48px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s;
}

.gg-services-nav-btn:hover {
    opacity: 0.7;
}

.gg-services-nav-btn img {
    width: 48px;
    height: 48px;
}

.gg-services-prev img {
    transform: rotate(180deg);
}

/* Slider */
.gg-services-slider {
    overflow: hidden;
}

.gg-services-track {
    display: flex;
    gap: 40px;
    transition: transform 0.4s ease;
    cursor: grab;
    user-select: none;
    touch-action: pan-y;
}

.gg-services-track.is-dragging {
    transition: none;
    cursor: grabbing;
}

/* Service Card */
.gg-service-card {
    width: 400px;
    min-width: 400px;
    border-radius: 20px;
    overflow: hidden;
}

.gg-service-card-wrapper {
    display: flex;
    flex-direction: column;
    height: 652px;
    text-decoration: none;
    color: inherit;
}

.gg-service-card-top {
    padding: 32px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex: 1;
    position: relative;
    background-image: url('assets/images/service-card-bg.png');
    background-size: cover;
    background-position: center;
    transition: all 0.3s ease;
}

.gg-service-card:hover .gg-service-card-top {
    background-color: #26FFB1;
    background-image: none;
}

.gg-service-card-top--green {
    background-color: #26FFB1;
    background-image: none;
}

.gg-service-card-title {
    font-family: 'Google Sans', sans-serif;
    font-size: 27px;
    font-weight: 700;
    color: #064666;
    line-height: 1.2;
    max-width: 337px;
}

.gg-service-card-list {
    font-family: 'Google Sans', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #064666;
    line-height: 1.4;
    padding-left: 27px;
    max-width: 337px;
}

.gg-service-card-list li {
    margin-bottom: 4px;
}

.gg-service-card-icon {
    position: absolute;
    bottom: 16px;
    right: 16px;
    width: 85px;
    height: 85px;
    opacity: 0;
    transition: all 0.3s ease;
}

.gg-service-card:hover .gg-service-card-icon,
.gg-service-card-top--green .gg-service-card-icon {
    opacity: 1;
}

.gg-service-card-bottom {
    height: 373px;
    overflow: hidden;
    border-radius: 0 0 20px 20px;
    pointer-events: none;
}

.gg-service-card-bottom img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ===== Why Saltech Section ===== */
.gg-why {
    padding: 80px 0;
}

.gg-why-title {
    font-family: 'Google Sans', sans-serif;
    font-size: 48px;
    font-weight: 700;
    color: var(--text-dark, #262626);
    letter-spacing: -2.4px;
    line-height: 1.2;
    max-width: 725px;
    margin-bottom: 30px;
}

.gg-why-title-green {
    color: #00D88A;
}

/* Grid: row1 = small(1fr) + large(2fr), row2 = large(2fr) + small(1fr) */
.gg-why-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 25px 26px;
}

/* Row 1: small + large */
.gg-why-grid .gg-why-card:nth-child(1) {
    flex: 0 0 calc(33.33% - 13px);
}

.gg-why-grid .gg-why-card:nth-child(2) {
    flex: 0 0 calc(66.66% - 13px);
}

/* Row 2: large + small */
.gg-why-grid .gg-why-card:nth-child(3) {
    flex: 0 0 calc(66.66% - 13px);
}

.gg-why-grid .gg-why-card:nth-child(4) {
    flex: 0 0 calc(33.33% - 13px);
}

.gg-why-card {
    height: 442px;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 32px;
}

.gg-why-card--green {
    background: #E3ECD9;
}

.gg-why-card--purple {
    background: #E6E0EA;
}

.gg-why-card--peach {
    background: #FAE5D4;
}

.gg-why-card--yellow {
    background: #F9EED2;
}

.gg-why-card-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
    position: relative;
    z-index: 1;
}

.gg-why-card-heading {
    font-family: 'Google Sans', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #000;
    letter-spacing: -1.4px;
    line-height: 1.3;
}

.gg-why-card-desc {
    font-family: 'Google Sans', sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: #000;
    letter-spacing: -1px;
    line-height: 1.4;
    max-width: 356px;
}

/* Decorative images */
.gg-why-card-decor {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.gg-why-decor-img {
    position: absolute;
}

/* Card 1: Eye decorations */
.gg-why-decor-eye {
    top: 21px;
    left: 111px;
    width: 260px;
    height: 134px;
}

.gg-why-decor-eye-small {
    top: 157px;
    right: 16px;
    height: 53px;
}

/* Card 2: Cubes */
.gg-why-decor-cubes {
    top: 34px;
    right: 0;
    width: 372px;
    height: 390px;
    object-fit: cover;
}

/* Card 3: Circles */
.gg-why-decor-circles {
    top: -65px;
    right: 1px;
    width: 557px;
    height: auto;
}

/* Card 4: Dollar signs */
.gg-why-decor-dollar {
    top: 0;
    right: 27px;
    width: 151px;
    height: 268px;
}

.gg-why-decor-dollar-small {
    bottom: 39px;
    left: 126px;
    width: 52px;
    height: 91px;
    transform: rotate(180deg);
}

/* ===== Process Section ===== */
.gg-process {
    padding: 80px 0;
}

.gg-process-layout {
    display: flex;
    gap: 60px;
}

.gg-process-label {
    font-family: 'Google Sans', sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: var(--text-dark, #262626);
    line-height: 1.5;
    flex-shrink: 0;
    width: 212px;
    padding-top: 10px;
}

.gg-process-grid {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px 60px;
}

.gg-process-step {
    transition: transform 0.3s ease;
}

.gg-process-step:hover {
    transform: translateY(-5px);
}

.gg-process-step-header {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 20px;
}

.gg-process-number {
    font-family: 'SF Pro Display', 'Google Sans', sans-serif;
    font-size: 106px;
    font-weight: 200;
    line-height: 0.85;
    background: linear-gradient(180deg, #000 13.68%, #FAFAFA 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    transition: background 0.3s ease;
}

.gg-process-step:hover .gg-process-number {
    background: linear-gradient(90deg, #19D08E 0%, #26FFB1 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.gg-process-step-title {
    font-family: 'Google Sans', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #000;
    line-height: 1.2;
    padding-top: 25px;
}

.gg-process-step-desc {
    font-family: 'Google Sans', sans-serif;
    font-size: 20px;
    font-weight: 400;
    color: #000;
    line-height: 1.4;
    max-width: 377px;
}

.gg-process-divider {
    grid-column: 1;
    display: flex;
    align-items: center;
}

.gg-process-divider img {
    width: 100%;
    max-width: 376px;
    height: 1px;
}

.gg-process-trophy {
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.gg-process-trophy img {
    width: 258px;
    height: 354px;
    object-fit: cover;
}

/* Row layout: step1+step2 on row1, divider+trophy span row2-3, step3 on row2 */
.gg-process-grid {
    grid-template-rows: auto auto auto;
}

.gg-process-step:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
}

.gg-process-step:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.gg-process-divider {
    grid-column: 1;
    grid-row: 2;
}

.gg-process-step--with-image {
    grid-column: 1;
    grid-row: 3;
}

.gg-process-trophy {
    grid-column: 2;
    grid-row: 2 / 4;
}

/* ===== Responsive ===== */
@media (max-width: 1024px) {
    .gg-hero-title {
        font-size: 36px;
        max-width: 100%;
    }

    .gg-hero-content {
        flex-direction: column;
        gap: 30px;
    }

    .gg-hero-right {
        width: 100%;
        max-width: 320px;
    }

    .gg-hero-left {
        gap: 30px;
    }

    .gg-problems-title {
        font-size: 36px;
    }

    .gg-problem-card {
        flex-wrap: wrap;
        height: auto;
        padding: 20px 24px;
        gap: 12px;
    }

    .gg-problem-text {
        font-size: 20px;
        flex: 1;
        margin-left: 16px;
    }

    .gg-problem-btn {
        margin-left: auto;
        min-width: auto;
        font-size: 16px;
    }

    .gg-problem-icon {
        width: 60px;
        height: 60px;
    }

    .gg-services-title {
        font-size: 36px;
    }

    .gg-service-card {
        width: 300px;
        min-width: 300px;
        height: auto;
    }

    .gg-service-card-wrapper {
        height: auto;
    }

    .gg-service-card-top {
        padding: 24px;
    }

    .gg-service-card-title {
        font-size: 22px;
    }

    .gg-service-card-list {
        font-size: 15px;
    }

    .gg-service-card-icon {
        width: 60px;
        height: 60px;
    }

    .gg-service-card-bottom {
        height: 260px;
    }

    .gg-services-nav-btn,
    .gg-services-nav-btn img {
        width: 40px;
        height: 40px;
    }

    .gg-why-title {
        font-size: 36px;
    }

    .gg-why-grid .gg-why-card:nth-child(1),
    .gg-why-grid .gg-why-card:nth-child(2),
    .gg-why-grid .gg-why-card:nth-child(3),
    .gg-why-grid .gg-why-card:nth-child(4) {
        flex: 0 0 100%;
    }

    .gg-why-card {
        height: 360px;
    }

    .gg-process-layout {
        flex-direction: column;
        gap: 30px;
    }

    .gg-process-label {
        width: 100%;
    }

    .gg-process-grid {
        gap: 30px 40px;
    }

    .gg-process-number {
        font-size: 72px;
    }

    .gg-process-step-title {
        font-size: 24px;
    }

    .gg-process-step-desc {
        font-size: 18px;
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    .gg-hero {
        padding: 16px 0 0;
    }

    .gg-breadcrumb-nav {
        margin-bottom: 20px;
    }

    .gg-hero-content {
        gap: 24px;
    }

    .gg-hero-left {
        gap: 24px;
    }

    .gg-hero-title {
        font-size: 28px;
        letter-spacing: -1.2px;
    }

    .gg-hero-desc {
        font-size: 16px;
    }

    .gg-hero-cta {
        font-size: 16px;
        height: 48px;
        padding: 10px 24px;
    }

    .gg-hero-right {
        display: none;
    }

    .gg-hero-trust {
        gap: 14px;
    }

    .gg-hero-avatar {
        width: 44px;
        height: 44px;
        margin-left: -12px;
    }

    .gg-hero-trust-number {
        font-size: 16px;
    }

    .gg-problems {
        padding: 40px 0;
    }

    .gg-problems-title {
        font-size: 28px;
        letter-spacing: -1.2px;
    }

    .gg-problem-text {
        font-size: 16px;
    }

    .gg-problem-btn {
        width: 100%;
        margin-left: 0;
    }

    .gg-services {
        padding: 40px 0;
    }

    .gg-services-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
        margin-bottom: 24px;
    }

    .gg-services-title {
        font-size: 24px;
        letter-spacing: -1.2px;
    }

    .gg-services-nav-btn,
    .gg-services-nav-btn img {
        width: 36px;
        height: 36px;
    }

    .gg-service-card {
        width: calc(100vw - 40px);
        min-width: calc(100vw - 40px);
    }

    .gg-service-card-wrapper {
        height: auto;
    }

    .gg-service-card-top {
        padding: 24px;
        gap: 12px;
    }

    .gg-service-card-title {
        font-size: 20px;
        max-width: 100%;
    }

    .gg-service-card-list {
        font-size: 15px;
        max-width: 100%;
        padding-left: 22px;
    }

    .gg-service-card-icon {
        width: 60px;
        height: 60px;
    }

    .gg-service-card-bottom {
        height: 220px;
    }

    .gg-services-track {
        gap: 16px;
    }

    .gg-why {
        padding: 40px 0;
    }

    .gg-why-title {
        font-size: 28px;
        letter-spacing: -1.2px;
    }

    .gg-why-card {
        height: 320px;
    }

    .gg-why-card-heading {
        font-size: 22px;
    }

    .gg-why-card-desc {
        font-size: 16px;
    }

    .gg-process {
        padding: 40px 0;
    }

    .gg-process-layout {
        gap: 20px;
    }

    .gg-process-label {
        font-size: 18px;
    }

    .gg-process-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .gg-process-step:nth-child(1) {
        grid-column: 1;
        grid-row: auto;
    }

    .gg-process-step:nth-child(2) {
        grid-column: 1;
        grid-row: auto;
    }

    .gg-process-divider {
        display: none;
    }

    .gg-process-step--with-image {
        grid-column: 1;
        grid-row: auto;
    }

    .gg-process-trophy {
        grid-column: 1;
        grid-row: auto;
    }

    .gg-process-step-header {
        gap: 8px;
        margin-bottom: 12px;
    }

    .gg-process-number {
        font-size: 56px;
    }

    .gg-process-step-title {
        font-size: 20px;
        padding-top: 12px;
    }

    .gg-process-step-desc {
        font-size: 16px;
        max-width: 100%;
    }

    .gg-process-trophy img {
        width: 180px;
        height: auto;
    }
}


/* ---- PROJECTS SECTION ---- */
.ctm-projects-section {
    padding: 80px 0 100px;
}

.ctm-projects-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 40px;
    margin-bottom: 48px;
}

.ctm-projects-heading {
    font-family: 'Google Sans', sans-serif;
    font-weight: 700;
    font-size: 48px;
    line-height: 1;
    letter-spacing: -2.4px;
    color: #262626;
    max-width: 505px;
}

.ctm-projects-link {
    font-family: 'Google Sans', sans-serif;
    font-weight: 700;
    font-size: 20px;
    color: #14313A;
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    flex-shrink: 0;
}

.ctm-projects-link:hover {
    color: #00D88A;
}

.ctm-projects-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

a.ctm-project-card {
    text-decoration: none;
    color: inherit;
}

.ctm-project-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.ctm-project-img {
    border-radius: 12px;
    overflow: hidden;
    aspect-ratio: 16 / 10;
}

.ctm-project-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

.ctm-project-card:hover .ctm-project-img img {
    transform: scale(1.05);
}

.ctm-project-body {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ctm-project-name {
    font-family: 'Google Sans', sans-serif;
    font-weight: 700;
    font-size: 28px;
    line-height: 1.2;
    color: #000;
    transition: all 0.3s ease;
}

.ctm-project-card:hover .ctm-project-name {
    background: var(--gradient, linear-gradient(90deg, #19D08E 0%, #26FFB1 100%));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.ctm-project-desc {
    font-family: 'Google Sans', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.6;
    color: #262626;
}

.ctm-project-desc strong {
    font-weight: 700;
}

.ctm-project-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.ctm-project-tag {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 20px;
    background: #E8F5EC;
    color: #1A7A3C;
    font-family: 'Google Sans', sans-serif;
    font-size: 14px;
    font-weight: 500;
}


/* ---- CTA ---- */
.gt-cta-section {
    padding: 100px 0;
    background: #fff;
    overflow: hidden;
}

.gt-cta-wrapper {
    position: relative;
    max-width: 1256px;
    height: 387px;
    margin: 0 auto;
}

.gt-cta-char {
    position: absolute;
    z-index: 2;
    pointer-events: none;
}

.gt-cta-char--left {
    left: 0;
    top: 158px;
    width: 221px;
    height: 203px;
    object-fit: contain;
}

.gt-cta-char--right {
    right: 0;
    top: 0;
    width: 332px;
    height: 387px;
    object-fit: contain;
}

.gt-cta-card {
    position: absolute;
    left: 138px;
    top: 71px;
    width: 967px;
    height: 304px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid #26FFB1;
    border-radius: 20px;
    backdrop-filter: blur(35px);
    -webkit-backdrop-filter: blur(35px);
    z-index: 2;
    padding: 43px 51px;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}

.gt-cta-content {
    /* Aligns with Figma x:189 which is 51px from card x:138 */
    position: relative;
}

.gt-cta-title {
    font-size: 32px;
    font-weight: 700;
    color: #064666;
    line-height: 1.25;
    margin-bottom: 16px;
    max-width: 678px;
}

.gt-cta-desc {
    font-size: 20px;
    font-weight: 400;
    color: #2F2F2F;
    line-height: 1.25;
    margin-bottom: 30px;
    max-width: 709px;
}

.gt-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 34px;
    height: 42px;
    padding: 0 32px;
    background: linear-gradient(90deg, #19D08E 0%, #26FFB1 100%);
    border-radius: 58px;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 20px;
    font-weight: 400;
    width: fit-content;
    transition: opacity 0.2s;
}

.gt-cta-btn:hover {
    opacity: 0.9;
}

.gt-cta-btn-icon {
    width: 24px;
    height: 24px;
}

/* Responsive CTA */
@media (max-width: 1256px) {
    .gt-cta-wrapper {
        height: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 20px;
    }

    .gt-cta-char {
        display: none;
    }

    .gt-cta-card {
        position: static;
        width: 100%;
        height: auto;
        padding: 40px 20px;
    }
}

/* ===== Additional Responsive Fixes ===== */

/* Projects section - tablet */
@media (max-width: 1024px) {
    .ctm-projects-heading {
        font-size: 36px;
        letter-spacing: -1.8px;
    }

    .ctm-projects-section {
        padding: 60px 0 80px;
    }

    .gt-cta-section {
        padding: 60px 0;
    }

    .gt-cta-title {
        font-size: 26px;
    }

    .gt-cta-desc {
        font-size: 17px;
    }
}

/* Projects section + CTA + Why cards - mobile */
@media (max-width: 768px) {
    .ctm-projects-grid {
        grid-template-columns: 1fr;
    }

    .ctm-projects-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }

    .ctm-projects-heading {
        font-size: 28px;
        letter-spacing: -1.2px;
    }

    .ctm-project-name {
        font-size: 22px;
    }

    .ctm-project-desc {
        font-size: 16px;
    }

    .ctm-projects-section {
        padding: 40px 0 60px;
    }

    .gt-cta-section {
        padding: 40px 0;
    }

    .gt-cta-title {
        font-size: 22px;
    }

    .gt-cta-desc {
        font-size: 16px;
    }

    .gt-cta-card {
        padding: 32px 20px;
    }

    .gt-cta-btn {
        font-size: 14px;
        gap: 12px;
        padding: 0 20px;
        height: 44px;
        white-space: nowrap;
    }
}

/* Small mobile - auto heights and remaining fixed widths */
@media (max-width: 480px) {
    .gg-why-card {
        height: auto;
        min-height: 260px;
    }

    .gg-why-card-desc {
        max-width: 100%;
    }

    .gg-process-step-desc {
        max-width: 100%;
    }

    .gg-hero-trust {
        flex-wrap: wrap;
        gap: 12px;
    }

    .gg-hero-avatar {
        width: 44px;
        height: 44px;
    }

    .gg-services-title {
        font-size: 22px;
    }

    .gg-service-card {
        width: calc(100vw - 32px);
        min-width: calc(100vw - 32px);
    }

    .gg-service-card-top {
        padding: 20px;
    }

    .gg-service-card-title {
        font-size: 18px;
    }

    .gg-service-card-list {
        font-size: 14px;
        padding-left: 20px;
    }

    .gg-service-card-bottom {
        height: 200px;
    }

    .gg-services-track {
        gap: 12px;
    }

    .gg-problem-card {
        padding: 16px;
    }

    .gg-problem-icon {
        width: 48px;
        height: 48px;
    }

    .gg-problem-btn {
        font-size: 14px;
        padding: 8px 20px;
        height: 36px;
    }

    .gt-cta-card {
        padding: 24px 16px;
    }

    .gt-cta-title {
        font-size: 18px;
    }

    .gt-cta-desc {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .gt-cta-btn {
        font-size: 13px;
        gap: 10px;
        padding: 0 16px;
        height: 40px;
        white-space: nowrap;
    }

    .gg-process-number {
        font-size: 48px;
    }

    .gg-process-step-title {
        font-size: 18px;
        padding-top: 10px;
    }

    .gg-process-step-desc {
        font-size: 15px;
    }
}