/* SIBO qualification gallery: native centered scrolling and progressive coverflow. */
body.sibo-home .sibo-qualifications{background:var(--sibo-mist);border-top:1px solid var(--sibo-line);border-bottom:1px solid var(--sibo-line)}
/* Balance the gallery with the shared page width without making it full-bleed. */
body.sibo-home .sibo-qualifications>.sibo-container{max-width:1440px}
body.sibo-home .sibo-qualifications-heading{justify-content:center;align-items:center;text-align:center}
body.sibo-home .sibo-qualifications-heading .sibo-kicker{justify-content:center}
.sibo-qualifications-heading .sibo-heading-description{max-width:370px}
.sibo-qualifications-carousel{position:relative;padding-inline:28px}
body.sibo-home .sibo-qualifications-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 84px)/4);gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:0;scrollbar-width:thin;scrollbar-color:var(--sibo-teal) transparent;padding:6px 3px 18px;margin-inline:-3px;list-style:none;overscroll-behavior-x:contain}
.sibo-qualifications-track::-webkit-scrollbar{height:5px}
.sibo-qualifications-track::-webkit-scrollbar-thumb{background:var(--sibo-teal);border-radius:5px}
.sibo-qualification-reflection{display:none}
.sibo-qualification-card{min-width:0;scroll-snap-align:start;scroll-margin-inline:3px}
.sibo-qualification-link{display:block}
.sibo-qualification-image{position:relative;aspect-ratio:474/654;background:#e7eeeb;overflow:hidden;border:1px solid #d5dfda;transition:border-color .2s ease}
body.sibo-home .sibo-qualification-image img{width:100%;height:100%;object-fit:contain}
.sibo-qualification-link:is(:hover,:focus-visible) .sibo-qualification-image{border-color:var(--sibo-teal)}
.sibo-qualification-view{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:40px;height:40px;border-radius:8px;color:white;background:var(--sibo-teal);opacity:0;transition:opacity .2s ease}
.sibo-qualification-link:is(:hover,:focus-visible) .sibo-qualification-view{opacity:1}
.sibo-qualification-link:is(:hover,:focus-visible) .sibo-qualification-view .sibo-arrow{transform:rotate(-45deg)}
.sibo-qualification-caption{display:flex;align-items:baseline;gap:12px;padding:20px 0 4px;font-size:var(--sibo-text-control,1rem);line-height:1.5;font-weight:600}
.sibo-qualification-number{font-size:var(--sibo-text-small,.875rem);color:var(--sibo-teal-dark);font-variant-numeric:tabular-nums}
/* Side controls overlay only the gallery; the track remains natively swipeable. */
.sibo-qualifications-controls{position:absolute;inset:0;pointer-events:none;z-index:5}
.sibo-qualifications-controls[hidden]{display:none!important}
body.sibo-home .sibo-qualifications-nav{position:absolute;top:calc(50% - 42px);transform:translateY(-50%);pointer-events:auto;width:46px;height:54px;display:grid;place-items:center;padding:0;border:1px solid var(--sibo-line);border-radius:8px;background:var(--sibo-surface-hover,#fff);color:var(--sibo-ink);transition:background .2s,color .2s,border-color .2s}
.sibo-qualifications-prev{left:0}
.sibo-qualifications-next{right:0}
body.sibo-home .sibo-qualifications-nav:disabled{opacity:.35;cursor:default}
body.sibo-home .sibo-qualifications-nav:is(:hover,:focus-visible):not(:disabled){background:var(--sibo-accent-hover,var(--sibo-teal-dark));color:#071b1a;border-color:var(--sibo-accent-hover,var(--sibo-teal-dark))}
.sibo-qualifications-prev>span{display:flex;transform:scaleX(-1)}
/* Direction controls stay horizontal on hover and keyboard focus. Keep the previous-arrow span mirrored. */
body.sibo-site.sibo-home .sibo-qualifications-nav .sibo-arrow{transform:none;transition:none}
html.sibo-qualifications-open{overflow:hidden;scrollbar-gutter:stable}
body.sibo-home .sibo-qualification-dialog{position:fixed;inset:0;margin:auto;width:min(850px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);padding:24px 28px;border:0;border-radius:12px;color:var(--sibo-ink);background:var(--sibo-mist);overflow-y:auto;overscroll-behavior:contain}
.sibo-qualification-dialog:not([open]){display:none}
.sibo-qualification-dialog::backdrop{background:rgb(4 20 20 / .88)}
.sibo-qualification-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
body.sibo-home .sibo-qualification-dialog-header h3{font-size:clamp(18px,2vw,24px);letter-spacing:-.02em;line-height:1.4}
body.sibo-home .sibo-qualification-close{flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;background:transparent;border:1px solid var(--sibo-line);border-radius:8px;padding:0}
body.sibo-home .sibo-qualification-close:hover{color:var(--sibo-teal-dark);border-color:var(--sibo-teal)}
.sibo-qualification-dialog-image{display:grid;place-items:center;min-height:100px}
body.sibo-home .sibo-qualification-dialog-image img{width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 240px);object-fit:contain}
.sibo-qualification-dialog-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:20px}
body.sibo-home .sibo-qualification-dialog-footer p{font-size:var(--sibo-text-small,.875rem);color:var(--sibo-muted);font-variant-numeric:tabular-nums}
@media(max-width:1000px){body.sibo-home .sibo-qualifications-track{grid-auto-columns:calc((100% - 24px)/2);gap:24px}}
@media(max-width:599px){body.sibo-home .sibo-qualifications-track{grid-auto-columns:86%;gap:18px}.sibo-qualification-caption{padding-top:16px}.sibo-qualification-view{opacity:1;width:36px;height:36px}.sibo-qualifications-carousel{padding-inline:0}body.sibo-home .sibo-qualifications-nav{top:calc(50% - 36px);width:40px;height:48px}body.sibo-home .sibo-qualification-dialog{width:calc(100vw - 24px);max-height:calc(100dvh - 24px);padding:16px}.sibo-qualification-dialog-header{gap:8px}.sibo-qualification-dialog-footer{gap:10px}}
/* Enhanced layout: center hero document, smaller neighbors and a fading reflection. */
body.sibo-home .sibo-qualifications-ready .sibo-qualifications-track{display:flex;align-items:center;gap:var(--sibo-document-gap,24px);grid-auto-columns:unset;padding:24px calc((100% - var(--sibo-document-size,240px))/2) 108px;margin:0;scroll-snap-type:x mandatory;scrollbar-width:none;overflow-x:auto;overflow-y:hidden}
.sibo-qualifications-ready .sibo-qualifications-track::-webkit-scrollbar{display:none}
.sibo-qualifications-ready .sibo-qualification-card{position:relative;flex:0 0 var(--sibo-document-size,240px);scroll-snap-align:center;scroll-margin:0;transform:scale(.78);transform-origin:center;opacity:0;transition:transform .32s ease,opacity .32s ease;z-index:0}
.sibo-qualifications-ready .sibo-qualification-card[data-sibo-distance="0"]{transform:scale(1);opacity:1;z-index:3}
.sibo-qualifications-ready .sibo-qualification-card[data-sibo-distance="1"]{transform:scale(.9);opacity:.94;z-index:2}
.sibo-qualifications-ready .sibo-qualification-card[data-sibo-distance="2"]{transform:scale(.79);opacity:.46;z-index:1}
.sibo-qualifications-ready .sibo-qualification-card[data-sibo-distance="3"]{pointer-events:none}
.sibo-qualifications-ready .sibo-qualification-card:focus-within{opacity:1}
.sibo-qualifications-ready .sibo-qualification-link{position:relative}
.sibo-qualifications-ready .sibo-qualification-image{padding:8px;border-radius:8px;background:white;border-color:#dce5e2;box-shadow:0 10px 26px rgb(11 28 29 / .04)}
.sibo-qualifications-ready [data-sibo-distance="0"] .sibo-qualification-image{border-color:var(--sibo-teal)}
.sibo-qualifications-ready .sibo-qualification-reflection{display:block;position:absolute;left:0;top:calc(100% + 14px);width:100%;height:100%;padding:8px;border:1px solid var(--sibo-line);border-radius:8px;background:white;pointer-events:none;mask-image:linear-gradient(to bottom,rgb(0 0 0 / .14),transparent 26%);-webkit-mask-image:linear-gradient(to bottom,rgb(0 0 0 / .14),transparent 26%)}
body.sibo-home .sibo-qualifications-ready .sibo-qualification-reflection img{width:100%;height:100%;object-fit:contain;transform:scaleY(-1)}
.sibo-qualifications-ready .sibo-qualification-caption{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sibo-qualifications-ready .sibo-qualification-view{width:36px;height:36px;right:16px;bottom:16px}
@media(max-width:599px){body.sibo-home .sibo-qualifications-ready .sibo-qualifications-track{padding-top:16px;padding-bottom:88px}.sibo-qualifications-ready .sibo-qualification-image,.sibo-qualifications-ready .sibo-qualification-reflection{padding:6px}}
@media(prefers-reduced-motion:reduce){.sibo-qualifications *{transition:none!important;scroll-behavior:auto!important}}
@media print{.sibo-qualifications-controls,.sibo-qualification-dialog,.sibo-qualification-view{display:none!important}body.sibo-home .sibo-qualifications-track{grid-auto-flow:row;grid-template-columns:repeat(3,1fr);overflow:visible}}

@media print{body.sibo-home .sibo-qualifications-ready .sibo-qualifications-track{display:grid;grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;overflow:visible}.sibo-qualifications-ready .sibo-qualification-card{transform:none!important;opacity:1!important;break-inside:avoid}.sibo-qualifications-ready .sibo-qualification-reflection{display:none!important}}

/* Loop buffers are visual only; hide duplicates in print and avoid a transition when rebasing. */
.sibo-qualifications-rebasing .sibo-qualification-card{transition:none!important}
@media print{.sibo-qualifications [data-sibo-loop-clone]{display:none!important}}
