/* ZACO native carousel and Brand ticker; token-only styles, no inline presentation. */
.zaco-fe .zaco-fe-collection--slider {display:block;min-width:0;--zaco-fe-slider-gap:var(--zaco-fe-product-card-gap,1rem);--zaco-carousel-visible:3;--zaco-carousel-peek:0%;--zaco-carousel-arrow-icon-size:1.5rem;--zaco-carousel-arrow-stroke:2.5;--zaco-carousel-arrow-button-size:2.75rem;}
/* The icon, icon weight, and click-target diameter are intentionally independent. */
.zaco-fe .zaco-carousel--arrow-icon-size-small{--zaco-carousel-arrow-icon-size:1rem}
.zaco-fe .zaco-carousel--arrow-icon-size-medium{--zaco-carousel-arrow-icon-size:1.25rem}
.zaco-fe .zaco-carousel--arrow-icon-size-large{--zaco-carousel-arrow-icon-size:1.5rem}
.zaco-fe .zaco-carousel--arrow-icon-size-extra_large{--zaco-carousel-arrow-icon-size:1.75rem}
.zaco-fe .zaco-carousel--arrow-stroke-light{--zaco-carousel-arrow-stroke:1.5}
.zaco-fe .zaco-carousel--arrow-stroke-regular{--zaco-carousel-arrow-stroke:2}
.zaco-fe .zaco-carousel--arrow-stroke-bold{--zaco-carousel-arrow-stroke:2.5}
.zaco-fe .zaco-carousel--arrow-button-size-compact{--zaco-carousel-arrow-button-size:2.5rem}
.zaco-fe .zaco-carousel--arrow-button-size-standard{--zaco-carousel-arrow-button-size:2.75rem}
.zaco-fe .zaco-carousel--arrow-button-size-large{--zaco-carousel-arrow-button-size:3.25rem}
.zaco-fe [data-zaco-visible-desktop="1"]{--zaco-carousel-desktop:1}.zaco-fe [data-zaco-visible-desktop="2"]{--zaco-carousel-desktop:2}.zaco-fe [data-zaco-visible-desktop="3"]{--zaco-carousel-desktop:3}.zaco-fe [data-zaco-visible-desktop="4"]{--zaco-carousel-desktop:4}.zaco-fe [data-zaco-visible-desktop="5"]{--zaco-carousel-desktop:5}.zaco-fe [data-zaco-visible-desktop="6"]{--zaco-carousel-desktop:6}.zaco-fe [data-zaco-visible-desktop="7"]{--zaco-carousel-desktop:7}.zaco-fe [data-zaco-visible-desktop="8"]{--zaco-carousel-desktop:8}.zaco-fe [data-zaco-visible-desktop="9"]{--zaco-carousel-desktop:9}.zaco-fe [data-zaco-visible-desktop="10"]{--zaco-carousel-desktop:10}.zaco-fe [data-zaco-visible-desktop="11"]{--zaco-carousel-desktop:11}.zaco-fe [data-zaco-visible-desktop="12"]{--zaco-carousel-desktop:12}
.zaco-fe .zaco-fe-collection--slider {--zaco-carousel-visible:var(--zaco-carousel-desktop,3)}
.zaco-fe .zaco-carousel--peek-15{--zaco-carousel-peek:15%}.zaco-fe .zaco-carousel--peek-25{--zaco-carousel-peek:25%}.zaco-fe .zaco-carousel--peek-35{--zaco-carousel-peek:35%}
.zaco-fe .zaco-fe-collection-slider__viewport{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:thin;-webkit-overflow-scrolling:touch;outline-offset:.25rem;overscroll-behavior-x:contain}
.zaco-fe .zaco-fe-collection-slider__track{display:flex;align-items:stretch;gap:var(--zaco-fe-slider-gap);width:100%;min-width:0}
.zaco-fe .zaco-fe-collection-slider__item{flex:0 0 calc((100% - var(--zaco-carousel-peek) - var(--zaco-fe-slider-gap) * (var(--zaco-carousel-visible) - 1)) / var(--zaco-carousel-visible));min-width:0;scroll-snap-align:start}
.zaco-fe .zaco-fe-collection-slider__item > *{height:100%;min-width:0}
.zaco-fe .zaco-carousel--reverse-yes .zaco-fe-collection-slider__track{flex-direction:row-reverse}
.zaco-fe .zaco-carousel--orientation-vertical .zaco-fe-collection-slider__viewport{max-height:32rem;height:32rem;overflow-x:hidden;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior-y:contain}
.zaco-fe .zaco-carousel--orientation-vertical .zaco-fe-collection-slider__track{flex-direction:column;height:100%}
.zaco-fe .zaco-carousel--orientation-vertical.zaco-carousel--reverse-yes .zaco-fe-collection-slider__track{flex-direction:column-reverse}
.zaco-fe .zaco-carousel--orientation-vertical .zaco-fe-collection-slider__item{flex-basis:calc((100% - var(--zaco-carousel-peek) - var(--zaco-fe-slider-gap) * (var(--zaco-carousel-visible) - 1)) / var(--zaco-carousel-visible));min-height:0}
/* The stage is sized by the real scroll viewport; side arrows are placed in this frame, not relative to the section heading/footer. */
.zaco-fe .zaco-fe-collection-slider__stage{position:relative;min-width:0}
.zaco-fe .zaco-carousel--arrow-position-overlay_sides .zaco-fe-collection-slider__stage > .zaco-fe-collection-slider__button{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:var(--zaco-carousel-arrow-button-size);height:var(--zaco-carousel-arrow-button-size);border-radius:999px;box-shadow:0 1px 8px color-mix(in srgb,currentColor 12%,transparent)}
.zaco-fe .zaco-carousel--arrow-position-overlay_sides .zaco-fe-collection-slider__stage > .zaco-fe-collection-slider__button--prev{inset-inline-start:.75rem}
.zaco-fe .zaco-carousel--arrow-position-overlay_sides .zaco-fe-collection-slider__stage > .zaco-fe-collection-slider__button--next{inset-inline-end:.75rem}
.zaco-fe .zaco-fe-collection-slider__button:focus-visible{outline:2px solid currentColor;outline-offset:2px}
/* Alignment is a presentation choice and does not change paging semantics. */
.zaco-fe .zaco-carousel--pagination-alignment-left .zaco-fe-collection-slider__controls{justify-content:flex-start}
.zaco-fe .zaco-carousel--pagination-alignment-center .zaco-fe-collection-slider__controls{justify-content:flex-end;min-height:2.75rem}
.zaco-fe .zaco-carousel--pagination-alignment-right .zaco-fe-collection-slider__controls{justify-content:flex-end}
/* Optional autoplay stop stays reachable by Tab but takes no permanent space in a compact footer. */
.zaco-fe .zaco-fe-collection-slider__controls{position:relative}
.zaco-fe .zaco-carousel--pause-control-focus_only .zaco-fe-collection-slider__button--pause{position:absolute;inset-inline-end:0;inset-block-end:0}
.zaco-fe .zaco-carousel--pause-control-focus_only .zaco-fe-collection-slider__button--pause:not(:focus-visible){opacity:0;pointer-events:none}
.zaco-fe .zaco-carousel--pause-control-focus_only .zaco-fe-collection-slider__button--pause:focus-visible{z-index:5}
/* When arrows are overlaid and there is no indicator, an empty footer must not create a blank row. */
.zaco-fe .zaco-carousel--arrow-position-overlay_sides.zaco-carousel--pagination-none.zaco-carousel--pill-none.zaco-carousel--pause-control-focus_only .zaco-fe-collection-slider__controls:not([hidden]){min-height:0;height:0;margin-top:0}
.zaco-fe .zaco-fe-collection-slider__controls{display:flex;align-items:center;justify-content:flex-end;gap:.625rem;margin-top:1rem}
.zaco-fe [hidden],.zaco-fe .zaco-fe-collection-slider__controls[hidden]{display:none!important}
.zaco-fe .zaco-fe-collection-slider__button{appearance:none;display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--zaco-carousel-arrow-button-size);height:var(--zaco-carousel-arrow-button-size);border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:var(--zaco-fe-radius-control,.5rem);background:var(--zaco-fe-surface-raised,#fff);color:inherit;cursor:pointer;font:inherit}
/* Use scalable vector chevrons instead of font-dependent ‹ and › characters. */
.zaco-fe .zaco-fe-collection-slider__chevron{display:block;flex:none;width:var(--zaco-carousel-arrow-icon-size);height:var(--zaco-carousel-arrow-icon-size);stroke:currentColor;stroke-width:var(--zaco-carousel-arrow-stroke);stroke-linecap:round;stroke-linejoin:round}
.zaco-fe .zaco-carousel--arrows-filled .zaco-fe-collection-slider__button{background:var(--zaco-fe-color-ink,#222);color:var(--zaco-fe-surface-raised,#fff)}
.zaco-fe .zaco-carousel--arrows-filled_light .zaco-fe-collection-slider__button:not(.zaco-fe-collection-slider__button--pause){background:var(--zaco-fe-surface-raised,#fff);color:var(--zaco-fe-color-ink,#222);border-color:transparent}
/* In inline mode preserve a mathematically centered position indicator, rather than centering the entire arrow/indicator group. */
.zaco-fe .zaco-carousel--pagination-alignment-center .zaco-fe-collection-slider__pagination{position:absolute;inset-inline-start:50%;transform:translateX(-50%);max-width:calc(100% - 9rem);overflow-x:auto}
.zaco-fe .zaco-carousel--pagination-alignment-center:not(.zaco-carousel--arrow-position-overlay_sides) .zaco-fe-collection-slider__button--prev{margin-inline-end:auto}
.zaco-fe .zaco-carousel--pagination-alignment-center .zaco-fe-collection-slider__pill:not([hidden]){margin-inline-end:auto}
.zaco-fe .zaco-carousel--arrows-icon .zaco-fe-collection-slider__button{border:0;background:transparent}
.zaco-fe .zaco-carousel--arrows-none .zaco-fe-collection-slider__button:not(.zaco-fe-collection-slider__button--pause){display:none}
.zaco-fe .zaco-fe-collection-slider__button:disabled{opacity:.38;cursor:default}
.zaco-fe .zaco-fe-collection-slider__pagination{display:flex;align-items:center;gap:.35rem;min-width:3rem;justify-content:center}
.zaco-fe .zaco-fe-collection-slider__status{font:inherit;font-size:.875rem;font-variant-numeric:tabular-nums}
.zaco-fe .zaco-fe-collection-slider__page{appearance:none;border:0;padding:0;width:.45rem;height:.45rem;border-radius:999px;background:currentColor;opacity:.25;cursor:pointer}
.zaco-fe .zaco-carousel--pagination-bars .zaco-fe-collection-slider__page{width:1.25rem;border-radius:2px}
.zaco-fe .zaco-fe-collection-slider__page[aria-current="true"]{opacity:1}
.zaco-fe .zaco-fe-collection-slider__pagination progress{width:5rem;height:.35rem;accent-color:currentColor}
.zaco-fe .zaco-carousel--fade-both:not(.zaco-carousel--at-start) .zaco-fe-collection-slider__viewport{-webkit-mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent);mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent)}
.zaco-fe .zaco-carousel--fade-trailing:not(.zaco-carousel--at-end) .zaco-fe-collection-slider__viewport{-webkit-mask-image:linear-gradient(to right,#000 95%,transparent);mask-image:linear-gradient(to right,#000 95%,transparent)}
.zaco-fe .zaco-carousel--orientation-vertical.zaco-carousel--fade-both:not(.zaco-carousel--at-start) .zaco-fe-collection-slider__viewport{mask-image:linear-gradient(to bottom,transparent,#000 4%,#000 96%,transparent)}
.zaco-fe .zaco-carousel--orientation-vertical.zaco-carousel--fade-trailing:not(.zaco-carousel--at-end) .zaco-fe-collection-slider__viewport{mask-image:linear-gradient(to bottom,#000 95%,transparent)}
/* Shared continuous ticker: one approved source copy in the accessibility tree. */
.zaco-fe .zaco-fe-ticker__viewport{overflow:auto;scrollbar-width:thin}
.zaco-fe .zaco-fe-ticker__track{display:flex;width:max-content;max-width:none}
.zaco-fe .zaco-fe-ticker__group{display:flex;align-items:stretch;flex:none;gap:1rem;padding-inline-end:1rem}
.zaco-fe .zaco-fe-ticker__group[hidden]{display:none!important}
.zaco-fe .zaco-fe-ticker__group :is(.zaco-fe-home-brand,.zaco-fe-home-press__card--ticker){flex:none}
.zaco-fe .zaco-fe-ticker--enhanced.zaco-fe-ticker--running .zaco-fe-ticker__viewport{overflow:hidden}
.zaco-fe .zaco-fe-ticker--enhanced .zaco-fe-ticker__group[aria-hidden="true"]{pointer-events:none}
.zaco-fe .zaco-fe-ticker--orientation-vertical .zaco-fe-ticker__viewport{height:28rem;overflow-y:auto;overflow-x:hidden}
.zaco-fe .zaco-fe-ticker--orientation-vertical .zaco-fe-ticker__track{flex-direction:column;width:100%;height:max-content}
.zaco-fe .zaco-fe-ticker--orientation-vertical .zaco-fe-ticker__group{flex-direction:column;padding-inline-end:0;padding-block-end:1rem}
/* Accessible stop control, without a dedicated blank row below the logo marquee. */
.zaco-fe .zaco-fe-ticker{position:relative}
.zaco-fe .zaco-fe-ticker__pause{appearance:none;position:absolute;inset-block-start:.25rem;inset-inline-end:.25rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;min-height:2.5rem;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:var(--zaco-fe-radius-control,.5rem);padding:.35rem .6rem;background:var(--zaco-fe-surface-raised,#fff);color:inherit;cursor:pointer;font:inherit;transition:opacity .15s ease}
.zaco-fe .zaco-fe-ticker--pause-focus_only .zaco-fe-ticker__pause:not(:focus-visible){opacity:0;pointer-events:none}
.zaco-fe .zaco-fe-ticker__pause:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.zaco-fe .zaco-fe-ticker__pause[hidden]{display:none!important}
.zaco-fe .zaco-fe-ticker--fade-both .zaco-fe-ticker__viewport{mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent)}
.zaco-fe .zaco-fe-ticker--orientation-vertical.zaco-fe-ticker--fade-both .zaco-fe-ticker__viewport{mask-image:linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent)}
@media(max-width:64rem){.zaco-fe [data-zaco-visible-tablet="1"]{--zaco-carousel-tablet:1}.zaco-fe [data-zaco-visible-tablet="2"]{--zaco-carousel-tablet:2}.zaco-fe [data-zaco-visible-tablet="3"]{--zaco-carousel-tablet:3}.zaco-fe [data-zaco-visible-tablet="4"]{--zaco-carousel-tablet:4}.zaco-fe [data-zaco-visible-tablet="5"]{--zaco-carousel-tablet:5}.zaco-fe [data-zaco-visible-tablet="6"]{--zaco-carousel-tablet:6}.zaco-fe [data-zaco-visible-tablet="8"]{--zaco-carousel-tablet:8}.zaco-fe .zaco-fe-collection--slider{--zaco-carousel-visible:var(--zaco-carousel-tablet,2)}}
@media(max-width:42rem){.zaco-fe [data-zaco-peek-mobile="15"]{--zaco-carousel-peek:15%}.zaco-fe [data-zaco-peek-mobile="25"]{--zaco-carousel-peek:25%}.zaco-fe [data-zaco-peek-mobile="35"]{--zaco-carousel-peek:35%}.zaco-fe [data-zaco-visible-mobile="1"]{--zaco-carousel-mobile:1}.zaco-fe [data-zaco-visible-mobile="2"]{--zaco-carousel-mobile:2}.zaco-fe [data-zaco-visible-mobile="3"]{--zaco-carousel-mobile:3}.zaco-fe [data-zaco-visible-mobile="4"]{--zaco-carousel-mobile:4}.zaco-fe .zaco-fe-collection--slider{--zaco-carousel-visible:var(--zaco-carousel-mobile,1)}}
@media(prefers-reduced-motion:reduce){.zaco-fe .zaco-fe-collection-slider__viewport{scroll-behavior:auto!important}.zaco-fe .zaco-fe-ticker__viewport{overflow:auto!important;mask-image:none!important}}

/* Responsive density is presentation-only; never limits curated eligible items. */
.zaco-fe .zaco-fe-ticker__viewport{container-type:inline-size}
.zaco-fe .zaco-fe-ticker{--zaco-ticker-visible:8}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="1"]{--zaco-ticker-desktop:1}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="2"]{--zaco-ticker-desktop:2}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="3"]{--zaco-ticker-desktop:3}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="4"]{--zaco-ticker-desktop:4}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="5"]{--zaco-ticker-desktop:5}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="6"]{--zaco-ticker-desktop:6}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="7"]{--zaco-ticker-desktop:7}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="8"]{--zaco-ticker-desktop:8}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="9"]{--zaco-ticker-desktop:9}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="10"]{--zaco-ticker-desktop:10}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="11"]{--zaco-ticker-desktop:11}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-desktop="12"]{--zaco-ticker-desktop:12}
.zaco-fe .zaco-fe-ticker{--zaco-ticker-visible:var(--zaco-ticker-desktop,8)}
@media(max-width:64rem){.zaco-fe .zaco-fe-ticker[data-zaco-visible-tablet="1"]{--zaco-ticker-tablet:1}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-tablet="2"]{--zaco-ticker-tablet:2}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-tablet="3"]{--zaco-ticker-tablet:3}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-tablet="4"]{--zaco-ticker-tablet:4}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-tablet="5"]{--zaco-ticker-tablet:5}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-tablet="6"]{--zaco-ticker-tablet:6}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-tablet="8"]{--zaco-ticker-tablet:8}
.zaco-fe .zaco-fe-ticker{--zaco-ticker-visible:var(--zaco-ticker-tablet,6)}
}
@media(max-width:42rem){.zaco-fe .zaco-fe-ticker[data-zaco-visible-mobile="1"]{--zaco-ticker-mobile:1}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-mobile="2"]{--zaco-ticker-mobile:2}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-mobile="3"]{--zaco-ticker-mobile:3}
.zaco-fe .zaco-fe-ticker[data-zaco-visible-mobile="4"]{--zaco-ticker-mobile:4}
.zaco-fe .zaco-fe-ticker{--zaco-ticker-visible:var(--zaco-ticker-mobile,2)}
}
.zaco-fe .zaco-fe-ticker__group :is(.zaco-fe-home-brand,.zaco-fe-home-press__card--ticker){width:calc((100cqw - 1rem * (var(--zaco-ticker-visible) - 1)) / var(--zaco-ticker-visible));min-width:0;box-sizing:border-box}
.zaco-fe .zaco-fe-ticker--orientation-vertical .zaco-fe-ticker__group :is(.zaco-fe-home-brand,.zaco-fe-home-press__card--ticker){width:100%}

.zaco-fe .zaco-fe-collection-slider__pill{font:inherit;font-size:.8125rem;white-space:nowrap;min-width:3rem;text-align:center;padding:.35rem .6rem;border:1px solid color-mix(in srgb,currentColor 24%,transparent);border-radius:999px;background:var(--zaco-fe-surface-raised,#fff);color:inherit;font-variant-numeric:tabular-nums}
.zaco-fe .zaco-fe-ticker--fade-trailing .zaco-fe-ticker__viewport{mask-image:linear-gradient(to right,#000 95%,transparent)}
.zaco-fe .zaco-fe-ticker--orientation-vertical.zaco-fe-ticker--fade-trailing .zaco-fe-ticker__viewport{mask-image:linear-gradient(to bottom,#000 95%,transparent)}

/* H4b: full-width adaptive rows only when their editor opts into Slider. */
.zaco-fe-stitch-project .zaco-fe-project-midgrid.zaco-fe-project-midgrid--stacked,
.zaco-fe-stitch-project .zaco-fe-project-faq__columns.zaco-fe-project-faq__columns--slider,
.zaco-fe-bottom-grid__inner.zaco-fe-service-faq--slider,
.zaco-fe-layout-related__grid.zaco-fe-layout-related__grid--stacked,
.zaco-fe-layout-discovery__grid.zaco-fe-layout-discovery__grid--stacked { grid-template-columns: minmax(0,1fr); }
.zaco-fe-project-collection,
.zaco-fe-service-related-slider,
.zaco-fe-layout-cards-slider,
.zaco-fe-layout-alternatives-slider { min-width:0; max-width:100%; }
.zaco-fe-stitch-project .zaco-fe-project-midgrid--stacked > *,
.zaco-fe-layout-related__grid--stacked > *,
.zaco-fe-layout-discovery__grid--stacked > * { min-width:0; }

/* Preserve the Layout compact card treatment inside the same shared Slider wrapper. */
.zaco-fe-layout-cards-slider .zaco-fe-card__media,
.zaco-fe-layout-alternatives-slider .zaco-fe-card__media { aspect-ratio: 4 / 3; }
.zaco-fe-layout-cards-slider .zaco-fe-card__body { padding: var(--zaco-fe-space-4); }
