.buildpress-gjc-recognition {
    --gjc-recognition-surface: var(--e-global-color-900224d, #ffffff);
    --gjc-recognition-ink: var(--e-global-color-primary, #050505);
    --gjc-recognition-text: var(--e-global-color-text, #333333);
    --gjc-recognition-accent: var(--e-global-color-accent, #e3185c);
    --gjc-recognition-soft: color-mix(in srgb, var(--e-global-color-900224d, #fff) 94%, var(--e-global-color-primary, #050505));
    --gjc-recognition-badge-surface: var(--gjc-recognition-surface);
    --gjc-recognition-border: color-mix(in srgb, var(--e-global-color-primary, #050505) 12%, transparent);
    width: min(100%, 71.25rem);
    margin-inline: auto;
    padding: 5rem 1rem 4rem;
    color: var(--gjc-recognition-ink);
    background: var(--gjc-recognition-surface);
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__inner {
    width: min(100%, 75rem);
    margin-inline: auto;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__header {
    max-width: 54rem;
    margin-inline: 0;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__badge {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    padding: 0.5rem 0.75rem;
    color: var(--gjc-recognition-accent);
    background: var(--gjc-recognition-badge-surface);
    border: 0.0625rem solid color-mix(in srgb, var(--gjc-recognition-accent) 18%, transparent);
    border-radius: 999rem;
    font-family: var(--e-global-typography-accent-font-family, sans-serif);
    font-size: var(--e-global-typography-accent-font-size, 0.8125rem);
    font-weight: 800;
    line-height: 1.2;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__badge svg {
    width: 1rem;
    height: 1rem;
}

/* Shared Hero status-pill treatment for the recognition section label. */
.buildpress-gjc-recognition .buildpress-gjc-recognition__badge {
    gap: 0.55rem;
    min-height: 2.125rem;
    padding: 0.5rem 0.8rem;
    color: var(--gjc-recognition-ink);
    background: var(--gjc-recognition-soft);
    border: 0;
    font-size: var(--e-global-typography-accent-font-size, 0.75rem);
    font-weight: 600;
    line-height: 1.2;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__badge svg {
    display: none;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__badge::before {
    display: block;
    flex: 0 0 auto;
    width: 0.45rem;
    aspect-ratio: 1;
    content: '';
    background: currentColor;
    border-radius: 50%;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__headline {
    max-width: 18ch;
    margin: 1.125rem 0 0;
    color: var(--gjc-recognition-ink);
    font-family: var(--e-global-typography-primary-font-family, sans-serif);
    font-size: var(--gjc-home-type-recognition, 2.5rem);
    font-weight: 700;
    line-height: var(--gjc-home-leading-display, 1.06);
    letter-spacing: 0;
    text-wrap: balance;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__description {
    max-width: 42rem;
    margin: 1.25rem 0 0;
    color: var(--gjc-recognition-text);
    font-family: var(--e-global-typography-text-font-family, sans-serif);
    font-size: var(--gjc-home-type-body, var(--e-global-typography-text-font-size, 1rem));
    font-weight: var(--e-global-typography-text-font-weight, 400);
    line-height: var(--e-global-typography-text-line-height, 1.6);
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partners {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin-top: 3.25rem;
    border-block: 0.0625rem solid var(--gjc-recognition-border);
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner {
    position: relative;
    display: grid;
    grid-template-rows: 4.75rem auto;
    gap: 1.5rem;
    min-width: 0;
    min-height: 13rem;
    padding: 1.5rem;
    background: transparent;
    border: 0;
    border-left: 0.0625rem solid var(--gjc-recognition-border);
    transition: background-color 180ms ease;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner:first-child {
    border-left: 0;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner::after {
    position: absolute;
    right: 1.5rem;
    bottom: -0.0625rem;
    left: 1.5rem;
    height: 0.125rem;
    content: '';
    background: var(--gjc-recognition-accent);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 180ms ease;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner:hover {
    background: var(--gjc-recognition-soft);
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner:hover::after {
    transform: scaleX(1);
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__logo-frame {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    height: 4.75rem;
    margin: 0;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__logo-image {
    display: block;
    width: auto;
    max-width: min(100%, 10rem);
    max-height: 3.5rem;
    object-fit: contain;
    object-position: left center;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner--meta .buildpress-gjc-recognition__logo-image {
    width: auto;
    max-width: 9.5rem;
    max-height: 4.75rem;
    filter: none;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner--google-ads .buildpress-gjc-recognition__logo-image {
    width: 3.35rem;
    max-width: 3.35rem;
    max-height: 3.75rem;
    filter: none;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner--tiktok-ads .buildpress-gjc-recognition__logo-image {
    width: 3rem;
    max-width: 3rem;
    max-height: 3.2rem;
    filter: drop-shadow(-0.11rem 0 var(--e-global-color-8ab7c18)) drop-shadow(0.11rem 0 var(--e-global-color-accent));
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner--amazon-ads .buildpress-gjc-recognition__logo-image {
    width: 8rem;
    max-width: 8rem;
    max-height: 2.8rem;
    filter: none;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner--sortlist .buildpress-gjc-recognition__logo-image {
    width: 8.5rem;
    max-width: 8.5rem;
    max-height: 3.3rem;
    filter: none;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner-copy {
    display: grid;
    grid-template-areas:
        'status'
        'name';
    grid-template-rows: 2.8rem auto;
    gap: 0.25rem;
    align-content: start;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner-name {
    grid-area: name;
    color: var(--gjc-recognition-ink);
    font-family: var(--e-global-typography-accent-font-family, sans-serif);
    font-size: var(--e-global-typography-accent-font-size, 1.125rem);
    font-weight: 800;
    line-height: var(--e-global-typography-accent-line-height, 1.25);
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner-status {
    grid-area: status;
    color: var(--gjc-recognition-text);
    font-family: var(--e-global-typography-accent-font-family, sans-serif);
    font-size: var(--e-global-typography-accent-font-size, 0.75rem);
    font-weight: 700;
    line-height: var(--e-global-typography-accent-line-height, 1.4);
    letter-spacing: var(--e-global-typography-accent-letter-spacing, 0);
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner-index {
    position: absolute;
    top: 1.35rem;
    right: 1.35rem;
    color: var(--gjc-recognition-text);
    font-family: var(--e-global-typography-accent-font-family, sans-serif);
    font-size: var(--e-global-typography-accent-font-size, 0.6875rem);
    font-weight: 800;
    line-height: 1;
    opacity: 0.55;
}

/* The script wraps items in a track; outside mobile it remains layout-transparent. */
.buildpress-gjc-recognition .buildpress-gjc-recognition__marquee-track {
    display: contents;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__partner[data-marquee-clone="true"] {
    display: none;
}

@media (max-width: 1024px) {
    .buildpress-gjc-recognition .buildpress-gjc-recognition__partners {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner:nth-child(3n + 1) {
        border-left: 0;
    }
}

@media (max-width: 767px) {
    .buildpress-gjc-recognition {
        padding-block: 4.25rem;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__headline {
        font-size: var(--gjc-home-type-recognition, 2.25rem);
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partners {
        display: block;
        margin-top: 2rem;
        overflow: hidden;
        border: 0;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__marquee-track {
        display: flex;
        gap: 0.75rem;
        width: max-content;
        padding-right: 0.75rem;
        animation: gjc-recognition-mobile-marquee 30s linear infinite;
        will-change: transform;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partners:focus-within .buildpress-gjc-recognition__marquee-track {
        animation-play-state: paused;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner,
    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner[data-marquee-clone="true"] {
        display: grid;
        flex: 0 0 min(13.5rem, calc(100vw - 4rem));
        grid-template-rows: 3.75rem auto;
        gap: 0.85rem;
        min-height: 8.75rem;
        padding: 1rem;
        background: var(--gjc-recognition-surface);
        border: 0.0625rem solid var(--gjc-recognition-border);
        border-radius: 0.5rem;
        scroll-snap-align: start;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner:nth-child(odd) {
        border-left: 0.0625rem solid var(--gjc-recognition-border);
    }

    /* The 1024px grid rule (first column: border-left: 0) still matches at 767px
       and beats the mobile border shorthand on even 3n+1 partners (4th, 10th...)
       — restore the border so every marquee card is framed. */
    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner:nth-child(3n + 1) {
        border-left: 0.0625rem solid var(--gjc-recognition-border);
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__logo-frame {
        height: 3.75rem;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner-copy {
        grid-template-rows: 2.25rem auto;
        gap: 0.2rem;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner-status,
    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner-name {
        line-height: 1.25;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner::after {
        display: none;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner-index {
        top: 0.875rem;
        right: 0.875rem;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner:last-child:nth-child(odd) {
        grid-column: auto;
        grid-template-rows: 3.75rem auto;
        gap: 0.85rem;
        min-height: 8.75rem;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner:last-child:nth-child(odd) .buildpress-gjc-recognition__logo-frame {
        height: 3.75rem;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner:last-child:nth-child(odd) .buildpress-gjc-recognition__partner-copy {
        grid-template-rows: 2.25rem auto;
    }
}

@keyframes gjc-recognition-mobile-marquee {
    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner,
    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner::after {
        transition: none;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partners {
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partners::-webkit-scrollbar {
        display: none;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__marquee-track {
        padding-right: 0;
        animation: none;
        transform: none;
    }

    .buildpress-gjc-recognition .buildpress-gjc-recognition__partner[data-marquee-clone="true"] {
        display: none;
    }
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__badge {
    position: relative;
    gap: 0.55rem;
    min-height: 2.125rem;
    padding: 0.5rem 0.8rem;
    color: var(--gjc-recognition-ink);
    background: var(--gjc-recognition-surface);
    border: 0.0625rem solid color-mix(in srgb, var(--gjc-recognition-ink) 12%, transparent);
    border-radius: 999rem;
    box-shadow: 0 0.35rem 0.9rem color-mix(in srgb, var(--gjc-recognition-ink) 9%, transparent);
    font-weight: 700;
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__badge::before {
    width: 0.45rem;
    background: var(--gjc-recognition-accent);
    box-shadow: 0 0 0 0.16rem color-mix(in srgb, var(--gjc-recognition-accent) 18%, transparent);
}

.buildpress-gjc-recognition .buildpress-gjc-recognition__badge::after {
    position: absolute;
    top: 50%;
    left: 0.8rem;
    width: 0.45rem;
    aspect-ratio: 1;
    content: '';
    pointer-events: none;
    border: 0.0625rem solid color-mix(in srgb, var(--gjc-recognition-accent) 52%, transparent);
    border-radius: 50%;
    opacity: 0.5;
    transform: translateY(-50%) scale(1);
}

@media (prefers-reduced-motion: no-preference) {
    .buildpress-gjc-recognition .buildpress-gjc-recognition__badge::after {
        animation: gjc-recognition-connected-ping 2.4s ease-out infinite;
    }
}

@keyframes gjc-recognition-connected-ping {
    0% { opacity: 0.55; transform: translateY(-50%) scale(1); }
    72%, 100% { opacity: 0; transform: translateY(-50%) scale(2.6); }
}







/* Keep the Homepage Recognition-to-CTA handoff compact while preserving its standalone spacing. */
@media (min-width: 48rem) {
    .home .buildpress-gjc-recognition {
        padding-bottom: 4rem;
    }
}


