/* Escape Gettysburg - Styles */

/* Font families */
.font-display { font-family: 'Bebas Neue', sans-serif; }
.font-body { font-family: 'Outfit', sans-serif; }
.font-ui { font-family: 'Inter', sans-serif; }

/* Reset */
body { 
  margin: 0; 
  scroll-behavior: smooth; 
}

/* Animations */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-10px); }
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 30px rgba(0,160,226,0.4); }
  50% { box-shadow: 0 0 50px rgba(0,160,226,0.7); }
}

@keyframes grain {
  0%, 100% { transform: translate(0, 0); }
  10% { transform: translate(-5%, -10%); }
  20% { transform: translate(-15%, 5%); }
  30% { transform: translate(7%, -25%); }
  40% { transform: translate(-5%, 25%); }
  50% { transform: translate(-15%, 10%); }
  60% { transform: translate(15%, 0%); }
  70% { transform: translate(0%, 15%); }
  80% { transform: translate(3%, 35%); }
  90% { transform: translate(-10%, 10%); }
}

@keyframes flicker {
  0% { opacity: 0.27; }
  5% { opacity: 0.34; }
  10% { opacity: 0.27; }
  15% { opacity: 0.34; }
  20% { opacity: 0.36; }
  25% { opacity: 0.32; }
  30% { opacity: 0.34; }
  35% { opacity: 0.28; }
  40% { opacity: 0.34; }
  45% { opacity: 0.38; }
  50% { opacity: 0.34; }
  55% { opacity: 0.28; }
  60% { opacity: 0.34; }
  65% { opacity: 0.36; }
  70% { opacity: 0.28; }
  75% { opacity: 0.34; }
  80% { opacity: 0.38; }
  85% { opacity: 0.32; }
  90% { opacity: 0.34; }
  95% { opacity: 0.28; }
  100% { opacity: 0.34; }
}

.animate-float { 
  animation: float 6s ease-in-out infinite; 
}

.animate-pulse-glow { 
  animation: pulse-glow 2s ease-in-out infinite; 
}

/* Hero video styles */
.hero-video {
  filter: grayscale(1) contrast(1.1) brightness(0.9);
}

/* Film grain overlay */
.film-grain {
  position: absolute;
  top: -100%;
  left: -100%;
  right: -100%;
  bottom: -100%;
  width: 300%;
  height: 300%;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
  opacity: 0.32;
  pointer-events: none;
  animation: grain 0.5s steps(10) infinite;
}

/* Vignette effect */
.vignette {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, transparent 0%, transparent 40%, rgba(0,0,0,0.7) 100%);
  pointer-events: none;
}

/* Scanlines effect */
.scanlines {
  position: absolute;
  inset: 0;
  background: repeating-linear-gradient(
    0deg,
    rgba(0, 0, 0, 0.15),
    rgba(0, 0, 0, 0.15) 1px,
    transparent 1px,
    transparent 2px
  );
  pointer-events: none;
  opacity: 0.4;
}

/* Color grade overlay - slight teal/orange cinema look */
.color-grade {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 50, 80, 0.15) 0%, transparent 50%, rgba(80, 40, 0, 0.1) 100%);
  pointer-events: none;
  mix-blend-mode: overlay;
}

/* Brand color utilities */
.text-brand-blue { color: #00a0e2; }
.text-brand-blue-dark { color: #3684bf; }
.text-brand-blue-deep { color: #283891; }
.bg-brand-blue { background-color: #00a0e2; }

/* Gradient text effect */
.gradient-text {
  background: linear-gradient(90deg, #3684bf, #00a0e2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Hero section background */
.hero-gradient {
  background: radial-gradient(ellipse at center top, rgba(0,160,226,0.15) 0%, transparent 60%),
              radial-gradient(ellipse at right, rgba(40,56,145,0.1) 0%, transparent 50%),
              linear-gradient(180deg, #0A0A0B 0%, #0F172A 100%);
}

/* Room card overlay */
.room-card::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.95) 0%, rgba(0,0,0,0.4) 50%, rgba(0,0,0,0.2) 100%);
  z-index: 1;
}
