/* Easy Scrollanimation 1.4.21. Measured document-flow timeline; no inner rail.
   Default without JS: all cards in normal reading flow. The enhanced stage moves
   ONLY within its own measured block, never over adjacent Gutenberg content. */
.e17sa-carousel {
  --e17sa-carousel-gap:24px;--e17sa-card-bound:calc(100vw - 40px);--e17sa-card-height-limit:76vh;
  position:relative;box-sizing:border-box;height:auto;
  margin:0 auto;padding:0;isolation:isolate;background:transparent;border:0;box-shadow:none;
  overflow-anchor:none;
}
/* Allow native content/wide/full layout rules to win even when this asset loads last. */
:where(.e17sa-carousel) {width:100%;max-width:100%}
.e17sa-carousel *, .e17sa-carousel *::before, .e17sa-carousel *::after {box-sizing:border-box}
.e17sa-carousel-stage {position:relative;top:auto;height:auto;min-height:0;display:flex;flex-direction:column;gap:0;margin:0;padding:0;background:transparent;border:0;box-shadow:none}
.e17sa-carousel-viewport {position:relative;display:block;flex:none;width:100%;min-width:0;min-height:0;height:auto;padding:0;margin:0;overflow:visible;touch-action:pan-y pinch-zoom}
.e17sa-carousel-track {position:relative;display:flex;flex-direction:column;align-items:center;flex:none;gap:var(--e17sa-carousel-gap);width:100%;min-width:0;max-width:none;padding:8px 0;margin:0;direction:ltr}
/* Constant stage. The root clips only the outer Gutenberg block boundaries;
   the stage does not crop a moving card to a one-card letterbox. */
.e17sa-carousel.is-enhanced {overflow:clip}
@supports not (overflow:clip) {.e17sa-carousel.is-enhanced {overflow:hidden}}
.e17sa-carousel.is-enhanced .e17sa-carousel-stage {will-change:transform}
.e17sa-carousel.is-enhanced .e17sa-carousel-viewport {display:block;height:var(--e17sa-viewport-height,auto);overflow:clip}
.e17sa-carousel.is-enhanced .e17sa-carousel-track {
  display:block;width:100%;min-width:0;height:100%;padding:0;gap:0;
  clip-path:inset(0 0 var(--e17sa-window-cut,0px) 0);
}
.e17sa-carousel.is-enhanced .e17sa-carousel-card {
  position:absolute;left:50%;top:50%;visibility:hidden;pointer-events:none;
  opacity:var(--e17sa-alpha,1);z-index:var(--e17sa-z,1);
  transform:translate(-50%,-50%) var(--e17sa-transform,none);
  filter:var(--e17sa-filter,brightness(1)) drop-shadow(0 3px 6px rgba(17,30,47,.105));
  /* Theme-wide transition:all rules must not lag behind the measured scroll position. */
  transition:none;animation:none;
}
.e17sa-carousel.is-enhanced .e17sa-carousel-card.is-e17sa-card-active {visibility:visible}
.e17sa-carousel.is-enhanced .e17sa-carousel-card[aria-hidden="false"] {pointer-events:auto}
.e17sa-carousel.is-enhanced .e17sa-carousel-controls {position:relative;transform:translateY(var(--e17sa-nav-offset,0px));z-index:1}

/* A card's own content defines its height. Layout never depends on transforms. */
.e17sa-carousel-card {
  --e17sa-focus:1;--e17sa-signed:0;
  --e17sa-card-bg:transparent;--e17sa-card-fg:inherit;--e17sa-card-accent:#1683ff;
  position:relative;isolation:isolate;box-sizing:border-box;flex:0 0 auto;
  display:flex;flex-direction:column;justify-content:center;gap:0;
  width:var(--e17sa-card-bound,100%);
  min-width:0;max-width:100%;min-height:0;height:auto;max-height:var(--e17sa-card-height-limit,76vh);
  padding:0;margin:0;overflow:visible;overflow-wrap:anywhere;scroll-snap-align:center;
  color:var(--e17sa-card-fg,inherit);background:var(--e17sa-card-bg,transparent);
  border:0;border-radius:0;box-shadow:none;opacity:1;transform:none;
  filter:drop-shadow(0 3px 6px rgba(17,30,47,.105));clip-path:none;
  transform-origin:center;backface-visibility:hidden;
}
.e17sa-card-content {display:flex;flex-direction:column;justify-content:center;gap:12px;min-width:0;min-height:0;padding:6px 4px}
.e17sa-carousel-card h3 {margin:0!important;padding:0;font-size:clamp(22px,2.6vw,34px);line-height:1.2;font-weight:700;color:inherit;letter-spacing:-.02em}
.e17sa-carousel-card p {margin:0!important;padding:0;font-size:clamp(16px,1.5vw,19px);line-height:1.55;color:inherit;white-space:pre-line}
.e17sa-carousel-figure {display:flex;flex-direction:column;align-items:center;gap:10px;width:100%;margin:0!important;padding:0;min-width:0}
.e17sa-card-media {display:flex;align-items:center;justify-content:center;width:100%;min-width:0;overflow:hidden}
.e17sa-carousel-image-link {display:block;max-width:100%;padding:0;margin:0;line-height:0;background:transparent;border:0;box-shadow:none}
.e17sa-carousel-image {display:block;object-fit:contain;max-width:100%;max-height:var(--e17sa-media-height,calc(var(--e17sa-card-height-limit,76vh) - 64px));width:100%;height:auto;margin:0 auto!important;padding:0;border:0;border-radius:0;box-shadow:none}
.e17sa-carousel-caption {margin:0;padding:0 4px;font-size:14px;line-height:1.45;text-align:center;color:inherit;overflow-wrap:anywhere}
.e17sa-carousel :focus-visible {outline:2px solid var(--e17sa-nav-accent,#1683ff);outline-offset:3px}
.e17sa-carousel-viewport:focus-visible {outline-offset:-2px}
.e17sa-card-content:focus-visible,.e17sa-carousel-caption:focus-visible {outline-offset:-2px}

/* Photograph frames. Their proportions, not a decorative gradient, define them.
   Colors are inherited from the same validated tokens used by the editor. */
.e17sa-carousel-card.e17sa-card-design-polaroid {
  --e17sa-format-width:min(var(--e17sa-card-bound,calc(100vw - 40px)),calc(var(--e17sa-card-height-limit,76vh) / 1.22));
  width:var(--e17sa-format-width);height:calc(var(--e17sa-format-width) * 1.22);max-height:none;
  display:block;overflow:hidden;padding:calc(var(--e17sa-format-width) * .055);
  border:1px solid rgba(40,35,28,.13);border-radius:1px;
  background:var(--e17sa-card-bg,#fffdf8);color:var(--e17sa-card-fg,#29374a);
  box-shadow:0 1px 3px rgba(30,26,20,.07);
}
.e17sa-card-design-polaroid .e17sa-card-media,
.e17sa-card-design-polaroid .e17sa-card-content {
  width:100%;height:calc(var(--e17sa-format-width) * .89 - 2px);max-height:none;
  aspect-ratio:1;overflow:auto;border:1px solid rgba(30,26,20,.12);border-radius:0;
}
.e17sa-card-design-polaroid .e17sa-card-media {overflow:hidden;background:#151719}
.e17sa-card-design-polaroid .e17sa-card-content {padding:clamp(12px,3vw,22px);justify-content:safe center;background:rgba(120,114,100,.035)}
.e17sa-card-design-polaroid .e17sa-carousel-caption {
  position:absolute;inset:calc(var(--e17sa-format-width) * .96) calc(var(--e17sa-format-width) * .055) 8px;
  display:block;overflow:auto;padding:8px 2px 0;text-align:left;font-size:14px;line-height:1.4;
}
.e17sa-card-design-polaroid .e17sa-card-content h3 {font-size:clamp(21px,2.3vw,28px);letter-spacing:-.025em}
.e17sa-card-design-polaroid .e17sa-card-content p {font-size:16px;line-height:1.5}

/* 35-mm slide: square cardboard mount, rectangular 3:2 aperture, no sprocket holes. */
.e17sa-carousel-card.e17sa-card-design-slide {
  --e17sa-format-width:min(var(--e17sa-card-bound,calc(100vw - 40px)),var(--e17sa-card-height-limit,76vh));
  width:var(--e17sa-format-width);height:var(--e17sa-format-width);max-height:none;
  padding:calc(var(--e17sa-format-width) * .14);overflow:hidden;
  border:1px solid rgba(65,58,42,.19);border-radius:3px;
  background:var(--e17sa-card-bg,#f3f1e9);color:var(--e17sa-card-fg,#302f29);
  box-shadow:0 1px 2px rgba(30,26,20,.06),inset 0 0 0 3px rgba(255,255,255,.28);
}
.e17sa-card-design-slide::before {content:"";position:absolute;inset:7px;pointer-events:none;border:1px solid rgba(100,93,72,.10);border-radius:1px}
.e17sa-card-design-slide::after {content:attr(data-e17sa-card-number);position:absolute;bottom:12px;right:15px;font:500 11px/1 ui-monospace,monospace;letter-spacing:.08em;color:var(--e17sa-card-accent,#6b675c);opacity:.8;pointer-events:none}
.e17sa-card-design-slide .e17sa-carousel-figure {gap:0}
.e17sa-card-design-slide .e17sa-card-media,
.e17sa-card-design-slide .e17sa-card-content {
  width:100%;height:calc((var(--e17sa-format-width) * .72 - 2px) / 1.5);max-height:none;
  aspect-ratio:3/2;border:1px solid rgba(25,24,20,.28);border-radius:1px;overflow:auto;
}
.e17sa-card-design-slide .e17sa-card-media {background:#151719;overflow:hidden;box-shadow:inset 0 1px 3px rgba(0,0,0,.12)}
.e17sa-card-design-slide .e17sa-card-content {padding:clamp(10px,2.5vw,18px);justify-content:safe center;background:rgba(120,114,100,.04)}
.e17sa-card-design-slide .e17sa-card-content h3 {font-size:clamp(18px,2.1vw,26px)}
.e17sa-card-design-slide .e17sa-card-content p {font-size:15px;line-height:1.45}
.e17sa-card-design-slide .e17sa-carousel-caption {position:absolute;left:14%;right:14%;top:77%;bottom:34px;overflow:auto;text-align:left;padding:0;font:13px/1.4 system-ui,sans-serif}
.e17sa-card-design-slide .e17sa-carousel-image-link,
.e17sa-card-design-polaroid .e17sa-carousel-image-link {width:100%;height:100%}
.e17sa-card-design-slide .e17sa-carousel-image,
.e17sa-card-design-polaroid .e17sa-carousel-image {width:100%;height:100%;max-width:100%;max-height:none;object-fit:var(--e17sa-frame-fit,contain);border:0;border-radius:0;box-shadow:none}

/* Paper rather than floating UI tiles; restrained contact shadows only. */
.e17sa-carousel-card.e17sa-card-design-note {padding:27px 22px 22px;border:1px solid rgba(95,77,30,.13);border-radius:1px;background:var(--e17sa-card-bg,#fff3b8);box-shadow:0 2px 4px rgba(55,41,23,.06)}
.e17sa-card-design-note::before {content:"";position:absolute;left:calc(50% - 29px);top:0;width:58px;height:14px;background:var(--e17sa-card-accent,#d49739);opacity:.13;pointer-events:none}
.e17sa-card-design-note::after {content:"";position:absolute;bottom:0;right:0;width:13px;height:13px;background:linear-gradient(135deg,rgba(0,0,0,.07),rgba(255,255,255,.6));clip-path:polygon(0 100%,100% 0,100% 100%);pointer-events:none}
.e17sa-card-design-note .e17sa-card-content h3 {font-size:clamp(22px,2.4vw,30px)}
.e17sa-carousel-card.e17sa-card-design-glass {padding:24px;border:1px solid rgba(140,162,180,.25);border-radius:16px;background:var(--e17sa-card-bg,#edf5ff);box-shadow:0 1px 4px rgba(24,55,88,.05);background-image:linear-gradient(135deg,rgba(255,255,255,.3),transparent);backdrop-filter:blur(8px)}
.e17sa-card-design-glass::before {content:"";position:absolute;top:0;left:22px;right:22px;height:2px;background:var(--e17sa-card-accent,#1683ff);opacity:.4;pointer-events:none}
/* Saved legacy templates remain renderable and keep their color settings. */
.e17sa-carousel-card.e17sa-card-design-index {padding:24px 22px 22px 32px;border:1px solid rgba(99,86,58,.16);border-top:3px solid var(--e17sa-card-accent);background:var(--e17sa-card-bg,#fffefa);background-image:repeating-linear-gradient(0deg,transparent 0 29px,rgba(57,113,177,.06) 30px,transparent 31px);box-shadow:0 1px 3px rgba(0,0,0,.04)}
.e17sa-card-design-index::before {content:"";position:absolute;left:17px;top:0;bottom:0;width:1px;background:var(--e17sa-card-accent);opacity:.25;pointer-events:none}
.e17sa-carousel-card.e17sa-card-design-magazine {padding:28px;border:1px solid rgba(17,34,51,.10);border-top:3px solid var(--e17sa-card-accent);background:var(--e17sa-card-bg,#f4f7fa);box-shadow:none}
.e17sa-card-design-magazine h3 {font-family:Georgia,serif}
.e17sa-carousel-card.e17sa-card-design-album {padding:24px;border:5px solid rgba(117,94,60,.18);background:var(--e17sa-card-bg,#eee5d3);box-shadow:0 1px 3px rgba(0,0,0,.05)}
.e17sa-card-design-album .e17sa-carousel-caption {font-family:Georgia,serif;font-style:italic}

/* Five quiet effects share the bounded compositor in carousel.js.
   Saved legacy effect names map to their nearest supported family. */

/* Controls: fixed SVG geometry, inherited accent, no floating shadow. */
.e17sa-carousel-controls {display:none}
.e17sa-carousel.is-initialized .e17sa-carousel-controls,
.e17sa-gutenberg-edit .e17sa-carousel-controls {
  display:grid;grid-template-columns:44px minmax(64px,max-content) 44px;align-items:center;justify-items:center;justify-content:center;
  flex:none;width:max-content;max-width:100%;height:46px;min-height:46px;gap:8px;margin:0 auto;padding:1px 8px;
  font:600 14px/1 system-ui,sans-serif;color:inherit;text-align:center;white-space:nowrap;
}
.e17sa-carousel .e17sa-carousel-controls.is-counter-only,
.e17sa-gutenberg-edit .e17sa-carousel-controls.is-counter-only {grid-template-columns:minmax(64px,max-content)}
.e17sa-carousel .e17sa-carousel-controls.is-arrows-only,
.e17sa-gutenberg-edit .e17sa-carousel-controls.is-arrows-only {grid-template-columns:44px 44px}
.e17sa-carousel .e17sa-carousel-controls button,
.e17sa-gutenberg-edit .e17sa-carousel-controls .e17sa-nav-sample {
  display:grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;
  margin:0!important;padding:0!important;line-height:1;vertical-align:middle;border:1px solid transparent;border-radius:6px;
  background:transparent;color:inherit;box-shadow:none;cursor:pointer;transition:background-color .15s;
}
.e17sa-carousel-controls button::before,.e17sa-carousel-controls button::after {content:none!important}
.e17sa-carousel-controls svg {display:block;width:20px;height:20px;flex:none}
.e17sa-carousel-controls [data-e17sa-next] svg {transform:rotate(180deg)}
.e17sa-carousel-vertical .e17sa-carousel-controls [data-e17sa-prev] svg {transform:rotate(90deg)}
.e17sa-carousel-vertical .e17sa-carousel-controls [data-e17sa-next] svg {transform:rotate(-90deg)}
.e17sa-carousel-count {display:grid;place-items:center;height:44px;min-width:64px;margin:0!important;padding:0 6px;font:600 14px/1 system-ui,sans-serif;font-variant-numeric:tabular-nums;color:inherit}
.e17sa-carousel .e17sa-carousel-controls button:hover {background:rgba(100,120,144,.08)}
.e17sa-carousel .e17sa-carousel-controls button:disabled {opacity:.35;cursor:default}
.e17sa-carousel .e17sa-nav-circles button,
.e17sa-gutenberg-edit .e17sa-nav-circles .e17sa-nav-sample {border-radius:50%;border-color:rgba(36,58,76,.22);background:#fff;color:#283746}
.e17sa-carousel .e17sa-nav-solid button,
.e17sa-gutenberg-edit .e17sa-nav-solid .e17sa-nav-sample {border-radius:8px;background:var(--e17sa-nav-accent,#1683ff);color:var(--e17sa-nav-ink,#111827)}
.e17sa-carousel .e17sa-nav-pill,
.e17sa-gutenberg-edit .e17sa-nav-pill {border:1px solid #d9dfe5;border-radius:999px;background:#f7f9fb;color:#283746;padding:0 7px}
.e17sa-carousel .e17sa-nav-pill button {border-radius:50%}
.e17sa-carousel .e17sa-nav-underline,
.e17sa-gutenberg-edit .e17sa-nav-underline {border-bottom:2px solid var(--e17sa-nav-accent,#1683ff);padding-bottom:0}
.e17sa-carousel .e17sa-nav-underline button {color:var(--e17sa-nav-accent,#1683ff)}

/* Content must never require a second scrollbar. Only overflowing framed text
   grows beyond the photographic proportions; normal image frames are unchanged. */
.e17sa-carousel .e17sa-carousel-card {max-height:none;overflow:visible;scroll-snap-align:none}
.e17sa-carousel .e17sa-card-content,.e17sa-carousel .e17sa-carousel-caption {overflow:visible}
.e17sa-carousel .e17sa-carousel-card.has-flow-content {height:auto;min-height:0}
.e17sa-carousel .has-flow-content .e17sa-card-content {height:auto;aspect-ratio:auto;min-height:0}
.e17sa-carousel .has-flow-content .e17sa-carousel-caption {position:relative;inset:auto;width:100%;height:auto;max-height:none;margin:12px 0 0;padding:0}
.e17sa-carousel .has-flow-content.e17sa-card-design-polaroid {padding-bottom:calc(var(--e17sa-format-width) * .14)}
.e17sa-carousel .has-flow-content.e17sa-card-design-slide {padding-bottom:calc(var(--e17sa-format-width) * .14)}
.e17sa-carousel:not(.is-enhanced) .e17sa-carousel-controls {display:none}
.e17sa-carousel .e17sa-carousel-controls button[aria-disabled="true"] {opacity:.35;cursor:default}
/* No-JS/reduced-motion reading layout: long text belongs to the page, even
   inside a photographic frame. No overlapping paragraphs or hidden captions. */
.e17sa-carousel:not(.is-enhanced) .e17sa-carousel-card.e17sa-card-design-polaroid {height:auto;min-height:calc(var(--e17sa-format-width) * 1.22)}
.e17sa-carousel:not(.is-enhanced) .e17sa-carousel-card.e17sa-card-design-slide {height:auto;min-height:var(--e17sa-format-width)}
.e17sa-carousel:not(.is-enhanced) .e17sa-card-design-polaroid .e17sa-card-content {height:auto;min-height:calc(var(--e17sa-format-width) * .89 - 2px);aspect-ratio:auto}
.e17sa-carousel:not(.is-enhanced) .e17sa-card-design-slide .e17sa-card-content {height:auto;min-height:calc((var(--e17sa-format-width) * .72 - 2px) / 1.5);aspect-ratio:auto}
.e17sa-carousel:not(.is-enhanced) .e17sa-card-design-polaroid .e17sa-carousel-caption,
.e17sa-carousel:not(.is-enhanced) .e17sa-card-design-slide .e17sa-carousel-caption {position:relative;inset:auto;max-height:none;margin-top:12px;padding:0}
.e17sa-carousel .e17sa-carousel-card-image:not(.e17sa-card-design-slide):not(.e17sa-card-design-polaroid) .e17sa-carousel-image {max-height:var(--e17sa-media-height,calc(var(--e17sa-card-height-limit,76vh) - 64px))}
/* Percentage-only SVGs in links need a definite flex-item width as well. */
.e17sa-carousel .e17sa-card-media > .e17sa-carousel-image-link {width:100%}

@media(max-width:600px){
  .e17sa-carousel {--e17sa-carousel-gap:18px}
  .e17sa-carousel-card {width:min(100%,var(--e17sa-card-bound,calc(100vw - 32px)))}
  .e17sa-card-design-polaroid .e17sa-card-content h3{font-size:clamp(19px,5.2vw,24px)}
  .e17sa-card-design-slide .e17sa-card-content h3{font-size:clamp(17px,4.8vw,22px)}
  .e17sa-card-design-polaroid .e17sa-carousel-caption,.e17sa-card-design-slide .e17sa-carousel-caption{font-size:12px;line-height:1.35}
}
@media(prefers-reduced-motion:reduce){
  .e17sa-carousel {height:auto!important}
  .e17sa-carousel .e17sa-carousel-stage {transform:none!important;will-change:auto}
  .e17sa-carousel .e17sa-carousel-viewport {display:block;height:auto;overflow:visible}
  .e17sa-carousel .e17sa-carousel-track {flex-direction:column;width:100%;min-width:0;padding:8px 0;transform:none!important;will-change:auto}
  .e17sa-carousel .e17sa-carousel-card {opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important}
  .e17sa-carousel .e17sa-carousel-controls {display:none}
}
@media print {
  .e17sa-carousel {height:auto!important;break-inside:auto;overflow:visible!important}
  .e17sa-carousel .e17sa-carousel-stage {position:static;transform:none!important}
  .e17sa-carousel .e17sa-carousel-viewport {display:block;height:auto;max-height:none;overflow:visible}
  .e17sa-carousel .e17sa-carousel-track {display:flex;flex-direction:column;width:100%;min-width:0;padding:0;transform:none!important}
  .e17sa-carousel .e17sa-carousel-card {max-height:none;break-inside:avoid;opacity:1!important;transform:none!important;filter:none!important}
  .e17sa-carousel .e17sa-carousel-controls {display:none}
}

/* Printing is a reading layout even if the live page is currently enhanced. */
@media print {
  .e17sa-carousel.is-enhanced .e17sa-carousel-viewport {height:auto!important;overflow:visible!important}
  .e17sa-carousel.is-enhanced .e17sa-carousel-track {display:flex!important;flex-direction:column;height:auto!important;padding:0!important;transform:none!important;clip-path:none!important}
  .e17sa-carousel.is-enhanced .e17sa-carousel-card {visibility:visible!important;opacity:1!important;transform:none!important;filter:none!important;position:relative;inset:auto;grid-area:auto}
}
