/* ==========================================================
   KONARTE AI — AI Aurora Listening Field
   Premium ambient hero with organic fluid morphing blobs
   Three states: IDLE · LISTENING · PROCESSING
   (Optimized for scroll & more discreet opacity)
   ========================================================== */

/* 1. HERO CONTAINER */
.ai-aurora-hero {
    position: relative;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #050508;
    /* Isolate rendering — prevents scroll jank from repaints */
    contain: layout style paint;
    isolation: isolate;
}

/* Dark radial vignette for depth */
.ai-aurora-hero::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background: radial-gradient(ellipse at center, transparent 40%, rgba(5, 5, 8, 0.3) 100%);
    pointer-events: none;
}

/* 2. AURORA FIELD CONTAINER */
.aurora-field {
    position: absolute;
    inset: 0;
    z-index: 0;
    will-change: transform;
    transform: translateZ(0);
}

/* 3. AURORA BLOBS */
.aurora-blob {
    position: absolute;
    border-radius: 50%;
    filter: blur(100px);
    opacity: 0.6; /* Higher baseline illumination */
    will-change: transform;
    transform: translateZ(0);
    backface-visibility: hidden;
    mix-blend-mode: screen;
    transition: opacity 1.8s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Blob 1: Deep Gold */
.aurora-blob--1 {
    width: 55vw;
    height: 55vw;
    top: -10%;
    left: -10%;
    background: radial-gradient(circle, #b08826 0%, transparent 70%);
    animation: blob-float-1 9s ease-in-out infinite;
}

/* Blob 2: Rose/Magenta */
.aurora-blob--2 {
    width: 60vw;
    height: 60vw;
    bottom: -10%;
    right: -10%;
    background: radial-gradient(circle, #e10098 0%, transparent 70%);
    animation: blob-float-2 12s ease-in-out infinite;
}

/* Blob 3: Deep Blue */
.aurora-blob--3 {
    width: 50vw;
    height: 50vw;
    bottom: 20%;
    left: 10%;
    background: radial-gradient(circle, #2b5c9e 0%, transparent 70%);
    animation: blob-float-3 14s ease-in-out infinite;
}

/* Blob 4: Emerald Green */
.aurora-blob--4 {
    width: 45vw;
    height: 45vw;
    top: 20%;
    right: 20%;
    background: radial-gradient(circle, #21a64f 0%, transparent 70%);
    animation: blob-float-4 10s ease-in-out infinite;
}

/* Blob 5: Deep Crimson */
.aurora-blob--5 {
    width: 40vw;
    height: 40vw;
    top: 40%;
    left: 40%;
    background: radial-gradient(circle, #742727 0%, transparent 70%);
    animation: blob-float-1 8s ease-in-out infinite;
}

/* Blob 6: Soft Violet (Bridge) */
.aurora-blob--6 {
    width: 50vw;
    height: 50vw;
    bottom: -5%;
    left: 30%;
    background: radial-gradient(circle, #7832b4 0%, transparent 70%);
    animation: blob-float-2 13s ease-in-out infinite;
}

/* 4. KEYFRAMES FOR DRIFTING (Fluid Continuous Loops) */
@keyframes blob-float-1 {
    0% { transform: translate(0, 0) scale(1) rotate(0deg); }
    33% { transform: translate(12vw, 18vh) scale(1.15) rotate(8deg); }
    66% { transform: translate(-10vw, 8vh) scale(0.85) rotate(-8deg); }
    100% { transform: translate(0, 0) scale(1) rotate(0deg); }
}
@keyframes blob-float-2 {
    0% { transform: translate(0, 0) scale(1) rotate(0deg); }
    33% { transform: translate(-15vw, -10vh) scale(0.9) rotate(-6deg); }
    66% { transform: translate(10vw, -18vh) scale(1.12) rotate(6deg); }
    100% { transform: translate(0, 0) scale(1) rotate(0deg); }
}
@keyframes blob-float-3 {
    0% { transform: translate(0, 0) scale(1) rotate(0deg); }
    33% { transform: translate(18vw, -12vh) scale(1.2) rotate(10deg); }
    66% { transform: translate(-12vw, 15vh) scale(0.8) rotate(-10deg); }
    100% { transform: translate(0, 0) scale(1) rotate(0deg); }
}
@keyframes blob-float-4 {
    0% { transform: translate(0, 0) scale(1) rotate(0deg); }
    33% { transform: translate(-12vw, 20vh) scale(0.85) rotate(-12deg); }
    66% { transform: translate(15vw, -8vh) scale(1.18) rotate(5deg); }
    100% { transform: translate(0, 0) scale(1) rotate(0deg); }
}

/* 5. INTERACTION STATES */
/* IDLE */
.ai-aurora-hero.state-idle .aurora-blob {
    opacity: 0.55; /* Better illumination but calm */
}

/* LISTENING */
.ai-aurora-hero.state-listening .aurora-blob {
    opacity: 0.65; /* Brighter when listening */
}
.ai-aurora-hero.state-listening .ai-status-glow {
    animation: status-glow-listening 1.8s ease-in-out infinite;
}

/* PROCESSING */
.ai-aurora-hero.state-processing .aurora-blob {
    opacity: 0.8; /* Maximum illumination and energy */
}
.ai-aurora-hero.state-processing .aurora-field {
    animation: field-rotate 40s linear infinite;
}
@keyframes field-rotate {
    from { transform: rotate(0deg) translateZ(0); }
    to { transform: rotate(360deg) translateZ(0); }
}
.ai-aurora-hero.state-processing .ai-status-glow {
    animation: status-glow-processing 1.2s ease-in-out infinite;
}

/* 6. CONTENT LAYER */
.ai-aurora-content {
    position: relative;
    z-index: 10;
    text-align: center;
    padding: 0 24px;
    max-width: 720px;
    width: 100%;
}

/* Eyebrow label */
.ai-aurora-eyebrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    font-family: 'Inter', sans-serif;
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 24px;
    line-height: 1.8;
}
.ai-aurora-eyebrow br ~ * {
    font-weight: 400;
    opacity: 0.5;
}

/* Main headline */
.ai-aurora-title {
    font-family: 'Poppins', 'Inter', sans-serif;
    font-size: clamp(2rem, 5vw, 3.4rem);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -0.03em;
    background: linear-gradient(135deg, #ffffff 0%, rgba(255, 255, 255, 0.85) 35%, rgba(255, 255, 255, 0.5) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 16px;
    text-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

/* Subtitle */
.ai-aurora-subtitle {
    font-family: 'Inter', sans-serif;
    font-size: clamp(1rem, 2vw, 1.15rem);
    font-weight: 300;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 40px;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}

/* Status Indicator */
.ai-status-indicator {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 100px;
    padding: 6px 16px;
    margin-bottom: 32px;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}
.ai-status-dot-wrap {
    position: relative;
    width: 8px;
    height: 8px;
}
.ai-status-dot {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background: linear-gradient(135deg, #e10098, #ff4d4d);
    z-index: 2;
}
.ai-status-glow {
    position: absolute;
    inset: -4px;
    border-radius: 50%;
    background: #e10098;
    filter: blur(3px);
    opacity: 0.5;
    z-index: 1;
    animation: status-glow-idle 3s ease-in-out infinite;
}
.ai-status-label {
    font-family: 'Inter', sans-serif;
    font-size: 0.75rem;
    color: #fff;
    letter-spacing: 0.05em;
}

@keyframes status-glow-idle {
    0%, 100% { opacity: 0.3; transform: scale(1); }
    50% { opacity: 0.6; transform: scale(1.2); }
}
@keyframes status-glow-listening {
    0%, 100% { opacity: 0.5; transform: scale(1.2); }
    50% { opacity: 0.9; transform: scale(1.6); }
}
@keyframes status-glow-processing {
    0% { opacity: 0.8; transform: scale(1.2) rotate(0deg); }
    100% { opacity: 0.8; transform: scale(1.5) rotate(360deg); }
}

/* CTA Button */
.ai-aurora-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: linear-gradient(135deg, #e10098 0%, #742727 100%);
    color: white;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    padding: 16px 36px;
    border-radius: 100px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 8px 32px rgba(225, 0, 152, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}
.ai-aurora-cta:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 40px rgba(225, 0, 152, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3);
    color: white;
}

/* Scroll Hint */
.ai-aurora-scroll-hint {
    position: absolute;
    bottom: 40px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    opacity: 0.5;
    z-index: 10;
}
.ai-aurora-scroll-hint span {
    font-family: 'Inter', sans-serif;
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: white;
}
.ai-aurora-scroll-hint .scroll-line {
    width: 1px;
    height: 40px;
    background: linear-gradient(to bottom, rgba(255,255,255,0.5), transparent);
    animation: scroll-hint-line 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
    transform-origin: top;
}
@keyframes scroll-hint-line {
    0% { transform: scaleY(0); opacity: 0; }
    50% { transform: scaleY(1); opacity: 1; }
    100% { transform: scaleY(1) translateY(100%); opacity: 0; }
}

@media (max-width: 768px) {
    .aurora-blob { filter: blur(70px); }
    .ai-aurora-hero { min-height: 85vh; min-height: 85dvh; }
}
@media (max-width: 480px) {
    .aurora-blob { filter: blur(55px); }
}
@media (prefers-reduced-motion) {
    .aurora-blob, .ai-aurora-scroll-hint .scroll-line, .ai-aurora-hero.state-processing .aurora-field {
        animation: none !important;
        transition: none !important;
    }
}
