.ib-scroll-scene{position:relative;background:var(--iss-bg,#101116);color:var(--iss-color,#fff);width:100%;box-sizing:border-box}
.ib-scroll-scene *{box-sizing:border-box}.ib-scroll-scene__stage{position:relative;min-height:var(--iss-height,85svh);overflow:hidden;isolation:isolate}
.ib-scroll-scene__visual{position:relative;min-height:inherit;background:linear-gradient(135deg,#617789,#172133);border-radius:var(--iss-radius,32px);overflow:hidden}
.ib-scroll-scene__frame{position:relative;height:var(--iss-height,85svh)}.ib-scroll-scene__frame img,.ib-scroll-scene__frame video{width:100%;height:100%;display:block;object-fit:cover}
.ib-scroll-scene__copy{position:absolute;z-index:3;bottom:8%;left:6%;right:6%;max-width:850px;pointer-events:none;text-shadow:0 2px 20px #0008}.ib-scroll-scene__copy h2{color:inherit;font-size:clamp(28px,5vw,80px);line-height:1.04;letter-spacing:-.045em;margin:0 0 20px;text-wrap:balance}.ib-scroll-scene__copy p{color:inherit;font-size:clamp(16px,1.7vw,24px);line-height:1.5;margin:0;max-width:640px}
.ib-scroll-scene__shade{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(transparent 25%,rgba(0,0,0,var(--iss-overlay,.35)))}
.ib-scroll-scene__pause{position:absolute;z-index:4;right:20px;top:20px;border:1px solid #fff8;border-radius:24px;padding:10px 16px;background:#101116c9;color:#fff;cursor:pointer}.ib-scroll-scene__pause:focus-visible{outline:3px solid #80bcff;outline-offset:3px}
.ib-scroll-scene.is-enhanced{height:calc(var(--iss-length,240vh) + var(--iss-height,85svh))}.ib-scroll-scene.is-enhanced .ib-scroll-scene__stage{position:sticky;top:var(--iss-top,0px);height:var(--iss-height,85svh)}
.ib-scroll-scene.is-enhanced .ib-scroll-scene__visual,.ib-scroll-scene.is-editor .ib-scroll-scene__visual{height:100%;position:absolute;inset:0}
.ib-scroll-scene.is-enhanced .ib-scroll-scene__frame,.ib-scroll-scene.is-editor .ib-scroll-scene__frame{position:absolute;inset:0;height:100%;opacity:0}.ib-scroll-scene__frame:first-child{opacity:1}
.ib-scroll-scene.is-editor{height:auto}.ib-scroll-scene.is-editor .ib-scroll-scene__stage{height:540px;min-height:400px;position:relative}.ib-scroll-scene__placeholder{display:grid;place-items:center;min-height:inherit;color:#fff;padding:30px}
.ib-scroll-scene-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:300px;overflow:auto}.ib-scroll-scene-presets button{height:auto;min-height:48px}.ib-scroll-scene-control{display:grid;gap:8px;padding:12px;margin:10px 0;border:1px solid #dce1eb;border-radius:12px}
@media(max-width:767px){.ib-scroll-scene__stage{min-height:var(--iss-mobile-height,72svh)}.ib-scroll-scene__frame{height:var(--iss-mobile-height,72svh)}.ib-scroll-scene.is-enhanced .ib-scroll-scene__stage{height:var(--iss-mobile-height,72svh)}.ib-scroll-scene__copy{bottom:6%}.ib-scroll-scene__copy h2{font-size:clamp(28px,8vw,44px)}}

.ib-scroll-scene.is-enhanced .ib-scroll-scene__frame{transition:opacity .4s ease}
@media(prefers-reduced-motion:reduce){.ib-scroll-scene__frame{transition:none!important}}

.ib-scroll-scene-presets button{display:flex;flex-direction:column;gap:6px;justify-content:center;text-align:center}.ib-scroll-scene-presets svg{max-width:100%;flex-shrink:0}

.ib-scroll-scene__draw-pause{position:absolute;z-index:5;right:20px;bottom:20px;padding:9px 14px;border:1px solid currentColor;border-radius:30px;background:var(--iss-bg,#fff);color:var(--iss-color,#142033);cursor:pointer}.ib-scroll-scene__draw-pause[hidden]{display:none}.ib-scroll-scene__draw-pause:focus-visible{outline:3px solid #3986ff;outline-offset:3px}

/* Scroll progress owns the transitions; no competing time-based fades. */
.ib-scroll-scene.is-enhanced .ib-scroll-scene__frame,.ib-scroll-scene.is-editor .ib-scroll-scene__frame{transition:none}
.ib-scroll-scene[data-mask^="brush-"] .ib-scroll-scene__visual{border-radius:0}

.ib-scroll-scene__copy .ib-scroll-scene__title{color:inherit;font-size:clamp(28px,5vw,80px);font-weight:inherit;line-height:1.08;letter-spacing:-.04em;margin:0 0 20px;text-wrap:balance}
.ib-scroll-scene__description{font-weight:400;font-size:clamp(16px,1.7vw,24px);line-height:1.5;max-width:640px}.ib-scroll-scene__description p{font-size:inherit;margin:0 0 .6em}
.ib-scroll-scene__overlay-content{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:center;padding:clamp(18px,4vw,60px);pointer-events:none;overflow:auto}
.ib-scroll-scene__overlay-content>*{pointer-events:auto;width:100%}.ib-scroll-scene__overlay-content:empty{display:none}
.ib-scroll-scene.is-editor .ib-scroll-scene__overlay-content{pointer-events:auto;outline:1px dashed #547cff66;min-height:100px}
.ib-scroll-scene__pause{z-index:6}

/* Empty scene is a full-size receiving surface in the editor. */
.ib-scroll-scene.is-editor .ib-scroll-scene__overlay-content{display:flex;min-height:100%;overflow:visible}
.ib-scroll-scene.is-editor .ib-scroll-scene__overlay-content>.block-editor-inner-blocks{width:100%;min-height:180px;flex:1;display:flex;flex-direction:column}
.ib-scroll-scene.is-editor .ib-scroll-scene__overlay-content .block-editor-block-list__layout{min-height:180px;flex:1;width:100%}
.ib-scroll-scene.is-editor .ib-scroll-scene__visual,.ib-scroll-scene.is-editor .ib-scroll-scene__shade{pointer-events:none}
.ib-scroll-scene.is-editor .ib-scroll-scene__overlay-content.is-drop-target{outline:2px solid #4169ff;background:#4169ff0a}

.ib-scroll-scene[data-fullscreen="1"]{--iss-height:calc(100svh - var(--iss-top,0px))!important;--iss-mobile-height:calc(100svh - var(--iss-top,0px))!important}
.ib-scroll-scene[data-fullscreen="1"]:not(.is-editor){width:var(--iss-viewport-width,100%);max-width:none;margin-inline:calc((100% - var(--iss-viewport-width,100%))/2)}
.ib-scroll-scene.is-editor[data-fullscreen="1"]{width:100%;max-width:none}

.ib-scroll-scene__color-shift{position:absolute;inset:0;pointer-events:none;z-index:0;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat}.ib-scroll-scene__color-shift[hidden]{display:none}
.ib-scroll-scene__visual{z-index:1}

/* Center the actual Gutenberg children, not a stretched empty wrapper. */
.ib-scroll-scene.is-editor .ib-scroll-scene__overlay-content{justify-content:center;align-items:center}
.ib-scroll-scene.is-editor .ib-scroll-scene__overlay-content>.block-editor-inner-blocks{flex:0 0 auto;min-height:0;display:block;width:100%}
.ib-scroll-scene.is-editor .ib-scroll-scene__overlay-content>.block-editor-inner-blocks>.block-editor-block-list__layout{flex:none;min-height:0;width:100%}
.ib-scroll-scene__add-row{display:flex!important;margin:12px auto!important;position:relative;z-index:5}
.ib-scroll-scene__overlay-content>.ib-inner-section{width:100%;flex-shrink:0}

/* Vertical placement belongs to the scene, outside the animated mask. */
.ib-scroll-scene > .ib-scroll-scene__stage > .ib-scroll-scene__overlay-content[data-vertical-align="top"]{justify-content:flex-start}
.ib-scroll-scene > .ib-scroll-scene__stage > .ib-scroll-scene__overlay-content[data-vertical-align="bottom"]{justify-content:flex-end;justify-content:safe flex-end}

/* Explicit edge-to-edge scene placement, without changing parent sections. */
.ib-scroll-scene[data-flush-top="1"]{--iss-top:0px!important;margin-top:0!important;padding-top:0!important;border-top-width:0!important}
.ib-scroll-scene[data-flush-top="1"] > .ib-scroll-scene__stage{margin-top:0!important;padding-top:0!important;border-top-width:0!important}
.ib-scroll-scene.is-enhanced[data-flush-top="1"] > .ib-scroll-scene__stage{top:0!important}
