/* AINNOVA custom styles */
html {
    scroll-behavior: smooth;
}

.prose {
    max-width: 65ch;
    margin: 0 auto;
}

.prose p {
    margin-bottom: 1rem;
}

/* AINNOVA Brand Styles */
.ainnova-gradient {
    background: linear-gradient(135deg, #0d47a1 0%, #1e88e5 100%);
}

/* Card Components */
.ainnova-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.ainnova-card:hover {
    transform: translateY(-5px) scale(1.02);
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
}

/* Enhanced card hover effect for better UX */
.ainnova-card:active {
    transform: translateY(-2px) scale(1.01);
    transition: transform 0.1s ease;
}

/* Hero Section Styles */
.hero-background-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    z-index: -1; /* Behind content and overlay */
}

.hero-section::after { /* Overlay for text readability */
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Adjust darkness as needed */
    z-index: -1; /* Behind content, above image */
}

/* Hero Actions Container */
.hero-actions {
    margin-top: 2rem;
}

.hero-actions a {
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.hero-actions a:hover {
    text-decoration: none;
}

/* Typewriter Animation for Hero Subtitle */
.typewriter {
    overflow: hidden;
    border-right: 3px solid #4F46E5; /* Cursor color */
    white-space: nowrap;
    margin: 0 auto;
    letter-spacing: .1em;
    animation: 
      typing 3.5s steps(40, end),
      blink-caret .75s step-end infinite;
    animation-delay: 0.5s; /* Start after title loads */
    animation-fill-mode: both;
    width: 0; /* Start with no width */
}

/* Typing effect */
@keyframes typing {
    from { 
      width: 0; 
    }
    to { 
      width: 100%; 
    }
}

/* Blinking cursor effect */
@keyframes blink-caret {
    from, to { 
      border-color: transparent; 
    }
    50% { 
      border-color: #4F46E5; 
    }
}

/* Alternative letter-by-letter animation */
.letter-animation {
    display: inline-block;
    opacity: 0;
    animation: fadeInLetter 0.1s ease-in-out forwards;
}

@keyframes fadeInLetter {
    from {
      opacity: 0;
      transform: translateY(10px);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
}

/* Responsive adjustments for typewriter */
@media (max-width: 768px) {
    .typewriter {
      font-size: 1.125rem; /* Smaller on mobile */
      animation: typing 2.5s steps(30, end), blink-caret .75s step-end infinite;
    }
}

/* General Animations */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.animated-fadeIn {
    animation: fadeIn 1s ease-out;
}

