.gbc-landing-page,
.editor-styles-wrapper {
    --gbc-blue: #0b4ea2;
    --gbc-blue-dark: #062b62;
    --gbc-yellow: #f6c844;
    --gbc-text: #10233f;
    --gbc-muted: #5b6b80;
    --gbc-surface: #f3f7fc;
    --gbc-white: #ffffff;
    --gbc-radius: 24px;
    --gbc-shadow: 0 18px 45px rgba(8, 38, 78, 0.11);
    --gbc-content-width: 1240px;
}

.gbc-landing-page .gbc-landing-section,
.editor-styles-wrapper .gbc-landing-section {
    box-sizing: border-box;
}

.gbc-landing-page .gbc-landing-section > .wp-block-group__inner-container,
.gbc-landing-page .gbc-landing-section > .wp-block-cover__inner-container,
.editor-styles-wrapper .gbc-landing-section > .wp-block-group__inner-container,
.editor-styles-wrapper .gbc-landing-section > .wp-block-cover__inner-container {
    width: min(var(--gbc-content-width), calc(100% - 40px));
    margin-inline: auto;
}

.gbc-landing-page .is-style-gbc-section,
.gbc-landing-page .is-style-gbc-section-soft,
.gbc-landing-page .is-style-gbc-section-blue,
.editor-styles-wrapper .is-style-gbc-section,
.editor-styles-wrapper .is-style-gbc-section-soft,
.editor-styles-wrapper .is-style-gbc-section-blue {
    padding-block: clamp(64px, 8vw, 108px);
}

.gbc-landing-page .is-style-gbc-section-soft,
.editor-styles-wrapper .is-style-gbc-section-soft {
    background: var(--gbc-surface);
}

.gbc-landing-page .is-style-gbc-section-blue,
.editor-styles-wrapper .is-style-gbc-section-blue {
    color: var(--gbc-white);
    background: linear-gradient(125deg, var(--gbc-blue-dark), var(--gbc-blue));
}

.gbc-landing-page .is-style-gbc-hero,
.editor-styles-wrapper .is-style-gbc-hero {
    min-height: min(760px, 82vh);
    padding-block: clamp(72px, 10vw, 132px);
    color: var(--gbc-white);
    background: radial-gradient(circle at 86% 18%, rgba(246, 200, 68, .28), transparent 20%), linear-gradient(125deg, var(--gbc-blue-dark), var(--gbc-blue));
}

.gbc-landing-page .is-style-gbc-hero h1,
.editor-styles-wrapper .is-style-gbc-hero h1 {
    max-width: 780px;
    font-size: clamp(2.7rem, 5.5vw, 5.2rem);
    line-height: .98;
    letter-spacing: -.052em;
}

.gbc-landing-page .is-style-gbc-card,
.editor-styles-wrapper .is-style-gbc-card {
    height: 100%;
    padding: clamp(24px, 3vw, 34px);
    border: 1px solid #dce6f1;
    border-radius: var(--gbc-radius);
    background: var(--gbc-white);
    box-shadow: var(--gbc-shadow);
}

.gbc-landing-page .is-style-gbc-audience-grid,
.gbc-landing-page .is-style-gbc-benefit-grid,
.editor-styles-wrapper .is-style-gbc-audience-grid,
.editor-styles-wrapper .is-style-gbc-benefit-grid {
    flex-wrap: wrap;
    align-items: stretch;
    gap: 20px;
}

.gbc-landing-page .is-style-gbc-benefit-grid > .wp-block-column,
.editor-styles-wrapper .is-style-gbc-benefit-grid > .wp-block-column {
    flex-basis: calc(33.333% - 14px);
}

.gbc-landing-page .is-style-gbc-audience-card-overlap,
.editor-styles-wrapper .is-style-gbc-audience-card-overlap {
    position: relative;
    margin-top: 90px;
    padding-top: 76px;
    overflow: visible;
}

.gbc-landing-page .is-style-gbc-audience-card-overlap > .gbc-audience-card__thumbnail,
.editor-styles-wrapper .is-style-gbc-audience-card-overlap > .gbc-audience-card__thumbnail {
    position: absolute;
    top: 0;
    left: 50%;
    width: 136px;
    height: 136px;
    margin: 0;
    transform: translate(-50%, -48%);
}

.gbc-landing-page .is-style-gbc-audience-card-overlap > .gbc-audience-card__thumbnail img,
.editor-styles-wrapper .is-style-gbc-audience-card-overlap > .gbc-audience-card__thumbnail img {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border: 4px solid var(--gbc-white);
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 4px 14px rgba(7, 22, 45, 0.14);
}

.gbc-landing-page .is-style-gbc-audience-card-overlap > p:last-child a,
.editor-styles-wrapper .is-style-gbc-audience-card-overlap > p:last-child a {
    color: var(--gbc-blue);
    font-weight: 600;
    text-decoration: none;
    text-underline-offset: .2em;
}

.gbc-landing-page .is-style-gbc-audience-card-overlap > p:last-child a:hover,
.gbc-landing-page .is-style-gbc-audience-card-overlap > p:last-child a:focus-visible,
.editor-styles-wrapper .is-style-gbc-audience-card-overlap > p:last-child a:hover,
.editor-styles-wrapper .is-style-gbc-audience-card-overlap > p:last-child a:focus-visible {
    text-decoration: underline;
}

.gbc-landing-page .wp-block-button.is-style-gbc-primary .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-gbc-primary .wp-block-button__link {
    color: var(--gbc-white);
    background: var(--gbc-blue);
}

.gbc-landing-page .wp-block-button.is-style-gbc-secondary .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-gbc-secondary .wp-block-button__link {
    color: var(--gbc-blue-dark);
    background: var(--gbc-yellow);
}

.gbc-landing-page .wp-block-button.is-style-gbc-light .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-gbc-light .wp-block-button__link {
    color: var(--gbc-white);
    border: 2px solid rgba(255, 255, 255, .72);
    background: transparent;
}

.gbc-landing-page .wp-block-button[class*="is-style-gbc-"] .wp-block-button__link,
.editor-styles-wrapper .wp-block-button[class*="is-style-gbc-"] .wp-block-button__link {
    min-height: 48px;
    padding: 12px 22px;
    border-radius: 13px;
    font-weight: 800;
}

.gbc-landing-page .wp-block-image.is-style-gbc-rounded-image img,
.editor-styles-wrapper .wp-block-image.is-style-gbc-rounded-image img {
    border-radius: var(--gbc-radius);
    box-shadow: var(--gbc-shadow);
}

.gbc-landing-page .is-style-gbc-final-cta,
.editor-styles-wrapper .is-style-gbc-final-cta {
    padding: clamp(48px, 7vw, 76px);
    border-radius: var(--gbc-radius);
    color: var(--gbc-white);
    background: radial-gradient(circle at 10% 100%, rgba(246, 200, 68, .2), transparent 24%), linear-gradient(110deg, #041e45, var(--gbc-blue));
}

.gbc-landing-page .gbc-availability-block,
.editor-styles-wrapper .gbc-availability-block {
    display: grid;
    box-sizing: border-box;
    width: min(var(--gbc-content-width), calc(100% - 40px));
    max-width: 100%;
    min-width: 0;
    margin-inline: auto;
    padding: clamp(32px, 5vw, 64px);
    grid-template-columns: .8fr 1.2fr;
    gap: clamp(28px, 5vw, 70px);
    border-radius: var(--gbc-radius);
    color: var(--gbc-text);
    background: var(--gbc-surface);
}

.gbc-landing-page .gbc-availability-block--stacked,
.editor-styles-wrapper .gbc-availability-block--stacked {
    grid-template-columns: 1fr;
}

.gbc-landing-page .gbc-availability-block__list,
.editor-styles-wrapper .gbc-availability-block__list {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dce6f1;
    border-radius: var(--gbc-radius);
    background: var(--gbc-white);
    box-shadow: var(--gbc-shadow);
}

.gbc-landing-page .gbc-availability-block__empty,
.editor-styles-wrapper .gbc-availability-block__list {
    padding: clamp(28px, 4vw, 46px);
}

.gbc-landing-page .gbc-availability-block__item {
    display: grid;
    padding: 22px 24px;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 18px;
    border-bottom: 1px solid #dce6f1;
}

.gbc-landing-page .gbc-availability-block__intro,
.editor-styles-wrapper .gbc-availability-block__intro,
.gbc-landing-page .gbc-availability-block__item,
.editor-styles-wrapper .gbc-availability-block__item {
    min-width: 0;
}

.gbc-landing-page .gbc-availability-block__item:last-child {
    border-bottom: 0;
}

.gbc-landing-page .gbc-availability-block__status {
    font-weight: 800;
}

.gbc-landing-page .gbc-availability-block a:focus-visible,
.gbc-landing-page .wp-block-button__link:focus-visible {
    outline: 3px solid var(--gbc-yellow);
    outline-offset: 4px;
}

@media (max-width: 700px) {
    .gbc-landing-page .gbc-landing-section > .wp-block-group__inner-container,
    .gbc-landing-page .gbc-landing-section > .wp-block-cover__inner-container,
    .editor-styles-wrapper .gbc-landing-section > .wp-block-group__inner-container,
    .editor-styles-wrapper .gbc-landing-section > .wp-block-cover__inner-container,
    .gbc-landing-page .gbc-availability-block,
    .editor-styles-wrapper .gbc-availability-block {
        width: min(100% - 28px, var(--gbc-content-width));
    }

    .gbc-landing-page .is-style-gbc-benefit-grid > .wp-block-column,
    .editor-styles-wrapper .is-style-gbc-benefit-grid > .wp-block-column {
        flex-basis: 100%;
    }

    .gbc-landing-page .gbc-availability-block,
    .editor-styles-wrapper .gbc-availability-block,
    .gbc-landing-page .gbc-availability-block__item {
        grid-template-columns: 1fr;
    }

    .gbc-landing-page .is-style-gbc-audience-card-overlap,
    .editor-styles-wrapper .is-style-gbc-audience-card-overlap {
        margin-top: 72px;
        padding-top: 62px;
    }

    .gbc-landing-page .is-style-gbc-audience-card-overlap > .gbc-audience-card__thumbnail,
    .editor-styles-wrapper .is-style-gbc-audience-card-overlap > .gbc-audience-card__thumbnail {
        width: 104px;
        height: 104px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .gbc-landing-page *,
    .editor-styles-wrapper * {
        scroll-behavior: auto;
    }
}
