#kk-client-stories{--kkcs-gradient:linear-gradient(105deg,#60338e,#af1644 50%,#fbb911);background:#fff;color:#000;font-family:Figtree,sans-serif;padding:64px 0;margin:0;overflow:hidden;box-sizing:border-box;width:100%}
#kk-client-stories *{box-sizing:border-box}
#kk-client-stories .kkcs-intro{max-width:1512px;margin:0 auto 64px;padding:48px 96px;display:grid;grid-template-columns:minmax(0,1fr) 446px;gap:64px;align-items:start}
#kk-client-stories h2{font:600 56px/1.12 Figtree,sans-serif;color:#000;padding:0;margin:0}
#kk-client-stories .kkcs-intro p{font-size:20px;line-height:1.5;color:#30373d;margin:0 0 24px;padding:0}
#kk-client-stories .kkcs-speaking{display:inline-flex;align-items:center;gap:16px;border:1px solid transparent;border-radius:8px;background:linear-gradient(#fff,#fff) padding-box,var(--kkcs-gradient) border-box;padding:12px 16px 12px 24px;font-size:16px;font-weight:600;color:#000;text-decoration:none;line-height:24px}
#kk-client-stories .kkcs-speaking span{font-size:26px}
#kk-client-stories .kkcs-rail{display:flex;align-items:center;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;padding:12px max(24px,calc((100% - 1057px)/2)) 20px;scroll-snap-type:x mandatory;min-height:650px}
#kk-client-stories .kkcs-rail::-webkit-scrollbar{display:none}
#kk-client-stories .kkcs-card{flex:0 0 440px;min-height:515px;display:flex;gap:0;padding:30px;border:2px solid #e3e3e3;border-radius:20px;background:#fff;box-shadow:0 4px 10px #0000000d;scroll-snap-align:center;cursor:pointer;color:#000;position:relative}
#kk-client-stories .kkcs-card.is-active{flex-basis:1057px;min-height:644px;padding:32px;border:6px solid transparent;border-radius:24px;background:linear-gradient(#fff,#fff) padding-box,var(--kkcs-gradient) border-box;gap:40px}
#kk-client-stories .kkcs-image{display:none}
#kk-client-stories .is-active .kkcs-image{display:flex;flex:0 0 46%;align-items:center;min-width:0;align-self:stretch;overflow:hidden;border-radius:8px;background:#F5F1E8;position:relative}
#kk-client-stories .kkcs-featured{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}
#kk-client-stories .kkcs-placeholder{aspect-ratio:1;width:100%;display:flex;align-items:center;justify-content:center;text-align:center;font-size:40px;font-weight:600;line-height:1.2;padding:32px;color:#30373d}
#kk-client-stories .kkcs-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;min-width:0}
#kk-client-stories .kkcs-sector{display:inline-block;max-width:100%;border:1px solid transparent;background:linear-gradient(#fff,#fff) padding-box,var(--kkcs-gradient) border-box;padding:8px 12px;font-size:13px;line-height:1.3;font-weight:400;margin-bottom:40px}
#kk-client-stories h3{font:600 29px/1.15 Figtree,sans-serif;padding:0;margin:0 0 16px;color:#000;overflow-wrap:break-word}
#kk-client-stories blockquote{margin:0 0 32px;padding:0 0 0 16px;border:0;border-left:1px solid transparent;border-image:linear-gradient(#60338e,#af1644,#fbb911) 1;font-size:19px;line-height:1.5;color:#000}
#kk-client-stories blockquote p{margin:0;padding:0;font:inherit;color:inherit}
#kk-client-stories .kkcs-company{font-size:23px;line-height:1.2;font-weight:600;margin:auto 0 0;padding-top:24px}
#kk-client-stories .kkcs-controls{max-width:1416px;margin:40px auto 0;display:flex;gap:20px;align-items:center;padding:0 24px}
#kk-client-stories .kkcs-controls button{background:#fff;border:1px solid #ddd;border-radius:50%;width:44px;height:44px;flex:none;font-size:24px;cursor:pointer;color:#000}
#kk-client-stories .kkcs-controls button:disabled{opacity:.35;cursor:default}
#kk-client-stories .kkcs-progress{flex:1;display:flex;align-items:center}
#kk-client-stories input[type=range]{appearance:none;-webkit-appearance:none;width:100%;height:4px;border:0;border-radius:99px;background:#dedfe0;cursor:pointer;margin:16px 0;padding:0}
#kk-client-stories input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;background:var(--kkcs-gradient);height:4px;width:clamp(48px,20vw,300px);border:0;border-radius:99px}
#kk-client-stories input[type=range]::-moz-range-thumb{background:var(--kkcs-gradient);height:4px;width:120px;border:0;border-radius:99px}
#kk-client-stories :focus-visible{outline:3px solid #60338e;outline-offset:5px}
#kk-client-stories .kkcs-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1200px){#kk-client-stories .kkcs-intro{padding:32px 40px;grid-template-columns:1.2fr 1fr;gap:40px}#kk-client-stories h2{font-size:44px}#kk-client-stories .kkcs-card.is-active{flex-basis:85vw;gap:24px}#kk-client-stories .kkcs-rail{padding-left:7.5vw;padding-right:7.5vw}#kk-client-stories h3{font-size:27px}#kk-client-stories blockquote{font-size:18px}}
@media(max-width:767px){#kk-client-stories{padding:32px 0}#kk-client-stories .kkcs-intro{padding:24px;display:block;margin-bottom:24px}#kk-client-stories h2{font-size:36px;margin-bottom:24px}#kk-client-stories .kkcs-intro p{font-size:18px}#kk-client-stories .kkcs-rail{align-items:stretch;min-height:0;padding:8px 6vw 20px;gap:12px}#kk-client-stories .kkcs-card,#kk-client-stories .kkcs-card.is-active{flex-basis:88vw;min-height:560px;padding:24px;flex-direction:column;gap:24px}#kk-client-stories .is-active .kkcs-image{flex:auto;width:100%;max-height:200px;align-self:auto;justify-content:center}#kk-client-stories .kkcs-featured{max-height:200px;width:100%;object-fit:contain}#kk-client-stories .kkcs-placeholder{height:160px;aspect-ratio:auto;font-size:32px}#kk-client-stories .kkcs-sector{margin-bottom:24px;font-size:12px}#kk-client-stories h3{font-size:27px}#kk-client-stories .kkcs-company{font-size:22px}#kk-client-stories .kkcs-controls{margin-top:12px;gap:14px}}
@media(prefers-reduced-motion:reduce){#kk-client-stories *{scroll-behavior:auto!important}}
@media(max-width:767px){#kk-client-stories .is-active .kkcs-image{flex:0 0 clamp(200px,50vw,360px);height:clamp(200px,50vw,360px);min-height:200px;max-height:360px}#kk-client-stories .kkcs-featured{height:100%;max-height:none;object-fit:cover}}

/* Scale the complete copy as one unit, without changing its line wrapping. */
#kk-client-stories{--kkcs-copy-base:376px;--kkcs-motion:640ms;--kkcs-ease:cubic-bezier(.215,.61,.355,1)}
#kk-client-stories .kkcs-rail{scroll-snap-type:none;scroll-behavior:auto;overflow-anchor:none;align-items:center;padding-top:16px;padding-bottom:16px}
#kk-client-stories .kkcs-card{flex:0 0 calc(var(--kkcs-copy-base) + 64px);min-height:0;gap:0;align-items:stretch;padding:30px;border-width:2px;scroll-snap-align:none;transition:flex-basis var(--kkcs-motion) var(--kkcs-ease),padding var(--kkcs-motion) var(--kkcs-ease),border-width var(--kkcs-motion) var(--kkcs-ease),border-radius var(--kkcs-motion) var(--kkcs-ease)}
#kk-client-stories .kkcs-card.is-active{flex-basis:calc(var(--kkcs-copy-base) * 2.5 + 117px);min-height:0;padding:32.5px;border-width:6px;gap:0}
#kk-client-stories .kkcs-copy-shell{flex:none;width:var(--kkcs-copy-base);height:var(--kkcs-copy-height,451px);transition:width var(--kkcs-motion) var(--kkcs-ease),height var(--kkcs-motion) var(--kkcs-ease)}
#kk-client-stories .is-active .kkcs-copy-shell{width:calc(var(--kkcs-copy-base) * 1.25);height:calc(var(--kkcs-copy-height,451px) * 1.25)}
#kk-client-stories .kkcs-copy{width:var(--kkcs-copy-base);height:var(--kkcs-copy-height,451px);flex:none;transform:scale(1);transform-origin:top left;transition:transform var(--kkcs-motion) var(--kkcs-ease)}
#kk-client-stories .is-active .kkcs-copy{transform:scale(1.25)}
#kk-client-stories .kkcs-image,#kk-client-stories .is-active .kkcs-image{display:flex;position:relative;flex:none;min-width:0;min-height:0;max-height:none;width:0;height:auto;margin-right:0;opacity:0;overflow:hidden;align-self:stretch;background:#F5F1E8;transition:width var(--kkcs-motion) var(--kkcs-ease),height var(--kkcs-motion) var(--kkcs-ease),margin var(--kkcs-motion) var(--kkcs-ease),opacity 400ms ease}
#kk-client-stories .is-active .kkcs-image{width:calc(var(--kkcs-copy-base) * 1.25);margin-right:40px;opacity:1}
#kk-client-stories .kkcs-featured{width:calc(var(--kkcs-copy-base) * 1.25);height:100%;max-height:none;object-fit:contain;object-position:center;background:#F5F1E8}
#kk-client-stories .kkcs-placeholder{min-width:calc(var(--kkcs-copy-base) * 1.25);height:100%;aspect-ratio:auto}
#kk-client-stories.kkcs-instant *,#kk-client-stories.kkcs-instant .kkcs-card{transition:none!important}
@media(max-width:1200px){#kk-client-stories{--kkcs-copy-base:clamp(240px,calc((85vw - 117px)/2.5),376px)}}
@media(max-width:767px){
 #kk-client-stories{--kkcs-copy-base:calc((88vw - 60px)/1.25);--kkcs-mobile-image:clamp(200px,50vw,360px)}
 #kk-client-stories .kkcs-card{flex-basis:calc(var(--kkcs-copy-base) + 52px);padding:24px;gap:0;min-height:0}
 #kk-client-stories .kkcs-card.is-active{flex-basis:88vw;padding:24px;gap:0;min-height:0}
 #kk-client-stories .kkcs-image,#kk-client-stories .is-active .kkcs-image{width:calc(var(--kkcs-copy-base) * 1.25);height:0;max-height:none;min-height:0;margin:0;align-self:flex-start}
 #kk-client-stories .is-active .kkcs-image{height:var(--kkcs-mobile-image);margin:0 0 24px}
 #kk-client-stories .kkcs-featured{width:calc(var(--kkcs-copy-base) * 1.25);height:var(--kkcs-mobile-image)}
}
@media(prefers-reduced-motion:reduce){#kk-client-stories *{transition:none!important}}

/* Compact mobile cards retain complete quotes and expose the next card. */
@media(max-width:767px){
 #kk-client-stories{--kkcs-mobile-card:min(80vw,340px);--kkcs-copy-base:calc(var(--kkcs-mobile-card) - 36px);--kkcs-mobile-image:clamp(72px,12svh,104px);}
 #kk-client-stories .kkcs-rail{align-items:center;padding:8px 16px;gap:12px;}
 #kk-client-stories .kkcs-card,#kk-client-stories .kkcs-card.is-active{flex-basis:var(--kkcs-mobile-card);padding:16px;border-width:2px;border-radius:16px;}
 #kk-client-stories .kkcs-copy-shell,#kk-client-stories .is-active .kkcs-copy-shell{width:var(--kkcs-copy-base);height:var(--kkcs-copy-height);}
 #kk-client-stories .kkcs-copy,#kk-client-stories .is-active .kkcs-copy{width:var(--kkcs-copy-base);height:var(--kkcs-copy-height);transform:none;}
 #kk-client-stories .kkcs-image,#kk-client-stories .is-active .kkcs-image,#kk-client-stories .kkcs-featured{width:var(--kkcs-copy-base);}
 #kk-client-stories .is-active .kkcs-image{height:var(--kkcs-mobile-image);margin-bottom:12px;}
 #kk-client-stories .kkcs-featured{height:var(--kkcs-mobile-image);object-fit:contain;}
 #kk-client-stories .kkcs-sector{font-size:11px;line-height:1.3;padding:5px 7px;margin-bottom:12px;}
 #kk-client-stories h3{font-size:20px;line-height:1.15;margin-bottom:12px;}
 #kk-client-stories blockquote,#kk-client-stories blockquote p{font-size:14px!important;line-height:1.4;margin-bottom:0;}
 #kk-client-stories blockquote{padding-left:10px;}
 #kk-client-stories .kkcs-company{font-size:16px;line-height:1.25;padding-top:16px;}
 #kk-client-stories .kkcs-controls{margin-top:12px;padding:0 16px;}
}

@media(max-width:767px){#kk-client-stories{--kkcs-motion:220ms;}#kk-client-stories .kkcs-image{transition-duration:220ms,220ms,220ms,180ms;}}

#kk-client-stories .kkcs-photo-card .kkcs-featured{object-fit:cover;object-position:center;}

/* Mouse dragging complements touch swipe, range and keyboard navigation. */
#kk-client-stories .kkcs-rail,#kk-client-stories .kkcs-rail .kkcs-card{cursor:grab}
#kk-client-stories .kkcs-rail.is-dragging,#kk-client-stories .kkcs-rail.is-dragging .kkcs-card{cursor:grabbing;user-select:none}
@media(max-width:767px){#kk-client-stories .kkcs-controls button{display:none}}

/* Square by default; tall testimonial copy can stretch the desktop image. */
#kk-client-stories .is-active .kkcs-image{min-height:calc(var(--kkcs-copy-base) * 1.25);align-self:stretch;}
#kk-client-stories .kkcs-featured{object-fit:cover;}
@media(max-width:767px){
 #kk-client-stories{--kkcs-mobile-image:var(--kkcs-copy-base);}
 #kk-client-stories .kkcs-image{min-height:0;}
 #kk-client-stories .is-active .kkcs-image{height:var(--kkcs-copy-base);min-height:var(--kkcs-copy-base);align-self:flex-start;}
 #kk-client-stories .kkcs-featured{height:var(--kkcs-copy-base);object-fit:cover;}
}

/* Consistent presentation for every CMS sector. */
#kk-client-stories .kkcs-sector{text-transform:uppercase}

/* Logo-only neighbours; the active story unfolds without page-height jumps. */
#kk-client-stories{--kkcs-motion:350ms;--kkcs-logo-tile:160px;}
#kk-client-stories .kkcs-card:not(.is-active){flex-basis:var(--kkcs-logo-tile);height:var(--kkcs-logo-tile);min-height:0;padding:0;border:1px solid rgba(48,55,61,.15);border-radius:12px;overflow:hidden;background:#fff;}
#kk-client-stories .kkcs-card:not(.is-active) .kkcs-image{width:calc(var(--kkcs-logo-tile) - 2px);height:calc(var(--kkcs-logo-tile) - 2px);min-height:0;max-height:none;margin:0;opacity:1;align-self:center;border-radius:0;}
#kk-client-stories .kkcs-card:not(.is-active) .kkcs-featured{width:100%;height:100%;object-fit:cover;}
#kk-client-stories .kkcs-card:not(.is-active) .kkcs-placeholder{min-width:0;font-size:20px;padding:12px;}
#kk-client-stories .kkcs-copy-shell{overflow:hidden;transition:width var(--kkcs-motion) var(--kkcs-ease),height var(--kkcs-motion) var(--kkcs-ease),opacity 140ms ease;}
#kk-client-stories .kkcs-card:not(.is-active) .kkcs-copy-shell{width:0;height:0;opacity:0;pointer-events:none;}
#kk-client-stories .is-active .kkcs-copy-shell{opacity:1;transition-delay:0ms,0ms,100ms;}
#kk-client-stories .kkcs-card.is-active{height:auto;}
@media(max-width:767px){
 #kk-client-stories{--kkcs-motion:280ms;--kkcs-logo-tile:128px;}
 #kk-client-stories .kkcs-image{transition-duration:280ms,280ms,280ms,140ms;}
}

/* Close to the logo immediately; only its transparent layout slot contracts.
   This avoids a wide white box and border sweeping past the compact logo. */
#kk-client-stories .kkcs-card:not(.is-active){background:transparent;border-color:transparent;box-shadow:none;}
#kk-client-stories .kkcs-card:not(.is-active) .kkcs-image{transition:none;border:1px solid rgba(48,55,61,.15);border-radius:11px;}
#kk-client-stories .kkcs-card:not(.is-active) .kkcs-copy-shell{visibility:hidden;transition:none;}

/* Figma: section 64px, intro 48px, then a 64px carousel gap. */
#kk-client-stories{padding-top:64px;}
#kk-client-stories .kkcs-intro{padding-top:48px;padding-bottom:48px;margin-bottom:0;}
#kk-client-stories .kkcs-rail{padding-top:64px;padding-bottom:64px;}
#kk-client-stories .kkcs-card.is-active{align-self:center;}
@media(max-width:767px){
 #kk-client-stories{padding-top:32px;}
 #kk-client-stories .kkcs-intro{padding-top:0;padding-bottom:0;}
 #kk-client-stories .kkcs-rail{padding-top:32px;padding-bottom:32px;}
}

/* Grow the existing image with its frame, never reveal a clipped fixed-width image. */
#kk-client-stories .kkcs-image .kkcs-featured{width:100%;height:100%;max-height:none;}
#kk-client-stories .kkcs-card.is-active{background:#fff;background-clip:padding-box;}
#kk-client-stories .kkcs-card:before{content:'';position:absolute;inset:-6px;border-radius:inherit;padding:6px;background:var(--kkcs-gradient);pointer-events:none;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:0;clip-path:inset(0 100% 0 0);}
#kk-client-stories .kkcs-card.is-active:before{opacity:1;clip-path:inset(0);transition:clip-path 220ms ease 180ms;}
#kk-client-stories .kkcs-card.is-active .kkcs-copy-shell{transition:width var(--kkcs-motion) var(--kkcs-ease),height var(--kkcs-motion) var(--kkcs-ease),opacity 180ms ease 220ms;}
@media(max-width:767px){
 #kk-client-stories .kkcs-card:before{inset:-2px;padding:2px;}
 #kk-client-stories .kkcs-card.is-active:before{transition-delay:120ms;}
 #kk-client-stories .kkcs-card.is-active .kkcs-copy-shell{transition-delay:0ms,0ms,170ms;}
}
@media(prefers-reduced-motion:reduce){#kk-client-stories .kkcs-card.is-active:before{transition:none;}}

/* Keep the selected gradient border visible throughout opening. */
#kk-client-stories .kkcs-card.is-active:before{clip-path:inset(0);transition:none;}

/* Animate a numeric height so growth remains centred throughout, including the last frame. */
#kk-client-stories .kkcs-card{transition:flex-basis var(--kkcs-motion) var(--kkcs-ease),height var(--kkcs-motion) var(--kkcs-ease),padding var(--kkcs-motion) var(--kkcs-ease),border-width var(--kkcs-motion) var(--kkcs-ease),border-radius var(--kkcs-motion) var(--kkcs-ease);}
#kk-client-stories .kkcs-card.is-active{height:calc(var(--kkcs-copy-height) * 1.25 + 77px);}
@media(max-width:767px){#kk-client-stories .kkcs-card.is-active{height:calc(var(--kkcs-copy-height) + var(--kkcs-copy-base) + 48px);}}

/* Fixed square logo panel, with the quote taking priority in a bounded card. */
#kk-client-stories .kkcs-card.is-active{height:calc(var(--kkcs-copy-base) * 1.25 + 77px);}
#kk-client-stories .is-active .kkcs-image{height:calc(var(--kkcs-copy-base) * 1.25);min-height:0;align-self:center;aspect-ratio:1;}
#kk-client-stories .kkcs-copy,#kk-client-stories .kkcs-copy-shell{height:var(--kkcs-copy-base);}
#kk-client-stories .is-active .kkcs-copy-shell{height:calc(var(--kkcs-copy-base) * 1.25);}
#kk-client-stories h3{font-size:23px;margin-bottom:12px;}
#kk-client-stories .kkcs-sector{margin-bottom:20px;flex:none;}
#kk-client-stories .kkcs-copy blockquote{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-bottom:0;scrollbar-width:thin;scrollbar-color:#b8b8b8 transparent;padding-right:8px;}
#kk-client-stories .kkcs-company{font-size:18px;padding-top:16px;flex:none;}
@media(max-width:767px){
 #kk-client-stories .kkcs-card.is-active{height:calc(var(--kkcs-copy-base) * 2 + 48px);}
 #kk-client-stories .is-active .kkcs-image{height:var(--kkcs-copy-base);min-height:var(--kkcs-copy-base);}
 #kk-client-stories .is-active .kkcs-copy-shell{height:var(--kkcs-copy-base);}
 #kk-client-stories h3{font-size:18px;margin-bottom:8px;}
 #kk-client-stories .kkcs-company{font-size:14px;padding-top:12px;}
 #kk-client-stories .kkcs-sector{margin-bottom:10px;}
}

#kk-client-stories .is-active .kkcs-copy{height:var(--kkcs-copy-base);}

/* Quote stroke follows its text instead of the available scroll area. */
#kk-client-stories .kkcs-copy blockquote{border-left:0;border-image:none;padding-left:0;}
#kk-client-stories .kkcs-copy blockquote p{position:relative;padding-left:16px;}
#kk-client-stories .kkcs-copy blockquote p:before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(#60338e,#af1644,#fbb911);}
@media(max-width:767px){#kk-client-stories .kkcs-copy blockquote p{padding-left:10px;}}

/* Mobile stories follow their content; compact logos leave the quote centre stage. */
@media(max-width:767px){
 #kk-client-stories .kkcs-rail{min-height:0;align-items:center;}
 #kk-client-stories .kkcs-card.is-active{height:auto;min-height:0;}
 #kk-client-stories .kkcs-card.is-active .kkcs-image{width:var(--kkcs-logo-tile);height:var(--kkcs-logo-tile);min-height:0;max-height:none;flex:none;align-self:flex-start;aspect-ratio:1;margin:0 0 20px;}
 #kk-client-stories .kkcs-card.is-active .kkcs-copy-shell,#kk-client-stories .kkcs-card.is-active .kkcs-copy{height:auto;min-height:0;}
 #kk-client-stories .kkcs-copy blockquote{flex:none;overflow:visible;max-height:none;font-size:16px;line-height:1.5;padding-right:0;}
 #kk-client-stories .kkcs-company{margin:0;padding-top:16px;}
}
