/* ============================================
   MVK Restaurant Pitch Deck — Specific Styles
   Extends critical inline CSS with section-level
   and advanced animation rules.
   ============================================ */

/* Smooth scroll body override for Lenis */
html.lenis, html.lenis body { height: auto; }

/* Slide-specific backgrounds for depth */
#slide-2  { background: linear-gradient(135deg, #0A0A0B 0%, #0F0F12 100%); }
#slide-3  { background: linear-gradient(135deg, #0A0A0B 0%, #0C0C10 100%); }
#slide-4  { background: linear-gradient(135deg, #0A0A0B 0%, #0E0E11 100%); }
#slide-5  { background: linear-gradient(135deg, #0A0A0B 0%, #0D0D12 100%); }
#slide-6  { background: linear-gradient(135deg, #0A0A0B 0%, #0F0F13 100%); }
#slide-7  { background: linear-gradient(135deg, #0A0A0B 0%, #0C0C11 100%); }
#slide-8  { background: linear-gradient(135deg, #0A0A0B 0%, #0E0E12 100%); }
#slide-9  { background: linear-gradient(135deg, #0A0A0B 0%, #0D0D11 100%); }
#slide-10 { background: linear-gradient(135deg, #0A0A0B 0%, #0F0F12 100%); }

/* Hero and CTA slides get no gradient — handled by overlay */
#slide-1,
#slide-11 { background: transparent; }

/* Image treatments */
.img-container {
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 255, 255, 0.04);
}

.img-container::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06);
  pointer-events: none;
}

/* CTA enhancements */
#slide-11 .cta-button {
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  background: rgba(0, 229, 255, 0.04);
}

/* Chart container refinements */
#slide-10 .img-container {
  display: flex;
  align-items: center;
  justify-content: center;
}

.chart-svg text {
  user-select: none;
}

/* Eco icon animation setup */
.eco-icon {
  transform-origin: center;
}

/* Eco cards grid */
.eco-cards {
  background: linear-gradient(135deg, #0c0c10 0%, #111116 100%);
}

.eco-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 1.5rem;
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.04);
  background: rgba(255, 255, 255, 0.02);
  transition: border-color var(--duration-micro) var(--ease-expo), box-shadow var(--duration-micro) var(--ease-expo);
}

.eco-card:hover {
  border-color: rgba(0, 229, 255, 0.2);
  box-shadow: 0 0 24px rgba(0, 229, 255, 0.06);
}

.eco-card svg {
  opacity: 0.9;
}

.eco-title {
  font-family: var(--font-body);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.15em;
  color: var(--color-text-secondary);
  text-align: center;
}

/* Scroll-down cue on hero */
#slide-1 .hero-content::after {
  content: '';
  position: absolute;
  bottom: -3rem;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 48px;
  background: linear-gradient(to bottom, var(--color-accent-laser), transparent);
  opacity: 0.5;
  animation: pulse-line 2s ease-in-out infinite;
}

@keyframes pulse-line {
  0%, 100% { opacity: 0.3; transform: translateX(-50%) scaleY(1); }
  50% { opacity: 0.7; transform: translateX(-50%) scaleY(1.1); }
}

/* Subtle vignette on all slides for cinematic framing */
.slide::before {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 120px rgba(0, 0, 0, 0.35);
  z-index: 5;
}

/* Ensure content stays above vignette */
.slide .grid-2,
.slide .hero-content { position: relative; z-index: 6; }

/* Mobile refinements */
@media (max-width: 768px) {
  .slide { padding: 6rem 1.5rem 4rem; }
  .site-header { padding: 1rem 1.5rem; }
  .slide-number { top: 1.5rem; right: 1.5rem; }
  .hook { font-size: 1.05rem; }
  #slide-1 .hero-content::after { display: none; }
}
