/* ====================================================================
   BRAND OVERHAUL — New Animation Keyframes
   ==================================================================== */
@keyframes helion-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}
@keyframes gold-pulse {
    0%,100%   { opacity: 0.8; }
    50%  { opacity: 1; }
}
@keyframes svg-gold-pulse {
    0%,100%   { opacity: 0.8; }
    50%  { opacity: 1; }
}
@keyframes fade-rise {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes shine-sweep {
    0%   { left: -60%; }
    100% { left: 120%; }
}
@keyframes pipeline-travel {
    0%   { left: 0%;   opacity: 0; }
    10%  { opacity: 1; }
    90%  { opacity: 1; }
    100% { left: 100%; opacity: 0; }
}
@keyframes stage-activate {
    0%   { border-color: var(--border); opacity: 0.6; }
    60%  { border-color: var(--accent); opacity: 1; }
    100% { border-color: var(--accent); opacity: 1; }
}
@keyframes draw-check {
    from { stroke-dashoffset: 60; }
    to   { stroke-dashoffset: 0;  }
}
@keyframes ripple-out {
    0%   { transform: scale(1);   opacity: 0.6; }
    100% { transform: scale(2.2); opacity: 0;   }
}
@keyframes step-activate {
    from { opacity: 0.4; transform: translateX(-6px); }
    to   { opacity: 1;   transform: translateX(0); }
}
@keyframes float-drift {
    0%   { transform: translateY(0px)   translateX(0px);  opacity: 0.3; }
    33%  { transform: translateY(-12px) translateX(6px);  opacity: 0.5; }
    66%  { transform: translateY(-6px)  translateX(-4px); opacity: 0.25; }
    100% { transform: translateY(0px)   translateX(0px);  opacity: 0.3; }
}
@keyframes marquee-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
@keyframes underline-slide {
    from { transform: scaleX(0); transform-origin: left; }
    to   { transform: scaleX(1); transform-origin: left; }
}
@keyframes cursor-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration:       0.01ms !important;
        animation-iteration-count: 1    !important;
        transition-duration:       0.01ms !important;
    }
}

/* ====================================================================
   BRAND OVERHAUL — New Shared Components
   ==================================================================== */

/* ── HELION BADGE ── */
.helion-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 5px 12px;
    border-radius: 20px;
    border: 1px solid rgba(212,136,42,0.45);
    background: rgba(212,136,42,0.06);
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0.06em;
    color: var(--accent);
}
.helion-badge.active {
    animation: gold-pulse 2.4s ease-in-out infinite;
}
.helion-badge .badge-dot {
    width: 5px; height: 5px;
    border-radius: 50%;
    background: var(--success);
}

/* ── LOGO ── */
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo-icon { flex-shrink: 0; }
.logo-wordmark { display: flex; align-items: baseline; gap: 0; }
.logo-slenvox  { font-weight: 500; color: var(--text-primary);
                letter-spacing: 0.02em; font-size: 1rem; }
.logo-ai      { font-weight: 500;
                color: var(--color-gold);
                -webkit-font-smoothing: antialiased;
                margin: 0 3px; font-size: 1rem; }
.logo-studios { font-weight: 400; color: var(--text-secondary);
                letter-spacing: 0.15em; font-size: 0.85em; }

/* ── BADGE / PLAN PILLS ── */
.badge-plan {
    background: var(--neutral-hover-bg);
    border: 1px solid var(--neutral-border);
    color: var(--neutral);
    font-size: 11px;
    font-weight: 500;
    padding: 3px 10px;
    border-radius: 20px;
    letter-spacing: 0.05em;
}

/* ── SECTION HEADERS ── */
.section-header h2 {
    font-size: clamp(1.8rem, 4vw, 2.8rem);
    font-weight: 500;
    letter-spacing: 0.06em;
    color: var(--text-primary);
}
.section-header p {
    color: var(--text-secondary);
    font-size: 1.1rem;
}

/* ── HERO PARTICLES ── */
.hero-particle {
    position: absolute;
    width: 3px; height: 3px;
    border-radius: 50%;
    background: var(--accent);
    animation: float-drift linear infinite;
    pointer-events: none;
}

/* Proof bar + platform strip consolidated into cinematic section below */

/* ── HELION SPINNER ── */
.helion-spinner-wrap {
    display: flex; justify-content: center;
    margin-top: 2rem;
    margin-bottom: 1.5rem;
}
.helion-spinner {
    filter: drop-shadow(0 0 12px rgba(212,136,42,0.35));
}

/* ── VIDEO READY CHECKMARK ── */
.video-ready-checkmark {
    position: relative; width: 72px; height: 72px;
    margin: 0 auto 1.5rem;
}
.ripple-ring {
    position: absolute; inset: 0; border-radius: 50%;
    border: 2px solid rgba(76,175,80,0.4);
    animation: ripple-out 1.2s cubic-bezier(0.4,0,0.2,1) forwards;
}
.ripple-ring-2 {
    animation-delay: 0.3s;
    border-color: rgba(76,175,80,0.25);
}

/* ── PRODUCTION STEP STATES ── */
.production-step[data-state="pending"] .production-step-icon {
    color: var(--text-muted);
}
.production-step[data-state="pending"] .production-step-label {
    color: var(--text-muted); opacity: 0.5;
}
.production-step[data-state="active"] {
    animation: step-activate 0.4s ease forwards;
}
.production-step[data-state="active"] .production-step-icon {
    color: var(--accent);
    animation: gold-pulse 1.5s ease-in-out infinite; border-radius: 50%;
}
.production-step[data-state="active"] .production-step-label {
    color: var(--text-primary); font-weight: 500;
}
.production-step[data-state="done"] .production-step-icon::before {
    content: "\2713"; color: var(--accent); opacity: 0.7;
}
.production-step[data-state="done"] .production-step-label {
    color: var(--text-secondary);
}

/* ── NAV ITEM UNDERLINE ── */
.nav-item {
    position: relative;
    color: var(--text-secondary);
    text-decoration: none;
    transition: color 0.18s ease;
}
.nav-item::after {
    content: "";
    position: absolute;
    bottom: -3px; left: 0;
    width: 100%; height: 1.5px;
    background: var(--neutral);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.22s cubic-bezier(0.25,0.1,0.25,1);
}
.nav-item:hover { color: var(--text-primary); }
.nav-item:hover::after { transform: scaleX(1); }

/* ── GRADIENT TEXT (now flat ivory) ── */
.gradient-text {
    color: var(--color-ivory);
}

/* ── HERO STAGGER ANIMATIONS ── */
.hero-title .line-1 { animation: fade-rise 0.7s ease 0.1s both; }
.hero-title .line-2 { animation: fade-rise 0.7s ease 0.25s both; }
.hero-subtitle      { animation: fade-rise 0.7s ease 0.4s both; }
.hero-prompt-box    { animation: fade-rise 0.7s ease 0.55s both; }

/* ── PIPELINE CONNECTOR ANIMATION ── */
.pipeline-connector { position: relative; overflow: visible; }
.pipeline-connector::after {
    content: ""; position: absolute;
    top: -3px; width: 8px; height: 8px; border-radius: 50%;
    background: var(--accent);
    animation: pipeline-travel 2.5s ease-in-out infinite;
}
.pipeline-connector:nth-child(2)::after { animation-delay: 0.5s; }
.pipeline-connector:nth-child(3)::after { animation-delay: 1s; }

/* ── AUTH PAGE CINEMATIC ── */
.auth-sun-bg {
    position: absolute;
    opacity: 0.06;
    transform: scale(3);
    pointer-events: none;
    z-index: 0;
}

/* ── LEGAL HEADINGS ── */
.legal-content h2,
.legal-content h3 {
    border-left: 3px solid var(--neutral-border-hover);
    padding-left: 1rem;
}

