/* Homepage cover: reference-inspired geometry, original SIBO content and colour.
 * Scoped to the homepage so shared inner-page navigation keeps its own design.
 */
body.sibo-home {
    --sibo-cover-edge: clamp(16px, 2.3vw, 44px);
    background: #fff;
}
body.sibo-home .sibo-hero-cover {
    position: relative;
    min-height: max(720px, calc(100svh - 8px));
    margin: 4px;
    border-radius: 12px;
    isolation: isolate;
    background: var(--sibo-dark);
    color: #fff;
}
body.sibo-home .sibo-hero-cover .sibo-hero-media,
body.sibo-home .sibo-hero-cover .sibo-hero-shade { inset: 0; }
body.sibo-home .sibo-hero-cover .sibo-hero-media img {
    width: 100%; height: 100%; object-fit: cover; object-position: 62% center;
}
body.sibo-home .sibo-hero-cover .sibo-hero-shade {
    background: linear-gradient(90deg, #051e20ba 0%, #061d207d 43%, #07191e1f 100%),
        linear-gradient(0deg, #041c203d, #07191e12 70%);
}
body.sibo-home .sibo-hero-cover .sibo-hero-content {
    min-height: inherit;
    width: min(1600px, calc(100% - clamp(48px, 16vw, 300px)));
    margin-inline: auto;
    padding: 190px 0 90px;
    display: flex; align-items: center;
}
body.sibo-home .sibo-hero-cover .sibo-hero-copy { max-width: 880px; }
body.sibo-home .sibo-hero-cover .sibo-kicker {
    display: inline-flex; max-width: 100%;
    padding: 9px 18px; margin-bottom: 28px;
    border: 1px solid #ffffff38; border-radius: 99px;
    background: #ffffff06; color: #fff;
    font-size: var(--sibo-text-small); line-height: 1.6; letter-spacing: .035em;
    --sibo-kicker-mark: #51decb;
}
body.sibo-home .sibo-hero-cover h1 {
    max-width: 20ch; margin: 0 0 28px;
    font-size: clamp(44px, 4vw, 76px); line-height: 1.12;
    font-weight: 600; letter-spacing: -.04em; color: #fff;
}
body.sibo-home .sibo-hero-cover .sibo-hero-description {
    max-width: 48ch; margin-bottom: 28px;
    font-size: var(--sibo-text-body); line-height: 1.8; color: #f0f5f3;
}
body.sibo-home .sibo-hero-cover .sibo-hero-benefits {
    gap: 12px 26px; margin-bottom: 36px;
}
body.sibo-home .sibo-hero-cover .sibo-hero-benefits li {
    font-size: var(--sibo-text-control); line-height: 1.6; color: #fff;
}
body.sibo-home .sibo-hero-cover .sibo-hero-benefits li > span.sibo-hero-benefit-check {
    display: inline-flex; align-items: center; justify-content: center;
    flex: 0 0 16px; width: 16px; height: 1.6em; color: #fff;
}
body.sibo-home .sibo-hero-cover .sibo-hero-benefit-check svg {
    display: block; flex-shrink: 0; width: 16px; height: 16px;
}
body.sibo-home .sibo-hero-cover .sibo-button-row { gap: 20px; }

/* Homepage header: transparent over the cover, full-width and flush after scroll.
 * Reuse the existing state classes, real mega content and keyboard/mobile controls.
 */
body.sibo-site.sibo-home { --sibo-home-header-gap: 0px; }
body.sibo-site.sibo-home .sibo-header {
    --sibo-header-height: 96px;
    top: var(--sibo-header-offset); left: 0; right: 0;
    background: transparent; color: #fff;
    border: 1px solid transparent; border-radius: 0;
    box-shadow: none;
    -webkit-backdrop-filter: none; backdrop-filter: none;
}
body.sibo-site.sibo-home:is(.sibo-header-scrolled, .sibo-mega-open, .sibo-mobile-open) .sibo-header {
    --sibo-header-height: 96px;
    top: calc(var(--sibo-header-offset) + var(--sibo-home-header-gap));
    left: var(--sibo-home-header-gap); right: var(--sibo-home-header-gap);
    background: #121c1eb8; border-color: #ffffff20; border-radius: 0;
    box-shadow: none;
    -webkit-backdrop-filter: blur(20px) saturate(130%);
    backdrop-filter: blur(20px) saturate(130%);
}
body.sibo-site.sibo-home:is(.sibo-mega-open, .sibo-mobile-open) .sibo-header {
    background: var(--sibo-header-surface); border-radius: 0;
    border-bottom-color: transparent;
    -webkit-backdrop-filter: none; backdrop-filter: none;
}
body.sibo-site.sibo-home .sibo-header .sibo-header-inner {
    width: calc(100% - 44px); height: var(--sibo-header-height); gap: 24px;
}
body.sibo-site.sibo-home .sibo-header .sibo-nav-link,
body.sibo-site.sibo-home .sibo-header .sibo-submenu-toggle { color: #d5dcdc; }
body.sibo-site.sibo-home .sibo-header .sibo-is-open .sibo-nav-link,
body.sibo-site.sibo-home .sibo-header .sibo-nav-link:is(:hover, :focus-visible) { color: #fff; }
body.sibo-site.sibo-home .sibo-header .sibo-header-cta { color: #fff; }
body.sibo-site.sibo-home .sibo-header .sibo-menu-toggle {
    color: #fff; background: transparent; border-color: #ffffff40;
}
body.sibo-site.sibo-home .sibo-header .sibo-mega {
    max-height: calc(100dvh - var(--sibo-header-offset) - var(--sibo-header-height) - 18px);
}

/* Retain the selected Fluent Forms instance once, below news, with no fake UI. */
body.sibo-home .sibo-inquiry-section { background: var(--sibo-mist); }
body.sibo-home .sibo-inquiry-section .sibo-hero-inquiry {
    display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: clamp(36px, 6vw, 100px); padding: clamp(32px, 5vw, 72px);
    border-radius: 12px; color: #fff; scroll-margin-top: 140px;
}
body.sibo-home .sibo-inquiry-section .sibo-hero-inquiry-inner {
    max-width: 480px; margin: 0; padding-top: 6px;
}
body.sibo-home .sibo-inquiry-section h2 { font-size: clamp(32px, 3.2vw, 48px); }
body.sibo-home .sibo-inquiry-section .sibo-inquiry-form { min-width: 0; }
body.sibo-home #sibo-inquiry { scroll-margin-top: calc(var(--sibo-header-offset) + 140px); }

@media (min-width: 1001px) and (max-width: 1200px) {
    body.sibo-site.sibo-home .sibo-header .sibo-header-inner { gap: 14px; width: calc(100% - 32px); }
    body.sibo-site.sibo-home .sibo-header .sibo-nav-list { gap: 12px; }
    body.sibo-site.sibo-home .sibo-header .sibo-brand { flex-basis: 120px; }
    body.sibo-site.sibo-home .sibo-header .sibo-brand img { width: 120px; }
}
/* Compact covers follow their content, not the device's viewport height.
 * Reserve the overlay header plus a modest gap; allow long/translated copy to grow.
 * Desktop >=1281px intentionally retains its full-height presentation.
 */
@media (max-width: 1280px) {
    body.sibo-home .sibo-hero-cover { min-height: 0; }
    body.sibo-home .sibo-hero-cover .sibo-hero-content {
        min-height: 0;
        padding-block: 136px 56px;
        align-items: flex-start;
    }
}
@media (max-width: 1000px) {
    body.sibo-site.sibo-home { --sibo-home-header-gap: 0px; }
    body.sibo-site.sibo-home .sibo-header,
    body.sibo-site.sibo-home:is(.sibo-header-scrolled, .sibo-mega-open, .sibo-mobile-open) .sibo-header {
        --sibo-header-height: 76px;
    }
    body.sibo-site.sibo-home .sibo-header .sibo-header-inner { gap: 16px; width: calc(100% - 32px); }
    body.sibo-site.sibo-home .sibo-header .sibo-nav-label { border-bottom-color: #ffffff1c; }
    body.sibo-site.sibo-home .sibo-header .sibo-navigation .sibo-nav-link,
    body.sibo-site.sibo-home .sibo-header .sibo-navigation .sibo-submenu-toggle { color: #f1f6f4; }
    body.sibo-site.sibo-home.sibo-mobile-open .sibo-header { border-radius: 0; }
    body.sibo-site.sibo-home .sibo-header .sibo-navigation {
        max-height: calc(100dvh - var(--sibo-header-offset) - var(--sibo-home-header-gap) - 92px);
    }
    body.sibo-site.sibo-home .sibo-header .sibo-mega { max-height: none; }
    body.sibo-home .sibo-hero-cover .sibo-hero-content { padding-block: 112px 48px; }
    body.sibo-home .sibo-inquiry-section .sibo-hero-inquiry { grid-template-columns: 1fr; gap: 24px; }
    body.sibo-home .sibo-inquiry-section .sibo-hero-inquiry-inner { max-width: 640px; }
    body.sibo-home .sibo-inquiry-section .sibo-inquiry-intro { margin-bottom: 0; }
}
@media (max-width: 767px) {
    body.sibo-home .sibo-hero-cover .sibo-hero-content { padding-block: 100px 40px; }
}
@media (max-width: 600px) {
    body.sibo-site.sibo-home { --sibo-home-header-gap: 0px; }
    body.sibo-home { --sibo-cover-edge: 12px; }
    body.sibo-site.sibo-home .sibo-header,
    body.sibo-site.sibo-home:is(.sibo-header-scrolled, .sibo-mega-open, .sibo-mobile-open) .sibo-header {
        --sibo-header-height: 68px;
    }
    body.sibo-site.sibo-home .sibo-header .sibo-header-inner { width: calc(100% - 24px); gap: 8px; }
    body.sibo-site.sibo-home .sibo-header .sibo-brand { flex-basis: 96px; }
    body.sibo-site.sibo-home .sibo-header .sibo-brand img { width: 96px; }
    body.sibo-home .sibo-hero-cover { min-height: 0; border-radius: 9px; }
    body.sibo-home .sibo-hero-cover .sibo-hero-content {
        width: calc(100% - 40px);
    }
    body.sibo-home .sibo-hero-cover h1 { font-size: clamp(38px, 9.5vw, 54px); line-height: 1.12; }
    body.sibo-home .sibo-hero-cover .sibo-kicker { padding: 8px 12px; font-size: .8125rem; margin-bottom: 22px; }
    body.sibo-home .sibo-hero-cover .sibo-hero-description { margin-bottom: 24px; }
    body.sibo-home .sibo-hero-cover .sibo-hero-benefits { gap: 10px 20px; margin-bottom: 30px; }
    body.sibo-home .sibo-hero-cover .sibo-hero-benefits li { font-size: var(--sibo-text-small); }
    body.sibo-home .sibo-inquiry-section .sibo-hero-inquiry { padding: 30px 22px; }
    body.sibo-home .sibo-inquiry-section .ff-t-container { flex-direction: column; }
    body.sibo-home .sibo-inquiry-section .ff-t-container .ff-t-cell { width: 100%; }
    body.sibo-home .sibo-inquiry-section .ff-t-container .ff-t-cell + .ff-t-cell { margin-top: 0; }
}
@media (max-width: 1000px) {
    body.sibo-site.sibo-home:not(.sibo-nav-ready) .sibo-header { position: relative; top: auto; left: auto; right: auto; margin: var(--sibo-cover-edge); background: var(--sibo-header-surface); }
    body.sibo-site.sibo-home:not(.sibo-nav-ready) .sibo-header .sibo-header-inner { height: auto; }
}
