/* V5.6.0 - a focused refinement of the normal SBI website.
   Loaded after 5.5.8.6 on the same WordPress routes. No external assets. */
:root {
    --sbi-v56-text: #f8f5fc;
    --sbi-v56-muted: #c9bed6;
    --sbi-v56-accent: #c59cff;
    --sbi-v56-accent-soft: #d8bdff;
    --sbi-v56-action: #7046b5;
    --sbi-v56-action-ink: #190c28;
    --sbi-v56-panel: #160d22;
    --sbi-v56-line: rgba(197, 156, 255, .26);
    --sbi-v56-feedback: 180ms;
}

/* Keep the familiar display families; give supporting copy a quieter role. */
[data-sbi-v53-root] .sbi-hero h1 {
    letter-spacing: -.045em;
    text-wrap: balance;
}
[data-sbi-v53-root] :is(.sbi-v54-title, #services h2, #selected-work h2, #work h2) {
    letter-spacing: -.045em;
    line-height: 1.06;
    text-wrap: balance;
}
[data-sbi-v53-root] :is(.sbi-v54-copy, .sbi-service-body > p, .sbi-selected-work-copy > p, .sbi-faq-item > p) {
    color: var(--sbi-v56-muted);
    font-weight: 500;
    line-height: 1.75;
    text-wrap: pretty;
}
html[lang="el"] [data-sbi-v53-root] :is(.sbi-hero h1, .sbi-v54-title, #services h2, #selected-work h2, #work h2) {
    letter-spacing: -.035em;
    line-height: 1.12;
}

/* Section markers stay recognizable. The dot supplies the existing motion;
   their text and surrounding surface no longer pulse with a large glow. */
[data-sbi-v53-root] :is(.sbi-section-badge, .sbi-v54-label) {
    max-width: 100%;
    min-height: 2rem;
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .13em;
    line-height: 1.4;
    box-shadow: none;
}
[data-sbi-v53-root] :is(.sbi-section-badge, .sbi-v54-label)::after {
    animation: none;
    box-shadow: none;
    opacity: .3;
}

/* A consistent action hierarchy: solid violet for the main call,
   lavender for content exploration, dark ink when a surface is light. */
[data-sbi-v53-root] a.sbi-hero-call {
    min-height: 52px;
    color: var(--sbi-v56-text);
    border-color: #9e76d7;
    background: var(--sbi-v56-action);
    transition: background-color var(--sbi-v56-feedback) ease,
                color var(--sbi-v56-feedback) ease,
                border-color var(--sbi-v56-feedback) ease;
}
[data-sbi-v53-root] a.sbi-hero-call:is(:hover, :focus-visible) {
    color: var(--sbi-v56-action-ink);
    border-color: var(--sbi-v56-accent-soft);
    background: var(--sbi-v56-accent-soft);
}
[data-sbi-v53-root] #services .sbi-service-detail-link,
.sbi-service-main .sbi-service-cta {
    min-height: 48px;
    font-weight: 750;
    transition: background-color var(--sbi-v56-feedback) ease,
                color var(--sbi-v56-feedback) ease,
                border-color var(--sbi-v56-feedback) ease;
}
[data-sbi-v53-root] #services .sbi-service-detail-link {
    border-color: var(--sbi-v56-line);
    background: rgba(197, 156, 255, .07);
    color: var(--sbi-v56-accent-soft);
}
[data-sbi-v53-root] #services .sbi-service-detail-link:is(:hover, :focus-visible),
.sbi-service-main .sbi-service-cta:is(:hover, :focus-visible) {
    color: var(--sbi-v56-action-ink);
    background: var(--sbi-v56-accent-soft);
    border-color: var(--sbi-v56-accent-soft);
}

/* The existing card grid and icons remain. Align actions through natural
   flex growth instead of giving every paragraph a fixed height. */
[data-sbi-v53-root] #services .sbi-service-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-color: var(--sbi-v56-line);
    background-color: var(--sbi-v56-panel);
    transition: border-color var(--sbi-v56-feedback) ease,
                background-color var(--sbi-v56-feedback) ease;
}
[data-sbi-v53-root] #services .sbi-service-body {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
}
[data-sbi-v53-root] #services .sbi-service-body > p { flex: 1; }
[data-sbi-v53-root] #services .sbi-service-heading { min-width: 0; }
[data-sbi-v53-root] #services .sbi-service-title {
    font-weight: 800;
    letter-spacing: -.025em;
    line-height: 1.16;
    overflow-wrap: break-word;
}
[data-sbi-v53-root] #services .sbi-service-card:focus-within,
.sbi-service-catalog article:focus-within {
    border-color: var(--sbi-v56-accent);
}

/* Real poster-only Selected Work media uses the same frame as real video.
   This is not a sample state and does not replace configured media. */
[data-sbi-v53-root] .sbi-selected-work-poster {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
}

/* Quiet, legible FAQ surfaces. Opening one is the visual emphasis. */
[data-sbi-v53-root] .sbi-faq-item {
    background: #120a1d;
    border-color: var(--sbi-v56-line);
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
}
[data-sbi-v53-root] .sbi-faq-item[data-sbi-faq-selected="true"],
[data-sbi-v53-root] .sbi-faq-item:not([data-sbi-faq-selected])[open] {
    background: #21122f;
    border-color: #986fbe;
}
[data-sbi-v53-root] .sbi-faq-item summary {
    color: var(--sbi-v56-text);
    font-weight: 700;
    line-height: 1.5;
}
[data-sbi-v53-root] .sbi-faq-item[data-sbi-faq-selected="true"] .sbi-faq-plus,
[data-sbi-v53-root] .sbi-faq-item:not([data-sbi-faq-selected])[open] .sbi-faq-plus {
    border-color: var(--sbi-v56-accent);
    background: rgba(197, 156, 255, .12);
}

/* Service pages share the site's existing Geist/Inter type roles. */
.sbi-service-main :is(h1, h2, h3) {
    font-family: var(--sbi-global-font-display);
    font-weight: 850;
    font-synthesis: none;
    text-wrap: balance;
}
html[lang="el"] .sbi-service-main :is(h1, h2, h3) {
    font-family: var(--sbi-global-font-body);
    letter-spacing: -.03em;
}
.sbi-service-intro h1 { line-height: 1.12; }
.sbi-service-main :is(.sbi-service-intro > p, .sbi-service-content p, .sbi-service-content li, .sbi-service-catalog p) {
    color: var(--sbi-v56-muted);
    font-weight: 500;
}
.sbi-service-main .sbi-service-intro > p.sbi-service-eyebrow {
    color: var(--sbi-v56-accent);
    font-weight: 750;
    font-size: .75rem;
    letter-spacing: .12em;
}
.sbi-service-catalog { gap: clamp(1rem, 2vw, 1.5rem); }
.sbi-service-catalog article {
    border-color: var(--sbi-v56-line);
    background: var(--sbi-v56-panel);
    transition: border-color var(--sbi-v56-feedback) ease,
                background-color var(--sbi-v56-feedback) ease;
}
.sbi-service-catalog h2 { line-height: 1.25; }
.sbi-service-contact { border-color: #986fbe; }
.sbi-service-main .sbi-service-cta { background: var(--sbi-v56-accent); }
.sbi-service-main .sbi-service-cta:is(:hover, :focus-visible) { background: var(--sbi-v56-accent-soft); }

/* Pointer feedback never hides content or changes the geometry of a card. */
@media (hover: hover) and (pointer: fine) {
    [data-sbi-v53-root] #services .sbi-service-card:hover,
    .sbi-service-catalog article:hover {
        border-color: var(--sbi-v56-accent);
        background-color: #211331;
    }
}
@media (max-width: 767px) {
    [data-sbi-v53-root] :is(.sbi-v54-copy, .sbi-service-body > p, .sbi-faq-item > p) {
        font-size: 1rem;
    }
    [data-sbi-v53-root] #services .sbi-service-card { height: auto; }
    [data-sbi-v53-root] #services .sbi-service-body > p { flex: initial; }
    [data-sbi-v53-root] :is(.sbi-section-badge, .sbi-v54-label) { letter-spacing: .09em; }
}
@media (prefers-reduced-motion: reduce) {
    [data-sbi-v53-root] a.sbi-hero-call,
    [data-sbi-v53-root] #services :is(.sbi-service-card, .sbi-service-detail-link),
    .sbi-service-catalog article,
    .sbi-service-main .sbi-service-cta { transition: none; }
}
@media (forced-colors: active) {
    [data-sbi-v53-root] a.sbi-hero-call,
    [data-sbi-v53-root] #services .sbi-service-detail-link,
    .sbi-service-main .sbi-service-cta { border: 2px solid LinkText; }
    [data-sbi-v53-root] .sbi-faq-item { border-color: CanvasText; }
}
