.illustrationContainer {
  position: relative;
  width: 100%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  user-select: none;
}

/* ── 404 Specific Raster Illustration ──────────────────────────── */
.rasterWrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  max-width: 480px;
  border-radius: var(--radius-2xl, 24px);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 50% 35%, #F0F6F1 0%, #FFFFFF 70%);
}

.rasterImage {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ── Vector Modular Illustration ───────────────────────────────── */
.vectorWrap {
  position: relative;
  width: 100%;
  aspect-ratio: 1.15 / 1;
  max-width: 480px;
  border-radius: var(--radius-2xl, 24px);
  background: radial-gradient(circle at 50% 35%, #EFF7F0 0%, #F7FAF8 65%, #FFFFFF 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid rgba(61, 173, 60, 0.12);
  box-shadow: 0 10px 30px -10px rgba(23, 33, 29, 0.05);
}

.vectorSvg {
  width: 100%;
  height: 100%;
  display: block;
}

/* ── Handwritten Accent Note ────────────────────────────────────── */
.handwrittenBadge {
  position: absolute;
  top: 14%;
  left: -4%;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  pointer-events: none;
  max-width: 180px;
  transform: rotate(-6deg);
}

.handwrittenText {
  font-family: var(--font-family-handwritten, 'Caveat', cursive);
  font-size: 1.55rem;
  font-weight: 700;
  line-height: 1.15;
  color: #17211D;
  text-shadow: 0 1px 2px rgba(255, 255, 255, 0.9);
}

.handwrittenLine {
  width: 110px;
  height: 14px;
  margin-top: 4px;
  stroke: var(--ppt-primary, #3DAD3C);
}

/* Responsive adjustments */
@media (max-width: 992px) {
  .illustrationContainer {
    max-width: 380px;
    margin: 0 auto;
  }

  .handwrittenBadge {
    left: 2%;
    top: 8%;
  }

  .handwrittenText {
    font-size: 1.35rem;
  }
}

@media (max-width: 640px) {
  .illustrationContainer {
    max-width: 280px;
  }

  .handwrittenBadge {
    display: none; /* Priority to content & CTA on mobile */
  }
}
