/**
 * Craxis Industries Carousel — unique asset filename.
 */

.cic{
  --brand:#6904f2;
  --brand-2:#9b5cff;
  --title:#c4b3fc;
  --card-grad:linear-gradient(137deg,#bbb0ff 0%,#2965ff 100%);
  --text:#fff;
  --muted:rgba(255,255,255,.88);
  --ease:cubic-bezier(.77,0,.18,1);
  --card-w:min(82vw,320px);
  --cic-gap:16px;
  position:relative;
  padding:28px 0 40px;
  font-family:inherit;
  color:var(--text);
  -webkit-font-smoothing:antialiased;
  overflow:hidden;
}
.cic *,
.cic *::before,
.cic *::after{box-sizing:border-box}
.cic button,
.cic button:hover,
.cic button:focus,
.cic button:active{
  font:inherit;
  color:inherit;
  background:none;
  border:0;
  cursor:pointer;
  padding:0;
  margin:0;
  box-shadow:none;
  line-height:inherit;
  border-radius:0;
}

.cic__intro{
  text-align:center;
  padding:0 24px 28px;
  max-width:760px;
  margin:0 auto;
}
.cic__title{
  font-size:clamp(26px,4vw,36px);
  line-height:1.15;
  letter-spacing:-.03em;
  font-weight:800;
  color:var(--title);
  margin:0 0 14px;
}
.cic__lead{
  font-size:15px;
  line-height:1.6;
  color:var(--muted);
  margin:0;
}

.cic:not(.is-carousel) .cic__hint,
.cic:not(.is-carousel) .cic__controls{display:none}

/* Desktop grid */
.cic:not(.is-carousel) .cic__track{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:var(--cic-gap);
  padding:0 24px;
  max-width:1100px;
  margin:0 auto;
  overflow:visible;
  cursor:default;
}
@media (max-width:900px){
  .cic:not(.is-carousel) .cic__track{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

.cic__card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:340px;
  border-radius:18px;
  overflow:hidden;
  text-decoration:none;
  color:inherit;
  background:var(--card-grad);
  box-shadow:0 16px 40px rgba(20,10,60,.28);
}
.cic:not(.is-carousel) .cic__card{
  opacity:0;
  transform:translateY(28px) scale(.98);
  transition:
    transform .55s var(--ease),
    opacity .55s var(--ease),
    box-shadow .35s var(--ease);
}
.cic:not(.is-carousel).is-ready .cic__card{
  opacity:1;
  transform:none;
}
.cic:not(.is-carousel).is-ready .cic__card:nth-child(1){transition-delay:.05s}
.cic:not(.is-carousel).is-ready .cic__card:nth-child(2){transition-delay:.12s}
.cic:not(.is-carousel).is-ready .cic__card:nth-child(3){transition-delay:.19s}
.cic:not(.is-carousel).is-ready .cic__card:nth-child(4){transition-delay:.26s}
.cic:not(.is-carousel).is-ready .cic__card:nth-child(5){transition-delay:.33s}
.cic:not(.is-carousel).is-ready .cic__card:nth-child(6){transition-delay:.4s}

.cic:not(.is-carousel) .cic__card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 50px rgba(41,101,255,.35);
}
.cic__card:focus-visible{
  outline:2px solid #fff;
  outline-offset:3px;
}

.cic__body{
  padding:36px 22px 12px;
  flex:1;
}
.cic__heading{
  font-size:18px;
  font-weight:800;
  letter-spacing:-.02em;
  line-height:1.25;
  color:#fff;
  margin:0 0 12px;
}
.cic__text{
  font-size:14px;
  line-height:1.55;
  font-weight:500;
  color:rgba(255,255,255,.92);
}

.cic__media{
  margin-top:auto;
  height:150px;
  background-position:50% 50%;
  background-size:contain;
  background-repeat:no-repeat;
  transition:transform .55s var(--ease);
}
.cic:not(.is-carousel) .cic__card:hover .cic__media{
  transform:scale(1.05) translateY(-4px);
}

/* Mobile carousel */
.cic.is-carousel .cic__hint{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin:0 24px 14px;
  font-size:12px;
  font-weight:600;
  color:rgba(255,255,255,.65);
  letter-spacing:.04em;
  transition:opacity .35s,transform .35s;
}
.cic.is-carousel .cic__hint.is-hidden{
  opacity:0;
  transform:translateY(-6px);
  pointer-events:none;
}
.cic__hint-arrow{
  display:inline-flex;
  animation:cic-nudge 1.2s var(--ease) infinite;
}
.cic__hint-arrow svg{width:16px;height:16px}
@keyframes cic-nudge{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(6px)}
}

.cic.is-carousel .cic__track{
  display:flex;
  grid-template-columns:none;
  max-width:none;
  gap:14px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:8px calc((100% - var(--card-w)) / 2) 22px;
  cursor:grab;
  touch-action:pan-x;
  margin:0;
}
.cic.is-carousel .cic__track::-webkit-scrollbar{display:none}
.cic.is-carousel .cic__track.is-dragging{
  cursor:grabbing;
  scroll-behavior:auto;
  user-select:none;
}

.cic.is-carousel .cic__card{
  flex:0 0 var(--card-w);
  width:var(--card-w);
  max-width:var(--card-w);
  min-height:360px;
  scroll-snap-align:center;
  scroll-snap-stop:always;
  opacity:.55;
  transform:scale(.92);
  transition:
    transform .45s var(--ease),
    opacity .45s var(--ease),
    box-shadow .45s var(--ease);
}
.cic.is-carousel .cic__card.is-active{
  opacity:1;
  transform:scale(1);
  box-shadow:0 22px 48px rgba(41,101,255,.4);
}

.cic.is-carousel .cic__controls{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:0 24px;
}

.cic__dots{
  display:flex;
  align-items:center;
  gap:6px;
}
.cic__dot{
  height:44px;
  min-width:11px;
  padding:0 2px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent !important;
}
.cic__dot::after{
  content:"";
  display:block;
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.28);
  transition:width .35s var(--ease),background .25s;
}
.cic__dot.is-active::after{
  width:22px;
  background:#fff;
}
.cic__counter{
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  color:rgba(255,255,255,.65);
  font-variant-numeric:tabular-nums;
}
.cic__counter strong{color:#fff}
.cic__arrows{display:flex;gap:8px}
.cic__arrow{
  width:44px;
  height:44px;
  border-radius:50% !important;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.25) !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  box-shadow:none !important;
  transition:opacity .2s,transform .2s,background .2s;
}
.cic__arrow svg{width:18px;height:18px}
.cic__arrow:hover,
.cic__arrow:focus,
.cic__arrow:active{
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.35) !important;
  box-shadow:none !important;
}
.cic__arrow:active:not(:disabled){transform:scale(.94)}
.cic__arrow:disabled{opacity:.35;cursor:not-allowed}
.cic__arrow:focus-visible,
.cic__dot:focus-visible{
  outline:2px solid var(--brand-2);
  outline-offset:3px;
}

@media (prefers-reduced-motion:reduce){
  .cic *,
  .cic *::before,
  .cic *::after{
    animation-duration:.01ms !important;
    transition-duration:.01ms !important;
  }
  .cic__hint-arrow{animation:none}
}
h4.cic__heading {
    color: #fff;
}