/* AtomicBooster — Clean Indigo Theme */

/* Smooth scrolling */
html {
    scroll-behavior: smooth;
}

/* Card hover lift */
.group:hover {
    transform: translateY(-4px);
}

/* FAQ toggle animation */
.faq-icon.open {
    transform: rotate(45deg);
}

/* Censored domain block */
.censored-block {
    display: inline-block;
    background: #312e81;
    border-radius: 4px;
    vertical-align: baseline;
    min-width: 3.5em;
    height: 1.1em;
    position: relative;
    top: 1px;
}

/* Contact widget animation */
@keyframes contact-slide-up {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

#contact-panel:not(.hidden) {
    animation: contact-slide-up 0.2s ease-out;
}

#contact-widget-btn {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Stripe badge styles */
.stripe-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0.75rem;
    background: #f6f9fc;
    border: 1px solid #e3e8ee;
    border-radius: 999px;
    font-size: 0.75rem;
    color: #6b7280;
}

/* Float animation for hero elements */
@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

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

.animate-float-delay {
    animation: float 4s ease-in-out infinite;
    animation-delay: -2s;
}

.animate-float-delay-2 {
    animation: float 4s ease-in-out infinite;
    animation-delay: -1s;
}

/* Hero SVG scene — backlink network */
@keyframes dash-flow {
    from { stroke-dashoffset: 0; }
    to   { stroke-dashoffset: -1; }
}
.link-flow {
    stroke-dashoffset: 0;
    animation: dash-flow 3s linear infinite;
    animation-delay: var(--d, 0s);
}

@keyframes node-pulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50%      { transform: scale(1.06); opacity: 0.85; }
}
.sat-node {
    transform-box: fill-box;
    transform-origin: center;
    animation: node-pulse 3.5s ease-in-out infinite;
    animation-delay: var(--d, 0s);
}

@keyframes sonar-ring {
    0%   { transform: scale(0.6); opacity: 0.45; }
    100% { transform: scale(2.2); opacity: 0; }
}
.sonar-ring {
    transform-box: fill-box;
    transform-origin: center;
    fill: none;
    stroke: #4f46e5;
    stroke-width: 1.5;
    animation: sonar-ring 3s ease-out infinite;
    animation-delay: var(--d, 0s);
}

@keyframes orbit-drift {
    0%, 100% { transform: rotate(-2deg); }
    50%      { transform: rotate(2deg); }
}
.orbit-group {
    transform-origin: 250px 250px;
    animation: orbit-drift 18s ease-in-out infinite;
}

@keyframes aurora-shift {
    0%, 100% { transform: translate(0, 0) scale(1); }
    50%      { transform: translate(14px, -10px) scale(1.05); }
}
.aurora-a { animation: aurora-shift 14s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.aurora-b { animation: aurora-shift 16s ease-in-out infinite reverse; transform-box: fill-box; transform-origin: center; }

/* Note: prefers-reduced-motion guard intentionally omitted — hero motion is subtle and decorative. */
