/* V5.6.1: the exact display and copy fonts from the approved beta references.
   Selective transfer: existing page structures, media and globe remain. */
@font-face {
    font-family: "SBI Display";
    src: url("fonts/archivo-display-900.ttf") format("truetype");
    font-style: normal;
    font-weight: 900;
    font-display: swap;
}
@font-face {
    font-family: "SBI Sans";
    src: url("fonts/space-grotesk.ttf") format("truetype");
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
}
:root {
    --sbi-global-font-display: "SBI Display", "SBI Inter", Arial, sans-serif;
    --sbi-global-font-body: "SBI Sans", "SBI Inter", Arial, sans-serif;
    --sbi-v561-font-copy: "SBI Sans", "SBI Inter", Arial, sans-serif;
    --sbi-global-weight-display: 900;
    --sbi-global-weight-ui: 700;
    --sbi-global-weight-body: 500;
    --sbi-v561-surface: #18121f;
    --sbi-v561-ink: #f5f1f7;
    --sbi-v561-muted: #b8b0c2;
    --sbi-v561-purple: #c59cff;
    --sbi-v561-mint: #9fe0c6;
    --sbi-v561-coral: #edaeaa;
}
/* Archivo/Space Grotesk do not contain Greek. Use the existing local Inter
   on Greek pages, including proper locale-aware uppercase rendering. */
html[lang|="el"] {
    --sbi-global-font-display: "SBI Inter", Arial, sans-serif;
    --sbi-global-font-body: "SBI Inter", Arial, sans-serif;
    --sbi-v561-font-copy: "SBI Inter", Arial, sans-serif;
}
[data-sbi-v53-root],
.sbi-service-page,
.sbi-case-root { font-family: var(--sbi-global-font-body); }
[data-sbi-v53-root] .font-body { font-family: var(--sbi-global-font-body); }

/* Uppercase belongs to display headings, not descriptions and controls. */
[data-sbi-v53-root] :is(h1, h2, h3, .sbi-v54-title),
.sbi-service-main :is(h1, h2, h3),
.sbi-case-root :is(h1, h2, h3) {
    font-family: var(--sbi-global-font-display) !important;
    font-weight: 900;
    font-variation-settings: "wght" 900;
    font-synthesis: none;
    letter-spacing: -.035em;
    text-wrap: balance;
    text-transform: uppercase;
    overflow-wrap: break-word;
}
[data-sbi-v53-root] .sbi-hero h1 {
    font-size: clamp(2.4rem, 6.4vw, 6.25rem) !important;
    max-width: 980px;
    line-height: 1.02 !important;
    letter-spacing: -.035em !important;
}
[data-sbi-v53-root] .sbi-hero h2 {
    font-family: var(--sbi-global-font-body) !important;
    font-weight: 700 !important;
    font-variation-settings: normal;
    text-transform: none;
    line-height: 1.3 !important;
    letter-spacing: -.02em !important;
}
[data-sbi-v53-root] :is(.sbi-v54-title, #about h2, #impact h2, #services h2, #selected-work h2, #work h2, #industries h2, #contact h2) {
    line-height: 1.08;
    letter-spacing: -.035em;
}
[data-sbi-v53-root] .sbi-workflow-step strong {
    font-family: var(--sbi-global-font-display);
    font-weight: 900;
    font-variation-settings: "wght" 900;
    text-transform: uppercase;
    line-height: 1.15;
    letter-spacing: -.025em;
}
.sbi-service-main .sbi-service-catalog h2 {
    /* Screenshot 1: category names are stored and displayed in Title Case. */
    text-transform: none;
    line-height: 1.2;
}
.sbi-service-main .sbi-service-content h2 {
    font-size: clamp(1.2rem, 1.8vw, 1.6rem);
    line-height: 1.25;
}
.sbi-case-root .sbi-case-hero h1 {
    line-height: 1.02;
    max-width: 100%;
    letter-spacing: -.045em;
}
html[lang|="el"] [data-sbi-v53-root] :is(h1, h2, h3, .sbi-v54-title),
html[lang|="el"] .sbi-service-main :is(h1, h2, h3),
html[lang|="el"] .sbi-case-root :is(h1, h2, h3) {
    letter-spacing: -.025em;
    line-height: 1.16;
}

/* Screenshot 3: a centered, compact dark call panel. All content stays in a
   single tap target; the icon sits next to the copy rather than the far edge. */
[data-sbi-v53-root] .sbi-proof-call-section {
    padding-block: 1.25rem 3rem;
}
[data-sbi-v53-root] a.sbi-proof-call {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(1.25rem, 3vw, 2.5rem);
    width: min(100%, 56rem);
    min-height: 0;
    margin-inline: auto;
    padding: clamp(1.4rem, 3vw, 2rem) clamp(1.25rem, 4vw, 3rem);
    border: 1px solid #c59cff40;
    border-radius: 14px;
    color: var(--sbi-v561-ink);
    background: var(--sbi-v561-surface);
    box-shadow: none;
    text-decoration: none;
    transition: border-color 180ms ease, background-color 180ms ease;
}
[data-sbi-v53-root] .sbi-proof-call-copy {
    display: grid;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: center;
    column-gap: clamp(1rem, 3vw, 2rem);
    row-gap: .45rem;
    width: auto;
    min-width: 0;
}
[data-sbi-v53-root] .sbi-proof-call-label {
    grid-column: 1 / -1;
    color: var(--sbi-v561-purple);
    font: 700 .7rem/1.5 var(--sbi-global-font-body);
    letter-spacing: .12em;
    text-transform: uppercase;
}
[data-sbi-v53-root] .sbi-proof-call-title {
    color: var(--sbi-v561-ink);
    font: 900 clamp(1.7rem, 3.1vw, 2.75rem)/1.1 var(--sbi-global-font-display);
    letter-spacing: -.035em;
    text-transform: uppercase;
    overflow-wrap: normal;
}
[data-sbi-v53-root] .sbi-proof-call-number {
    color: var(--sbi-v561-purple);
    font: 700 clamp(.95rem, 1.4vw, 1.1rem)/1.5 var(--sbi-global-font-body);
    white-space: nowrap;
    letter-spacing: -.015em;
}
[data-sbi-v53-root] a.sbi-proof-call > .sbi-proof-call-icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    color: var(--sbi-v561-ink);
}
[data-sbi-v53-root] a.sbi-proof-call:is(:hover, :focus-visible) {
    color: var(--sbi-v561-ink);
    background: #241830;
    border-color: var(--sbi-v561-purple);
}
[data-sbi-v53-root] a.sbi-proof-call:focus-visible {
    outline: 3px solid var(--sbi-v561-mint);
    outline-offset: 5px;
}
@media (max-width: 767px) {
    [data-sbi-v53-root] .sbi-hero h1 {
        font-size: clamp(2.2rem, 8.8vw, 4rem) !important;
        line-height: 1.05 !important;
    }
    [data-sbi-v53-root] :is(.sbi-v54-title, #about h2, #impact h2, #services h2, #selected-work h2, #work h2, #industries h2, #contact h2) {
        font-size: clamp(1.8rem, 7.2vw, 3rem) !important;
        line-height: 1.14 !important;
    }
    [data-sbi-v53-root] .sbi-proof-call-copy {
        grid-template-columns: minmax(0, 1fr);
        row-gap: .55rem;
        text-align: center;
    }
    [data-sbi-v53-root] .sbi-proof-call-label { grid-column: 1; }
    [data-sbi-v53-root] a.sbi-proof-call {
        flex-direction: column;
        gap: .9rem;
        padding: 1.5rem 1rem;
    }
    [data-sbi-v53-root] .sbi-proof-call-title {
        font-size: clamp(1.7rem, 6.8vw, 2.2rem);
        line-height: 1.15;
    }
    [data-sbi-v53-root] a.sbi-proof-call > .sbi-proof-call-icon {
        width: 24px;
        height: 24px;
        flex-basis: 24px;
    }
}
/* Match the older section selector specificity, including its ID branches. */
html[lang|="el"] [data-sbi-v53-root] :is(.sbi-v54-title, #about h2, #impact h2, #services h2, #selected-work h2, #work h2, #industries h2, #contact h2) {
    letter-spacing: -.025em;
    line-height: 1.16 !important;
}
html[lang|="el"] [data-sbi-v53-root] .sbi-hero h1 {
    letter-spacing: -.025em !important;
    line-height: 1.12 !important;
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] a.sbi-proof-call { transition: none; }
}
@media (forced-colors: active) {
    [data-sbi-v53-root] a.sbi-proof-call { border: 2px solid LinkText; }
    [data-sbi-v53-root] .sbi-proof-call-label,
    [data-sbi-v53-root] .sbi-proof-call-title,
    [data-sbi-v53-root] .sbi-proof-call-number { color: LinkText; }
}

/* V5.6.5: fit whole words inside the existing Reel widths. The approved
   Archivo 900 stays; a long word must not strand its last letter. */
[data-sbi-v53-root] #work [data-reel-slot] { container-type: inline-size; }
[data-sbi-v53-root] #work [data-reel-slot] h3 {
    font-size: 1.125rem !important;
    line-height: 1.08 !important;
    letter-spacing: -.025em !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    hyphens: none;
    text-wrap: balance;
}
@supports (font-size: 1cqi) {
    [data-sbi-v53-root] #work [data-reel-slot] h3 {
        font-size: clamp(1rem, 7.8cqi, 1.25rem) !important;
    }
}

/* V5.6.7: one concise invitation inside the existing telephone action. */
[data-sbi-v53-root] .sbi-proof-call-note {
    grid-column: 1 / -1;
    max-width: 38ch;
    color: var(--sbi-v561-muted, #b8b0c2);
    font: 500 clamp(.8125rem, 1.15vw, .9375rem)/1.55 var(--sbi-global-font-body);
    letter-spacing: 0;
    text-transform: none;
    text-wrap: balance;
}
@media (max-width: 767px) {
    [data-sbi-v53-root] .sbi-proof-call-note { margin-inline: auto; }
}
@media (forced-colors: active) {
    [data-sbi-v53-root] .sbi-proof-call-note { color: LinkText; }
}
