/* Homepage slides only. Background art already has its own dark treatment. */
body.sibo-home { --sibo-hero-admin-height: 0px; }
body.sibo-home.admin-bar { --sibo-hero-admin-height: var(--wp-admin--admin-bar--height, 32px); }
/* The 4px outer frame and admin toolbar belong inside the first viewport. */
body.sibo-site.sibo-home .sibo-hero-slider {
    height: calc(100vh - var(--sibo-hero-admin-height) - 8px);
    height: calc(100svh - var(--sibo-hero-admin-height) - 8px);
    min-height: 0;
}
.sibo-hero-slides { display: grid; height: 100%; min-height: 0; grid-template-rows: minmax(0, 1fr); touch-action: pan-y; }
.sibo-hero-slide { grid-area: 1 / 1; position: relative; min-width: 0; min-height: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .45s ease, visibility .45s; }
.sibo-hero-slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; z-index: 1; }
body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-content { height: 100%; min-height: 0; padding-block: clamp(116px, 17svh, 164px) 88px; }
body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-copy { width: 48%; max-width: 600px; min-width: 0; }
.sibo-hero-slide--right .sibo-hero-copy { margin-left: auto; }
body.sibo-site.sibo-home .sibo-hero-slider :is(#sibo-hero-title, .sibo-hero-slide-title) { max-width: 17ch; margin: 0 0 22px; font-size: clamp(44px, 3.6vw, 68px); --sibo-text-font: var(--sibo-heading-font-family); font-weight: 700; line-height: 1.1; letter-spacing: -.035em; color: #f4f5f6; overflow-wrap: anywhere; }
body.sibo-site.sibo-home .sibo-hero-slider .sibo-kicker { margin-bottom: 22px; }
body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-description { max-width: 43ch; margin: 0 0 28px; font-size: 1.0625rem; line-height: 1.75; color: #e2e4e8; }
body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-media img { object-position: center; }
body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-shade { background: linear-gradient(90deg, #0b0e1166, transparent 60%); }
body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--right .sibo-hero-shade { background: linear-gradient(270deg, #0b0e1166, transparent 60%); }
.sibo-hero-slider-controls { position: absolute; z-index: 3; left: var(--sibo-cover-edge); bottom: 20px; display: flex; align-items: center; justify-content: center; gap: 0; padding: 0; margin: 0; max-width: calc(100% - 48px); background: transparent; }
.sibo-hero-slider-controls[hidden] { display: none; }
.sibo-hero-slider-dots { display: flex; align-items: center; min-width: 0; overflow-x: auto; scrollbar-width: none; }
body.sibo-site .sibo-hero-slider-dot { display: grid; place-items: center; flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; margin: 0; padding: 0; border: 0; border-radius: 22px; background: transparent; box-shadow: none; cursor: pointer; }
.sibo-hero-slider-dot > span { width: 6px; height: 6px; border-radius: 6px; background: #a2aab3; transition: width .2s ease, background-color .2s ease; }
.sibo-hero-slider-dot[aria-current="true"] > span { width: 28px; height: 4px; background: var(--sibo-accent); }
.sibo-hero-slider :is(button,a):focus-visible { outline: 2px solid var(--sibo-accent); outline-offset: 4px; }
@media (max-width: 1280px) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-content { min-height: 0; padding-block: 116px 80px; align-items: center; }
    body.sibo-site.sibo-home .sibo-hero-slider :is(#sibo-hero-title, .sibo-hero-slide-title) { font-size: 2.625rem; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-description { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    .sibo-hero-slide, .sibo-hero-slider-dot > span { transition: none; }
}

@media (min-width: 1001px) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--right .sibo-hero-content { align-items: center; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--right .sibo-hero-description { max-width: 38ch; }
}
/* The supplied artwork has teal corners; a white hero logo stays readable. */
body.sibo-site.sibo-home:not(.sibo-header-scrolled):not(.sibo-mega-open):not(.sibo-mobile-open) .sibo-header .sibo-brand img { filter: brightness(0) invert(1); }

/* Keep copy legible and inside shorter laptop/phone windows. */
@media (min-width: 1001px) and (max-height: 760px) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-content { padding-block: 112px 76px; }
    body.sibo-site.sibo-home .sibo-hero-slider :is(#sibo-hero-title, .sibo-hero-slide-title) { font-size: clamp(36px, 5.5svh, 48px); }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-kicker { margin-bottom: 16px; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-description { margin-bottom: 20px; }
}
@media (max-width: 782px) {
    body.sibo-home.admin-bar { --sibo-hero-admin-height: var(--wp-admin--admin-bar--height, 46px); }
}
/* Mobile/tablet copy is part of the poster, not a separate block above it.
 * Native Banners mobile artwork reserves the upper half for editable text. */
@media (max-width: 1180px) and (orientation: portrait), (max-width: 767px) {
    .sibo-hero-slide { display: block; padding: 0; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide .sibo-hero-content {
        width: calc(100% - 48px); height: 100%; min-height: 0;
        padding-block: 112px 72px; align-items: flex-start;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-copy {
        width: 100%; max-width: 560px; margin: 0;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-media {
        position: absolute; inset: 0; width: 100%; height: 100%;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-media img {
        display: block; width: 100%; height: 100%; object-fit: cover; object-position: center bottom;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide .sibo-hero-shade {
        display: block; background: linear-gradient(180deg, #0b0e111a, transparent 58%);
    }
    body.sibo-site.sibo-home .sibo-hero-slider :is(#sibo-hero-title, .sibo-hero-slide-title) {
        font-size: clamp(32px, 4.8vw, 46px); line-height: 1.1; margin-bottom: 16px;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-kicker { margin-bottom: 16px; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide .sibo-hero-description {
        max-width: 46ch; font-size: 1rem; line-height: 1.65; margin-bottom: 20px;
    }
    .sibo-hero-slider-controls { left: 50%; bottom: 12px; transform: translateX(-50%); }
}
@media (max-width: 767px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide .sibo-hero-content {
        width: calc(100% - 40px); padding-block: 96px 64px;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-copy { max-width: 460px; }
    body.sibo-site.sibo-home .sibo-hero-slider :is(#sibo-hero-title, .sibo-hero-slide-title) {
        font-size: clamp(28px, 7.4vw, 36px); margin-bottom: 12px;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-kicker { margin-bottom: 12px; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide .sibo-hero-description {
        font-size: .9375rem; line-height: 1.6; margin-bottom: 18px; max-width: 42ch;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-button { min-height: 44px; padding: 10px 18px; }
}
@media (max-width: 767px) and (max-height: 680px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide .sibo-hero-content { padding-top: 88px; }
    body.sibo-site.sibo-home .sibo-hero-slider :is(#sibo-hero-title, .sibo-hero-slide-title) {
        font-size: 26px; margin-bottom: 10px;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-kicker { margin-bottom: 10px; padding-block: 4px; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide .sibo-hero-description {
        font-size: .875rem; line-height: 1.5; margin-bottom: 14px;
    }
}
@media (max-width: 1180px) and (orientation: portrait) and (min-aspect-ratio: 7/10) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-media img { position: absolute; bottom: 0; left: 10%; width: 80%; height: auto; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
}
@media (max-width: 1180px) and (orientation: portrait) and (min-aspect-ratio: 17/20) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-media img { left: 13%; width: 74%; }
}
@media (max-width: 359px) and (max-height: 680px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-media img { position: absolute; bottom: 0; left: 8%; width: 84%; height: auto; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
}
@media (max-width: 359px) and (max-height: 680px) and (orientation: portrait) {
    body.sibo-site.sibo-home.admin-bar .sibo-hero-slider .sibo-hero-media img { left: 14%; width: 72%; }
}
/* Short landscape screens keep the original wide artwork and its side-specific copy. */
@media (max-width: 1180px) and (max-height: 600px) and (orientation: landscape) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide .sibo-hero-content { width: calc(100% - 48px); padding-block: 88px 56px; align-items: center; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-copy { width: 48%; max-width: 460px; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--right .sibo-hero-copy { margin-left: auto; }
    body.sibo-site.sibo-home .sibo-hero-slider :is(#sibo-hero-title, .sibo-hero-slide-title) { font-size: 24px; margin-bottom: 8px; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-kicker { margin-bottom: 10px; padding-block: 4px; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide .sibo-hero-description { font-size: .8125rem; line-height: 1.4; margin-bottom: 10px; }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-button { min-height: 44px; padding-block: 10px; }
    .sibo-hero-slider-controls { left: 50%; bottom: 8px; transform: translateX(-50%); }
}

/* Picture is the existing attachment source, not an additional background request. */
.sibo-hero-picture { display: block; width: 100%; height: 100%; }
/* Fill the complete portrait hero; copy overlays the artwork's upper blank area.
 * No separate product row, inset image, contain scaling or image mask.
 * Wide-screen artwork/layout and missing-mobile-image fallback stay unchanged. */
@media (max-width: 1180px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait {
        display: block; padding: 0; --sibo-hero-copy-top: 112px; --sibo-hero-copy-offset: 0px;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-hero-media,
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-hero-picture {
        position: absolute; inset: 0; display: block;
        width: 100%; height: 100%; margin: 0;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-hero-media img {
        position: absolute; inset: 0; display: block;
        width: 100%; height: 100%; max-width: none; margin: 0;
        object-fit: cover; object-position: center bottom;
        -webkit-mask-image: none; mask-image: none;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-hero-content {
        position: relative; width: calc(100% - 48px); height: 100%; min-height: 0;
        padding: calc(var(--sibo-hero-copy-top) + var(--sibo-hero-copy-offset)) 0 64px; align-items: flex-start; z-index: 2;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-hero-copy {
        width: 100%; max-width: none; margin: 0;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-hero-description {
        display: none;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-hero-shade {
        display: block; background: linear-gradient(180deg, #03050638, transparent 36%);
    }
}
@media (max-width: 1180px) and (orientation: portrait) {
    /* Use the full copy row; the stored desktop line breaks remain untouched. */
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait :is(#sibo-hero-title, .sibo-hero-slide-title) {
        width: 100%; max-width: none;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-hero-slide-title br {
        display: none;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-kicker {
        display: inline-flex;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait:nth-child(2) {
        --sibo-hero-copy-offset: 28px;
    }
}
@media (max-width: 767px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait {
        --sibo-hero-copy-top: 100px;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait .sibo-hero-content {
        width: calc(100% - 40px);
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait :is(#sibo-hero-title, .sibo-hero-slide-title) {
        font-size: clamp(20px, 6.3vw, 32px); text-wrap: balance;
    }
}
@media (max-width: 767px) and (max-height: 680px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait {
        --sibo-hero-copy-top: 88px;
    }
}

/* First portrait banner: short opening line and a 30px copy offset. */
@media (max-width: 1180px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait:first-child {
        --sibo-hero-copy-offset: 30px;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait:first-child #sibo-hero-title {
        text-wrap: wrap;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait:first-child #sibo-hero-title br.sibo-hero-title-break-portrait {
        display: inline;
    }
}

/* Show both posters' editable descriptions above their buttons. */
@media (max-width: 1180px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait:is(:first-child, :nth-child(2)) .sibo-hero-description {
        display: block;
        max-width: 46ch;
        font-size: .875rem;
        line-height: 1.55;
        margin: 0 0 16px;
    }
}
/* Leave room for the extra copy on compact portrait screens. */
@media (max-width: 359px) and (max-height: 680px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait:is(:first-child, :nth-child(2)) {
        --sibo-hero-copy-offset: 0px;
    }
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait:is(:first-child, :nth-child(2)) .sibo-hero-description {
        font-size: .8125rem;
        line-height: 1.5;
        margin-bottom: 12px;
    }
}
/* The responsive break is hidden in the wide-screen title. */
.sibo-hero-title-break-portrait { display: none; }

/* Keep the first poster's longer copy readable over the bright case edge. */
@media (max-width: 1180px) and (orientation: portrait) {
    body.sibo-site.sibo-home .sibo-hero-slider .sibo-hero-slide--portrait:first-child .sibo-hero-shade {
        background: linear-gradient(180deg, #03050638 20%, #030506b8 42%, transparent 68%);
    }
}