/* Interaction & motion runtime (page-builder-motion.js). Component
 * rules keep a low specificity so each section's scoped CSS wins. Reveal
 * rules use :not(#ef-motion) to outrank section transitions only until the
 * entrance is over (data-ef-done). */
/* Scoped builder sections own their typography: the document defaults
 * (page-content.css) colour every <p>/<li> and give headings margins, which
 * would override the section's own colours on dark or photo backgrounds. */
[data-ef-scope] :where(p,li){color:inherit;margin:0}
[data-ef-scope] :where(h1,h2,h3,h4,h5,h6){color:var(--s-heading,var(--themeFontEmphasis));margin:0}
.ef-motion [data-ef-reveal]:not([data-ef-done]):not(#ef-motion){transition:opacity .9s var(--ef-reveal-ease,cubic-bezier(.2,.7,.2,1)) var(--ef-reveal-delay,0ms),translate .9s var(--ef-reveal-ease,cubic-bezier(.2,.7,.2,1)) var(--ef-reveal-delay,0ms),scale .9s var(--ef-reveal-ease,cubic-bezier(.2,.7,.2,1)) var(--ef-reveal-delay,0ms),filter .9s var(--ef-reveal-ease,cubic-bezier(.2,.7,.2,1)) var(--ef-reveal-delay,0ms),clip-path 1.1s var(--ef-reveal-ease,cubic-bezier(.2,.7,.2,1)) var(--ef-reveal-delay,0ms)}
.ef-motion [data-ef-reveal]:not([data-ef-visible]):not(#ef-motion){opacity:0}
.ef-motion [data-ef-reveal="up"]:not([data-ef-visible]):not(#ef-motion){translate:0 32px}
.ef-motion [data-ef-reveal="down"]:not([data-ef-visible]):not(#ef-motion){translate:0 -32px}
.ef-motion [data-ef-reveal="left"]:not([data-ef-visible]):not(#ef-motion){translate:-40px 0}
.ef-motion [data-ef-reveal="right"]:not([data-ef-visible]):not(#ef-motion){translate:40px 0}
.ef-motion [data-ef-reveal="zoom"]:not([data-ef-visible]):not(#ef-motion){scale:.94}
.ef-motion [data-ef-reveal="blur"]:not([data-ef-visible]):not(#ef-motion){filter:blur(12px);translate:0 12px}
.ef-motion [data-ef-reveal="clip"]:not([data-ef-visible]):not(#ef-motion){clip-path:inset(0 0 100% 0)}
.ef-motion:not(.ef-motion-ready) [data-ef-reveal]:not([data-ef-visible]){animation:ef-reveal-failsafe .01s 2.5s forwards}
@keyframes ef-reveal-failsafe{to{opacity:1;translate:none;scale:none;filter:none;clip-path:none}}
@media (prefers-reduced-motion:reduce){.ef-motion [data-ef-reveal]:not(#ef-motion){opacity:1!important;translate:none!important;scale:none!important;filter:none!important;clip-path:none!important;transition:none!important}}
[data-ef-parallax]{translate:0 calc((var(--ef-scroll,.5) - .5) * var(--ef-parallax-range,-60px))}
[data-ef-counter]{font-variant-numeric:tabular-nums}
[data-ef-carousel] [data-ef-track]{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;position:relative}
[data-ef-carousel] [data-ef-track]::-webkit-scrollbar{display:none}
[data-ef-track]>[data-ef-slide]{flex:0 0 auto;scroll-snap-align:start}
[data-ef-track][data-ef-dragging]{cursor:grabbing;user-select:none}
[data-ef-dots]{display:flex;align-items:center;gap:8px}
[data-ef-dot]{width:8px;height:8px;padding:0;border:0;border-radius:999px;background:currentColor;opacity:.28;cursor:pointer;transition:opacity .3s ease,width .35s ease}
[data-ef-dot][aria-current="true"]{width:24px;opacity:1}
[data-ef-prev],[data-ef-next]{cursor:pointer}
[data-ef-prev]:disabled,[data-ef-next]:disabled{opacity:.35;cursor:default}
[data-ef-slideshow]{display:grid}
[data-ef-slideshow]>[data-ef-slide]{grid-area:1/1;opacity:0;visibility:hidden;transition:opacity 1.2s ease,visibility 0s linear 1.2s}
[data-ef-slideshow]>[data-ef-slide][data-ef-active],[data-ef-slideshow]:not(:has(>[data-ef-active]))>[data-ef-slide]:first-child{opacity:1;visibility:visible;transition:opacity 1.2s ease}
[data-ef-marquee]{overflow:hidden}
[data-ef-marquee]>[data-ef-track]{display:flex;width:max-content}
@media (prefers-reduced-motion:no-preference){[data-ef-marquee]>[data-ef-track]{animation:ef-marquee var(--ef-marquee-duration,40s) linear infinite}[data-ef-marquee][data-ef-reverse]>[data-ef-track]{animation-direction:reverse}[data-ef-marquee][data-ef-pause-hover]:hover>[data-ef-track]{animation-play-state:paused}}
@keyframes ef-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(var(--ef-marquee-distance,-50%),0,0)}}
[data-ef-panel][hidden]{display:none!important}
[data-ef-tab]{cursor:pointer}
[data-ef-rotate]{display:inline-grid;vertical-align:bottom}
[data-ef-rotate]>[data-ef-item]{grid-area:1/1;opacity:0;translate:0 .45em;transition:opacity .5s ease,translate .6s cubic-bezier(.2,.7,.2,1)}
[data-ef-rotate]>[data-ef-item][data-ef-active],[data-ef-rotate]:not(:has(>[data-ef-active]))>[data-ef-item]:first-child{opacity:1;translate:0 0}
[data-ef-compare]{position:relative;overflow:hidden;touch-action:pan-y;user-select:none;--ef-compare:50%}
[data-ef-compare] img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
[data-ef-compare] [data-ef-after]{position:absolute;inset:0;clip-path:inset(0 0 0 var(--ef-compare))}
.ef-compare-handle{position:absolute;top:0;bottom:0;left:var(--ef-compare);z-index:2;display:grid;width:44px;margin:0 0 0 -22px;padding:0;place-items:center;border:0;background:transparent;cursor:ew-resize}
.ef-compare-handle::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;margin-left:-1px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.ef-compare-handle::after{content:"";position:relative;width:42px;height:42px;border-radius:999px;background:#fff url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23111'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='m9%207-5%205%205%205M15%207l5%205-5%205'/%3E%3C/svg%3E") center/20px no-repeat;box-shadow:0 8px 22px rgba(0,0,0,.22)}
.ef-compare-handle:focus-visible::after{outline:2px solid #fff;outline-offset:3px}
[data-ef-compare][data-ef-compare-dir="vertical"]{touch-action:pan-x}
[data-ef-compare][data-ef-compare-dir="vertical"] [data-ef-after]{clip-path:inset(var(--ef-compare) 0 0 0)}
[data-ef-compare-dir="vertical"]>.ef-compare-handle{top:var(--ef-compare);right:0;bottom:auto;left:0;width:auto;height:44px;margin:-22px 0 0;cursor:ns-resize}
[data-ef-compare-dir="vertical"]>.ef-compare-handle::before{top:50%;right:0;bottom:auto;left:0;width:auto;height:2px;margin:-1px 0 0}
[data-ef-compare-dir="vertical"]>.ef-compare-handle::after{transform:rotate(90deg)}
[data-ef-compare]>[data-ef-compare-label]{position:absolute;top:14px;z-index:1;padding:6px 12px;border-radius:999px;background:rgba(17,17,17,.6);color:#fff;font-size:12px;font-weight:600;line-height:1.2;letter-spacing:.06em;text-transform:uppercase}
[data-ef-compare]>[data-ef-compare-label="before"]{left:14px}
[data-ef-compare]>[data-ef-compare-label="after"]{right:14px}
[data-ef-compare-dir="vertical"]>[data-ef-compare-label="after"]{top:auto;right:auto;bottom:14px;left:14px}
