/* Koalita Showcase 2.0 — responsive geometry is CSS/Elementor-owned. JS only moves cards. */
.ksc{
  --ksc-card-width:340px;--ksc-card-width-tablet:290px;--ksc-card-width-mobile:245px;
  --ksc-stage-height:660px;--ksc-stage-height-tablet:600px;--ksc-stage-height-mobile:540px;
  --ksc-radius:28px;--ksc-radius-tablet:28px;--ksc-radius-mobile:28px;
  --ksc-header-gap:8px;--ksc-header-gap-tablet:8px;--ksc-header-gap-mobile:6px;
  --ksc-heading-size:46px;--ksc-heading-size-tablet:38px;--ksc-heading-size-mobile:28px;
  --ksc-eyebrow-size:11px;--ksc-eyebrow-size-tablet:11px;--ksc-eyebrow-size-mobile:10px;
  --ksc-intro-size:17px;--ksc-intro-size-tablet:16px;--ksc-intro-size-mobile:14px;
  --ksc-parallax-x:0px;--ksc-parallax-y:0px;--ksc-drag-x:0px;--ksc-live-accent:var(--ksc-accent,#f08bd6);
  position:relative;width:100%;padding:18px 0 12px;overflow:hidden;isolation:isolate;outline:none;
}
.ksc *{box-sizing:border-box}
.ksc-header{position:relative;z-index:20;max-width:var(--ksc-header-max,800px);margin:0 auto var(--ksc-header-gap);padding:0 24px}
.ksc-header-left .ksc-header{margin-left:0;text-align:left}.ksc-header-center .ksc-header{text-align:center}.ksc-header-right .ksc-header{margin-right:0;text-align:right}
.ksc-eyebrow{font-size:var(--ksc-eyebrow-size);font-weight:850;letter-spacing:.18em;text-transform:uppercase;color:var(--ksc-live-accent);margin-bottom:8px;transition:color .35s ease}
.ksc-heading{margin:0;color:var(--ksc-heading-color,#171717);font-size:var(--ksc-heading-size);line-height:1.04;letter-spacing:-.035em;font-weight:850}
.ksc-intro{margin:12px 0 0;color:var(--ksc-intro-color,#6b6b6b);font-size:var(--ksc-intro-size);line-height:1.6}
.ksc-separator{height:3px;width:var(--ksc-separator-width,86px);margin-top:18px;border-radius:999px}.ksc-header-center .ksc-separator{margin-left:auto;margin-right:auto}.ksc-header-right .ksc-separator{margin-left:auto}
.ksc-separator-line{height:1px;background:color-mix(in srgb,var(--ksc-live-accent) 55%,transparent)}
.ksc-separator-gradient{background:linear-gradient(90deg,transparent,var(--ksc-live-accent),transparent)}
.ksc-separator-pill{height:7px;background:linear-gradient(90deg,var(--ksc-live-accent),color-mix(in srgb,var(--ksc-live-accent) 28%,#8fdcff));box-shadow:0 0 22px color-mix(in srgb,var(--ksc-live-accent) 45%,transparent)}

/* Scene: cards begin at the top, so stage height never creates a fake gap above them. */
.ksc-stage{position:relative;min-height:var(--ksc-stage-height);height:var(--ksc-stage-runtime,var(--ksc-stage-height));perspective:1800px;transform-style:preserve-3d;overflow:visible;touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;cursor:grab}
.ksc.ksc-dragging .ksc-stage{cursor:grabbing}
.ksc-track{position:absolute;inset:0;transform-style:preserve-3d;transform:translate3d(calc(var(--ksc-parallax-x) + var(--ksc-drag-x)),var(--ksc-parallax-y),0);transition:transform .16s ease-out}
.ksc-card{position:absolute;left:50%;top:0;width:var(--ksc-card-width);max-width:calc(100% - 16px);transform:translate3d(-50%,0,0);transform-style:preserve-3d;backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform,opacity;transition-property:transform,opacity;transition-duration:760ms;z-index:1}
.ksc-shell{position:relative;filter:drop-shadow(0 20px 30px rgba(21,20,28,.11));transition:filter .35s ease}

/* One clipping viewport, plus radius on the img itself for mobile GPU compositing safety. */
.ksc-photo{position:relative;width:100%;aspect-ratio:1/1;overflow:hidden!important;border-radius:var(--ksc-radius)!important;background:#f4f4f4;isolation:isolate;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.ksc-ratio-ratio-2-3 .ksc-photo{aspect-ratio:2/3}.ksc-ratio-ratio-3-4 .ksc-photo{aspect-ratio:3/4}.ksc-ratio-ratio-4-5 .ksc-photo{aspect-ratio:4/5}.ksc-ratio-portrait .ksc-photo{aspect-ratio:9/16}
.ksc-photo>img{width:100%!important;height:100%!important;display:block!important;object-fit:cover!important;border-radius:var(--ksc-radius)!important;filter:none!important;-webkit-filter:none!important;mix-blend-mode:normal!important;opacity:1!important;transform:none!important;-webkit-user-drag:none;pointer-events:none}
.ksc-card.is-active .ksc-photo>img{filter:none!important;-webkit-filter:none!important;opacity:1!important}
.ksc-holo-edge{position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.68),inset 0 0 18px color-mix(in srgb,var(--ksc-item-accent) 10%,transparent)}

.ksc-copy{position:relative;margin-top:10px;padding:var(--ksc-copy-pad,18px);border-radius:var(--ksc-copy-radius,22px);background:var(--ksc-copy-bg,rgba(255,255,255,.92));color:var(--ksc-text-color,#666);box-shadow:0 16px 35px rgba(20,20,28,.08);overflow:hidden}
.ksc-copy:before{content:"";position:absolute;left:0;top:0;width:54px;height:2px;background:linear-gradient(90deg,var(--ksc-item-accent),transparent)}
.ksc-meta-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ksc-card-icon{font-size:20px;line-height:1}.ksc-card-kicker{font-size:10px;letter-spacing:.14em;font-weight:850;text-transform:uppercase;color:var(--ksc-item-accent);margin-bottom:7px}
.ksc-copy h3{margin:0;color:var(--ksc-title-color,#151515);font-size:20px;line-height:1.18;letter-spacing:-.02em}.ksc-copy p{margin:8px 0 0;color:var(--ksc-text-color,#666);font-size:14px;line-height:1.5}
.ksc-card-separator{width:100%;height:1px;margin:11px 0;background:linear-gradient(90deg,var(--ksc-item-accent),color-mix(in srgb,var(--ksc-item-accent) 15%,transparent),transparent)}
.ksc-button{display:inline-flex;gap:8px;align-items:center;margin-top:13px;color:var(--ksc-button-color,#151515);text-decoration:none;font-size:13px;font-weight:780}.ksc-button b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:color-mix(in srgb,var(--ksc-item-accent) 16%,transparent)}
.ksc-badge{display:inline-flex;align-items:center;min-height:24px;padding:4px 9px;border-radius:999px;font-size:9px;line-height:1;letter-spacing:.12em;font-weight:850;text-transform:uppercase}.ksc-badge-glass{background:color-mix(in srgb,var(--ksc-item-accent) 11%,rgba(255,255,255,.62));border:1px solid color-mix(in srgb,var(--ksc-item-accent) 30%,rgba(255,255,255,.62))}.ksc-badge-solid{background:var(--ksc-item-accent);color:#fff}.ksc-badge-outline{background:transparent;border:1px solid var(--ksc-item-accent);color:var(--ksc-item-accent)}

/* Effects never darken the active image. */
.ksc-card.is-active{opacity:1!important;filter:none!important}.ksc-card.is-active .ksc-shell{filter:drop-shadow(0 30px 44px rgba(20,20,28,.16)) drop-shadow(0 0 calc(54px * var(--ksc-glow,40%) / 100) color-mix(in srgb,var(--ksc-live-accent) 38%,transparent))}
.ksc-glass .ksc-copy{backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%);border:1px solid rgba(255,255,255,.65)}
.ksc-glass .ksc-photo:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 rgba(255,255,255,.75);pointer-events:none}
.ksc-reflection .ksc-photo:before{content:"";position:absolute;z-index:2;left:-52%;top:-78%;width:72%;height:190%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.26),transparent);transform:translateX(0) rotate(16deg);pointer-events:none;opacity:0}.ksc-reflection .ksc-card.is-active .ksc-photo:before{animation:kscShimmer 1.15s cubic-bezier(.2,.82,.2,1) both}@keyframes kscShimmer{0%{transform:translateX(0) rotate(16deg);opacity:0}20%{opacity:1}100%{transform:translateX(235%) rotate(16deg);opacity:0}}
.ksc-floating .ksc-card.is-active .ksc-shell{animation:kscFloat 4.6s ease-in-out infinite}@keyframes kscFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(var(--ksc-float-amount,7px) * -1))}}

.ksc-spotlight-layer{position:absolute;left:50%;top:42%;width:var(--ksc-spotlight-size,560px);height:var(--ksc-spotlight-size,560px);transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--ksc-live-accent) 24%,transparent) 0%,transparent 70%);filter:blur(26px);opacity:0;pointer-events:none;z-index:0}.ksc-spotlight .ksc-spotlight-layer{opacity:var(--ksc-spotlight-opacity,.26)}
.ksc-grid-layer{position:absolute;left:50%;bottom:2%;width:min(1100px,90vw);height:38%;transform:translateX(-50%) perspective(650px) rotateX(64deg);transform-origin:center bottom;background-image:linear-gradient(color-mix(in srgb,var(--ksc-live-accent) 16%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--ksc-live-accent) 16%,transparent) 1px,transparent 1px);background-size:34px 34px;opacity:0;pointer-events:none}.ksc-grid .ksc-grid-layer{opacity:.35}
.ksc-frame .ksc-stage:before,.ksc-frame .ksc-stage:after{content:"";position:absolute;left:6%;right:6%;height:1px;pointer-events:none;background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ksc-live-accent) 38%,transparent),transparent)}.ksc-frame .ksc-stage:before{top:0}.ksc-frame .ksc-stage:after{bottom:0}
.ksc-theme-cinema{background:linear-gradient(180deg,#15151b,#08090d);border-radius:32px}.ksc-theme-cinema .ksc-heading{color:#fff}.ksc-theme-cinema .ksc-intro{color:#a8a8b2}.ksc-theme-cinema .ksc-copy{background:rgba(20,20,27,.80)}.ksc-theme-cinema .ksc-copy h3{color:#fff}.ksc-theme-cinema .ksc-copy p{color:#b9b9c4}

.ksc-arrow-wrap{position:absolute;inset:0;pointer-events:none}.ksc-arrow{position:absolute;top:50%;width:52px;height:52px;border:0;border-radius:50%;background:var(--ksc-arrow-bg,rgba(255,255,255,.72));color:var(--ksc-arrow-color,#111);display:grid;place-items:center;pointer-events:auto;cursor:pointer;z-index:320;box-shadow:0 12px 28px rgba(0,0,0,.12);font-size:30px}.ksc-prev{left:24px}.ksc-next{right:24px}.ksc-arrow:disabled{opacity:.3;cursor:default}
.ksc-navigation{display:flex;align-items:center;justify-content:center;gap:14px;height:24px;min-height:24px;margin-top:8px;padding:0 20px;flex:0 0 24px}.ksc-dots{display:flex;gap:7px}.ksc-dot{width:7px;height:7px;padding:0;border:0;border-radius:99px;background:var(--ksc-dot-color,#d8d8d8);cursor:pointer}.ksc-dot.is-active{width:24px;background:var(--ksc-live-accent)}
.ksc-progress{width:260px;max-width:80%;height:4px;min-height:4px;border-radius:99px;background:rgba(160,160,175,.28);overflow:hidden;flex:0 0 auto}.ksc-progress-fill{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--ksc-live-accent),#b6b8ff);transform:scaleX(0);transform-origin:left center;will-change:transform}.ksc-progress-fill.is-running{animation:kscProgress var(--ksc-progress-duration,4500ms) linear forwards}@keyframes kscProgress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.ksc-number{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:800;letter-spacing:.08em}.ksc-number i{display:block;width:18px;height:1px;background:currentColor;opacity:.35}

.ksc-lightbox{position:fixed;inset:0;z-index:999999;display:none;place-items:center;background:rgba(4,5,10,.88);padding:30px}.ksc-lightbox.is-open{display:grid}.ksc-lightbox img{max-width:min(90vw,1100px);max-height:88vh;border-radius:24px;object-fit:contain}.ksc-lightbox button{position:fixed;border:0;border-radius:50%;width:48px;height:48px;background:rgba(255,255,255,.9);font-size:28px;cursor:pointer}.ksc-lightbox-close{top:20px;right:20px}.ksc-lightbox-prev{left:20px;top:50%}.ksc-lightbox-next{right:20px;top:50%}.ksc-lightbox-count{position:fixed;bottom:22px;color:#fff;font-weight:700}

/* Pre-init: stable and attractive, never a pile of cards. */
.ksc:not(.ksc-ready) .ksc-card{opacity:0;pointer-events:none}.ksc:not(.ksc-ready) .ksc-card:first-child{opacity:1;pointer-events:auto;z-index:200;transform:translate3d(-50%,0,42px) scale(1.03)}

@media(min-width:1025px){
 .ksc-hide-kicker-desktop .ksc-card-kicker,.ksc-hide-description-desktop .ksc-card-description,.ksc-hide-button-desktop .ksc-button,.ksc-hide-meta-desktop .ksc-meta-row{display:none!important}
 .ksc-hide-arrows-desktop,.ksc-hide-dots-desktop,.ksc-hide-progress-desktop,.ksc-hide-number-desktop{display:none!important}
}
@media(max-width:1024px) and (min-width:768px){
 .ksc{--ksc-header-gap:var(--ksc-header-gap-tablet);--ksc-heading-size:var(--ksc-heading-size-tablet);--ksc-eyebrow-size:var(--ksc-eyebrow-size-tablet);--ksc-intro-size:var(--ksc-intro-size-tablet);--ksc-radius:var(--ksc-radius-tablet)}
 .ksc-card{width:var(--ksc-card-width-tablet)}.ksc-stage{min-height:var(--ksc-stage-height-tablet)}
 .ksc-hide-kicker-tablet .ksc-card-kicker,.ksc-hide-description-tablet .ksc-card-description,.ksc-hide-button-tablet .ksc-button,.ksc-hide-meta-tablet .ksc-meta-row{display:none!important}
 .ksc-hide-arrows-tablet,.ksc-hide-dots-tablet,.ksc-hide-progress-tablet,.ksc-hide-number-tablet{display:none!important}
 .ksc-header{padding-inline:18px}
}
@media(max-width:767px){
 .ksc{padding-top:8px;--ksc-header-gap:var(--ksc-header-gap-mobile);--ksc-heading-size:var(--ksc-heading-size-mobile);--ksc-eyebrow-size:var(--ksc-eyebrow-size-mobile);--ksc-intro-size:var(--ksc-intro-size-mobile);--ksc-radius:var(--ksc-radius-mobile)}
 .ksc-card{width:var(--ksc-card-width-mobile);max-width:calc(100vw - 28px)}.ksc-stage{min-height:var(--ksc-stage-height-mobile)}
 .ksc-header{padding-inline:14px}.ksc-copy p{font-size:13px}.ksc-navigation{margin-top:4px}
 .ksc-hide-kicker-mobile .ksc-card-kicker,.ksc-hide-description-mobile .ksc-card-description,.ksc-hide-button-mobile .ksc-button,.ksc-hide-meta-mobile .ksc-meta-row{display:none!important}
 .ksc-hide-arrows-mobile,.ksc-hide-dots-mobile,.ksc-hide-progress-mobile,.ksc-hide-number-mobile{display:none!important}
 .ksc-nav-sides .ksc-prev,.ksc-nav-floating .ksc-prev,.ksc-nav-minimal .ksc-prev{left:8px}.ksc-nav-sides .ksc-next,.ksc-nav-floating .ksc-next,.ksc-nav-minimal .ksc-next{right:8px}.ksc-arrow{width:42px;height:42px;font-size:25px}
}
@media(hover:none){.ksc-parallax .ksc-track{transform:translate3d(var(--ksc-drag-x),0,0)!important}}
@media(prefers-reduced-motion:reduce){.ksc-card,.ksc-track,.ksc-photo:before{transition-duration:.01ms!important;animation:none!important}}

/* 2.1: a native link covers the whole card, including its text. */
.ksc-card-link{position:absolute;inset:0;z-index:10;border-radius:var(--ksc-radius);cursor:pointer}
.ksc-card-link:focus-visible{outline:3px solid var(--ksc-item-accent);outline-offset:4px}
.ksc-card:has(.ksc-card-link) .ksc-button{position:relative;z-index:11}
.ksc.ksc-dragging .ksc-card-link{cursor:grabbing}
.ksc-photo{background:var(--ksc-card-bg,#f4f4f4)}
/* Each preset has its own scene, borders and depth; photos retain their colors. */
.ksc-theme-neo{background:linear-gradient(135deg,#f7faff,#f5f1fa);border-radius:32px}
.ksc-theme-neo .ksc-copy{border:1px solid #dfe4ef}
.ksc-theme-aurora{background:radial-gradient(ellipse at 10% 30%,#bcf5e7,transparent 65%),radial-gradient(ellipse at 90% 65%,#d2bdff,transparent 65%),#eef0ff;border-radius:32px}
.ksc-theme-aurora .ksc-copy{border:2px solid #b7a2e2;box-shadow:0 12px 30px #7758b52b}
.ksc-theme-clean{background:#fff;border-radius:0}
.ksc-theme-clean .ksc-copy{border:1px solid #e6e6e6;box-shadow:none;backdrop-filter:none}
.ksc-theme-clean .ksc-copy:before,.ksc-theme-clean .ksc-grid-layer,.ksc-theme-clean .ksc-spotlight-layer,.ksc-theme-clean .ksc-stage:before,.ksc-theme-clean .ksc-stage:after{display:none}
.ksc-theme-clean .ksc-shell,.ksc-theme-clean .ksc-card.is-active .ksc-shell{filter:drop-shadow(0 6px 10px #00000012)}
.ksc-theme-pastel{background:linear-gradient(140deg,#fff0f5,#eee8ff 60%,#fff6df);border-radius:32px}
.ksc-theme-pastel .ksc-copy{border:2px solid #f0bfd8;box-shadow:0 12px 25px #bd7da121}
.ksc-theme-editorial{background:#f3eee4;border-radius:8px}
.ksc-theme-editorial .ksc-copy{border:1px solid #c9beaa;box-shadow:5px 5px 0 #d6cdbc;backdrop-filter:none}
.ksc-theme-editorial .ksc-copy:before,.ksc-theme-editorial .ksc-grid-layer,.ksc-theme-editorial .ksc-spotlight-layer{display:none}
.ksc-theme-cinema .ksc-number,.ksc-theme-cinema .ksc-button{color:#fff}
