/* Restless Splash Landing Page Styles */

/* CSS Custom Properties - Update these with your Figma values */
:root {
  /* Colors - UPDATE THESE WITH YOUR FIGMA COLORS */
  --primary-color: #000000;
  --secondary-color: #ffffff;
  --accent-color: #ff6b6b;
  --text-color: #ffffff;
  --overlay-color: rgba(0, 0, 0, 0.4);
  
  /* Typography */
  --font-primary: 'Inter', sans-serif;
  --font-secondary: 'Inter', sans-serif;
  --font-size-hero: clamp(2.5rem, 5vw, 4rem);
  --font-size-tagline: clamp(1.2rem, 2.5vw, 1.8rem);
  --font-weight-bold: 700;
  --font-weight-regular: 400;
  --font-weight-light: 300;
  
  /* Spacing */
  --spacing-xs: 0.5rem;
  --spacing-sm: 1rem;
  --spacing-md: 2rem;
  --spacing-lg: 3rem;
  --spacing-xl: 4rem;
  --spacing-xxl: 6rem;
  
  /* Layout */
  --container-max-width: 1200px;
  --header-height: 80px;
  --border-radius: 8px;
  
  /* Animations */
  --transition-fast: 0.2s ease;
  --transition-medium: 0.4s ease;
  --transition-slow: 0.6s ease;
}

/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-primary);
  color: var(--text-color);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Landing Page Styles */
.splash-container {
  min-height: 100vh;
  position: relative; /* Changed to relative for absolute positioning of children */
  background: var(--primary-color); /* Fallback background color */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  overflow: hidden; /* Prevent content from overflowing */
}

.splash-container::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--overlay-color);
  z-index: 1;
}

.splash-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: var(--secondary-color);
  max-width: 800px;
  padding: var(--spacing-md);
}

/* Brand Group Container - scales as one unit */
.splash-brand-group {
  position: absolute;
  top: 45vh; /* Higher positioning for mobile mockup */
  left: 80px;
  transform: translateY(-50%); /* Center the group vertically */
  z-index: 10;
  
  /* Use CSS clamp for responsive scaling */
  width: clamp(300px, 25vw, 500px);
  
  /* Smooth scaling transitions */
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  transition-property: width, height, top, left, transform, font-size;
}

.splash-logo-container {
  margin-bottom: 5px; /* Much tighter spacing between logo and tagline */
}

.splash-logo {
  width: 100%; /* Takes full width of the brand group container */
  height: auto; /* Maintains aspect ratio */
  object-fit: contain;
  display: block;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); /* Smooth logo scaling */
}

/* Tablet - 1024px to 1279px */
@media (max-width: 1279px) and (min-width: 1025px) {
  .splash-logo {
    /* Keep viewport positioning from base, only adjust size and horizontal position */
    left: 60px;
    width: 350px;
    height: 96px;
  }
  
  .splash-tagline {
    top: calc(60vh + 116px) !important; /* Logo position + logo height + spacing */
    left: 60px !important;
    font-size: 18px !important;
    color: #FFFFFF !important;
    text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
    white-space: normal; /* Allow wrapping */
    max-width: 85%;
    z-index: 100;
  }
}

/* Responsive adjustments for brand group */
@media (min-width: 1280px) {
  .splash-brand-group {
    top: 50vh; /* Move down 5% from base 45vh */
    left: 80px;
    width: clamp(600px, 45vw, 900px); /* Even wider for 13" monitors */
  }
  
  .splash-tagline {
    white-space: nowrap; /* Keep single line on desktop */
  }
}

/* Tablet view - much wider range to ensure it catches */
@media (min-width: 600px) and (max-width: 1400px) {
  .splash-brand-group {
    position: absolute !important;
    top: 70vh !important; /* Back to the better positioning */
    bottom: auto !important;
    left: 40px !important;
    width: clamp(550px, 60vw, 850px) !important;
    transform: translateY(-50%) !important; /* Back to center transform */
  }
  
  .splash-logo-container {
    margin-bottom: 12px; /* Increased gap for tablet */
  }
  
  .splash-tagline {
    white-space: nowrap !important; /* Force single line on tablet - no wrapping */
    overflow: visible; /* Allow text to show fully */
  }
}

/* iPhone 14 Pro Max and similar large phones */
@media (max-width: 767px) and (min-height: 800px) {
  .splash-brand-group {
    top: 65vh; /* Moved up 10% from 75vh to 65vh */
    left: 20px;
    width: clamp(250px, 85vw, 400px);
  }
  
  .splash-logo-container {
    margin-bottom: -45px; /* Reduced by 5px (from -50px to -45px) */
  }
  
  .splash-tagline {
    margin-top: -45px; /* Reduced by 5px (from -50px to -45px) */
    line-height: 1.1;
    white-space: normal !important; /* Allow line wrapping on mobile */
    text-align: left !important; /* Left justify on mobile */
  }
}

/* iPhone 13 and similar mid-range phones */
@media (max-width: 767px) and (min-height: 800px) and (max-height: 850px) {
  .splash-brand-group {
    top: 70vh; /* Slightly lower for iPhone 13 to reduce gap */
    left: 20px;
    width: clamp(250px, 85vw, 400px);
  }
  
  .splash-logo-container {
    margin-bottom: -10px; /* Tighter spacing for iPhone 13 */
  }
  
  .splash-tagline {
    margin-top: -15px; /* Tighter spacing for iPhone 13 */
    line-height: 1.1;
    white-space: normal !important; /* Allow line wrapping on mobile */
    text-align: left !important; /* Left justify on mobile */
  }
}

/* Regular mobile phones */
@media (max-width: 767px) and (max-height: 799px) {
  .splash-brand-group {
    top: 65vh; /* Moved up 10% from 75vh to 65vh */
    left: 20px;
    width: clamp(250px, 85vw, 400px);
  }
  
  .splash-logo-container {
    margin-bottom: -5px; /* Reduced by 5px (from -10px to -5px) */
  }
  
  .splash-tagline {
    margin-top: -10px; /* Reduced by 5px (from -15px to -10px) */
    line-height: 1.1;
    white-space: normal !important; /* Allow line wrapping on mobile */
    text-align: left !important; /* Left justify on mobile */
  }
}

/* Large Desktop - 1920px and above */
@media (min-width: 1920px) {
  .splash-logo {
    top: 450px; /* Even more space on very large screens */
    left: 120px;
    width: 500px;
    height: 137px;
  }
  
  .splash-tagline {
    top: 607px; /* Logo (450px) + Logo height (137px) + 20px spacing */
    left: 120px;
    font-size: 22px;
  }
}

.splash-logo:hover {
  transform: scale(1.02); /* Reduced hover effect for larger logo */
}

/* Tablet Wide - 1025px to 1279px */
@media (max-width: 1279px) and (min-width: 1025px) {
  .splash-logo {
    top: 200px; /* Move higher */
    left: 60px;
    width: 350px;
    height: 96px;
  }
  
  .splash-tagline {
    top: 316px; /* Logo (200px) + Logo height (96px) + 20px spacing = 316px */
    left: 60px; /* Same as logo */
    font-size: 18px;
    max-width: 85%;
    color: #FFFFFF !important;
    text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
  }
}

/* Tablet Wide - 1025px to 1279px (keeping existing) */

/* Tablet Tall - Portrait orientation 768px wide x 1024px tall */
@media (max-width: 768px) and (min-height: 1000px) {
  .splash-logo {
    /* Keep viewport positioning, only adjust size and horizontal position */
    left: 77px;
    width: 318px;
    height: 87px;
    aspect-ratio: 318/87;
  }
  
  .splash-tagline {
    top: calc(60vh + 107px) !important; /* Logo position + logo height + spacing */
    left: 77px;
    width: 619px;
    font-size: 23px;
    white-space: nowrap;
    color: #FFFFFF !important;
    text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
  }
}

/* Mobile - 370px wide x 700px tall */
@media (max-width: 370px) {
  .splash-logo {
    /* Keep viewport positioning, only adjust size and horizontal position */
    left: 21px;
    width: 200px;
    height: 55px;
    aspect-ratio: 40/11;
  }
  
  .splash-tagline {
    top: calc(60vh + 75px) !important; /* Logo position + logo height + spacing */
    left: 21px;
    width: 327px;
    font-size: 17px;
    white-space: normal; /* Allow wrapping on mobile */
    color: #FFFFFF !important;
    text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
  }
}

/* Tablet - General fallback for remaining tablet sizes */
@media (max-width: 1024px) and (min-width: 371px) {
  .splash-logo {
    /* Keep viewport positioning, only adjust size and horizontal position */
    left: 40px;
    width: 318px;
    height: 87px;
  }
  
  .splash-tagline {
    top: calc(60vh + 107px) !important; /* Logo position + logo height + spacing */
    left: 40px;
    font-size: 18px;
    max-width: 90%;
    color: #FFFFFF !important;
    text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
    white-space: nowrap;
  }
}

/* SVG specific styles */
.splash-logo svg {
  max-width: 100%;
  height: auto;
  fill: currentColor; /* Allows color inheritance if needed */
}

/* Inline SVG container */
.splash-logo-svg {
  display: inline-block;
  max-width: 300px;
  margin-bottom: var(--spacing-lg);
  transition: transform var(--transition-medium);
}

.splash-logo-svg:hover {
  transform: scale(1.05);
}

.splash-title {
  font-size: var(--font-size-hero);
  font-weight: var(--font-weight-bold);
  margin-bottom: var(--spacing-md);
  line-height: 1.2;
}



.splash-tagline {
  color: #FFFFFF !important;
  text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.25);
  font-family: 'Inter', sans-serif;
  
  /* Responsive font size that scales with container */
  font-size: clamp(16px, 4vw, 24px);
  
  font-style: normal;
  font-weight: 400;
  
  /* Smooth text scaling transitions */
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Italicize the word "now" in tagline across all devices */
.splash-tagline em,
.splash-tagline i {
  font-style: italic !important;
}

.splash-cta {
  margin-top: var(--spacing-lg);
}

.btn-primary {
  display: inline-block;
  padding: var(--spacing-sm) var(--spacing-lg);
  background: var(--accent-color);
  color: var(--secondary-color);
  text-decoration: none;
  border-radius: var(--border-radius);
  font-weight: var(--font-weight-bold);
  transition: all var(--transition-fast);
  border: 2px solid var(--accent-color);
}

.btn-primary:hover {
  background: transparent;
  color: var(--accent-color);
  transform: translateY(-2px);
}

/* Responsive Design */
@media (max-width: 768px) {
  .splash-container {
    background-attachment: scroll;
  }
  
  .splash-logo {
    max-width: 200px;
    margin-bottom: var(--spacing-md);
  }
  
  .splash-content {
    padding: var(--spacing-sm);
  }
}

@media (max-width: 480px) {
  .splash-logo {
    max-width: 150px;
  }
}

/* Animation Classes */
.fade-in {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 1s ease forwards;
}

.fade-in-delay-1 {
  animation-delay: 0.2s;
}

.fade-in-delay-2 {
  animation-delay: 0.4s;
}

.fade-in-delay-3 {
  animation-delay: 0.6s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Email Popup Styles - Ready for your existing code */
.email-popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1000;
  /* Your existing popup styles will go here */
}