/* Custom Styles for Trebuk */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;700;900&display=swap');

:root {
    --dark: #0A0A0A;
}

body {
    background-color: var(--dark);
    font-family: 'Inter', sans-serif;
}

/* Section styling */
section {
    position: relative;
}

/* Hero Gradient Blobs */
.hero-blob {
    position: absolute;
    width: 600px;
    height: 600px;
    border-radius: 50%;
    filter: blur(80px);
    opacity: 0.4;
    z-index: 0;
    animation: blob-move 20s infinite alternate-reverse ease-in-out;
}

.hero-blob-1 {
    background: #0066ff; /* Electric Blue */
    top: -100px;
    left: -100px;
}

.hero-blob-2 {
    background: #ff0000; /* Pure Red */
    bottom: -100px;
    right: -100px;
    animation-delay: -5s;
    width: 400px;
    height: 400px;
}

.hero-blob-3 {
    background: #ffffff; /* White for highlight */
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation-duration: 30s;
    opacity: 0.1;
}

@keyframes blob-move {
    0% { transform: translate(0, 0) scale(1); }
    33% { transform: translate(100px, 200px) scale(1.2); }
    66% { transform: translate(-150px, 50px) scale(0.8); }
    100% { transform: translate(50px, -100px) scale(1.1); }
}

/* Plan Labels Gradient Animations - ULTRA AGGRESSIVE */
.plan-label-lite, .plan-label-pro, .plan-label-max {
    display: inline-block !important;
    background-size: 200% auto !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-shadow: none !important; /* Убираем тени, которые могут казаться черным текстом */
    position: relative;
    z-index: 1;
}

.plan-label-lite {
    background-image: linear-gradient(90deg, #000 0%, #00ccff 50%, #000 100%) !important;
}

.plan-label-pro {
    background-image: linear-gradient(90deg, #000 0%, #ff3333 50%, #000 100%) !important;
}

.plan-label-max {
    background-image: linear-gradient(90deg, #000 0%, #e600ff 50%, #000 100%) !important;
}

/* Technology Section Spotlight Effect */
#tecnologia .grid {
    position: relative;
    --mouse-x: -500px;
    --mouse-y: -500px;
}

#tecnologia .grid::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 10;
    pointer-events: none;
    background: radial-gradient(
        800px circle at var(--mouse-x) var(--mouse-y),
        rgba(255, 255, 255, 0.06),
        transparent 40%
    );
}

#tecnologia .grid > div {
    position: relative;
    overflow: hidden;
    backface-visibility: hidden;
    transform-style: preserve-3d;
}

#tecnologia .grid > div::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: radial-gradient(
        400px circle at var(--mouse-x) var(--mouse-y),
        rgba(255, 255, 255, 0.03),
        transparent 40%
    );
    opacity: 0;
    transition: opacity 0.5s;
}

#tecnologia .grid > div:hover::after {
    opacity: 1;
}

#tecnologia .grid > div * {
    transform: translateZ(20px); /* Lift content slightly for 3D effect */
}

/* Advanced Card & Beam Styling */
.card-advanced {
    position: relative;
    overflow: hidden !important;
    transform-style: preserve-3d;
}

.card-advanced .beam {
    position: absolute;
    width: 200px;
    height: 200px;
    background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
    pointer-events: none;
    opacity: 0;
    z-index: 5;
    mix-blend-mode: plus-lighter;
    filter: blur(20px);
}

.card-advanced .card-content {
    position: relative;
    z-index: 2;
    transform-style: preserve-3d;
}

.magnetic-target {
    display: inline-block;
    will-change: transform;
}

/* Kinetic Typography */
#kinetic-text {
    will-change: transform;
    -webkit-text-stroke: 1px rgba(255,255,255,0.05);
    color: transparent;
    font-size: 25vw;
}

/* Performance Optimizations */
.card-advanced, .card-content, .magnetic-target, #kinetic-text, .beam {
    will-change: transform, opacity;
}

/* Noise Overlay - Optimized */
body::after {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");
    opacity: 0.04;
    pointer-events: none;
    z-index: 9999;
    display: none; /* Hidden by default for performance */
}

@media (min-width: 1024px) {
    body::after {
        display: block; /* Only show on desktop */
    }
}

/* Transitions */
.transition-all {
    transition: all 0.5s cubic-bezier(0.7, 0, 0.3, 1);
}

/* Text selections */
::selection {
    background: #000;
    color: #fff;
}

.bg-dark ::selection {
    background: #fff;
    color: #000;
}
