.im-cm,
.im-cm * { box-sizing: border-box; }

.im-cm {
  --cm-blue: #1766c2;
  --cm-navy: #071a2e;
  --cm-text: #566574;
  --cm-overlay: #0b4c9b;
  --cm-border: #e6ebf0;
  --cm-gap: 14px;
  --cm-cols: 3;
  width: 100%;
  font-family: Inter, Arial, Helvetica, sans-serif;
}

.im-cm-inner { width: 100%; max-width: 1600px; margin: 0 auto; }
.im-cm-header { display:flex; align-items:flex-start; justify-content:space-between; gap:40px; margin-bottom:20px; }
.im-cm-heading { min-width:0; }
.im-cm-eyebrow { margin:0 0 9px; color:var(--cm-blue); font-size:13px; line-height:1.2; font-weight:700; letter-spacing:.35px; text-transform:uppercase; }
.im-cm-title { margin:0; color:var(--cm-navy); font-size:clamp(30px,2.25vw,40px); line-height:1.18; font-weight:700; letter-spacing:-.8px; }
.im-cm-intro { max-width:610px; margin:10px 0 0; color:var(--cm-text); font-size:13px; line-height:1.6; font-weight:400; }
.im-cm-view-more { flex:0 0 auto; display:inline-flex; align-items:center; gap:20px; margin-top:16px; color:var(--cm-blue)!important; text-decoration:none!important; text-transform:uppercase; font-size:13px; line-height:1; font-weight:700; transition:gap .25s ease; }
.im-cm-view-more:hover { gap:26px; }
.im-cm-view-more-arrow { font-size:24px; line-height:1; font-weight:300; }

.im-cm-slider { position:relative!important; width:100%; overflow:visible!important; }
.im-cm-viewport { width:100%; overflow:hidden; }
.im-cm-track { display:flex; align-items:stretch; gap:var(--cm-gap); transform:translate3d(0,0,0); transition:transform .42s cubic-bezier(.2,.7,.2,1); will-change:transform; }
.im-cm-card { flex:0 0 calc((100% - (var(--cm-cols) - 1) * var(--cm-gap)) / var(--cm-cols)); min-width:0; margin:0; }
.im-cm-card-link { display:block; color:inherit!important; text-decoration:none!important; }
.im-cm-image { position:relative; width:100%; aspect-ratio:1.62/1; overflow:hidden; background:#edf1f4; border:1px solid var(--cm-border); border-radius:3px; }
.im-cm-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .45s ease; }
.im-cm-card:hover .im-cm-image img { transform:scale(1.025); }
.im-cm-caption { position:absolute; left:0; right:0; bottom:0; min-height:48px; display:flex; align-items:center; gap:10px; padding:10px 16px; background:var(--cm-overlay); color:#fff; }
.im-cm-caption-icon { flex:0 0 22px; width:22px; height:22px; display:inline-flex; align-items:center; justify-content:center; color:rgba(255,255,255,.9); }
.im-cm-caption-icon svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.im-cm-caption-text { min-width:0; font-size:13px; line-height:1.35; font-weight:500; }

.im-cm-nav { position:absolute!important; z-index:10!important; inset:0!important; width:100%!important; height:100%!important; pointer-events:none!important; }
.im-cm .im-cm-slider .im-cm-nav .im-cm-arrow { all:unset; box-sizing:border-box!important; position:absolute!important; z-index:11!important; top:50%!important; bottom:auto!important; width:46px!important; height:46px!important; min-width:46px!important; min-height:46px!important; max-width:46px!important; max-height:46px!important; padding:0!important; margin:0!important; display:flex!important; align-items:center!important; justify-content:center!important; border:1px solid #e2e8ee!important; border-radius:50%!important; background:#fff!important; color:#6b7b8b!important; box-shadow:0 4px 14px rgba(7,26,46,.05)!important; cursor:pointer!important; transform:translateY(-50%)!important; transition:color .2s ease,border-color .2s ease,box-shadow .2s ease!important; pointer-events:auto!important; line-height:1!important; }
.im-cm .im-cm-slider .im-cm-nav .im-cm-arrow:hover,.im-cm .im-cm-slider .im-cm-nav .im-cm-arrow:focus { color:var(--cm-blue)!important; border-color:rgba(23,102,194,.45)!important; box-shadow:0 6px 18px rgba(7,26,46,.09); outline:none; }
.im-cm .im-cm-slider .im-cm-nav .im-cm-arrow[disabled] { opacity:.35; cursor:default; }
.im-cm .im-cm-slider .im-cm-nav .im-cm-arrow span { display:block; font-size:32px; line-height:1; font-family:Arial,sans-serif; font-weight:300; margin-top:-2px; }
.im-cm .im-cm-prev { left:-58px!important; right:auto!important; }
.im-cm .im-cm-next { right:-58px!important; left:auto!important; }

.im-cm-dots { display:flex; align-items:center; justify-content:center; gap:12px; min-height:18px; margin-top:16px; }
.im-cm-dot { all:unset; box-sizing:border-box!important; display:block!important; width:9px!important; height:9px!important; min-width:9px!important; min-height:9px!important; max-width:9px!important; max-height:9px!important; padding:0!important; margin:0!important; border:0!important; border-radius:50%!important; background:#c7d0da!important; box-shadow:none!important; cursor:pointer; transition:transform .2s ease,background .2s ease; }
.im-cm-dot:hover,.im-cm-dot:focus { background:#9daab6!important; outline:none; }
.im-cm-dot.is-active { background:var(--cm-blue)!important; transform:scale(1.15); }

@media (max-width:1700px) { .im-cm .im-cm-prev{left:-24px!important;right:auto!important;} .im-cm .im-cm-next{right:-24px!important;left:auto!important;} }
@media (max-width:1024px) {
  .im-cm-header{gap:24px;}
  .im-cm .im-cm-slider .im-cm-nav .im-cm-arrow{width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;max-width:42px!important;max-height:42px!important;}
  .im-cm .im-cm-prev{left:10px!important;right:auto!important;}.im-cm .im-cm-next{right:10px!important;left:auto!important;}
}
@media (max-width:767px) {
  .im-cm .im-cm-prev{left:8px!important;}
  .im-cm .im-cm-next{right:8px!important;}
  .im-cm-header{display:block;margin-bottom:18px;}
  .im-cm-eyebrow{font-size:12px;}
  .im-cm-title{font-size:27px;line-height:1.2;}
  .im-cm-intro{font-size:13px;}
  .im-cm-view-more{margin-top:18px;font-size:12px;}
  .im-cm-image{aspect-ratio:1.5/1;}
  .im-cm-caption{min-height:50px;}
  .im-cm-caption-text{font-size:13px;}
}
