/* ==========================================================================
   EWD Site — "Case Study" showcase
   Matches Figma's actual composition: a huge ghosted "Case Study" watermark
   sitting above a wide, borderless panel (a moody dark photo backdrop in
   Figma; approximated here with a gradient since the source photo can't be
   exported into this codebase) with story copy on the left and a phone
   mockup floating on the right — flush with the panel's bottom edge, its
   top poking out above the panel. Slides crossfade via .is-active rather
   than a 3D drag-stack, so a future slide whose phone screen is a real
   <video> composes cleanly. No section background of its own — the page
   body supplies it, so this section stays fully transparent. Self-
   contained; reuses the design tokens declared on :root in style.css.
   ========================================================================== */

.showcase {
  position: relative;
  padding: 60px 0 60px;
  /* background: transparent; */
  overflow: hidden;
}

.showcase__inner {
  position: relative;
  z-index: 1;
}

.showcase__watermark {
    margin-bottom: 20px;
    text-align: center;
    font-family: var(--font-heading);
    color: rgba(255, 255, 255, 0.07);
    font-size: 147px;
    /* font-weight: 800; */
    font-weight: 700;
    line-height: 130px;
    letter-spacing: -1.47px;
    text-transform: capitalize;
}

/* ---------- Deck ---------- */

.deck {
  position: relative;
  /* max-width: 1300px; */
  margin: 0 auto;
  outline: none;
}

.deck__stack {
  position: relative;
}

.deck__card {
  --accent-rgb: 214, 55, 199;
}

.deck__card.is-active {
  animation: deck-fade-in 0.5s var(--ease-out);
}

.deck__card[data-mood="travel"] { --accent-rgb: 214, 55, 199; }
.deck__card[data-mood="health"] { --accent-rgb: 138, 207, 235; }

@keyframes deck-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* ---------- Panel: wide, borderless, photo-mood backdrop ---------- */

.deck__panel {
  position: relative;
  border-radius: 26px;
  overflow: visible;
  /* padding: clamp(2rem, 4vw, 3.5rem); */
  /* background:
    linear-gradient(180deg, rgba(10, 6, 20, 0.35) 0%, rgba(10, 6, 20, 0.75) 100%),
    radial-gradient(ellipse 60% 55% at 15% 20%, rgba(var(--accent-rgb), 0.28), transparent 65%),
    linear-gradient(115deg, #2a1240 0%, #1c1030 45%, #100a20 100%); */
}

.deck__panel::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    border-radius: 20px;
    overflow: hidden;
    background: rgba(21, 12, 48, 0.70);
}

/* Content column */

.deck__content {
    position: relative;
    z-index: 2;
    max-width: 50%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 76px 0 95px 60px;
}

.deck__logo {
    display: inline-block;
    margin-bottom: 50px;
}

.deck__logo em {
  font-style: normal;
  color: rgb(var(--accent-rgb));
}

.deck__title {
    margin-bottom: 16px;
    font-family: var(--font-body);
    color: #FFF;
    text-align: center;
    font-size: 69px;
    font-weight: 700;
    line-height: 79px;
    letter-spacing: -0.69px;
    text-transform: capitalize;
}

.deck__text {
    margin-bottom: 29px;
    font-family: var(--font-body);
    color: #C0C0C0;
    text-align: center;
    font-size: 21px;
    font-weight: 400;
    line-height: 35px;
}

.deck__story {
    margin-bottom: 42px;
    display: flex;
    align-items: center;
    gap: 38px;
}

.deck__story-label {
  display: block;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 1.05rem;
  line-height: 1.4;
  color: #fff;
  max-width: 90px;
}

.deck__icons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.deck__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 124px;
    height: 124px;
    border-radius: 10px;
    border: 1px solid #492E9F;
    background: rgba(49, 33, 102, 0.18);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

.deck__cta {
    display: inline-flex;
    align-items: center;
    padding: 0 80px;
    color: var(--text);
    font-family: var(--font-heading);
    transition: 0.5s;
    border-radius: 9px;
    /* border: 1px solid #492E9F;
    background: rgba(25, 14, 61, 0.72); */
    border: 1px solid rgb(205 0 0 / 72%);
    background: rgb(205 0 0 / 72%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    font-size: 19px;
    font-weight: 600;
    line-height: 39px;
    letter-spacing: 0.19px;
    height: 61px;
}

.deck__cta:hover {
  gap: 0.85rem;
  /* background: var(--panel-bg-strong);
  border-color: var(--purple); */
  background: #39b54b;
  border-color: #39b54b;
  box-shadow: 0px 0px 18px #39b54b;
  /* color: #2c3b6c; */
}

.deck__cta svg {
  flex-shrink: 0;
}

/* Phone mockup: flush with the panel's bottom edge, poking out the top */

.deck__phone-wrap {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 0;
    /* perspective: 995px; */
}

.deck__phone {
  position: relative;
}



/* ---------- Controls: prev/next + dots ---------- */

.showcase__inner button.deck__nav {
    display: none;
}

.deck__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  /* margin-top: 1.75rem; */
  margin-top: 60px;
}

.deck__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--surface);
  border: 1px solid var(--border-strong);
  color: var(--text);
  transition: 0.5s;
}
.deck__nav:hover {
  color: var(--text);
  /* border-color: var(--purple);
  background: var(--panel-bg-soft); */
  background: #39b54b;
  border-color: #39b54b;
  box-shadow: 0px 0px 18px #39b54b;
}

.deck__dots {
  display: flex;
  align-items: center;
 gap: 20px;
}

.deck__dot {
    width: 43px;
    height: 4px;
    border-radius: 20px;
    background: #56545D;
    transition: width 0.25s var(--ease-out), background-color 0.25s var(--ease-out);
}

.deck__dot.is-active {
  background: #EBE5FF;
}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width: 900px) {
  .deck__panel {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding-top: clamp(17rem, 78vw, 20rem);
  }

  .deck__content {
    max-width: 100%;
    align-items: center;
    text-align: center;
  }

  .deck__title,
  .deck__text {
    text-align: center;
  }

  .deck__story {
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .deck__icons {
    justify-content: center;
  }

  .deck__phone-wrap {
    top: -3.5rem;
    right: 50%;
    bottom: auto;
    transform: translateX(50%);
  }

  .deck__phone {
    width: clamp(150px, 38vw, 180px);
  }
}

@media (max-width: 560px) {
  .deck__mini-label-lg {
    font-size: 0.62rem;
  }

  .deck__mini-label {
    font-size: 0.52rem;
  }
}

/* ---------- Reduced motion ---------- */

@media (prefers-reduced-motion: reduce) {
  .deck__card.is-active {
    animation: none;
  }

  .deck__art-canvas::before,
  .deck__art-canvas::after {
    animation: none !important;
  }

  .deck__phone {
    transition: none !important;
  }
}
