/* Scoped motion enhancement: inherits the approved CZWX fonts and colour system. */
:root{--cz-hero-ink:#0f172a;--cz-hero-navy:#071725;--cz-hero-blue:#2563eb;--cz-hero-paper:#f8faff;--cz-hero-muted:#526582;--cz-hero-line:rgba(82,101,130,.2);--cz-hero-pale:#ecf3ff;--cz-hero-on-dark:#cfddf1;--cz-hero-white:#fbfdff;--cz-hero-dark-line:rgba(207,221,241,.25)}
.cz-carousel{min-width:0;touch-action:pan-y;position:relative}
.cz-carousel [hidden]{display:none!important}
.cz-carousel__slide{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:32px;animation:cz-slide-in .3s cubic-bezier(.16,1,.3,1)}
.cz-carousel__copy{min-width:0}
.cz-carousel__label{font-size:13px!important;letter-spacing:.06em;font-weight:700;margin:0 0 12px!important}
.cz-carousel__copy h2,.cz-carousel__copy h1{margin:0 0 14px;letter-spacing:-.04em;line-height:1.1;overflow-wrap:anywhere;min-width:0;text-wrap:balance}
.cz-carousel__copy>p:not(.cz-carousel__label){font-size:16px;line-height:1.65;max-width:47ch;margin:0 0 20px;color:var(--cz-hero-muted)}
.cz-carousel__cta{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;background:var(--cz-hero-blue);color:var(--cz-hero-white)!important;border-radius:10px;font-size:15px;font-weight:700;text-decoration:none;white-space:nowrap}
.cz-carousel__cta:hover{filter:brightness(.9)}.cz-carousel__cta:active{transform:translateY(1px)}
.cz-carousel a:focus-visible,.cz-carousel button:focus-visible{outline:3px solid var(--cz-hero-blue);outline-offset:4px}
.cz-carousel__controls{display:none;align-items:center;justify-content:flex-end;gap:8px;padding-top:14px;font-size:13px}
.cz-carousel[data-ready=true] .cz-carousel__controls{display:flex}
.cz-carousel__controls button{min-height:44px;min-width:44px;padding:7px 12px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--cz-hero-line);border-radius:9px;background:transparent;color:inherit;cursor:pointer;font:inherit;white-space:nowrap}
.cz-carousel__controls button:hover{background:var(--cz-hero-pale);color:var(--cz-hero-ink)}
.cz-carousel__controls button:active{transform:translateY(1px)}
.cz-carousel__controls button:disabled{cursor:default;opacity:.7}
.cz-carousel__controls [data-prev],.cz-carousel__controls [data-next]{font-size:28px;line-height:1}
.cz-carousel__dots{display:flex;gap:8px;margin-right:auto}
.cz-carousel__dots button{padding:0;border:0}
.cz-carousel__dots span{width:7px;height:7px;border-radius:100%;background:currentColor;opacity:.35;transition:transform .2s}
.cz-carousel__dots [aria-current=true] span{opacity:1;transform:scale(1.5)}
.cz-carousel--catalogue{margin:20px 0 28px;padding:24px 28px 12px;border:1px solid var(--cz-hero-line);border-radius:20px;background:var(--cz-hero-pale);color:var(--cz-hero-ink)}
.cz-carousel--catalogue .cz-carousel__stage{min-height:220px}
.cz-carousel--catalogue h2{font-size:clamp(24px,2.8vw,38px);max-width:20ch}
.cz-carousel__products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0}
.cz-carousel__products a{display:flex;min-width:0;align-items:center;justify-content:center;border-radius:12px;background:var(--cz-hero-white);aspect-ratio:1}
.cz-carousel__products img{width:100%;height:100%;max-height:220px;object-fit:contain;padding:12px;box-sizing:border-box;border-radius:12px}
.cz-carousel__products a:hover img{transform:translateY(-2px)}
.cz-carousel--home{background:var(--cz-hero-navy);color:var(--cz-hero-white);padding:54px 0 20px}
.cz-carousel--home .cz-carousel__stage{min-height:430px}
.cz-carousel--home .cz-carousel__slide{gap:64px;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr)}
.cz-carousel--home .cz-carousel__copy h1,.cz-carousel--home .cz-carousel__copy h2{font-size:clamp(34px,4.5vw,66px);max-width:17ch}
.cz-carousel--home .cz-carousel__copy>p:not(.cz-carousel__label){color:var(--cz-hero-on-dark);font-size:18px}
.cz-carousel--home .cz-carousel__label{color:var(--cz-hero-on-dark)}
.cz-carousel__actions{display:flex;flex-wrap:wrap;gap:12px}
.cz-carousel__secondary{background:transparent;border:1px solid var(--cz-hero-dark-line)}
.cz-carousel__business{min-width:0;padding:34px;border:1px solid var(--cz-hero-dark-line);border-radius:18px}
.cz-carousel__business img{display:block;width:190px;height:auto;background:var(--cz-hero-white);border-radius:8px;padding:14px;margin-bottom:28px}
.cz-carousel__business h3{font-size:22px;line-height:1.25;margin:0 0 18px;color:inherit}
.cz-carousel__business ul{list-style:none;padding:0;margin:0}
.cz-carousel__business li{padding:15px 0;border-top:1px solid var(--cz-hero-dark-line);color:var(--cz-hero-on-dark);font-size:16px;line-height:1.5}
.cz-carousel--home .cz-carousel__note{margin:24px 0 0!important;font-size:13px!important;line-height:1.6}
.cz-carousel--home .cz-carousel__controls button{border-color:var(--cz-hero-dark-line)}
@keyframes cz-slide-in{from{opacity:.45;transform:translateX(10px)}to{opacity:1;transform:none}}
@media(max-width:767px){
 .cz-carousel__slide,.cz-carousel--home .cz-carousel__slide{grid-template-columns:minmax(0,1fr);gap:24px}
 .cz-carousel--catalogue{padding:22px 18px 12px;margin-top:16px}
 .cz-carousel--catalogue .cz-carousel__stage{min-height:380px}
 .cz-carousel--catalogue h2{font-size:28px;max-width:23ch}
 .cz-carousel__products{gap:8px}.cz-carousel__products img{padding:7px}
 .cz-carousel--home{padding:34px 0 16px}.cz-carousel--home .cz-carousel__stage{min-height:630px}
 .cz-carousel--home .cz-carousel__copy h1,.cz-carousel--home .cz-carousel__copy h2{font-size:38px;max-width:19ch}
 .cz-carousel--home .cz-carousel__copy>p:not(.cz-carousel__label){font-size:16px}
 .cz-carousel__business{padding:22px}.cz-carousel__business img{width:140px;margin-bottom:18px}
 .cz-carousel__business li{font-size:14px;padding:10px 0}.cz-carousel__business h3{font-size:19px}
 .cz-carousel__dots{gap:8px}
 .cz-carousel__controls{gap:4px;flex-wrap:wrap}.cz-carousel__controls button{padding:6px 9px}
}
@media(max-width:359px){.cz-carousel__controls [data-status]{display:none}.cz-carousel--home .cz-carousel__copy h1,.cz-carousel--home .cz-carousel__copy h2{font-size:33px}.cz-carousel--catalogue .cz-carousel__stage{min-height:365px}.cz-carousel--home .cz-carousel__stage{min-height:660px}}
@media(prefers-reduced-motion:reduce){.cz-carousel__slide,.cz-carousel__products img,.cz-carousel__dots span{animation:none!important;transition:none!important;transform:none!important}}
