/* V5.5.8: restore the approved case polish after the consolidated release
   stylesheet, then keep client pages readable in narrow and short viewports. */
.sbi-case-root .sbi-case-social-link .sbi-case-social-icon {
    width: 2rem;
    height: 2rem;
    flex: 0 0 2rem;
}
.sbi-case-root .sbi-case-social-icon svg.sbi-footer-brand-icon {
    display: block;
    width: 2rem;
    height: 2rem;
    overflow: visible;
    fill: none;
    stroke: none;
    stroke-width: 0;
}
.sbi-case-root a.sbi-case-social-link {
    min-height: 48px;
    font-weight: 750;
    touch-action: manipulation;
}
.sbi-case-root .sbi-case-story {
    scroll-margin-top: calc(var(--sbi-global-header-height, 4.75rem) + 1rem);
}
.sbi-case-root .sbi-case-project-nav strong { overflow-wrap: anywhere; }

@media (max-width: 767px) {
    .sbi-case-root { --sbi-case-section-space: 2.5rem; }
    .sbi-case-root .sbi-case-shell {
        width: 100%;
        padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
    }
    .sbi-case-root .sbi-case-hero {
        padding-top: calc(var(--sbi-global-header-height, 4.75rem) + 1.75rem);
        padding-bottom: 1.5rem;
    }
    .sbi-case-root .sbi-case-hero h1 {
        max-width: 100%;
        font-size: clamp(2.25rem, 9.8vw, 3.5rem);
        line-height: 1.04;
        letter-spacing: -.045em;
    }
    .sbi-case-root .sbi-case-sector { margin-top: 1rem !important; }
    .sbi-case-root :is(.sbi-case-lead, .sbi-case-section-copy, .sbi-case-story-grid p, .sbi-case-deliverables p, .sbi-case-cta-copy) {
        font-size: 1rem;
        line-height: 1.6;
    }
    .sbi-case-root .sbi-case-services { gap: .4rem; }
    .sbi-case-root .sbi-case-services > span { padding: .5rem .7rem; }
    .sbi-case-root .sbi-case-actions { margin-top: 1.25rem; }
    .sbi-case-root .sbi-case-social-network { width: 100%; margin-top: 1.25rem; }
    .sbi-case-root .sbi-case-social-links {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 30rem;
        gap: .5rem;
    }
    .sbi-case-root a.sbi-case-social-link {
        min-width: 0;
        justify-content: flex-start;
        padding: .45rem .6rem;
        gap: .5rem;
        font-size: .8125rem;
    }
    .sbi-case-root .sbi-case-social-link .sbi-case-social-name {
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .sbi-case-root .sbi-case-social-credit { font-size: .75rem; }
    .sbi-case-root .sbi-case-metric-grid { grid-template-columns: minmax(0, 1fr); gap: .625rem; }
    .sbi-case-root .sbi-case-metric {
        display: grid;
        grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
        align-items: center;
        gap: 1rem;
        min-height: 5rem;
        padding: 1rem;
        border-radius: 1rem;
    }
    .sbi-case-root .sbi-case-metric strong { font-size: clamp(2rem, 8.5vw, 3rem); }
    .sbi-case-root .sbi-case-metric > span { margin-top: 0; font-size: .7rem; letter-spacing: .05em; line-height: 1.5; }
    .sbi-case-root .sbi-case-story-grid { gap: .75rem; margin-top: 1.5rem; }
    .sbi-case-root .sbi-case-story-grid article { padding: 1rem; border-radius: 1rem; }
    .sbi-case-root .sbi-case-story-heading { grid-template-columns: 2.4rem minmax(0, 1fr); }
    .sbi-case-root .sbi-case-story-heading h3 { margin: 0; line-height: 1.2; }
    .sbi-case-root .sbi-case-story-grid article > p { margin-top: .8rem; }
    .sbi-case-root .sbi-case-system-grid { gap: 1.5rem; }
    .sbi-case-root .sbi-case-deliverables > div { min-height: 0; padding: .9rem; }
    .sbi-case-root .sbi-case-project-nav { grid-template-columns: minmax(0, 1fr); gap: .75rem; }
    .sbi-case-root .sbi-case-project-nav a { min-height: 6.25rem; padding: 1rem; text-align: left; }
    .sbi-case-root .sbi-case-project-nav strong { font-size: 1.4rem; line-height: 1.2; }
    .sbi-case-root .sbi-case-cta a { width: min(100%, 22rem); min-width: 0; }
    .sbi-case-root .sbi-v55-portfolio-toolbar { margin-top: 1.5rem; }
    .sbi-case-root .sbi-v55-portfolio-card { width: min(100%, 24rem); }
    .sbi-case-root .sbi-v55-portfolio-filters button { min-height: 44px; }
    .sbi-case-root .sbi-v55-portfolio-original { min-height: 44px; }
    /* Content stays visible during slow mobile loading; no offscreen reveal work. */
    .sbi-case-root .sbi-case-reveal { opacity: 1; transform: none; transition: none; }
}

@media (hover: none), (pointer: coarse) {
    .sbi-case-root :is(.sbi-case-story-grid article:hover, .sbi-case-project-nav a:hover, .sbi-v55-portfolio-open:hover .sbi-v55-portfolio-frame) { transform: none; }
    .sbi-case-root a.sbi-case-social-link:hover:not(:focus-visible) {
        color: #f5f3f8 !important;
        background: #211a2c !important;
        transform: none;
    }
}

html[data-sbi-runtime="constrained"] .sbi-case-root .sbi-case-reveal,
html[data-sbi-reduced-motion="true"] .sbi-case-root .sbi-case-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
}
html[data-sbi-runtime="constrained"] .sbi-case-root .sbi-case-metric::after { display: none; }
html[data-sbi-runtime="constrained"] .sbi-case-root .sbi-v55-portfolio-toolbar {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}
@media (forced-colors: active) {
    .sbi-case-root .sbi-footer-brand-tile { display: none; }
    .sbi-case-root .sbi-footer-brand-fallback { display: block; }
}
