
/* Motion is contained by the stage, so content outside the scene cannot jump. */
.e17sa-motion-layer{position:absolute;inset:0;isolation:isolate;transform:translate3d(0,0,0);opacity:1;will-change:transform,opacity}
.e17sa-scene[data-e17sa-transition="bottom-top"] .e17sa-stage,
.e17sa-scene[data-e17sa-transition="fade"] .e17sa-stage{background:transparent;box-shadow:none}
.e17sa-scene, .e17sa-scene * {box-sizing:border-box}
.e17sa-scene {
  --e17sa-stage-height:68vh;
  --e17sa-scroll-distance:200vh;
  --e17sa-cut:0%;
  --e17sa-mower-position:4%;
  width:100%;height:calc(clamp(330px,var(--e17sa-stage-height),920px) + var(--e17sa-scroll-distance));
  position:relative;margin:0 auto;isolation:isolate;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.e17sa-stage {
  position:sticky;top:max(0px,calc((100vh - clamp(330px,var(--e17sa-stage-height),920px)) / 2));
  height:clamp(330px,var(--e17sa-stage-height),920px);width:100%;overflow:hidden;
  border-radius:16px;background:#dcecf8;box-shadow:0 18px 55px rgba(19,44,71,.13);
  isolation:isolate;
}
.e17sa-visual, .e17sa-visual .e17sa-before, .e17sa-visual .e17sa-after, .e17sa-video, .e17sa-frame {
  display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:var(--e17sa-object-fit,cover);
}
.e17sa-visual {overflow:hidden;}
.e17sa-before {z-index:1}
.e17sa-after {z-index:2;clip-path:inset(0 calc(100% - var(--e17sa-cut)) 0 0);will-change:clip-path}
.e17sa-visual .e17sa-mower {
  display:block;position:absolute;top:auto;inset:auto auto 11% var(--e17sa-mower-position);
  height:auto;width:clamp(105px,23%,250px);max-height:64%;object-fit:contain;
  transform:translateX(-50%) scaleX(-1);z-index:4;filter:drop-shadow(0 11px 8px rgba(6,42,15,.27));
  will-change:left;pointer-events:none;
}
.e17sa-frame,.e17sa-video {object-fit:var(--e17sa-object-fit,cover)}
.e17sa-shading {pointer-events:none;position:absolute;inset:0;z-index:5;background:linear-gradient(180deg,rgba(7,23,40,.59) 0%,rgba(11,27,40,.20) 22%,transparent 52%,rgba(3,18,33,.12) 100%)}
.e17sa-overlay {position:absolute;z-index:6;top:8%;left:6%;width:min(610px,86%);color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.25);pointer-events:none}
.e17sa-overlay h2 {font:750 clamp(23px,3.8vw,46px)/1.17 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff!important;letter-spacing:-.035em;margin:0 0 8px;padding:0}
.e17sa-overlay p {font:400 clamp(13px,1.4vw,19px)/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:rgba(255,255,255,.95)!important;margin:0;padding:0;max-width:510px}
.e17sa-progress {position:absolute;z-index:7;left:6%;bottom:8%;height:4px;width:min(245px,53%);border-radius:10px;background:rgba(255,255,255,.44);overflow:hidden;pointer-events:none}
.e17sa-progress-fill {display:block;width:0%;height:100%;background:#fff;border-radius:inherit;box-shadow:0 0 14px #fff;will-change:width}
.e17sa-scroll-hint {position:absolute;z-index:7;right:6%;bottom:6%;display:flex;align-items:center;gap:10px;font:800 11px/1 system-ui,sans-serif;letter-spacing:.13em;color:#fff;text-shadow:0 2px 5px #0005;pointer-events:none}
.e17sa-chevron {width:30px;height:30px;border:1px solid #fff8;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:400}
.e17sa-noscript {padding:8px 0;color:#526b85;font-size:13px}
.e17sa-shortcode-warning {padding:12px 16px;border-left:4px solid #ff7a00;background:#fff2e6;color:#793900}
.e17sa-scene.is-reduced {height:auto!important}
.e17sa-scene.is-reduced .e17sa-stage {position:relative;top:auto}
.e17sa-scene.is-reduced .e17sa-visual .e17sa-mower, .e17sa-scene.is-reduced .e17sa-scroll-hint,.e17sa-scene.is-reduced .e17sa-progress {display:none}
@media(max-width:782px) {
  .e17sa-stage {border-radius:12px}
  .e17sa-overlay {top:7%;left:6%}
  .e17sa-visual .e17sa-mower {width:clamp(110px,31%,205px);bottom:17%}
  .e17sa-progress {left:6%;bottom:8%}
  .e17sa-scroll-hint {bottom:6%}
}
@media(max-width:480px) {
  .e17sa-scene {height:calc(clamp(290px,var(--e17sa-stage-height),920px) + var(--e17sa-scroll-distance))}
  .e17sa-stage {height:clamp(290px,var(--e17sa-stage-height),920px);top:max(0px,calc((100vh - clamp(290px,var(--e17sa-stage-height),920px)) / 2));border-radius:9px}
  .e17sa-overlay {top:7%;left:5%;width:90%}
  .e17sa-overlay h2 {font-size:clamp(22px,6vw,29px);margin-bottom:5px}
  .e17sa-overlay p {font-size:13px;line-height:1.35}
  .e17sa-progress {left:5%;bottom:7%;width:43%}
  .e17sa-scroll-hint {font-size:9px;right:5%;bottom:5%}
  .e17sa-visual .e17sa-mower {width:38%;bottom:19%}
}
@media(prefers-reduced-motion:reduce) {
  .e17sa-scene {height:auto!important}
  .e17sa-stage {position:relative;top:auto}
  .e17sa-visual .e17sa-mower,.e17sa-progress,.e17sa-scroll-hint {display:none!important}
  .e17sa-scene .e17sa-after {clip-path:none!important}
}

/* Visible-play media: no long sticky scroll distance, visitor-controlled motion. */
.e17sa-scene.is-passive {height:auto}
.e17sa-scene.is-passive .e17sa-stage {position:relative;top:auto}
.e17sa-animated,.e17sa-poster {position:absolute;inset:0;width:100%;height:100%;object-fit:var(--e17sa-object-fit,cover)}
.e17sa-poster {z-index:1}
.e17sa-media-fallback {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:0;font-size:14px;color:#4f6783;background:#e9f1fb}
.e17sa-animated {z-index:2;opacity:0;transition:opacity .2s linear;}
.e17sa-scene.is-ready:not(.is-motion-paused) .e17sa-animated {opacity:1}
.e17sa-motion-toggle {position:absolute;z-index:9;bottom:5%;right:5%;border:1px solid #e3eaf2;border-radius:8px;background:rgba(255,255,255,.94);color:#1a3858;padding:10px 15px;min-height:44px;min-width:140px;cursor:pointer;font:650 13px/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-shadow:0 4px 15px #051e3333}
.e17sa-motion-toggle:hover {background:#fff}
.e17sa-motion-toggle:focus-visible {outline:3px solid #0d6fe8;outline-offset:2px}
.e17sa-motion-toggle[aria-pressed="true"] {background:#f2f7ff}
html:not(.e17sa-js) .e17sa-scene {height:auto}
html:not(.e17sa-js) .e17sa-scene .e17sa-stage {position:relative;top:auto}
html:not(.e17sa-js) .e17sa-scene .e17sa-scroll-hint,html:not(.e17sa-js) .e17sa-scene .e17sa-progress {display:none}
@media(max-width:480px) {
  .e17sa-scene.is-passive {height:auto}
  .e17sa-scene.is-passive .e17sa-stage {top:auto}
  .e17sa-motion-toggle {bottom:6%;right:5%;font-size:12px;min-width:120px}
}
@media(prefers-reduced-motion:reduce) {
  .e17sa-animated {transition:none}
}
/* Poster fallback when motion is reduced or the selected video is unavailable. */
.e17sa-video-static {position:absolute;inset:0;width:100%;height:100%;object-fit:var(--e17sa-object-fit,cover);display:none}
.e17sa-video-failure {position:absolute;z-index:8;bottom:5%;left:5%;max-width:85%;padding:10px 13px;background:rgba(14,31,50,.86);color:#fff;border-radius:8px;font:600 13px/1.4 system-ui,sans-serif}
.e17sa-video-failure[hidden] {display:none}
.e17sa-scene.is-video-error .e17sa-video {visibility:hidden}
.e17sa-scene.is-video-error .e17sa-video-static {display:block}
@media(prefers-reduced-motion:reduce) {
 .e17sa-scene .e17sa-video-static {display:block}
 .e17sa-scene .e17sa-video {visibility:hidden}
}

/* 1.4: scene-local text blocks. All selectors stay within a scene. */
.e17sa-scene .e17sa-block-layer {position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden}
.e17sa-scene .e17sa-block {
  position:absolute;left:var(--e17sa-block-x,50%);top:var(--e17sa-block-y,50%);
  width:var(--e17sa-block-width,44%);max-width:92%;padding:clamp(13px,2.4vw,26px);
  border-radius:14px;background:rgba(9,27,47,.82);color:#fff;
  box-shadow:0 12px 32px rgba(7,25,45,.24);opacity:0;
  transform:translate(-50%,-50%) translateY(var(--e17sa-block-offset,0px));
  text-align:var(--e17sa-block-align,left);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  white-space:normal;overflow-wrap:anywhere;hyphens:auto;visibility:hidden;
}
.e17sa-scene .e17sa-block.is-active {visibility:visible}
.e17sa-scene .e17sa-block-title {margin:0;color:inherit;font-size:clamp(16px,2.4vw,28px);font-weight:760;line-height:1.18;letter-spacing:-.02em;text-wrap:balance}
.e17sa-scene .e17sa-block-body {margin:8px 0 0;color:inherit;font-size:clamp(12px,1.35vw,18px);line-height:1.48;white-space:pre-line}
.e17sa-scene .e17sa-block-theme-light {background:rgba(255,255,255,.94);color:#11283f;border:1px solid rgba(8,46,82,.12)}
.e17sa-scene .e17sa-block-theme-plain {background:transparent;box-shadow:none;color:#fff;text-shadow:0 2px 7px #0009}
.e17sa-scene .e17sa-block-type-heading {background:transparent;box-shadow:none;padding:0;text-shadow:0 3px 14px #0008}
.e17sa-scene .e17sa-block-type-heading .e17sa-block-title {font-size:clamp(23px,4vw,53px);letter-spacing:-.035em}
.e17sa-scene .e17sa-block-type-note {border-left:4px solid #1683ff}
.e17sa-scene .e17sa-block-transcript {position:absolute;z-index:10;bottom:0;left:0;right:0;padding:0 12px 0;font:14px/1.55 system-ui,sans-serif;color:#17314a}
.e17sa-scene .e17sa-block-transcript summary {margin-left:auto;width:max-content;max-width:100%;padding:8px 12px;border-radius:9px 9px 0 0;cursor:pointer;background:#fff;color:#163c68;box-shadow:0 -3px 14px #001e3320;list-style:auto}
.e17sa-scene .e17sa-block-transcript[open] {background:#fff;border-radius:10px;box-shadow:0 5px 18px #001e332b;max-height:70vh;overflow:auto}
.e17sa-scene .e17sa-block-transcript ol {padding:5px 25px 12px 40px;margin:0}
.e17sa-scene .e17sa-block-transcript li {margin:7px 0}
.e17sa-scene .e17sa-block-transcript p {margin:3px 0 0;white-space:pre-line}
.e17sa-scene.is-passive.e17sa-has-blocks {height:calc(clamp(330px,var(--e17sa-stage-height),920px) + var(--e17sa-scroll-distance))}
.e17sa-scene.is-passive.e17sa-has-blocks .e17sa-stage {position:sticky;top:max(0px,calc((100vh - clamp(330px,var(--e17sa-stage-height),920px)) / 2))}
@media(max-width:600px) {
  .e17sa-scene .e17sa-block {width:min(85%,max(75%,var(--e17sa-block-width,44%)));padding:12px 14px;max-height:70%;overflow:auto}
  .e17sa-scene .e17sa-block-title {font-size:clamp(15px,4.5vw,25px)}
  .e17sa-scene .e17sa-block-body {font-size:clamp(12px,3.2vw,16px)}
}
@media(max-width:480px) {
  .e17sa-scene.is-passive.e17sa-has-blocks {height:calc(clamp(290px,var(--e17sa-stage-height),920px) + var(--e17sa-scroll-distance))}
  .e17sa-scene.is-passive.e17sa-has-blocks .e17sa-stage {top:max(0px,calc((100vh - clamp(290px,var(--e17sa-stage-height),920px)) / 2))}
}
@media(prefers-reduced-motion:reduce) {
  .e17sa-scene.is-passive.e17sa-has-blocks {height:auto}
  .e17sa-scene.is-passive.e17sa-has-blocks .e17sa-stage {position:relative;top:auto}
  .e17sa-scene .e17sa-block {transition:none!important}
}

/* Gutenberg content-area and InnerBlocks backgrounds. The existing scene renderer
 * is reused, not duplicated. Text and links stay above the decoration. */
.e17sa-background-wrap {
  position:relative;isolation:isolate;min-height:var(--e17sa-background-min-height,420px);
  width:100%;margin:0 auto;
}
.e17sa-background-surface {
  position:absolute;inset:0;z-index:0;pointer-events:none;overflow:clip;
}
.e17sa-background-surface .e17sa-scene {
  height:100%!important;min-height:100%;margin:0;border:0;
  pointer-events:none;
}
.e17sa-background-surface .e17sa-stage {
  position:sticky;top:var(--e17sa-background-top,0px);height:var(--e17sa-background-viewport,100vh);min-height:0;max-height:none;
  border:0;border-radius:0;box-shadow:none;
}
.e17sa-background-surface .e17sa-shading {
  background:linear-gradient(180deg,rgba(8,22,35,.34),rgba(8,22,35,.22));
}
.e17sa-background-content {
  position:relative;z-index:1;min-width:0;min-height:var(--e17sa-background-min-height,420px);
}
.e17sa-block-background .e17sa-background-content {padding:clamp(16px,3vw,40px)}
.e17sa-post-background .e17sa-background-content {padding:clamp(10px,2vw,26px)}
/* Background media is decorative. Never expose a hidden video error or transcript. */
.e17sa-background-surface .e17sa-video-failure,
.e17sa-background-surface .e17sa-noscript {display:none!important}
@media(prefers-reduced-motion:reduce){
  .e17sa-background-surface .e17sa-scene {height:100%!important}
  .e17sa-background-surface .e17sa-stage {height:var(--e17sa-background-viewport,100vh);position:sticky;top:var(--e17sa-background-top,0px)}
}
@media(max-width:782px){
  .e17sa-block-background .e17sa-background-content {padding:16px}
  .e17sa-post-background .e17sa-background-content {padding:10px}
}

/* Keep foreground text legible when a dark or busy frame is used as decoration. */
.e17sa-background-content {
  background:linear-gradient(95deg,rgba(255,255,255,.76),rgba(255,255,255,.48));
}
.e17sa-block-placement{width:100%}

/* Never fade/translate foreground InnerBlocks or page content. Reduced motion shows a static frame. */
@media(prefers-reduced-motion:reduce){
 .e17sa-motion-layer{opacity:1!important;transform:none!important;will-change:auto}
 .e17sa-block-transcript{position:relative!important;inset:auto!important;margin-top:16px}
}
html:not(.e17sa-js) .e17sa-motion-layer{opacity:1;transform:none}

/* Real page-wide background (not the old post-content wrapper). The fixed canvas
 * sits behind the entire theme surface without taking pointer/keyboard events. */
body.e17sa-page-background-active,
html:has(body.e17sa-page-background-active){background-color:transparent!important}
body.e17sa-page-background-active :is(.wp-site-blocks,#page,.site,#content,.site-content,#primary,.content-area,.wp-block-post-content){
  background-color:transparent!important;
}
body.e17sa-page-background-active > :is(.wp-site-blocks,#page,.site,#wrapper),
body.e17sa-page-background-active > :is(header,main,footer):not(.e17sa-global-background){position:relative;z-index:1}
.e17sa-global-background{position:fixed;inset:0;width:100%;height:100dvh;z-index:0;pointer-events:none;overflow:hidden;isolation:isolate}
.e17sa-global-background .e17sa-scene{position:absolute!important;inset:0;width:100%;height:100%!important;margin:0;min-height:0}
.e17sa-global-background .e17sa-stage{position:absolute!important;inset:0;top:0!important;width:100%;height:100%!important;max-height:none;min-height:0;border:0;border-radius:0;box-shadow:none}
.e17sa-global-background .e17sa-shading{background:linear-gradient(180deg,rgba(6,21,38,.18),rgba(6,21,38,.12))}
.e17sa-global-background .e17sa-scroll-hint,.e17sa-global-background .e17sa-progress,
.e17sa-global-background .e17sa-video-failure,.e17sa-global-background .e17sa-noscript{display:none!important}
@supports not (height:100dvh){.e17sa-global-background{height:100vh}}

/* Each nested Gutenberg content block has its own predictable author-defined gap. */
.e17sa-inner-flow{display:flex;flex-direction:column;gap:var(--e17sa-content-gap,24px);min-height:inherit;min-width:0}
.e17sa-inner-flow > *{margin-block:0!important;max-width:100%;flex-shrink:0}

/* Scroll effects for individual native Gutenberg blocks and custom inner blocks.
 * Hidden state is only activated by JS/IntersectionObserver; graceful no-JS. */
.e17sa-scroll-object.is-e17sa-ready{
  transition:opacity var(--e17sa-object-duration,600ms) ease var(--e17sa-object-delay,0ms),
             translate var(--e17sa-object-duration,600ms) cubic-bezier(.22,.65,.3,1) var(--e17sa-object-delay,0ms),
             scale var(--e17sa-object-duration,600ms) ease var(--e17sa-object-delay,0ms);
}
.e17sa-scroll-object.is-e17sa-ready:not(.is-e17sa-visible){opacity:0;translate:0 0;scale:1}
.e17sa-scroll-object.is-e17sa-ready:not(.is-e17sa-visible)[data-e17sa-object-effect=up]{translate:0 38px}
.e17sa-scroll-object.is-e17sa-ready:not(.is-e17sa-visible)[data-e17sa-object-effect=down]{translate:0 -38px}
.e17sa-scroll-object.is-e17sa-ready:not(.is-e17sa-visible)[data-e17sa-object-effect=left]{translate:36px 0}
.e17sa-scroll-object.is-e17sa-ready:not(.is-e17sa-visible)[data-e17sa-object-effect=right]{translate:-36px 0}
.e17sa-scroll-object.is-e17sa-ready:not(.is-e17sa-visible)[data-e17sa-object-effect=zoom]{scale:.92}
.e17sa-scroll-object.is-e17sa-ready.is-e17sa-visible{opacity:1;translate:0 0;scale:1}
@media(prefers-reduced-motion:reduce){
 .e17sa-global-background .e17sa-stage{position:absolute!important}
 .e17sa-scroll-object,.e17sa-scroll-object.is-e17sa-ready{opacity:1!important;translate:none!important;scale:1!important;transition:none!important}
}
