.ckp_container { container: ckp_carousel / inline-size; width:100%; }
.ckp_container .ckp_shell { --ckp_gap:var(--ckp_desktop_gap,42px); }
.ckp_shell { --ckp_columns:var(--ckp_desktop_columns,3); --ckp_gap:42px; --ckp_peek:14%; --ckp_background:#132c25; --ckp_band_color:#2d00f7; --ckp_card_color:#0b163f; --ckp_text_color:#fff; position:relative; isolation:isolate; overflow:hidden; background:linear-gradient(#0005,#0005),var(--ckp_background_image,none) center/cover,var(--ckp_background); padding:78px 0 34px; color:var(--ckp_text_color); direction:ltr; }
.ckp_shell *, .ckp_shell *::before, .ckp_shell *::after { box-sizing:border-box; }
.ckp_shell [hidden] { display:none!important; }
.ckp_band { position:absolute; z-index:-1; inset:0 0 auto; height:150px; background:var(--ckp_band_color); }
.ckp_viewport { overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:none; scroll-snap-type:x mandatory; padding:0 34px; scroll-padding:34px; touch-action:pan-x pan-y; }
.ckp_viewport::-webkit-scrollbar { display:none; }
.ckp_track { display:grid; grid-auto-flow:column; grid-auto-columns:calc((100% - var(--ckp_peek) - (var(--ckp_columns) * var(--ckp_gap))) / var(--ckp_columns)); gap:var(--ckp_gap); align-items:stretch; }
.ckp_card { min-width:0; scroll-snap-align:start; background:var(--ckp_card_color); }
.ckp_shell .ckp_link { display:flex; flex-direction:column; height:100%; color:var(--ckp_text_color); text-decoration:none; }
.ckp_media { overflow:hidden; aspect-ratio:var(--ckp_ratio,4 / 5); background:#2c4551; flex:none; }
.ckp_shell .ckp_image { display:block; width:100%; height:100%; max-width:none; object-fit:cover; transition:transform .45s ease,filter .45s ease; }
.ckp_link:hover .ckp_image { transform:scale(1.035); }
.ckp_placeholder { display:grid; place-items:center; width:100%; height:100%; background:linear-gradient(145deg,#abc8cf,#32574e); color:#fff9; }
.ckp_body { position:relative; flex:1; padding:30px 36px 36px; min-height:190px; }
.ckp_shell .ckp_title { color:inherit; font-family:Georgia,'Times New Roman',serif; font-size:clamp(22px,2.05cqi,34px); font-weight:700; line-height:1.02; letter-spacing:-.035em; margin:0 0 21px; padding:0; overflow-wrap:anywhere; }
.ckp_shell .ckp_description { color:inherit; font-family:Arial,Helvetica,sans-serif; font-size:16px; line-height:1.3; margin:0; padding:0 44px 0 0; white-space:pre-line; overflow-wrap:anywhere; }
.ckp_card_arrow { position:absolute; right:34px; bottom:35px; line-height:0; transition:transform .25s; }
.ckp_link:hover .ckp_card_arrow { transform:translateX(5px); }
.ckp_controls { display:flex; justify-content:flex-end; align-items:center; gap:6px; position:absolute; inset:15px 20% auto auto; }
.ckp_shell .ckp_nav_button,.ckp_shell .ckp_play { background:none; color:inherit; border:0; cursor:pointer; width:34px; height:44px; padding:0; display:grid; place-items:center; }
.ckp_nav_button:disabled { opacity:.3; cursor:default; }
.ckp_play { font-size:12px; margin-right:8px; }
.ckp_shell :is(a,button,.ckp_viewport):focus-visible { outline:3px solid #86cfed; outline-offset:-3px; }
.ckp_shell .ckp_dots { display:flex; flex-wrap:wrap; gap:2px; justify-content:center; margin-top:20px; }
.ckp_shell .ckp_dot { display:grid; place-items:center; width:26px; height:28px; padding:0; border:none; background:none; cursor:pointer; }
.ckp_dot_mark { display:block; width:6px; height:6px; border-radius:50%; background:var(--ckp_text_color); opacity:.4; }
.ckp_dot[aria-current=true] .ckp_dot_mark { opacity:1; width:9px; height:9px; }
.ckp_empty { padding:45px 10px; font:18px/1.5 Arial,sans-serif; }
.ckp_screen_reader { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; }
@container ckp_carousel (max-width:1024px) { .ckp_shell { --ckp_columns:var(--ckp_tablet_columns,2); } .ckp_body { padding:25px; } .ckp_card_arrow { right:23px; bottom:28px; } .ckp_shell .ckp_title { font-size:28px; } .ckp_controls { right:13%; } }
@container ckp_carousel (max-width:640px) { .ckp_shell { --ckp_columns:var(--ckp_mobile_columns,1); --ckp_gap:20px; padding-top:65px; } .ckp_viewport { padding:0 20px; scroll-padding:20px; } .ckp_shell .ckp_title { font-size:27px; } .ckp_shell .ckp_description { font-size:14px; } .ckp_body { min-height:165px; padding:24px; } .ckp_controls { top:10px; right:22px; } }
@media(prefers-reduced-motion:reduce) { .ckp_shell * { transition:none!important; scroll-behavior:auto!important; } }
@container ckp_carousel (max-width:640px) { .ckp_container .ckp_shell { --ckp_gap:var(--ckp_mobile_gap,20px); } }
