/* The existing AKshadow palette is preserved. Layers: stage, cards, controls. */
.disc-carousel { position:relative; margin:28px -16px 0; }
.disc-carousel.is-ready { overflow:hidden; }
.disc-carousel.is-ready .disc-stage {
  position:relative; display:block; height:460px; perspective:1400px;
  touch-action:pan-y; cursor:grab; user-select:none;
}
.disc-carousel.is-ready .disc-stage::before {
  content:''; position:absolute; width:min(900px,95%); height:125px;
  left:50%; bottom:15px; transform:translateX(-50%);
  border:1px solid rgba(34,197,94,.22); border-radius:50%;
  background:radial-gradient(ellipse,rgba(34,197,94,.09),transparent 65%);
  box-shadow:0 12px 40px #020604;
}
.disc-carousel.is-ready .disc-stage > * {
  position:absolute; top:25px; left:50%; width:440px; min-width:0; max-width:none;
  margin-left:-220px; background:#0c1410; border:1px solid #2a4936;
  border-radius:16px; overflow:hidden; transform-style:flat; isolation:isolate;
  backface-visibility:hidden;
  box-shadow:0 5px 0 #17271e,0 8px 0 #21392b,0 20px 35px #020604b3;
  transition:transform .85s cubic-bezier(.22,.8,.22,1),opacity .6s;
  will-change:transform; cursor:pointer;
}
.disc-carousel.is-ready .disc-stage > .is-active { border-color:#49c878; }
.disc-carousel .service-card-img-wrap,.disc-carousel .project-card-img-wrap {
  height:auto; aspect-ratio:3/2; background:#080e0b;
}
.disc-carousel .service-card-img,.disc-carousel .project-card-img {
  opacity:1; object-fit:contain; height:100%; pointer-events:none;
}
.disc-carousel .service-icon-badge { display:none; }
.disc-carousel .service-card-body,.disc-carousel .project-card-body { padding:18px 20px; }
.disc-carousel .service-card p,.disc-carousel .project-card p { color:#a0b8a9; font-size:15px; }
.disc-carousel .project-card-footer { padding:0 20px 18px; }
.disc-carousel .project-link { color:#b6d9c2; font-size:13px; }
.disc-controls { display:flex; align-items:center; justify-content:center; gap:12px; padding:10px 16px 18px; }
.disc-controls button {
  min-width:44px; min-height:44px; padding:10px 16px; border-radius:10px;
  color:#e7f3eb; background:#14231a; border:1px solid #365c43;
  font:inherit; cursor:pointer; white-space:nowrap;
}
.disc-controls button:hover { background:#223d2c; }
.disc-controls button:active { transform:scale(.97); }
.disc-carousel :focus-visible { outline:2px solid #6ce398; outline-offset:5px; }
.disc-status { color:#adc5b5; font-size:13px; text-align:center; margin:0 16px 8px; }
.disc-carousel.is-dragging .disc-stage { cursor:grabbing; }
.disc-carousel.is-dragging .disc-stage > * { transition:none; }
@media(max-width:767px) {
  .disc-carousel.is-ready .disc-stage { height:385px; perspective:1000px; }
  .disc-carousel.is-ready .disc-stage > * { width:300px; margin-left:-150px; top:25px; }
  .disc-carousel .service-card-body,.disc-carousel .project-card-body { padding:15px; }
  .disc-carousel .service-card h3,.disc-carousel .project-card h4 { font-size:17px; }
  .disc-controls { gap:8px; }
}
@media(prefers-reduced-motion:reduce) {
  .disc-carousel.is-ready .disc-stage > * { transition:none; }
  #particles-canvas, #waves-canvas, #loader { display:none !important; }
}
