.wpb-service-banner.wapu-block-style-scope {
    --wpb-service-title-size: clamp(2rem, 3.2vw, 3.4rem);
    --wapu-block-bg: var(--wpb-banner-background, #fff);
    --wapu-block-text: var(--wpb-banner-text, #fff);
    --wapu-block-accent: var(--wpb-banner-accent, #49b346);
    --wapu-button-bg: var(--wpb-banner-accent, #49b346);
    --wapu-button-text: var(--wpb-banner-text, #fff);
    background: var(--wpb-banner-background, #fff) !important;
    padding: 0 !important;
    container-type: inline-size;
}
.wpb-service-banner, .wpb-service-banner * { box-sizing: border-box; }
.wpb-service-banner > .wpb-service-banner__frame { width: 100%; padding: clamp(32px, 4vw, 64px); background: transparent !important; }
.wpb-service-banner .wpb-service-banner__card { position: relative; isolation: isolate; overflow: hidden; max-width: 1440px; min-height: var(--wpb-banner-height, 460px); margin-inline: auto; border-radius: var(--wpb-banner-radius, 24px); background: var(--wpb-banner-surface, #18211d); display: flex; align-items: center; padding: clamp(32px, 4.5vw, 76px); }
.wpb-service-banner .wpb-service-banner__media { position: absolute; inset: 0; margin: 0; width: 100%; height: 100%; }
.wpb-service-banner .wpb-service-banner__media :is(picture, img, .wapu-c-image) { display: block; width: 100%; height: 100%; max-width: none; aspect-ratio: auto; }
.wpb-service-banner .wpb-service-banner__media img { object-fit: cover; object-position: center; }
.wpb-service-banner__shade { position: absolute; inset: 0; pointer-events: none; background: linear-gradient(90deg, color-mix(in srgb, var(--wpb-banner-surface) var(--wpb-banner-overlay, 78%), transparent) 0%, color-mix(in srgb, var(--wpb-banner-surface) var(--wpb-banner-overlay, 78%), transparent) 26%, transparent 90%); }
.wpb-service-banner .wpb-service-banner__content { position: relative; z-index: 1; width: 56%; max-width: 620px; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; color: var(--wpb-banner-text); }
.wpb-service-banner .wpb-service-banner__content :is(h2, p) { hyphens: none; -webkit-hyphens: none; word-break: normal; overflow-wrap: break-word; }
.wpb-service-banner .wpb-service-banner__title { text-wrap: balance; }
.wpb-service-banner .wpb-service-banner__description { max-width: 43ch; text-wrap: pretty; opacity: .94; }
.wpb-service-banner__action { margin-top: 8px; }
.wpb-service-banner .wpb-service-banner__cta { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 13px 22px; min-height: 48px; border-width: 2px; border-style: solid; text-decoration: none; transition: background .2s ease, border-color .2s ease; }
.wpb-service-banner .wpb-service-banner__cta:focus-visible { outline: 2px solid var(--wpb-banner-text); outline-offset: 5px; }
@container (max-width: 900px) {
    .wpb-service-banner .wpb-service-banner__content { width: 66%; }
}
@container (max-width: 600px) {
    .wpb-service-banner > .wpb-service-banner__frame { padding: 28px 20px; }
    .wpb-service-banner .wpb-service-banner__card { padding: 32px 26px; min-height: max(460px, var(--wpb-banner-height, 460px)); align-items: flex-end; }
    .wpb-service-banner .wpb-service-banner__content { width: 100%; gap: 20px; }
    .wpb-service-banner .wpb-service-banner__title { --wpb-service-title-size: clamp(1.8rem, 7.6cqw, 2.5rem); }
    .wpb-service-banner .wpb-service-banner__media img { object-position: 72% center; }
    .wpb-service-banner__shade { background: linear-gradient(0deg, color-mix(in srgb, var(--wpb-banner-surface) var(--wpb-banner-overlay, 78%), transparent) 0%, color-mix(in srgb, var(--wpb-banner-surface) var(--wpb-banner-overlay, 78%), transparent) 50%, transparent 100%); }
}
@media (prefers-reduced-motion: reduce) { .wpb-service-banner * { transition: none !important; } }
