/* SBI V5.5.7g ordered responsive release bundle. Sources retained for maintenance. */

/* SOURCE: sbi-v557-responsive.css */
/* V5.5.7: targeted reflow and readable controls over the accepted V5.5.4B visuals.
   Load after all homepage, service, case and portfolio styles. */
:root {
    --sbi-v557-gutter: clamp(1rem, 3vw, 2rem);
    --sbi-v557-section-space: clamp(3rem, 5.5vw, 5.5rem);
}

[data-sbi-v53-root] :is(.sbi-v54-shell, .sbi-team-intro, .sbi-team-side, .sbi-team-heading, .sbi-visual-heading, .sbi-visual-side, .sbi-faq-shell, .sbi-service-card, .sbi-service-body, .sbi-service-heading),
.sbi-service-layout > *,
.sbi-case-root :is(.sbi-case-hero-grid, .sbi-case-story-grid, .sbi-case-system-grid) > * {
    min-width: 0;
}
[data-sbi-v53-root] :is(.sbi-v54-title, .sbi-service-title),
.sbi-service-main :is(h1, h2, h3) {
    max-width: 100%;
    overflow-wrap: break-word;
}
.sbi-case-root :is(h1, h2, h3) { overflow-wrap: break-word; }
[data-sbi-v53-root] .sbi-team-intro .sbi-v54-title {
    max-width: 100%;
    white-space: normal !important;
    text-wrap: balance;
    font-size: clamp(2.15rem, 4.65vw, 5.15rem) !important;
    line-height: 1.04 !important;
}
[data-sbi-v53-root] :is(.sbi-rhythm-section, .sbi-v54-section) {
    padding-top: var(--sbi-v557-section-space) !important;
    padding-bottom: var(--sbi-v557-section-space) !important;
}
[data-sbi-v53-root] :is(#services, #selected-work, #contact) {
    padding-inline: var(--sbi-v557-gutter);
}
[data-sbi-v53-root] .sbi-team-side { flex-wrap: wrap; gap: 1rem 2rem; }
[data-sbi-v53-root] .sbi-team-side .sbi-v54-copy { flex: 1 1 30rem; }
[data-sbi-v53-root] .sbi-team-note { flex: 0 1 auto; max-width: 100%; }
[data-sbi-v53-root] .sbi-team-note::before { flex: none; }

/* Shared gutters and fluid section headings on compact desktop and tablet. */
[data-sbi-v53-root] .sbi-v54-shell,
[data-sbi-v53-root] #industries .sbi-industries-panel {
    width: min(calc(100% - var(--sbi-v557-gutter) - var(--sbi-v557-gutter)), 80rem);
}
[data-sbi-v53-root] :is(#about, #services, #impact, #selected-work, #work, #industries) h2 {
    font-size: clamp(2rem, 4.1vw, 4.75rem) !important;
    line-height: 1.06 !important;
    overflow-wrap: break-word;
    text-wrap: balance;
}
[data-sbi-v53-root] #selected-work .sbi-selected-work-intro > * { min-width: 0; }
@media (min-width: 1024px) {
    [data-sbi-v53-root] #selected-work .sbi-selected-work-intro {
        grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
        align-items: center;
    }
}

/* The globe remains the existing dotted canvas. It now has its own layout cell. */
[data-sbi-v53-root] #impact { padding-inline: var(--sbi-v557-gutter); }
[data-sbi-v53-root] #impact .sbi-impact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .75fr);
    grid-template-areas: "intro globe" "stats stats";
    align-items: center;
    gap: clamp(1.5rem, 3vw, 3rem);
}
[data-sbi-v53-root] #impact .sbi-impact-intro { grid-area: intro; min-width: 0; }
[data-sbi-v53-root] #impact .sbi-impact-intro > div {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1.25rem !important;
}
[data-sbi-v53-root] #impact .sbi-impact-intro p { justify-self: start; }
[data-sbi-v53-root] #impact .sbi-impact-stats {
    grid-area: stats;
    min-width: 0;
    width: 100%;
    margin-top: 0 !important;
}
[data-sbi-v53-root] #impact .sbi-impact-stats > * { min-width: 0; }
[data-sbi-v53-root] #impact .sbi-impact-globe {
    grid-area: globe;
    position: relative;
    inset: auto;
    width: min(100%, 22rem);
    max-width: 100%;
    min-width: 0;
    aspect-ratio: 1;
    margin: 0;
    justify-self: center;
    align-self: center;
    transform: none !important;
    transform-origin: center;
    --sbi-globe-base-opacity: .92;
}

/* Restore the requested service-page links, including the diagonal arrow. */
[data-sbi-v53-root] #services .sbi-service-card { height: 100%; }
[data-sbi-v53-root] #services .sbi-service-detail-link {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    gap: .5rem;
    max-width: 100%;
    min-height: 44px;
    margin-top: 1.1rem;
    padding: .6rem 1rem;
    border: 1px solid rgba(197, 156, 255, .34);
    border-radius: 999px;
    color: #ecdeff;
    background: transparent;
    font: 750 .85rem/1.4 var(--sbi-v54-font-body);
    text-decoration: none;
    overflow-wrap: break-word;
    transition: color .2s ease, background .2s ease, border-color .2s ease;
}
[data-sbi-v53-root] #services .sbi-service-detail-link:is(:hover, :focus-visible) {
    color: #fff;
    background: rgba(197, 156, 255, .12);
    border-color: rgba(197, 156, 255, .65);
}
[data-sbi-v53-root] #services .sbi-service-detail-link:focus-visible {
    outline: 3px solid #d9baff;
    outline-offset: 4px;
}

/* Keep unselected work readable. Media framing and intentional carousel edges stay. */
[data-sbi-v53-root] #selected-work .sbi-selected-work-card,
[data-sbi-v53-root] .sbi-visual-card { opacity: 1 !important; }
[data-sbi-v53-root] #selected-work .sbi-selected-work-copy { min-width: 0; }
[data-sbi-v53-root] #selected-work .sbi-selected-work-copy :is(h3, p) { overflow-wrap: break-word; }
[data-sbi-v53-root] .sbi-visual-card .sbi-visual-label { line-height: 1.12; overflow-wrap: break-word; }
[data-sbi-v53-root] .sbi-visual-open { min-height: 44px; }
.sbi-v55-portfolio-toolbar { min-width: 0; flex-wrap: wrap; }
.sbi-v55-portfolio-toolbar > * { min-width: 0; }
.sbi-v55-portfolio-filters button { white-space: normal; line-height: 1.35; }
.sbi-v55-portfolio-filters button small { flex: none; }
.sbi-v55-portfolio-card-copy strong { line-height: 1.08; overflow-wrap: break-word; }
.sbi-v55-portfolio-original { max-width: 100%; min-height: 44px; overflow-wrap: anywhere; }

/* Card width and centering share one value, including shorter browser windows. */
[data-sbi-v53-root] #work {
    --sbi-reel-width-cap: 16.25rem;
    --sbi-reel-width: min(72vw, var(--sbi-reel-width-cap));
}
[data-sbi-v53-root] #work .sbi-reel-track {
    padding-inline: max(1rem, calc(50% - var(--sbi-reel-width) * .5));
    scroll-padding-inline: max(1rem, calc(50% - var(--sbi-reel-width) * .5));
    padding-top: 2.5rem;
    padding-bottom: 2.75rem;
}
[data-sbi-v53-root] #work [data-reel-primary="true"] {
    width: var(--sbi-reel-width) !important;
    min-width: 0;
    max-width: none !important;
    flex: 0 0 var(--sbi-reel-width);
}
[data-sbi-v53-root] #work [data-reel-primary="true"] > div { aspect-ratio: 9 / 16; }
[data-sbi-v53-root] #work .sbi-reels-controls { gap: .75rem; }
[data-sbi-v53-root] #work .sbi-reels-navigation button { min-width: 44px; min-height: 44px; }
[data-sbi-v53-root] #work .sbi-reel-original { max-width: 100%; white-space: normal; line-height: 1.4; }

/* Contact actions use the same foreground on text and icons, including hover. */
[data-sbi-v53-root] #contact h2 {
    max-width: 100%;
    font-size: clamp(2rem, 4.8vw, 5.1rem) !important;
    line-height: 1.05 !important;
    overflow-wrap: break-word;
}
[data-sbi-v53-root] #contact :is(a, button) {
    min-width: 0;
    max-width: 100%;
    gap: .75rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
[data-sbi-v53-root] #contact :is(a, button) > span { min-width: 0; }
[data-sbi-v53-root] #contact :is(a, button) :is(span, svg) { color: inherit !important; }
[data-sbi-v53-root] #contact :is(a, button) svg { flex: none; }
[data-sbi-v53-root] #contact :is(a, button):is(:hover, :focus-visible) {
    color: #100819 !important;
    background-color: #d8bdff !important;
}
.sbi-service-main :is(.sbi-service-cta, .sbi-service-phone),
.sbi-case-root .sbi-case-cta a { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.sbi-service-contact { min-width: 0; }

/* A bounded viewer keeps close, navigation and information available at any height. */
.sbi-portfolio-lightbox .sbi-portfolio-lightbox-dialog {
    width: min(92rem, calc(100vw - 2rem));
    height: min(88vh, 58rem);
    height: min(88dvh, 58rem);
    max-height: calc(100vh - 2rem);
    max-height: calc(100dvh - 2rem);
    min-height: 0;
}
.sbi-portfolio-lightbox .sbi-portfolio-lightbox-info {
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-gutter: stable;
    padding-top: 4.5rem;
}
.sbi-portfolio-lightbox .sbi-portfolio-lightbox-info > * { flex-shrink: 0; }
.sbi-portfolio-lightbox .sbi-portfolio-lightbox-title { line-height: 1.04; }
.sbi-portfolio-lightbox .sbi-portfolio-lightbox-actions a { min-width: 0; overflow-wrap: anywhere; line-height: 1.45; }
.sbi-portfolio-lightbox .sbi-portfolio-lightbox-media { min-width: 0; min-height: 0; }
.sbi-portfolio-lightbox .sbi-portfolio-lightbox-media :is(img, video) { min-width: 0; min-height: 0; object-fit: contain; }

@media (min-width: 640px) { [data-sbi-v53-root] #work { --sbi-reel-width-cap: 15rem; } }
@media (min-width: 768px) { [data-sbi-v53-root] #work { --sbi-reel-width-cap: 15.9375rem; } }
@media (min-width: 1024px) { [data-sbi-v53-root] #work { --sbi-reel-width-cap: 16.875rem; } }

@media (max-width: 1100px) {
    [data-sbi-v53-root] .sbi-team-side .sbi-v54-copy { flex-basis: 100%; }
    .sbi-service-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
    .sbi-service-contact { position: static; }
}
@media (max-width: 980px) {
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-dialog {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr) minmax(0, auto);
    }
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-info {
        max-height: 40vh;
        max-height: 40dvh;
        padding-top: 1rem;
    }
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-media { padding-top: 4.25rem; }
}
@media (max-width: 767px) {
    [data-sbi-v53-root] #impact .sbi-impact-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "intro" "stats" "globe";
        gap: 1.5rem;
    }
    [data-sbi-v53-root] #impact .sbi-impact-globe { width: min(100%, 15.5rem); --sbi-globe-base-opacity: .88; }
    [data-sbi-v53-root] #impact .sbi-impact-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    [data-sbi-v53-root] .sbi-v54-title { font-size: clamp(2rem, 7.4vw, 3.5rem) !important; line-height: 1.06 !important; }
    [data-sbi-v53-root] .sbi-team-intro .sbi-v54-title { font-size: clamp(2rem, 7.4vw, 3.5rem) !important; }
    [data-sbi-v53-root] #contact h2 { font-size: clamp(2rem, 7.6vw, 3.75rem) !important; }
}
@media (max-width: 620px) {
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-dialog {
        width: 100%;
        height: 100vh;
        height: 100dvh;
        max-height: 100vh;
        max-height: 100dvh;
    }
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-info { max-height: 40dvh; }
}
@media (max-width: 390px) {
    [data-sbi-v53-root] #services .sbi-service-heading { grid-template-columns: 2.75rem minmax(0, 1fr) !important; gap: .7rem !important; }
    [data-sbi-v53-root] #services .sbi-service-title { font-size: 1.12rem !important; line-height: 1.18 !important; }
    [data-sbi-v53-root] #work .sbi-reels-controls { justify-content: center; }
}
@media (max-height: 820px) {
    :root { --sbi-v557-section-space: clamp(2.5rem, 3.5vw, 3.5rem); }
    [data-sbi-v53-root] .sbi-hero {
        min-height: 0 !important;
        padding-top: 7rem !important;
        padding-bottom: 2.5rem !important;
    }
    [data-sbi-v53-root] .sbi-hero h1 { font-size: clamp(2.5rem, 6.8vw, 5.5rem) !important; }
    .sbi-case-hero { padding-top: 7rem; }
    .sbi-service-main { padding-top: 6.5rem; }
}
/* Fit portrait media to short desktop/tablet windows without cropping the video. */
@media (max-height: 820px) and (min-width: 768px) {
    [data-sbi-v53-root] #work {
        --sbi-reel-width: clamp(11rem, min(var(--sbi-reel-width-cap), calc((100svh - 24rem) * .5625)), var(--sbi-reel-width-cap));
    }
    [data-sbi-v53-root] .sbi-hero h1 { font-size: clamp(2.5rem, 6.1vw, 5rem) !important; }
    [data-sbi-v53-root] #work .sbi-reel-track { padding-block: 2rem; }
}
@media (max-height: 500px) and (min-width: 621px) {
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-dialog {
        height: calc(100dvh - 2rem);
        grid-template-columns: minmax(0, 1fr) minmax(15rem, .9fr);
        grid-template-rows: minmax(0, 1fr);
    }
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-info { max-height: 100%; padding: 3.75rem 1rem 1rem; border-top: 0; }
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-media { padding: 1rem; }
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-title { font-size: 1.6rem; }
    .sbi-portfolio-lightbox .sbi-portfolio-lightbox-actions { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] #services .sbi-service-detail-link { transition: none; }
    [data-sbi-v53-root] #work .sbi-reel-track { scroll-behavior: auto; }
}

@media (prefers-reduced-motion: reduce) {
    .sbi-footer-marquee-track { width: 100%; transform: none !important; }
    .sbi-footer-marquee-group:not([aria-hidden="true"]) {
        width: 100%;
        min-width: 0;
        flex-wrap: wrap;
        justify-content: center;
        padding-inline: 1rem;
    }
    .sbi-footer-marquee-group[aria-hidden="true"],
    .sbi-footer-marquee-link[aria-hidden="true"],
    .sbi-footer-marquee-separator { display: none; }
    .sbi-footer-marquee-link { max-width: 100%; white-space: normal; text-align: center; overflow-wrap: break-word; font-size: clamp(1.4rem, 5vw, 3rem); }
}


/* SOURCE: sbi-v557b-layout.css */
/* V5.5.7b: targeted typography and wrapping corrections from screenshots 8–15.
   Load after sbi-v557-responsive.css. Existing panels, motion and content stay. */

/* Small fallback phone artwork must accommodate long client names. */
[data-sbi-v53-root] #selected-work .sbi-preview-brand {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100% !important;
    padding-inline: .25rem;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    line-height: 1.12 !important;
}

/* FAQ answers and workflow details take precedence over oversized headings. */
[data-sbi-v53-root] .sbi-faq-intro .sbi-v54-title {
    max-width: 100%;
    font-size: clamp(2rem, 3.45vw, 3.7rem) !important;
    line-height: 1.07 !important;
    overflow-wrap: break-word;
    text-wrap: balance;
}
[data-sbi-v53-root] #industries .sbi-engine-intro h3 {
    max-width: 100% !important;
    font-size: clamp(2rem, 3.1vw, 3.25rem) !important;
    line-height: 1.06 !important;
    overflow-wrap: break-word;
    text-wrap: balance;
}

/* Remove compounded spacing between the trusted strip and Proof. */
[data-sbi-v53-root] .sbi-trusted-section {
    padding-bottom: clamp(1.5rem, 3vw, 2.5rem) !important;
}
[data-sbi-v53-root] #impact.sbi-rhythm-section {
    padding-top: clamp(2rem, 3.5vw, 3rem) !important;
}
/* These headings use the shell's existing gutter exactly once. */
[data-sbi-v53-root] .sbi-visual-heading { padding-inline: 0; }
[data-sbi-v53-root] #work > div:first-child {
    width: min(calc(100% - var(--sbi-v557-gutter) - var(--sbi-v557-gutter)), 80rem);
    padding-inline: 0;
}
[data-sbi-v53-root] #work .sbi-reels-header h2 {
    font-size: clamp(2rem, 3.4vw, 3.5rem) !important;
    line-height: 1.07 !important;
}
@media (min-width: 1025px) {
    [data-sbi-v53-root] #work .sbi-reels-header {
        grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
        gap: clamp(1.5rem, 3vw, 2.5rem);
    }
}

/* Case pages share a compact scale. */
.sbi-case-root {
    --sbi-case-section-space: clamp(2.75rem, 4.5vw, 4.5rem);
}
.sbi-case-root .sbi-case-hero {
    min-height: 0;
    padding-top: clamp(7.5rem, 8vw, 9rem);
    padding-bottom: clamp(2rem, 3.25vw, 3rem);
}
.sbi-case-root .sbi-case-hero h1 {
    max-width: min(100%, 18ch);
    font-size: clamp(2.75rem, 7vw, 6rem);
    line-height: 1.02;
    letter-spacing: -.06em;
    overflow-wrap: break-word;
    text-wrap: balance;
}
.sbi-case-root .sbi-case-lead { margin-top: 1rem !important; }
.sbi-case-root .sbi-case-services { margin-top: 1.25rem; }
.sbi-case-root .sbi-case-actions { margin-top: 1.5rem; }
.sbi-case-root .sbi-case-social-network { margin-top: 1.25rem; }
.sbi-case-root .sbi-case-results {
    padding-top: .75rem;
    padding-bottom: var(--sbi-case-section-space);
}
.sbi-case-root .sbi-case-metric {
    min-width: 0;
    min-height: 9.5rem;
}
.sbi-case-root .sbi-case-metric strong {
    font-size: clamp(2.6rem, 5.4vw, 4.75rem);
    line-height: 1;
    overflow-wrap: anywhere;
}
.sbi-case-root .sbi-case-metric > span { margin-top: 1.15rem; }
.sbi-case-root :is(.sbi-case-story, .sbi-case-media-section, .sbi-case-system, .sbi-case-cta) {
    padding-block: var(--sbi-case-section-space);
}
.sbi-case-root .sbi-case-section-heading h2 {
    max-width: min(100%, 24ch);
    font-size: clamp(2.25rem, 4.2vw, 4.5rem);
    line-height: 1.05;
    letter-spacing: -.055em;
    overflow-wrap: break-word;
    text-wrap: balance;
}
.sbi-case-root .sbi-case-section-copy { margin-top: 1.15rem !important; }
.sbi-case-root .sbi-case-story-grid {
    margin-top: clamp(1.75rem, 3vw, 2.5rem);
}
.sbi-case-root .sbi-case-story-grid article {
    min-width: 0;
    min-height: 0;
    padding: clamp(1.25rem, 2vw, 1.75rem);
}
.sbi-case-root .sbi-case-story-grid h3 {
    margin-top: 1rem;
    font-size: clamp(1.4rem, 2vw, 1.85rem);
    line-height: 1.12;
    overflow-wrap: break-word;
}
.sbi-case-root .sbi-case-story-grid p { margin-top: .85rem; }
.sbi-case-root .sbi-case-system-grid { gap: clamp(1.75rem, 3.5vw, 3rem); }
.sbi-case-root .sbi-case-system h2 {
    max-width: 100%;
    font-size: clamp(2rem, 3.35vw, 3.5rem);
    line-height: 1.06;
    letter-spacing: -.05em;
    overflow-wrap: break-word;
    text-wrap: balance;
}
.sbi-case-root .sbi-case-deliverables > div { min-width: 0; }
.sbi-case-root .sbi-case-deliverables p { min-width: 0; overflow-wrap: break-word; }
.sbi-case-root .sbi-case-project-nav { padding-block: clamp(1.5rem, 3vw, 2.5rem); }
.sbi-case-root .sbi-case-project-nav a { gap: .75rem; }
.sbi-case-root .sbi-case-cta h2 {
    max-width: min(100%, 22ch);
    font-size: clamp(2.25rem, 4.4vw, 4.5rem);
    line-height: 1.05;
    letter-spacing: -.055em;
    overflow-wrap: break-word;
    text-wrap: balance;
}
.sbi-case-root .sbi-case-cta-copy { margin-top: 1rem !important; }
.sbi-case-root .sbi-case-cta a { margin-top: 1.5rem; }

@media (max-width: 900px) {
    .sbi-case-root .sbi-case-hero h1 { font-size: clamp(2.75rem, 8vw, 4.75rem); }
    .sbi-case-root .sbi-case-section-heading h2 { font-size: clamp(2rem, 5.4vw, 3.5rem); }
    .sbi-case-root .sbi-case-system h2 { max-width: 25ch; }
}
@media (max-width: 680px) {
    [data-sbi-v53-root] .sbi-faq-intro .sbi-v54-title,
    [data-sbi-v53-root] #industries .sbi-engine-intro h3 {
        font-size: clamp(1.9rem, 7.4vw, 2.6rem) !important;
    }
    .sbi-case-root { --sbi-case-section-space: 2.75rem; }
    .sbi-case-root .sbi-case-hero { padding-top: 7.5rem; padding-bottom: 2rem; }
    .sbi-case-root .sbi-case-hero h1 { max-width: 100%; font-size: clamp(2.5rem, 10.5vw, 4rem); }
    .sbi-case-root :is(.sbi-case-section-heading, .sbi-case-system, .sbi-case-cta) h2 {
        max-width: 100%;
        font-size: clamp(2rem, 7.5vw, 2.75rem);
        line-height: 1.08;
    }
    .sbi-case-root .sbi-case-metric { min-height: 8.25rem; }
    .sbi-case-root .sbi-case-metric strong { font-size: clamp(2.6rem, 10vw, 3.5rem); }
}
@media (max-height: 820px) and (min-width: 681px) {
    .sbi-case-root { --sbi-case-section-space: clamp(2.5rem, 3.5vw, 3.5rem); }
    .sbi-case-root .sbi-case-hero { padding-top: 7rem; padding-bottom: 2rem; }
    .sbi-case-root .sbi-case-hero h1 { font-size: clamp(2.75rem, 6.2vw, 5rem); }
}


/* SOURCE: sbi-v557b-globe.css */
/* V5.5.7b: contained globe with readable, collision-aware city labels. */
[data-sbi-v53-root] #impact .sbi-impact-layout {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
    column-gap: clamp(1.5rem, 3vw, 3rem);
    row-gap: clamp(1.25rem, 2vw, 2rem);
}
[data-sbi-v53-root] #impact .sbi-impact-globe {
    position: relative;
    width: min(100%, 28rem);
    height: auto;
    min-width: 0;
    max-width: 100%;
    aspect-ratio: 1;
    isolation: isolate;
    --sbi-globe-base-opacity: 1;
}
/* Cobe adds a canvas wrapper. Absolute sizing avoids intrinsic canvas height
   changing the grid row and keeps all coordinates in the same square. */
[data-sbi-v53-root] #impact .sbi-impact-globe > div:not(.sbi-impact-globe-labels),
[data-sbi-v53-root] #impact .sbi-impact-globe-canvas {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
}
[data-sbi-v53-root] #impact .sbi-impact-location-content {
    position: absolute;
    top: 0;
    left: 0;
    padding: .36rem .48rem;
    background: rgba(8, 4, 16, .9);
    border-color: rgba(216, 189, 255, .3);
    filter: none;
    backdrop-filter: none;
    transform: translate3d(var(--sbi-label-left, 8px), var(--sbi-label-top, 8px), 0);
    transform-origin: 0 0;
}
[data-sbi-v53-root] #impact .sbi-impact-location-name {
    color: #f3eaff;
    font-size: .625rem;
    line-height: 1;
    letter-spacing: .075em;
}
[data-sbi-v53-root] #impact .sbi-impact-location-dot {
    z-index: 2;
    width: .4rem;
    height: .4rem;
}
[data-sbi-v53-root] #impact .sbi-impact-location-leader {
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    opacity: 0;
    background: rgba(216, 189, 255, .4);
    transform-origin: 0 50%;
    pointer-events: none;
}
@media (max-width: 767px) {
    [data-sbi-v53-root] #impact .sbi-impact-layout {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "intro" "stats" "globe";
    }
    [data-sbi-v53-root] #impact .sbi-impact-globe { width: min(100%, 20rem); }
}
@media (min-width: 768px) and (max-height: 820px) {
    [data-sbi-v53-root] #impact .sbi-impact-globe { width: min(100%, 25rem); }
}


/* SOURCE: sbi-v557b-reels.css */
/* V5.5.7B: three equivalent strips keep neighboring work visible at 01/12 and 12/12.
   WE owns selection and horizontal re-centering; repeated previews are aria-hidden. */
[data-sbi-v53-root] #work .sbi-reel-track {
    position: relative;
    overflow-anchor: none;
}
[data-sbi-v53-root] #work [data-reel-instance],
[data-sbi-v53-root] #work [data-reel-instance]:not([data-reel-primary="true"]) {
    display: block !important;
    width: var(--sbi-reel-width) !important;
    min-width: 0;
    max-width: none !important;
    flex: 0 0 var(--sbi-reel-width);
    scroll-snap-align: center;
}
[data-sbi-v53-root] #work [data-reel-instance] > div { aspect-ratio: 9 / 16; }
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] #work .sbi-reel-track { scroll-behavior: auto !important; }
}

/* V5.6.17: one native scroller owns touch momentum; all 36 instances retain size. */
[data-sbi-v53-root] #work .sbi-reel-track[data-reel-loop] {
    touch-action: pan-x pan-y pinch-zoom;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    cursor: grab;
}
[data-sbi-v53-root] #work .sbi-reel-track.sbi-reel-dragging {
    cursor: grabbing;
    user-select: none;
    -webkit-user-select: none;
}
[data-sbi-v53-root] #work [data-reel-instance] {
    aspect-ratio: 9 / 16;
    min-height: calc(var(--sbi-reel-width) * 16 / 9);
}
[data-sbi-v53-root] #work [data-reel-instance] img {
    -webkit-user-drag: none;
    user-select: none;
}
@media (max-width: 767px), (hover: none) and (pointer: coarse) {
    /* WebKit must not keep dozens of filtered, animated 3D paint layers alive. */
    [data-sbi-v53-root] #work [data-reel-instance][data-reel-slot] {
        filter: none !important;
        will-change: auto !important;
        opacity: .78 !important;
        transform: translateY(3px) scale(.965) !important;
        transition: opacity .22s ease, transform .22s ease, border-color .22s ease !important;
    }
    [data-sbi-v53-root] #work [data-reel-instance][data-reel-selected="true"] {
        opacity: 1 !important;
        transform: translateY(-3px) scale(1) !important;
        box-shadow: 0 14px 32px rgba(0, 0, 0, .18) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] #work [data-reel-instance][data-reel-slot] {
        transition: none !important;
    }
}
/* V5.6.18: media cards are swipe controls, so a hold should not select their copy. */
[data-sbi-v53-root] #work [data-reel-instance] {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none;
}


/* SOURCE: sbi-v557c-layout.css */
/* V5.5.7c: a quieter introduction, tighter home cards and shared shell. */
[data-sbi-v53-root] .sbi-background { background-color: #07020e; }
[data-sbi-v53-root] .sbi-background-ambient { opacity: .6; }
[data-sbi-v53-root] .sbi-background-wash { opacity: .62; }
[data-sbi-v53-root] .sbi-background-dots { opacity: .12; }
/* Keep the existing pointer glow and motion; lowering the ambient layer reveals it. */

.sbi-intro-loader {
    position: fixed;
    inset: 0;
    z-index: 300;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: #06020c;
    color: #fff;
    pointer-events: none;
    animation: sbi-intro-exit 1.7s both;
}
.sbi-intro-loader-glow {
    position: absolute;
    width: min(80vw, 32rem);
    aspect-ratio: 1;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(149, 90, 223, .18), transparent 66%);
    animation: sbi-intro-glow 1.7s ease-out both;
}
.sbi-intro-loader-content {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 2rem;
    animation: sbi-intro-arrive .65s cubic-bezier(.16, 1, .3, 1) both;
}
.sbi-intro-loader-mark {
    position: relative;
    font-family: var(--sbi-global-font-display, sans-serif);
    font-size: clamp(4rem, 12vw, 7rem);
    font-weight: 900;
    line-height: .95;
    letter-spacing: -.08em;
}
.sbi-intro-loader-spark {
    position: absolute;
    top: -.12em;
    right: -.75em;
    font-size: .27em;
    color: #c59cff;
}
.sbi-intro-loader-caption {
    color: rgba(255,255,255,.68);
    font: 600 .8rem/1.5 var(--sbi-global-font-body, sans-serif);
    letter-spacing: .035em;
}
.sbi-intro-loader-line {
    width: 7rem;
    height: 2px;
    margin-top: .65rem;
    border-radius: 2px;
    background: linear-gradient(90deg, transparent, #c59cff, #fff);
    transform-origin: left;
    animation: sbi-intro-line 1.35s cubic-bezier(.22,1,.36,1) both;
}
@keyframes sbi-intro-exit { 0%, 81% { opacity: 1; } 100% { opacity: 0; } }
@keyframes sbi-intro-arrive { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes sbi-intro-glow { from { opacity: .3; transform: scale(.85); } to { opacity: 1; transform: scale(1.08); } }
@keyframes sbi-intro-line { from { transform: scaleX(0); opacity: .4; } to { transform: scaleX(1); opacity: 1; } }

/* Lift the SBI Agency section by a small, responsive amount. */
[data-sbi-v53-root] #about.sbi-rhythm-section {
    padding-top: clamp(1.75rem, 3vw, 3rem) !important;
}
[data-sbi-v53-root] #selected-work .sbi-work-card-layout { min-height: 19rem; }
[data-sbi-v53-root] #selected-work .sbi-work-card-copy { margin-top: 1.5rem; }
[data-sbi-v53-root] #selected-work .sbi-work-card-action {
    margin-top: 1.5rem;
    padding-top: 0;
}
[data-sbi-v53-root] #services .sbi-service-detail-link {
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
}

[data-sbi-global-footer].sbi-global-footer { padding-block: 1.35rem; background: #07020e; }
[data-sbi-global-footer] .sbi-global-footer-inner { gap: .85rem; }
[data-sbi-global-footer] .sbi-global-socials { flex-wrap: wrap; gap: .65rem; }
[data-sbi-global-footer] .sbi-global-socials a {
    width: 2.875rem;
    height: 2.875rem;
    color: #f2ebfb;
    border-color: rgba(255,255,255,.2);
    background: rgba(255,255,255,.065);
}
[data-sbi-global-footer] .sbi-global-socials a:is(:hover, :focus-visible) {
    color: #fff;
    border-color: #c59cff;
    background: #37204f;
}
[data-sbi-global-footer] .sbi-global-socials svg { width: 1.375rem; height: 1.375rem; stroke-width: 2; }
[data-sbi-global-footer] .sbi-footer-capabilities {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 1.1rem;
    row-gap: .35rem;
}
.sbi-footer-capabilities > span {
    color: #aaa3b3;
    animation: sbi-footer-capability 16s linear infinite;
}
.sbi-footer-capabilities > span:nth-child(2) { animation-delay: -12s; }
.sbi-footer-capabilities > span:nth-child(3) { animation-delay: -8s; }
.sbi-footer-capabilities > span:nth-child(4) { animation-delay: -4s; }
@keyframes sbi-footer-capability {
    0%, 22% { color: #cfaff6; }
    25%, 97% { color: #aaa3b3; }
    100% { color: #cfaff6; }
}
#sbi-footer-marquee .sbi-footer-marquee-link { padding-block: .95rem; }
.sbi-global-header .sbi-global-header-cta,
.sbi-global-header .sbi-global-header-cta *,
.sbi-global-mobile-menu .sbi-global-mobile-cta,
.sbi-global-mobile-menu .sbi-global-mobile-cta * {
    font-family: var(--sbi-global-font-body, sans-serif);
    font-weight: 800;
}
@media (max-width: 767px) {
    [data-sbi-v53-root] #selected-work .sbi-work-card-layout { min-height: 0; }
    [data-sbi-v53-root] #selected-work .sbi-work-card-copy { margin-top: 1.1rem; }
    [data-sbi-v53-root] #about.sbi-rhythm-section { padding-top: 1.5rem !important; }
    [data-sbi-global-footer].sbi-global-footer { padding-block: 1.2rem; }
}
@media (prefers-reduced-motion: reduce) {
    .sbi-intro-loader { display: none; }
    .sbi-intro-loader *, .sbi-footer-capabilities > span { animation: none; }
}


/* SOURCE: sbi-v557c-globe.css */
/* V5.5.7c: a side-stage globe, sized by the space the Proof section actually has.
   The Cobe sphere occupies about 81.6% of its square. A 60rem canvas therefore
   gives a 49rem visible globe, rather than the former 20–23rem decoration.
   Load after the V5.5.7b globe and layout styles. */
[data-sbi-v53-root] #impact {
    container-name: sbi-proof;
    container-type: inline-size;
    overflow: clip !important;
}
[data-sbi-v53-root] #impact .sbi-impact-layout {
    --sbi-proof-columns: minmax(0, 1fr);
    --sbi-proof-areas: "intro" "stats" "globe";
    --sbi-proof-stat-columns: repeat(2, minmax(0, 1fr));
    --sbi-proof-globe-width: min(100%, 38rem);
    --sbi-proof-intro-align: center;
    --sbi-proof-stats-align: center;
    --sbi-proof-gap: clamp(1.25rem, 2.3vw, 2.5rem);
    display: grid;
    grid-template-columns: var(--sbi-proof-columns);
    grid-template-areas: var(--sbi-proof-areas);
    grid-template-rows: auto;
    width: 100%;
    max-width: 108rem;
    margin-inline: auto;
    gap: var(--sbi-proof-gap);
    align-items: center;
}
[data-sbi-v53-root] #impact .sbi-impact-intro {
    grid-area: intro;
    align-self: var(--sbi-proof-intro-align);
    min-width: 0;
    position: relative;
    z-index: 2;
}
[data-sbi-v53-root] #impact .sbi-impact-intro > div { gap: 1rem !important; }
[data-sbi-v53-root] #impact .sbi-impact-intro h2 { max-width: 100%; }
[data-sbi-v53-root] #impact .sbi-impact-intro p { max-width: 35rem; }
[data-sbi-v53-root] #impact .sbi-impact-stats {
    grid-area: stats;
    grid-template-columns: var(--sbi-proof-stat-columns);
    align-self: var(--sbi-proof-stats-align);
    min-width: 0;
    position: relative;
    z-index: 2;
    gap: clamp(.75rem, 1.2vw, 1.125rem);
}
[data-sbi-v53-root] #impact .sbi-impact-stats > [data-stat-id] {
    min-width: 0;
    min-height: 0;
    padding: clamp(1rem, 1.7vw, 1.625rem);
}
[data-sbi-v53-root] #impact .sbi-impact-stats [data-stat-id] p {
    margin-top: 1rem;
    max-width: 100%;
    overflow-wrap: anywhere;
}
[data-sbi-v53-root] #impact .sbi-impact-globe {
    grid-area: globe;
    position: relative;
    inset: auto;
    width: var(--sbi-proof-globe-width);
    height: auto;
    min-width: 0;
    max-width: 100%;
    aspect-ratio: 1;
    margin: 0;
    align-self: center;
    justify-self: center;
    transform: none !important;
    --sbi-globe-base-opacity: 1;
}
[data-sbi-v53-root] #impact .sbi-impact-location-name {
    font-size: .6875rem;
    line-height: 1;
    letter-spacing: .065em;
}

/* Tablet: the full sphere shares the introduction row; all four metrics sit
   beneath it. Narrow tablets automatically use the stacked base composition. */
@container sbi-proof (min-width: 48rem) {
    [data-sbi-v53-root] #impact .sbi-impact-layout {
        --sbi-proof-columns: minmax(0, .46fr) minmax(0, .54fr);
        --sbi-proof-areas: "intro globe" "stats stats";
        --sbi-proof-stat-columns: repeat(4, minmax(0, 1fr));
        --sbi-proof-globe-width: min(100%, 42rem);
    }
}

/* Desktop: the globe has the height of both content rows. The separate grid
   column protects the text and cards through zoom, font growth and resizing. */
@container sbi-proof (min-width: 72rem) {
    [data-sbi-v53-root] #impact .sbi-impact-layout {
        --sbi-proof-columns: minmax(0, .44fr) minmax(0, .56fr);
        --sbi-proof-areas: "intro globe" "stats globe";
        --sbi-proof-stat-columns: repeat(2, minmax(0, 1fr));
        --sbi-proof-globe-width: min(100%, 60rem);
        --sbi-proof-intro-align: end;
        --sbi-proof-stats-align: start;
    }
    [data-sbi-v53-root] #impact .sbi-impact-intro h2 {
        font-size: clamp(2.75rem, 4.1cqw, 4.75rem) !important;
    }
    [data-sbi-v53-root] #impact .sbi-impact-location-name { font-size: .75rem; }
}

/* Older browsers retain the same safe compositions using viewport breakpoints. */
@supports not (container-type: inline-size) {
    @media (min-width: 832px) {
        [data-sbi-v53-root] #impact .sbi-impact-layout {
            --sbi-proof-columns: minmax(0, .46fr) minmax(0, .54fr);
            --sbi-proof-areas: "intro globe" "stats stats";
            --sbi-proof-stat-columns: repeat(4, minmax(0, 1fr));
            --sbi-proof-globe-width: min(100%, 42rem);
        }
    }
    @media (min-width: 1216px) {
        [data-sbi-v53-root] #impact .sbi-impact-layout {
            --sbi-proof-columns: minmax(0, .44fr) minmax(0, .56fr);
            --sbi-proof-areas: "intro globe" "stats globe";
            --sbi-proof-stat-columns: repeat(2, minmax(0, 1fr));
            --sbi-proof-globe-width: min(100%, 60rem);
            --sbi-proof-intro-align: end;
            --sbi-proof-stats-align: start;
        }
    }
}

/* A low-amplitude pulse affects only the numbers, without changing geometry.
   It pauses outside the viewport and disappears when reduced motion is set. */
[data-sbi-v53-root] #impact .sbi-proof-number {
    animation: sbi-proof-number-breathe 3.8s ease-in-out infinite;
    animation-play-state: paused;
}
[data-sbi-v53-root] #impact.is-proof-visible .sbi-proof-number { animation-play-state: running; }
[data-sbi-v53-root] #impact [data-stat-id]:nth-child(2) .sbi-proof-number { animation-delay: -.65s; }
[data-sbi-v53-root] #impact [data-stat-id]:nth-child(3) .sbi-proof-number { animation-delay: -1.3s; }
[data-sbi-v53-root] #impact [data-stat-id]:nth-child(4) .sbi-proof-number { animation-delay: -1.95s; }
@keyframes sbi-proof-number-breathe {
    0%, 100% { opacity: 1; }
    50% { opacity: .86; }
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] #impact .sbi-proof-number { animation: none !important; opacity: 1; }
}


/* SOURCE: sbi-v557c-work.css */
/* V5.5.7c: continuous workflow context and real portfolio destinations. */
[data-sbi-v53-root] .sbi-workflow-viewport {
    scroll-behavior: auto;
    overflow-anchor: none;
}
[data-sbi-v53-root] .sbi-workflow-track {
    position: relative;
}
[data-sbi-v53-root] .sbi-workflow-step:focus-visible {
    outline: 2px solid #d8bdff;
    outline-offset: -3px;
}
[data-sbi-v53-root] #work .sbi-reel-client-region {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 3.2rem;
    padding: 0 1rem;
    overflow-anchor: none;
}
[data-sbi-v53-root] #work .sbi-reel-client-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 44px;
    max-width: 100%;
    padding: .6rem 1rem;
    border: 1px solid rgba(216,189,255,.32);
    border-radius: 999px;
    color: #f4edff !important;
    background: rgba(197,156,255,.07) !important;
    font: 800 .79rem/1.4 var(--sbi-v54-font-body);
    text-align: center;
    text-decoration: none !important;
    transition: background-color .2s ease, border-color .2s ease;
}
[data-sbi-v53-root] #work .sbi-reel-client-link:is(:hover,:focus-visible) {
    color: #fff !important;
    background: rgba(197,156,255,.19) !important;
    border-color: #d8bdff;
}
[data-sbi-v53-root] #work .sbi-reel-client-link:focus-visible {
    outline: 2px solid #d8bdff;
    outline-offset: 3px;
}
[data-sbi-v53-root] #work .sbi-reel-client-link[hidden] {
    display: none !important;
}
[data-sbi-v53-root] a.sbi-visual-card {
    color: #fff !important;
    text-decoration: none !important;
}
[data-sbi-v53-root] .sbi-visual-fallback b {
    max-width: calc(100% - 2rem);
    text-align: center;
    font-size: .62rem;
    line-height: 1.5;
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] .sbi-reel-client-link { transition: none; }
}
/* The case arrow is a native sibling link over the selected card's measured arrow.
   It is not nested in the React button and cannot select or play a Reel. */
[data-sbi-v53-root] #work .sbi-reel-case-arrow {
    position: absolute;
    z-index: 30;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(216,189,255,.42);
    border-radius: 50%;
    color: #fff !important;
    background: #21132f !important;
    font: 800 1.2rem/1 var(--sbi-v54-font-body);
    text-decoration: none !important;
    touch-action: manipulation;
}
[data-sbi-v53-root] #work .sbi-reel-case-arrow:is(:hover,:focus-visible) {
    color: #fff !important;
    background: #442361 !important;
    border-color: #d8bdff;
}
[data-sbi-v53-root] #work .sbi-reel-case-arrow:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}
[data-sbi-v53-root] #work .sbi-reel-case-arrow[hidden] { display: none !important; }
[data-sbi-v53-root] #work [data-reel-selected="true"] .sbi-reel-client-target { opacity: 0; }


/* SOURCE: sbi-v557c-faq.css */
/* Native accordion with a measured reserve: Contact stays still on toggle. */
[data-sbi-v53-root] .sbi-faq-list {
    min-width: 0;
    min-height: var(--sbi-faq-reserved-height, 0px);
    align-content: start;
    grid-auto-rows: max-content;
    overflow-anchor: none;
}
[data-sbi-v53-root] .sbi-faq-shell { min-width: 0; }
[data-sbi-v53-root] .sbi-faq-item > p { overflow-wrap: anywhere; }
[data-sbi-v53-root] .sbi-faq-measure {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    z-index: -1 !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    visibility: hidden !important;
    pointer-events: none !important;
    contain: layout style paint;
    transform: none !important;
}


/* SOURCE: sbi-v557d-layout.css */
/* V5.5.7d: readable empty previews, truthful counter presentation. */
[data-sbi-v53-root] #selected-work .sbi-preview-placeholder {
    inset: 27% .6rem auto;
    display: grid;
    place-items: center;
    min-width: 0;
    pointer-events: none;
}
[data-sbi-v53-root] #selected-work .sbi-preview-coming {
    display: flex;
    flex-direction: column;
    gap: .18em;
    margin: 0;
    color: #f6efff;
    font: 900 clamp(.65rem, 1.4vw, 1.18rem)/1.12 var(--sbi-global-font-display, sans-serif);
    letter-spacing: -.025em;
    text-align: center;
}
[data-sbi-v53-root] #selected-work .sbi-preview-coming > span { display: block; white-space: nowrap; }
[data-sbi-v53-root] #selected-work .sbi-preview-coming > span:last-child { color: #cba8fa; }
[data-sbi-v53-root] #selected-work .sbi-preview-has-media .sbi-preview-placeholder { display: none; }
[data-sbi-v53-root] #impact [data-stat-value] { font-variant-numeric: tabular-nums; }
@media (max-width: 480px) {
    [data-sbi-v53-root] #selected-work .sbi-preview-coming { font-size: clamp(.65rem, 2.8vw, .95rem); }
}


/* SOURCE: sbi-v557d-globe.css */
/* V5.5.7d: an interactive European view with a larger right-side stage.
   The content column remains separate; only the globe extends into the outer
   desktop gutter. Phones and tablets retain a fully contained square. */
[data-sbi-v53-root] #impact .sbi-impact-globe {
    pointer-events: auto;
    touch-action: pan-y pinch-zoom;
    outline-offset: -.5rem;
}
[data-sbi-v53-root] #impact .sbi-impact-globe:focus-visible {
    outline: 2px solid #d8bdff;
    border-radius: 1.5rem;
}
[data-sbi-v53-root] #impact .sbi-impact-globe-canvas { touch-action: pan-y pinch-zoom; }
@media (pointer: fine) {
    [data-sbi-v53-root] #impact .sbi-impact-globe-canvas { cursor: grab; }
    [data-sbi-v53-root] #impact .sbi-impact-globe.is-dragging .sbi-impact-globe-canvas { cursor: grabbing; }
}
[data-sbi-v53-root] #impact .sbi-globe-help {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
[data-sbi-v53-root] #impact .sbi-globe-controls {
    position: absolute;
    z-index: 5;
    left: 50%;
    bottom: 0;
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    gap: .375rem;
    width: max-content;
    max-width: 100%;
    padding: .375rem;
    border: 1px solid rgba(216, 189, 255, .17);
    border-radius: 999px;
    background: rgba(9, 5, 16, .86);
    transform: translateX(-50%);
}
[data-sbi-v53-root] #impact .sbi-globe-control {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex: 0 0 auto;
    width: 2.75rem;
    height: 2.75rem;
    min-width: 2.75rem;
    min-height: 2.75rem;
    margin: 0;
    padding: 0;
    color: #e8dcff;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 50%;
    font-family: inherit;
    font-size: 1.125rem;
    line-height: 1;
    font-weight: 700;
    box-shadow: none;
    text-decoration: none;
    transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
[data-sbi-v53-root] #impact .sbi-globe-control-reset {
    width: auto;
    padding-inline: .75rem;
    font-size: .6875rem;
    line-height: 1.2;
    letter-spacing: .015em;
    border-radius: 999px;
    color: #cbb5ed;
}
[data-sbi-v53-root] #impact .sbi-globe-control:hover,
[data-sbi-v53-root] #impact .sbi-globe-control:focus-visible {
    color: #fff;
    background-color: rgba(177, 130, 232, .18);
    border-color: rgba(216, 189, 255, .45);
}
[data-sbi-v53-root] #impact .sbi-globe-control:focus-visible {
    outline: 2px solid #d8bdff;
    outline-offset: 2px;
}
[data-sbi-v53-root] #impact .sbi-globe-controls[hidden] { display: none !important; }
[data-sbi-v53-root] #impact .sbi-impact-globe.is-fallback .sbi-impact-globe-canvas { cursor: default; }

@container sbi-proof (min-width: 72rem) {
    [data-sbi-v53-root] #impact .sbi-impact-globe {
        width: min(70rem, calc(100% + 7cqw));
        max-width: none;
        justify-self: start;
        margin-inline-start: clamp(.75rem, 1cqw, 1.5rem);
    }
}
@supports not (container-type: inline-size) {
    @media (min-width: 1216px) {
        [data-sbi-v53-root] #impact .sbi-impact-globe {
            width: min(70rem, calc(100% + 7vw));
            max-width: none;
            justify-self: start;
            margin-inline-start: clamp(.75rem, 1vw, 1.5rem);
        }
    }
}
@media (max-width: 359px) {
    [data-sbi-v53-root] #impact .sbi-globe-controls { gap: 0; padding: .25rem; }
    [data-sbi-v53-root] #impact .sbi-globe-control-reset { padding-inline: .4rem; }
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] #impact .sbi-impact-globe,
    [data-sbi-v53-root] #impact .sbi-globe-control { transition: none !important; }
}


/* SOURCE: sbi-v557d-motion.css */
/* V5.5.7d: logical workflow progression and continuous section-label glow.
   Step colors follow the existing logical index, never its cyclic visual order. */
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="0"] { --sbi-step-top: #100a19; --sbi-step-bottom: #180b28; }
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="1"] { --sbi-step-top: #140b20; --sbi-step-bottom: #1f0e32; }
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="2"] { --sbi-step-top: #180c26; --sbi-step-bottom: #26113c; }
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="3"] { --sbi-step-top: #1c0e2d; --sbi-step-bottom: #2c1446; }
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="4"] { --sbi-step-top: #211034; --sbi-step-bottom: #33174f; }
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="5"] { --sbi-step-top: #25113a; --sbi-step-bottom: #3a1a59; }
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="6"] { --sbi-step-top: #291341; --sbi-step-bottom: #401d63; }
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="7"] { --sbi-step-top: #2e1447; --sbi-step-bottom: #47206d; }
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="8"] { --sbi-step-top: #32164e; --sbi-step-bottom: #4d2276; }
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index="9"] { --sbi-step-top: #371854; --sbi-step-bottom: #542580; }

[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index],
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index]:hover,
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index].is-active {
    /* Keep the same progression when selected. The outline identifies selection. */
    background: linear-gradient(145deg, var(--sbi-step-top), var(--sbi-step-bottom)) !important;
    color: #fff !important;
    transition: transform .35s cubic-bezier(.16,1,.3,1), border-color .35s ease, box-shadow .35s ease;
}
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index] {
    border-color: rgba(216,189,255,.2) !important;
}
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index]:hover {
    border-color: rgba(235,219,255,.65) !important;
    box-shadow: inset 0 0 0 1px rgba(235,219,255,.1);
}
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index].is-active {
    border-color: #e8d7ff !important;
    box-shadow: inset 0 0 0 1px rgba(232,215,255,.24);
}
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index]:focus-visible {
    border-color: #fff !important;
    outline: 2px solid #fff;
    outline-offset: -5px;
}
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index] .sbi-workflow-number {
    color: #dfc8ff !important;
}
[data-sbi-v53-root] .sbi-workflow-step[data-workflow-index] small {
    color: #e4ddee !important;
}

/* wa() uses semantic classes with no Framer boxShadow/opacity loop.
   Animate only a decorative overlay and dot, leaving the label text steady. */
[data-sbi-v53-root] :is(.sbi-section-badge, .sbi-v54-label) {
    --sbi-badge-rgb: 197,156,255;
    position: relative;
    isolation: isolate;
    box-shadow: 0 0 8px rgba(var(--sbi-badge-rgb),.025);
}
[data-sbi-v53-root] .sbi-section-badge[data-sbi-badge-tone="green"] {
    --sbi-badge-rgb: 52,211,153;
}
[data-sbi-v53-root] .sbi-section-badge[data-sbi-badge-tone="neutral"] {
    --sbi-badge-rgb: 220,209,240;
}
[data-sbi-v53-root] :is(.sbi-section-badge, .sbi-v54-label)::after {
    position: absolute;
    z-index: -1;
    inset: -1px;
    border: 1px solid rgba(var(--sbi-badge-rgb),.26);
    border-radius: inherit;
    box-shadow: 0 0 26px rgba(var(--sbi-badge-rgb),.23);
    content: '';
    pointer-events: none;
    opacity: 0;
    animation: sbi-section-badge-breathe 4.8s ease-in-out infinite;
}
[data-sbi-v53-root] .sbi-section-badge > .sbi-section-badge-dot,
[data-sbi-v53-root] .sbi-v54-label::before {
    flex-shrink: 0;
    box-shadow: 0 0 12px rgba(var(--sbi-badge-rgb),.7);
    animation: sbi-section-dot-breathe 4.8s ease-in-out infinite;
}

/* Identical start/end values eliminate the restart flash in every cycle. */
@keyframes sbi-section-badge-breathe {
    0%, 100% { opacity: 0; }
    50% { opacity: .9; }
}
@keyframes sbi-section-dot-breathe {
    0%, 100% { opacity: .5; transform: scale(.9); }
    50% { opacity: 1; transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] .sbi-workflow-step[data-workflow-index] {
        transition: none;
        animation: none !important;
    }
    [data-sbi-v53-root] .sbi-workflow-step[data-workflow-index]::after,
    [data-sbi-v53-root] :is(.sbi-section-badge, .sbi-v54-label)::after,
    [data-sbi-v53-root] .sbi-section-badge > .sbi-section-badge-dot,
    [data-sbi-v53-root] .sbi-v54-label::before {
        animation: none;
        transform: none;
    }
    [data-sbi-v53-root] :is(.sbi-section-badge, .sbi-v54-label)::after { opacity: .2; }
}


/* SOURCE: sbi-v557e-layout.css */
/* V5.5.7e: clearer client surfaces, contextual work links and actionable proof. */
[data-sbi-v53-root] #trusted { scroll-margin-top: 7rem; }
[data-sbi-v53-root] .sbi-trusted-section .sbi-trusted-item {
    background: linear-gradient(135deg, rgba(197,156,255,.14), rgba(121,69,182,.07)), rgba(14,9,24,.62) !important;
    border-color: rgba(209,177,255,.23) !important;
    color: #f0e9fa !important;
}
[data-sbi-v53-root] .sbi-trusted-section .sbi-trusted-item:hover {
    background: rgba(197,156,255,.22) !important;
    border-color: rgba(221,199,255,.52) !important;
}
/* Future logos keep their native proportions. No logo assets are fabricated. */
[data-sbi-v53-root] .sbi-trusted-item img {
    display: block;
    width: 100%;
    height: 3rem;
    max-width: 10rem;
    margin-inline: auto;
    object-fit: contain;
    object-position: center;
}
[data-sbi-v53-root] #selected-work article.sbi-selected-work-card {
    opacity: 1 !important;
    background: linear-gradient(145deg, rgba(164,116,228,.14), rgba(108,57,164,.07)), #0b0812 !important;
    border-color: rgba(211,180,255,.22) !important;
}
[data-sbi-v53-root] #selected-work article.sbi-selected-work-card:is(:hover,:focus-within,.is-selected-work) {
    border-color: rgba(211,180,255,.5) !important;
    background: linear-gradient(145deg, rgba(164,116,228,.2), rgba(108,57,164,.1)), #0b0812 !important;
}
[data-sbi-v53-root] #selected-work .sbi-clean-phone {
    border-color: rgba(214,187,255,.28) !important;
}
[data-sbi-v53-root] #work .sbi-reel-client-region { min-height: 3.65rem; }
[data-sbi-v53-root] #work .sbi-reel-client-link {
    min-height: 48px;
    padding: .8rem 1.4rem;
    font-size: clamp(.94rem, 1.3vw, 1.05rem);
    line-height: 1.4;
    font-weight: 800;
    color: #f7f0ff !important;
    border-color: rgba(222,196,255,.56);
    background: rgba(175,119,242,.21) !important;
    box-shadow: 0 0 24px rgba(158,88,238,.07);
    overflow-wrap: anywhere;
}
[data-sbi-v53-root] #work .sbi-reel-client-link:is(:hover,:focus-visible) {
    color: #fff !important;
    background: rgba(175,119,242,.34) !important;
    border-color: #e0c8ff;
}
[data-sbi-v53-root] #selected-work a[data-sbi-case-link] {
    min-height: 44px;
    padding: .65rem 1rem;
    font-size: .88rem;
    border-color: rgba(211,180,255,.38) !important;
    background: rgba(197,156,255,.12) !important;
}

[data-sbi-v53-root] #impact .sbi-proof-card {
    display: block;
    text-decoration: none !important;
    color: #fff;
    cursor: pointer;
    isolation: isolate;
}
[data-sbi-v53-root] #impact .sbi-proof-card::before {
    content: '';
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: radial-gradient(ellipse at 15% 8%, rgba(202,158,255,.34), transparent 72%);
    box-shadow: inset 0 0 0 1px rgba(216,186,255,.42);
    opacity: 0;
    animation: sbi-proof-spotlight 10.4s ease-in-out infinite;
    animation-delay: var(--sbi-proof-delay, 0s);
    animation-play-state: paused;
}
[data-sbi-v53-root] #impact .sbi-proof-number {
    transform-origin: left center;
    animation: sbi-proof-emphasis 10.4s ease-in-out infinite;
    animation-delay: var(--sbi-proof-delay, 0s) !important;
    animation-play-state: paused;
}
[data-sbi-v53-root] #impact.is-proof-visible .sbi-proof-card::before,
[data-sbi-v53-root] #impact.is-proof-visible .sbi-proof-number { animation-play-state: running; }
[data-sbi-v53-root] #impact .sbi-proof-card:is(:hover,:focus-visible) {
    border-color: #d8bdff !important;
    box-shadow: 0 0 0 1px rgba(216,189,255,.3), 0 8px 28px rgba(150,86,232,.16) !important;
}
[data-sbi-v53-root] #impact .sbi-proof-card:focus-visible { outline: 2px solid #e8d6ff; outline-offset: 4px; }
[data-sbi-v53-root] #impact .sbi-proof-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .5rem;
    margin-top: .7rem;
    color: #d8c0f5;
    font-size: clamp(.69rem, .95vw, .78rem);
    line-height: 1.4;
    font-weight: 700;
    letter-spacing: 0;
}
[data-sbi-v53-root] #impact .sbi-proof-action-arrow { transition: transform .25s ease; font-size: 1rem; }
[data-sbi-v53-root] #impact .sbi-proof-card:is(:hover,:focus-visible) .sbi-proof-action-arrow { transform: translate(2px,-2px); }
@keyframes sbi-proof-spotlight {
    0%, 26%, 100% { opacity: 0; }
    9%, 16% { opacity: 1; }
}
@keyframes sbi-proof-emphasis {
    0%, 26%, 100% { transform: scale(1); opacity: 1; }
    9%, 16% { transform: scale(1.035); opacity: 1; }
}
@media (max-width: 480px) {
    [data-sbi-v53-root] #work .sbi-reel-client-link { width: 100%; padding-inline: .9rem; }
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] #impact .sbi-proof-card::before,
    [data-sbi-v53-root] #impact .sbi-proof-number { animation: none !important; transform: none !important; }
    [data-sbi-v53-root] #impact .sbi-proof-card::before { opacity: .2; }
    [data-sbi-v53-root] #impact .sbi-proof-action-arrow,
    [data-sbi-v53-root] #work .sbi-reel-client-link { transition: none; }
}


/* SOURCE: sbi-v557e-globe.css */
/* V5.5.7e: Europe close-up. Cobe owns the camera zoom; this only grows the
   desktop stage by 5% and softens its crop. Projected city pins stay unmasked. */
[data-sbi-v53-root] #impact .sbi-impact-globe[data-sbi-globe-framing="europe-closeup"]::before {
    display: none;
}
[data-sbi-v53-root] #impact .sbi-impact-globe[data-sbi-globe-framing="europe-closeup"]::after {
    inset: 7% 3% 28%;
    background: radial-gradient(ellipse at 53% 43%, rgba(174, 120, 235, .1), transparent 72%);
}
[data-sbi-v53-root] #impact .sbi-impact-globe-canvas {
    -webkit-mask-image: radial-gradient(ellipse 75% 68% at 50% 43%, #000 64%, transparent 100%);
    mask-image: radial-gradient(ellipse 75% 68% at 50% 43%, #000 64%, transparent 100%);
}
[data-sbi-v53-root] #impact .sbi-impact-globe.is-fallback .sbi-impact-globe-canvas {
    -webkit-mask-image: none;
    mask-image: none;
}
@container sbi-proof (min-width: 72rem) {
    [data-sbi-v53-root] #impact .sbi-impact-globe {
        width: min(73.5rem, calc(105% + 7.35cqw));
    }
}
@supports not (container-type: inline-size) {
    @media (min-width: 1216px) {
        [data-sbi-v53-root] #impact .sbi-impact-globe {
            width: min(73.5rem, calc(105% + 7.35vw));
        }
    }
}


/* SOURCE: sbi-v557e-workflow.css */
/* V5.5.7e: stable action labels for the cyclic workflow. */
[data-sbi-v53-root] .sbi-workflow-navigation {
    flex-shrink: 0;
    gap: .5rem;
}

[data-sbi-v53-root] .sbi-workflow .sbi-workflow-nav-button {
    display: inline-flex;
    width: auto;
    min-width: 7.1rem;
    height: auto;
    min-height: 44px;
    padding: .7rem 1rem;
    align-items: center;
    justify-content: center;
    border-radius: .8rem;
    font-family: var(--sbi-v54-font-body);
    font-size: .74rem;
    font-weight: 800;
    line-height: 1.25;
    letter-spacing: .015em;
    white-space: nowrap;
}

[data-sbi-v53-root] .sbi-workflow.is-at-end .sbi-workflow-nav-button:last-child {
    border-color: rgba(255, 255, 255, .18) !important;
    color: #fff !important;
}

[data-sbi-v53-root] .sbi-workflow .sbi-workflow-nav-button:hover:not(:disabled),
[data-sbi-v53-root] .sbi-workflow .sbi-workflow-nav-button:focus-visible:not(:disabled) {
    border-color: rgba(216, 189, 255, .72) !important;
    color: #090315 !important;
    background: #d8bdff !important;
}

[data-sbi-v53-root] .sbi-workflow .sbi-workflow-nav-button:focus-visible:not(:disabled) {
    outline: 2px solid #eee3ff;
    outline-offset: 3px;
}

@media (max-width: 640px) {
    [data-sbi-v53-root] .sbi-workflow-controls {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: .55rem;
    }

    [data-sbi-v53-root] .sbi-workflow-status {
        min-height: 31px;
        justify-content: space-between;
        gap: .35rem;
    }

    [data-sbi-v53-root] .sbi-workflow-loop {
        padding-inline: .45rem;
        font-size: .58rem;
        letter-spacing: 0;
    }

    [data-sbi-v53-root] .sbi-workflow-navigation {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    [data-sbi-v53-root] .sbi-workflow .sbi-workflow-nav-button {
        min-width: 0;
        padding-inline: .5rem;
        font-size: .7rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] .sbi-workflow .sbi-workflow-nav-button {
        transition: none;
        transform: none;
    }
}


/* SOURCE: sbi-v557e-footer.css */
/* V5.5.7e: a quieter footprint with solid, locally embedded brand marks. */
[data-sbi-global-footer].sbi-global-footer {
    padding-block: 1.15rem;
}
[data-sbi-global-footer] .sbi-global-footer-inner {
    gap: .65rem;
    padding-bottom: max(1rem, env(safe-area-inset-bottom));
}
[data-sbi-global-footer] .sbi-global-socials {
    gap: .65rem;
}
[data-sbi-global-footer] .sbi-global-socials a {
    width: 2.75rem;
    height: 2.75rem;
    min-width: 44px;
    min-height: 44px;
    color: #f5efff;
    border-color: rgba(213, 190, 244, .24);
    background: #1c112c;
}
[data-sbi-global-footer] .sbi-global-socials a:is(:hover, :focus-visible) {
    color: #fff;
    border-color: #c59cff;
    background: #37204f;
}
[data-sbi-global-footer] .sbi-global-socials svg.sbi-footer-brand-icon {
    width: 1.5rem;
    height: 1.5rem;
    display: block;
    fill: currentColor;
    stroke: none;
    stroke-width: 0;
}
@media (max-width: 767px) {
    [data-sbi-global-footer].sbi-global-footer {
        padding-block: 1rem;
    }
}


/* SOURCE: sbi-v557f-layout.css */
/* V5.5.7f: targeted changes to the approved composition. */
.sbi-intro-loader-content { gap: 1.2rem; max-width: 100%; }
.sbi-intro-loader-mark { font-size: clamp(4.6rem, 13.5vw, 8rem); }
.sbi-intro-loader-caption {
    font-size: clamp(.8rem, 2.4vw, .93rem);
    font-weight: 750;
    letter-spacing: .12em;
    color: rgba(255,255,255,.84);
    text-align: center;
}
.sbi-intro-loader-line {
    width: clamp(9rem, 32vw, 12rem);
    height: 4px;
    border-radius: 999px;
    background: linear-gradient(90deg, #bf85ed, #f3c1ed 62%, #fff);
    box-shadow: 0 0 15px rgba(218,154,246,.36), 0 0 3px rgba(255,255,255,.4);
}
[data-sbi-v53-root] .sbi-trusted-section .sbi-trusted-item {
    background: linear-gradient(135deg, rgba(197,156,255,.075), rgba(121,69,182,.035)), rgba(14,9,24,.78) !important;
    border-color: rgba(209,177,255,.17) !important;
}
[data-sbi-v53-root] .sbi-trusted-section .sbi-trusted-item:hover {
    background: rgba(197,156,255,.13) !important;
    border-color: rgba(221,199,255,.36) !important;
}
/* Metrics are information, not navigation. The approved totals never drift. */
[data-sbi-v53-root] #impact .sbi-proof-card { cursor: default; }
[data-sbi-v53-root] #impact .sbi-proof-card:is(:hover,:focus-visible) {
    border-color: rgba(255,255,255,.1) !important;
    box-shadow: 0 20px 55px rgba(0,0,0,.22) !important;
}
[data-sbi-v53-root] #impact .sbi-proof-digits {
    color: #dfc9ff;
    -webkit-text-fill-color: transparent;
    background: linear-gradient(110deg, #cda7fb 0%, #e1ccfb 37%, #fff 45%, #fff 51%, #e1ccfb 59%, #cda7fb 100%);
    background-size: 300% 100%;
    background-position: 100% 50%;
    background-clip: text;
    -webkit-background-clip: text;
    animation: sbi-proof-white-sweep 10.4s ease-in-out infinite;
    animation-delay: var(--sbi-proof-delay, 0s);
    animation-play-state: paused;
}
[data-sbi-v53-root] #impact.is-proof-visible .sbi-proof-digits { animation-play-state: running; }
@keyframes sbi-proof-white-sweep {
    0%, 3% { background-position: 100% 50%; filter: drop-shadow(0 0 0 rgba(255,255,255,0)); }
    11% { filter: drop-shadow(0 0 9px rgba(247,231,255,.52)); }
    21%, 100% { background-position: 0% 50%; filter: drop-shadow(0 0 0 rgba(255,255,255,0)); }
}
/* Equal rows and flexible content anchor every CTA to the same baseline.
   Cards can grow for translations/text zoom instead of clipping a fixed box. */
[data-sbi-v53-root] #selected-work .sbi-selected-work-grid { grid-auto-rows: 1fr; align-items: stretch; }
[data-sbi-v53-root] #selected-work .sbi-selected-work-item { display: flex; min-width: 0; }
[data-sbi-v53-root] #selected-work .sbi-work-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-width: 0;
}
[data-sbi-v53-root] #selected-work .sbi-work-card-layout { flex: 1; align-items: stretch; min-width: 0; }
[data-sbi-v53-root] #selected-work .sbi-work-card-content { min-height: 19rem; height: 100%; }
[data-sbi-v53-root] #selected-work .sbi-work-card-action {
    margin-top: auto !important;
    padding-top: 1.5rem;
    flex-shrink: 0;
}
[data-sbi-v53-root] #selected-work .sbi-work-card-action a { min-height: 44px; }
@media (max-width: 767px) {
    [data-sbi-v53-root] #selected-work .sbi-work-card-content { min-height: 17rem; }
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] #impact .sbi-proof-digits { animation: none; filter: none; background-position: 100% 50%; }
}
@media (forced-colors: active) {
    [data-sbi-v53-root] #impact .sbi-proof-digits { background: none; -webkit-text-fill-color: CanvasText; color: CanvasText; }
}


/* SOURCE: sbi-v557f-globe.css */
/* V5.5.7f: a full, perspective globe. Replace the accumulated c/d/e sizing
   and crop rules, rather than hiding an oversized sphere behind another mask. */
[data-sbi-v53-root] #impact .sbi-impact-globe {
    position: relative;
    inset: auto;
    box-sizing: border-box;
    width: min(100%, 36rem);
    max-width: 100%;
    height: auto;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 1 / 1;
    margin: 0;
    justify-self: center;
    align-self: center;
    overflow: visible;
    transform: none !important;
    clip-path: none;
    mask-image: none;
    -webkit-mask-image: none;
    touch-action: pan-y pinch-zoom;
}
[data-sbi-v53-root] #impact .sbi-impact-globe::before,
[data-sbi-v53-root] #impact .sbi-impact-globe::after {
    content: none;
    display: none;
}
[data-sbi-v53-root] #impact .sbi-impact-globe-canvas,
[data-sbi-v53-root] #impact .sbi-impact-globe > div:not(.sbi-impact-globe-labels) {
    position: absolute;
    inset: 0;
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    aspect-ratio: auto;
    transform: none !important;
    mask-image: none;
    -webkit-mask-image: none;
    clip-path: none;
    cursor: default;
    touch-action: pan-y pinch-zoom;
}
[data-sbi-v53-root] #impact .sbi-impact-globe.is-fallback {
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
[data-sbi-v53-root] #impact .sbi-impact-location-name {
    letter-spacing: .035em;
}
@container sbi-proof (min-width: 72rem) {
    [data-sbi-v53-root] #impact .sbi-impact-globe {
        width: min(100%, 46rem, calc(100vh - 10rem));
        width: min(100%, 46rem, calc(100svh - 10rem));
        max-width: 100%;
        margin-inline: 0;
        justify-self: center;
    }
}
@supports not (container-type: inline-size) {
    @media (min-width: 1216px) {
        [data-sbi-v53-root] #impact .sbi-impact-globe {
            width: min(100%, 46rem, calc(100vh - 10rem));
            width: min(100%, 46rem, calc(100svh - 10rem));
            max-width: 100%;
            margin-inline: 0;
            justify-self: center;
        }
    }
}


/* SOURCE: sbi-v557g-layout.css */
/* V5.5.7g: shared optical axis, retaining the approved loader size and duration. */
[data-sbi-v53-root] .sbi-intro-loader-content { display:grid; justify-items:center; text-align:center; }
[data-sbi-v53-root] .sbi-intro-loader-mark { display:inline-block; position:relative; letter-spacing:0; text-align:center; }
[data-sbi-v53-root] .sbi-intro-loader-word { display:inline-block; letter-spacing:-.08em; padding-inline-end:.08em; }
[data-sbi-v53-root] .sbi-intro-loader-caption { justify-self:center; padding-inline-start:.12em; text-align:center; }
html[data-sbi-intro-ready="false"] #sbi-measurement-ui { visibility:hidden!important; opacity:0!important; pointer-events:none!important; }
/* Backup for hosts that relocate inline scripts. */
html:not([data-sbi-intro-expired="true"]):has(.sbi-intro-loader) #sbi-measurement-ui { visibility:hidden!important; opacity:0!important; pointer-events:none!important; }

html[data-sbi-intro-expired="true"] .sbi-intro-loader { display:none!important; }


/* SOURCE: sbi-v557g-globe.css */
/* V5.5.7g: retain the approved f camera, sphere scale and square stage.
   Resource and motion fallbacks stay static without extra compositing work. */
[data-sbi-v53-root] #impact .sbi-impact-globe[data-sbi-globe-static="true"] {
    filter: none !important;
    transition: none !important;
    animation: none !important;
}
[data-sbi-v53-root] #impact .sbi-impact-globe[data-sbi-globe-static="true"] .sbi-impact-location,
[data-sbi-v53-root] #impact .sbi-impact-globe[data-sbi-globe-static="true"] .sbi-impact-location-content {
    transition: none !important;
    animation: none !important;
}


/* SOURCE: sbi-v557g-navigation.css */
/* V5.5.7g: one full-viewport blur surface below the sharp navigation. */
.sbi-global-menu-backdrop {
    position: fixed;
    z-index: 100100;
    inset: 0;
    display: block;
    background: rgba(5, 3, 8, .54);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    touch-action: none;
    cursor: pointer;
}

.sbi-global-menu-backdrop[hidden] { display: none !important; }

body.sbi-menu-open .sbi-global-header {
    z-index: 100101;
    /* No filtered ancestor: the menu's text and controls remain crisp. */
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.sbi-global-header .sbi-global-mobile-menu {
    max-height: calc(100vh - var(--sbi-menu-top, var(--sbi-global-header-height)));
    max-height: calc(100dvh - var(--sbi-menu-top, var(--sbi-global-header-height)));
    overflow-y: auto;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    padding-bottom: max(1.25rem, env(safe-area-inset-bottom));
    background: #08050d;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

body.admin-bar .sbi-global-header .sbi-global-mobile-menu {
    max-height: calc(100vh - var(--sbi-menu-top, calc(var(--sbi-global-header-height) + 46px)));
    max-height: calc(100dvh - var(--sbi-menu-top, calc(var(--sbi-global-header-height) + 46px)));
}

@media (max-width: 1279px) {
    .sbi-global-header .sbi-global-mobile-menu:not([hidden]) { display: block !important; }
}

@supports not ((backdrop-filter: blur(10px)) or (-webkit-backdrop-filter: blur(10px))) {
    .sbi-global-menu-backdrop { background: rgba(5, 3, 8, .86); }
}


/* SOURCE: sbi-v557g-footer.css */
/* V5.5.7g: one optical family of circular pink–purple brand knockouts. */
[data-sbi-global-footer] .sbi-global-socials a {
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    flex: 0 0 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    box-shadow: none;
    transition: filter .2s ease;
}
[data-sbi-global-footer] .sbi-global-socials a:is(:hover, :focus-visible) {
    border: 0;
    background: transparent;
    box-shadow: none;
    filter: brightness(1.13);
}
[data-sbi-global-footer] .sbi-global-socials a:focus-visible {
    outline: 3px solid #f4d9ff;
    outline-offset: 4px;
}
[data-sbi-global-footer] .sbi-global-socials svg.sbi-footer-brand-icon {
    display: block;
    width: 44px;
    height: 44px;
    fill: none;
    stroke: none;
    stroke-width: 0;
}
[data-sbi-global-footer] .sbi-footer-brand-fallback {
    display: none;
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-global-footer] .sbi-global-socials a {
        transition: none;
    }
}
@media (forced-colors: active) {
    [data-sbi-global-footer] .sbi-global-socials a,
    [data-sbi-global-footer] .sbi-global-socials a:is(:hover, :focus-visible) {
        color: LinkText;
        background: Canvas;
        outline: 1px solid LinkText;
        outline-offset: 0;
        filter: none;
    }
    [data-sbi-global-footer] .sbi-global-socials a:focus-visible {
        outline: 3px solid Highlight;
        outline-offset: 4px;
    }
    [data-sbi-global-footer] .sbi-footer-brand-tile {
        display: none;
    }
    [data-sbi-global-footer] .sbi-footer-brand-fallback {
        display: block;
        fill: LinkText;
    }
}


/* SOURCE: sbi-v557g-runtime.css */
/* V5.5.7g: lower the rendering cost only when runtime hints warrant it.
   Component code separately stops its animation work and media downloads. */
html[data-sbi-runtime="constrained"] .sbi-background-pointer,
html[data-sbi-runtime="constrained"] .sbi-background-ambient,
html[data-sbi-reduced-motion="true"] .sbi-background-pointer,
html[data-sbi-reduced-motion="true"] .sbi-background-ambient {
    display: none !important;
}

/* Keep the approved dark/purple wash without large animated blur surfaces. */
html[data-sbi-runtime="constrained"] .sbi-background {
    background: #090315 !important;
}
html[data-sbi-runtime="constrained"] .sbi-background-dots { opacity: .1 !important; }

html[data-sbi-runtime="constrained"] .sbi-global-header,
html[data-sbi-runtime="constrained"] .sbi-global-mobile-menu {
    background: rgba(9, 3, 21, .97) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}
html[data-sbi-runtime="constrained"] [data-sbi-v53-root] :is(.sbi-service-card, .sbi-faq-item, .sbi-visual-open),
html[data-sbi-runtime="constrained"] .sbi-portfolio-lightbox {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
}

/* Stopped reveals must leave all text and controls visible. */
html[data-sbi-runtime="constrained"] .sbi-reveal,
html[data-sbi-reduced-motion="true"] .sbi-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
}

html[data-sbi-runtime="constrained"] :is(.sbi-section-badge, .sbi-v54-label)::after,
html[data-sbi-runtime="constrained"] .sbi-v54-label::before,
html[data-sbi-runtime="constrained"] .sbi-section-badge-dot,
html[data-sbi-runtime="constrained"] .sbi-workflow-step::after,
html[data-sbi-runtime="constrained"] .sbi-footer-marquee-track,
html[data-sbi-reduced-motion="true"] .sbi-footer-marquee-track {
    animation: none !important;
    will-change: auto !important;
}

/* Restore the running state automatically when the tab becomes visible. */
html[data-sbi-page-hidden="true"] :is(.sbi-section-badge, .sbi-v54-label)::after,
html[data-sbi-page-hidden="true"] .sbi-v54-label::before,
html[data-sbi-page-hidden="true"] .sbi-section-badge-dot,
html[data-sbi-page-hidden="true"] .sbi-workflow-step::after,
html[data-sbi-page-hidden="true"] .sbi-footer-marquee-track,
html[data-sbi-page-hidden="true"] .sbi-visual-track {
    animation-play-state: paused !important;
}

