/* 
 * Style updates to match Radiate Studio app
 * Based on HomeLandingPage.dart design tokens
 */

:root {
  /* App-specific accent colors found in HomeLandingPage.dart */
  --color-image: #2ea3ff; /* Primary */
  --color-video: #9c27b0; /* Colors.purple */
  --color-audio: #4caf50; /* Colors.green */
  --color-script: #3f51b5; /* Colors.indigo */
  --color-content: #6366F1; /* Custom Indigo */
  --color-3d: #ff5722; /* Colors.deepOrange */
  
  --radius-card: 18px; /* Matches _HomeActionTile borderRadius */
  --shadow-card: 0 6px 12px rgba(0, 0, 0, 0.05); /* Matches BoxShadow(blur: 12, offset: 6) */
}

/* 1. Button Updates */
.btn {
  border-radius: 12px !important; /* Standard app button radius */
  gap: 8px;
  transition: all 200ms cubic-bezier(0.4, 0, 0.2, 1);
  letter-spacing: 0.5px;
}

.btn::before {
  display: none;
}

.btn-primary {
  background: #1976d2;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.btn-primary:hover {
  background: #1565c0;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.btn-secondary, .btn-outline {
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(10px);
}

.btn-secondary:hover, .btn-outline:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: #1976d2;
  transform: translateY(-1px);
}

/* 2. Card Styling - Matching App Look */
/* Target specific static HTML classes */
.vision-card,
.waitlist-card,
.feature-card, 
.feature-card-enhanced {
  background: rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: var(--radius-card); /* 18px */
  padding: 24px;
  transition: all 200ms ease;
  box-shadow: var(--shadow-card);
}

.vision-card:hover,
.feature-card:hover, 
.feature-card-enhanced:hover,
.waitlist-card:hover {
  transform: translateY(-2px);
  border-color: rgba(46, 163, 255, 0.5);
  box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
}

.feature-card-enhanced.hovered {
  background: rgba(255, 255, 255, 0.08);
}

/* 3. Feature Icons */
.feature-icon {
  width: 52px;
  height: 52px;
  font-size: 26px;
  border-radius: 50%; /* Circle shape from App */
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(46, 163, 255, 0.15);
  color: var(--color-image);
  margin-bottom: 16px;
  animation: none;
}

/* Apply specific accent colors to icons based on context */
.vision-card:nth-child(1) { border-top: 3px solid var(--color-image); }
.vision-card:nth-child(2) { border-top: 3px solid var(--color-video); }
.vision-card:nth-child(3) { border-top: 3px solid var(--color-audio); }

/* 4. Background Gradient - Matching App */
body {
  /* Fallback */
  background-color: #05060d; 
}

/* Overlay gradient to match app's subtle feel */
body::before {
  content: '';
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
  /* Dark mode gradient from HomeLandingPage */
  background: linear-gradient(
    to bottom right,
    rgba(20, 23, 43, 0.65) 0%, /* surfaceContainerHighest approx */
    #05060d 50%, /* scaffoldBackgroundColor */
    rgba(20, 23, 43, 0.55) 100% /* surface approx */
  );
  opacity: 1;
  animation: none; /* Disable shift animation for app-like stability */
}

/* 5. Typography - Targeting index.html classes */
.hero-heading, .hero h1 {
  font-size: clamp(32px, 5vw, 48px); /* Slightly smaller, more app-like */
  font-weight: 700;
  letter-spacing: -0.5px;
  line-height: 1.18;
}

.hero-lede, .hero-subtitle {
  font-size: 16px;
  color: rgba(255, 255, 255, 0.78); /* Slightly stronger contrast for readability */
  line-height: 1.6;
}

/* 6. Tool-specific overrides */
.tool-color-image { background-color: var(--color-image) !important; border-color: var(--color-image) !important; }
.tool-color-video { background-color: var(--color-video) !important; border-color: var(--color-video) !important; }
.tool-color-sound { background-color: var(--color-audio) !important; border-color: var(--color-audio) !important; }
.tool-color-3d { background-color: var(--color-3d) !important; border-color: var(--color-3d) !important; }
.tool-color-ai { background-color: var(--color-script) !important; border-color: var(--color-script) !important; }
.tool-color-creative { background-color: var(--color-content) !important; border-color: var(--color-content) !important; }

/* 8. Hero Video */
.hero-bg-video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 24px;
  /* Opaque on left, fade out to right */
  mask-image: linear-gradient(to right, rgba(0,0,0,1) 30%, rgba(0,0,0,0) 90%);
  -webkit-mask-image: linear-gradient(to right, rgba(0,0,0,1) 30%, rgba(0,0,0,0) 90%);
}

.hero-experience__video-shell {
  position: absolute !important;
  inset: auto !important; 
  left: 50% !important;
  top: 8% !important;
  transform: translateX(-50%) rotate(-1deg) !important;
  width: min(1280px, 84vw) !important;
  max-width: 1280px !important; 
  aspect-ratio: 16 / 9 !important;
  mix-blend-mode: normal !important;
  opacity: 1 !important;
  background: transparent !important;
  filter: none !important;
  overflow: visible !important;
}

@media (max-width: 768px) {
  .hero-experience__video-shell {
    top: 10% !important;
    width: 110vw !important;
    transform: translateX(-50%) rotate(-0.5deg) !important;
  }

  .hero-bg-video {
    mask-image: none;
    -webkit-mask-image: none;
  }
}

/* Ensure content stays above video */
.hero-experience__content {
  position: relative;
  z-index: 5;
}

/* Reduce the heavy gradient overlay so the video shines through */
.hero-experience__gradient {
  opacity: 0.2 !important;
  z-index: 0 !important;
}

/* 9. Hero "Director's view" glass treatment */
.hero-experience__visual .screen--primary {
  background: linear-gradient(145deg, rgba(8, 12, 22, 0.14) 0%, rgba(8, 12, 22, 0.06) 100%);
  border-color: rgba(255, 255, 255, 0.26);
  box-shadow: 0 16px 45px rgba(6, 10, 30, 0.2);
  backdrop-filter: blur(30px) saturate(170%);
}

.hero-experience__visual .screen--primary::after {
  opacity: 0.05;
}

.hero-experience__visual .screen--primary .screen__frame-placeholder {
  background: linear-gradient(135deg, rgba(12, 18, 36, 0.12) 0%, rgba(46, 163, 255, 0.1) 100%);
  border-color: rgba(255, 255, 255, 0.18);
}

.hero-experience__visual .screen--primary .sidebar-card {
  background: rgba(10, 14, 32, 0.16);
  border-color: rgba(255, 255, 255, 0.14);
}

.hero-experience__visual .screen--primary .screen__tag {
  background: rgba(14, 22, 48, 0.28);
  border-color: rgba(255, 255, 255, 0.22);
}

.hero-experience__visual .screen--primary::before {
  content: '';
  position: absolute;
  inset: -30% -10%;
  background: radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.18) 0%, transparent 55%);
  opacity: 0;
  transform: translate3d(-8%, -6%, 0);
  pointer-events: none;
}

.hero-experience__visual .screen-stack {
  transition: transform 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
  transform-origin: right center;
  will-change: transform;
}

.hero-video--boot .hero-experience__visual .screen-stack {
  transform: translate3d(6vw, -1vw, 0) scale(0.95);
}

.hero-video--playing .hero-experience__visual .screen-stack {
  transform: translate3d(7vw, -1vw, 0) scale(0.94);
}

.hero-video--boot .hero-experience__visual .screen--primary {
  animation: heroScreenBoot 900ms cubic-bezier(0.2, 0.7, 0.2, 1);
  will-change: transform, box-shadow;
}

.hero-video--playing .hero-experience__visual .screen--primary {
  animation: none;
  border-color: rgba(255, 255, 255, 0.32);
  box-shadow: 0 30px 90px rgba(6, 10, 30, 0.35);
  opacity: 0.78;
  will-change: transform, box-shadow;
}

.hero-video--playing .hero-experience__visual .screen--primary::before {
  opacity: 0.25;
  animation: none;
}

@keyframes heroScreenFloat {
  0% {
    transform: rotate(-1deg) translate3d(0, 0, 120px);
    box-shadow: 0 20px 60px rgba(6, 10, 30, 0.25);
  }
  50% {
    transform: rotate(-2.1deg) translate3d(0, -16px, 120px);
    box-shadow: 0 36px 100px rgba(6, 10, 30, 0.4);
  }
  100% {
    transform: rotate(-1deg) translate3d(0, 0, 120px);
    box-shadow: 0 20px 60px rgba(6, 10, 30, 0.25);
  }
}

@keyframes heroScreenBoot {
  0% {
    transform: rotate(-1deg) translate3d(0, 0, 120px) scale(1);
    box-shadow: 0 20px 60px rgba(6, 10, 30, 0.25);
  }
  60% {
    transform: rotate(-2.6deg) translate3d(0, -18px, 120px) scale(1.03);
    box-shadow: 0 44px 120px rgba(6, 10, 30, 0.45);
  }
  100% {
    transform: rotate(-1deg) translate3d(0, 0, 120px) scale(1);
    box-shadow: 0 20px 60px rgba(6, 10, 30, 0.25);
  }
}

@keyframes heroScreenSheen {
  0% {
    transform: translate3d(-8%, -6%, 0);
  }
  50% {
    transform: translate3d(6%, 4%, 0);
  }
  100% {
    transform: translate3d(-8%, -6%, 0);
  }
}

@keyframes heroPrimaryFadeOut {
  0%,
  55% {
    opacity: 0.6;
    backdrop-filter: blur(22px) saturate(125%);
    box-shadow: 0 14px 36px rgba(6, 10, 30, 0.12);
    border-color: rgba(255, 255, 255, 0.12);
  }
  100% {
    opacity: 0;
    backdrop-filter: blur(0px) saturate(100%);
    box-shadow: none;
    border-color: transparent;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-video--boot .hero-experience__visual .screen-stack,
  .hero-video--playing .hero-experience__visual .screen-stack,
  .hero-video--boot .hero-experience__visual .screen--primary,
  .hero-video--playing .hero-experience__visual .screen--primary,
  .hero-video--playing .hero-experience__visual .screen--primary::before,
  .hero-video--playing .hero-experience__visual {
    animation: none;
    transform: none;
  }
}

@media (max-width: 1200px) {
  .hero-video--boot .hero-experience__visual .screen-stack,
  .hero-video--playing .hero-experience__visual .screen-stack {
    transform: none;
  }

  .hero-video--playing .hero-experience__visual .screen--primary {
    opacity: 0.9;
  }
}

@media (max-width: 768px) {
  .hero-video--playing .hero-experience__visual .screen--primary {
    animation: heroPrimaryFadeOut 8s ease 2s forwards;
  }

  .hero-video--playing .hero-experience__visual .screen--primary::before {
    animation: none;
    opacity: 0;
  }

  .hero-experience__visual .screen--primary {
    background: linear-gradient(150deg, rgba(8, 12, 22, 0.045) 0%, rgba(8, 12, 22, 0.015) 100%);
    border-color: rgba(255, 255, 255, 0.12);
    box-shadow: 0 14px 36px rgba(6, 10, 30, 0.12);
    backdrop-filter: blur(22px) saturate(125%);
    opacity: 0.6;
  }

  .hero-experience__visual .screen--primary::after {
    opacity: 0.015;
  }

  .hero-experience__visual .screen--primary .screen__frame-placeholder {
    background: linear-gradient(135deg, rgba(12, 18, 36, 0.035) 0%, rgba(46, 163, 255, 0.05) 100%);
    border-color: rgba(255, 255, 255, 0.1);
  }

  .hero-experience__visual .screen--primary .sidebar-card {
    background: rgba(10, 14, 32, 0.06);
    border-color: rgba(255, 255, 255, 0.1);
  }

  .hero-experience__visual .screen--primary .screen__tag {
    background: rgba(14, 22, 48, 0.12);
    border-color: rgba(255, 255, 255, 0.12);
  }
}

/* 10. Clean landing pass */
:root {
  --gradient-hero: radial-gradient(120% 120% at 50% 18%, rgba(46, 163, 255, 0.08) 0%, rgba(6, 8, 16, 0.96) 65%);
  --gradient-card: linear-gradient(150deg, rgba(255, 255, 255, 0.04) 0%, rgba(10, 12, 24, 0.7) 100%);
  --shadow-sm: 0 8px 20px rgba(10, 12, 30, 0.18);
  --shadow-md: 0 16px 32px rgba(10, 12, 30, 0.24);
  --shadow-lg: 0 28px 60px rgba(10, 12, 30, 0.32);
  --shadow-xl: 0 40px 90px rgba(10, 12, 30, 0.38);
  --shadow-glow: 0 0 70px rgba(46, 163, 255, 0.18);
}

body::before {
  background: linear-gradient(180deg, #06070d 0%, #0b0f1a 100%);
  opacity: 1;
}

body::after {
  opacity: 0;
  animation: none;
}

.header {
  background: rgba(6, 8, 14, 0.88);
  box-shadow: 0 10px 26px rgba(5, 6, 15, 0.28);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(22px) saturate(160%);
}

.hero-experience__bg::after {
  opacity: 0;
}

.hero-experience__gradient {
  opacity: 0.08 !important;
  mix-blend-mode: normal;
}

.hero-experience__noise {
  opacity: 0;
}

.hero-experience__halo {
  opacity: 0.12;
  filter: blur(70px);
}

.hero-cta .btn {
  box-shadow: 0 10px 22px rgba(46, 163, 255, 0.16);
}

.hero-cta {
  gap: 12px;
}

.hero-highlights li {
  background: rgba(10, 12, 22, 0.18);
  border-color: rgba(255, 255, 255, 0.05);
  box-shadow: none;
  backdrop-filter: blur(6px);
  color: rgba(223, 227, 250, 0.72);
}

.hero-highlights .highlight-label {
  color: rgba(223, 227, 250, 0.74);
  border-color: rgba(46, 163, 255, 0.22);
  background: rgba(46, 163, 255, 0.1);
}

.vision-card,
.waitlist-card,
.feature-card,
.feature-card-enhanced {
  background: rgba(255, 255, 255, 0.03);
  border-color: rgba(255, 255, 255, 0.08);
  box-shadow: none;
  backdrop-filter: blur(8px);
}

.vision-card:hover,
.feature-card:hover,
.feature-card-enhanced:hover,
.waitlist-card:hover {
  box-shadow: 0 10px 20px rgba(6, 10, 30, 0.18);
  border-color: rgba(255, 255, 255, 0.14);
  transform: translateY(-1px);
}

.hero-experience__visual .screen:not(.screen--primary) {
  background: rgba(10, 12, 24, 0.5);
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 18px 40px rgba(6, 10, 30, 0.3);
  backdrop-filter: blur(18px);
}

.hero-experience__visual .screen:not(.screen--primary)::after {
  opacity: 0.18;
}

.hero-experience__copy {
  position: relative;
  max-width: 560px;
  margin-top: 16px;
  z-index: 1;
}

/* Quiet down right-side label text */
.hero-experience__visual .screen__header {
  color: rgba(223, 227, 250, 0.5);
}

.hero-experience__visual .screen__timecode {
  color: rgba(223, 227, 250, 0.45);
}

.hero-experience__visual .screen__tag {
  color: rgba(223, 227, 250, 0.6);
  background: rgba(14, 22, 48, 0.45);
  border-color: rgba(255, 255, 255, 0.12);
}

.hero-experience__visual .sidebar-card__label {
  background: rgba(46, 163, 255, 0.16);
  color: rgba(223, 227, 250, 0.6);
}

@media (min-width: 769px) {
  .hero-experience__visual .screen-stack {
    opacity: 0.78;
  }

  .hero-experience__visual .screen--primary {
    background: linear-gradient(145deg, rgba(8, 12, 22, 0.09) 0%, rgba(8, 12, 22, 0.03) 100%);
    border-color: rgba(255, 255, 255, 0.18);
    box-shadow: 0 12px 32px rgba(6, 10, 30, 0.16);
  }

  .hero-video--playing .hero-experience__visual .screen--primary {
    border-color: rgba(255, 255, 255, 0.2);
    box-shadow: 0 18px 52px rgba(6, 10, 30, 0.24);
    opacity: 0.62;
  }

  .hero-experience__visual .screen:not(.screen--primary) {
    background: rgba(10, 12, 24, 0.36);
    border-color: rgba(255, 255, 255, 0.08);
    box-shadow: 0 10px 24px rgba(6, 10, 30, 0.2);
  }
}

.hero-experience__copy::before {
  content: '';
  position: absolute;
  inset: 18px auto auto 0;
  width: min(480px, 78vw);
  height: 160px;
  border-radius: 18px;
  background: radial-gradient(120% 120% at 0% 30%, rgba(5, 8, 15, 0.28) 0%, rgba(5, 8, 15, 0.12) 45%, rgba(5, 8, 15, 0) 78%);
  pointer-events: none;
  z-index: -1;
}

.hero-heading,
.hero-lede {
  text-shadow: 0 6px 22px rgba(5, 8, 15, 0.32);
}

.hero-heading {
  color: rgba(255, 255, 255, 0.98);
}

@media (max-width: 768px) {
  .hero-experience__copy::before {
    inset: 10px auto auto 0;
    width: min(480px, 90vw);
    height: 150px;
    background: radial-gradient(120% 120% at 0% 30%, rgba(5, 8, 15, 0.24) 0%, rgba(5, 8, 15, 0.1) 52%, rgba(5, 8, 15, 0) 82%);
  }
}
