/* Variables */
:root {
--bg-primary: #0a0a0a;
--bg-secondary: #111111;
--bg-tertiary: #1a1a1a;
--text-primary: #ffffff;
--text-secondary: #888888;
--accent: #00ff88;
--border: #222222;
}

/* Estilos generales */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: 'Inter', monospace;
background-color: var(--bg-primary);
color: var(--text-primary);
line-height: 1.4;
overflow-x: hidden;
}

/* Animaciones base */
.animate-in {
animation: fadeInUp 0.8s ease-out forwards;
}

/* Header */
.dark-header {
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 1000;
transition: all 0.3s ease;
}

.dark-header.scrolled {
background-color: rgba(10, 10, 10, 0.95);
backdrop-filter: blur(10px);
}

.dark-header .navbar {
padding: 2rem 0;
background: transparent;
transition: all 0.3s ease;
}

.dark-header.scrolled .navbar {
padding: 1rem 0;
}

.navbar-brand {
font-family: 'Space Mono', monospace;
font-size: 1.2rem;
font-weight: 700;
color: var(--text-primary) !important;
text-decoration: none;
letter-spacing: -1px;
}

.accent {
color: var(--accent);
}

.navbar-nav {
gap: 2rem;
}

.nav-link {
color: var(--text-secondary) !important;
font-weight: 500;
font-size: 0.9rem;
text-decoration: none;
transition: all 0.2s ease;
position: relative;
}

.nav-link:hover {
color: var(--text-primary) !important;
}

.nav-link.contact {
color: var(--accent) !important;
}

.hamburger {
width: 20px;
height: 14px;
display: flex;
flex-direction: column;
justify-content: space-between;
cursor: pointer;
}

.hamburger span {
width: 100%;
height: 1px;
background-color: var(--text-primary);
}

/* Hero */
.hero-dark {
min-height: 100vh;
display: flex;
align-items: center;
position: relative;
background-color: var(--bg-primary);
overflow: hidden;
}

.glitch-overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(
45deg,
transparent 48%,
var(--accent) 50%,
transparent 52%
);
opacity: 0.03;
pointer-events: none;
transition: opacity 0.1s ease;
}

.hero-content {
text-align: center;
max-width: 800px;
margin: 0 auto;
}

.hero-tag {
display: inline-block;
padding: 0.5rem 1rem;
margin-bottom: 2rem;
font-size: 0.8rem;
font-weight: 500;
letter-spacing: 2px;
color: var(--bg-primary);
opacity: 0;
transform: translateY(30px);
}

.hero-tag.animate-in {
opacity: 1;
transform: translateY(0);
}

.hero-title {
font-family: 'Space Mono', monospace;
font-size: clamp(2.5rem, 8vw, 5rem);
font-weight: 700;
line-height: 1;
margin-bottom: 2rem;
letter-spacing: -2px;
}
.glitch {
display: inline-block;
position: relative;
color: var(--text-primary);
opacity: 0;
transform: translateY(50px);
}

.glitch.animate-in {
opacity: 1;
transform: translateY(0);
}

.glitch.glitch-active {
animation: glitchActive 0.3s ease-in-out;
}

.glitch::before,
.glitch::after {
content: attr(data-text);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

.glitch::before {
animation: glitch-1 0.3s infinite linear alternate-reverse;
color: var(--accent);
z-index: -1;
}

.glitch::after {
animation: glitch-2 0.3s infinite linear alternate-reverse;
color: #ff0088;
z-index: -2;
}

@keyframes glitch-1 {
0%, 100% {
clip-path: inset(0 0 0 0);
transform: translate(0);
}
20% {
clip-path: inset(20% 0 30% 0);
transform: translate(-2px, 2px);
}
40% {
clip-path: inset(50% 0 20% 0);
transform: translate(2px, -2px);
}
60% {
clip-path: inset(10% 0 60% 0);
transform: translate(-2px, 1px);
}
80% {
clip-path: inset(80% 0 5% 0);
transform: translate(1px, -1px);
}
}

@keyframes glitch-2 {
0%, 100% {
clip-path: inset(0 0 0 0);
transform: translate(0);
}
20% {
clip-path: inset(60% 0 10% 0);
transform: translate(2px, -1px);
}
40% {
clip-path: inset(20% 0 50% 0);
transform: translate(-2px, 2px);
}
60% {
clip-path: inset(30% 0 40% 0);
transform: translate(1px, -2px);
}
80% {
clip-path: inset(5% 0 80% 0);
transform: translate(-1px, 1px);
}
}

@keyframes glitchActive {
0%, 100% {
transform: translate(0);
}
20% {
transform: translate(-2px, 2px);
}
40% {
transform: translate(2px, -2px);
}
60% {
transform: translate(-2px, 1px);
}
80% {
transform: translate(1px, -1px);
}
}

.hero-text {
font-size: 1.1rem;
color: var(--text-secondary);
margin-bottom: 3rem;
max-width: 600px;
margin-left: auto;
margin-right: auto;
opacity: 0;
transform: translateY(30px);
}

.hero-text.animate-in {
opacity: 1;
transform: translateY(0);
}

.hero-actions {
margin-bottom: 3rem;
opacity: 0;
transform: translateY(30px);
}

.hero-actions.animate-in {
opacity: 1;
transform: translateY(0);
}

.btn-dark {
display: inline-flex;
align-items: center;
gap: 0.5rem;
padding: 1rem 2rem;
background-color: var(--text-primary);
color: var(--bg-primary);
text-decoration: none;
font-weight: 600;
font-size: 0.9rem;
transition: all 0.3s ease;
border: none;
cursor: pointer;
}

.btn-dark:hover {
background-color: var(--accent);
transform: translateY(-2px);
}

.hero-features {
display: flex;
gap: 2rem;
justify-content: center;
flex-wrap: wrap;
}

.feature {
font-size: 0.9rem;
color: var(--text-secondary);
opacity: 0;
transform: translateX(-30px);
}

.feature.animate-in {
opacity: 1;
transform: translateX(0);
}

/* Servicios - Nueva sección profesional */
.services-dark {
padding: 6rem 0;
background-color: var(--bg-secondary);
}

.section-header {
text-align: center;
margin-bottom: 4rem;
}

.section-title {
font-family: 'Space Mono', monospace;
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 1rem;
letter-spacing: -1px;
}

.section-subtitle {
color: var(--text-secondary);
font-size: 1rem;
}

.benefits-container {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
gap: 2rem;
}

.benefit-item {
background-color: var(--bg-tertiary);
border: 1px solid var(--border);
padding: 2rem;
transition: all 0.3s ease;
display: flex;
align-items: flex-start;
gap: 1.5rem;
opacity: 0;
transform: translateY(50px);
}

.benefit-item.animate-in {
opacity: 1;
transform: translateY(0);
}

.benefit-item:hover {
border-color: var(--accent);
transform: translateY(-5px);
}

.benefit-icon {
width: 60px;
height: 60px;
background-color: var(--bg-tertiary);
border: 2px solid var(--accent);
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
color: var(--accent);
font-size: 1.3rem;
flex-shrink: 0;
transition: all 0.3s ease;
opacity: 0;
transform: scale(0.8);
}

.benefit-icon.animate-in {
opacity: 1;
transform: scale(1);
}

.benefit-content {
flex: 1;
opacity: 0;
transform: translateX(-20px);
}

.benefit-content.animate-in {
opacity: 1;
transform: translateX(0);
}

.benefit-content h3 {
font-size: 1.3rem;
font-weight: 600;
margin-bottom: 0.8rem;
color: var(--text-primary);
}

.benefit-content p {
color: var(--text-secondary);
font-size: 0.95rem;
line-height: 1.6;
margin: 0;
}

/* Precios */
.pricing-dark {
padding: 6rem 0;
background-color: var(--bg-primary);
}

.pricing-notice {
text-align: center;
margin-bottom: 3rem;
font-size: 0.9rem;
color: var(--text-secondary);
}

.pricing-box {
background-color: var(--bg-tertiary);
border: 1px solid var(--border);
padding: 2.5rem;
transition: all 0.3s ease;
height: 100%;
position: relative;
opacity: 0;
transform: translateY(50px);
}

.pricing-box.animate-in {
opacity: 1;
transform: translateY(0);
}

.pricing-box:hover {
border-color: var(--accent);
transform: translateY(-10px);
}

.pricing-box.featured {
border-color: var(--accent);
}

.plan-badge {
position: absolute;
top: -12px;
left: 50%;
transform: translateX(-50%);
background-color: var(--accent);
color: var(--bg-primary);
padding: 0.3rem 1rem;
font-size: 0.7rem;
font-weight: 600;
letter-spacing: 1px;
}

.plan-header {
text-align: center;
margin-bottom: 2rem;
opacity: 0;
transform: translateY(20px);
}

.plan-header.animate-in {
opacity: 1;
transform: translateY(0);
}

.plan-header h3 {
font-size: 1.3rem;
font-weight: 600;
margin-bottom: 1rem;
}

.price {
display: flex;
align-items: baseline;
justify-content: center;
gap: 0.5rem;
}

.amount {
font-family: 'Space Mono', monospace;
font-size: 2.5rem;
font-weight: 700;
color: var(--accent);
}

.period {
color: var(--text-secondary);
font-size: 0.9rem;
}

.plan-features {
list-style: none;
padding: 0;
margin: 2rem 0;
}

.plan-features li {
padding: 0.8rem 0;
border-bottom: 1px solid var(--border);
color: var(--text-secondary);
font-size: 0.9rem;
opacity: 0;
transform: translateX(-20px);
}

.plan-features li.animate-in {
opacity: 1;
transform: translateX(0);
}

.plan-features li:last-child {
border-bottom: none;
}

.btn-plan {
width: 100%;
padding: 1rem;
background-color: transparent;
color: var(--text-primary);
border: 1px solid var(--border);
font-weight: 600;
font-size: 0.9rem;
cursor: pointer;
transition: all 0.3s ease;
opacity: 0;
transform: translateY(20px);
}

.btn-plan.animate-in {
opacity: 1;
transform: translateY(0);
}

.btn-plan:hover {
background-color: var(--accent);
color: var(--bg-primary);
border-color: var(--accent);
}

.pricing-box.featured .btn-plan {
background-color: var(--accent);
color: var(--bg-primary);
border-color: var(--accent);
}

/* Footer */
.dark-footer {
background-color: var(--bg-secondary);
padding: 2rem 0;
border-top: 1px solid var(--border);
}

.dark-footer p {
color: var(--text-secondary);
font-size: 0.8rem;
margin: 0;
}

.dark-footer a {
color: var(--accent);
text-decoration: none;
}

.dark-footer a:hover {
text-decoration: underline;
}

/* Animaciones base */
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(30px);
}
to {
opacity: 1;
transform: translateY(0);
}
}

/* Responsive */
@media (max-width: 768px) {
.navbar-nav {
gap: 1rem;
}

.hero-title {
font-size: 2rem;
}

.hero-text {
font-size: 0.9rem;
}

.hero-features {
flex-direction: column;
gap: 1rem;
}


.section-title {
font-size: 1.5rem;
}

.benefits-container {
grid-template-columns: 1fr;
gap: 1.5rem;
}

.benefit-item {
flex-direction: column;
text-align: center;
padding: 1.5rem;
align-items: center;
}

.pricing-box {
margin-bottom: 2rem;
}
}