:root {
    --bg-color: #08111e;
    --surface-color: rgba(255, 255, 255, 0.03);
    --surface-border: rgba(255, 255, 255, 0.08);
    --text-primary: #f8f9fa;
    --text-secondary: #a3a1ad;
    
    --accent-gradient-start: #2361a8;
    --accent-gradient-end: #163b67;
    --accent-glow: rgba(22, 59, 103, 0.5);
    
    --accent-solid: #2361a8;
    --accent-hover: #357bd1;
    
    --danger-color: #ff4b4b;
    --danger-glow: rgba(255, 75, 75, 0.2);
    
    --success-color: #25D366; /* WhatsApp Green */
    --success-glow: rgba(37, 211, 102, 0.3);
    
    --font-heading: 'Outfit', sans-serif;
    --font-body: 'Inter', sans-serif;
    
    --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; background-color: var(--bg-color); color: var(--text-primary); font-family: var(--font-body); overflow-x: hidden; }
body { position: relative; overflow-x: hidden; line-height: 1.6; }

/* Background blob */
.blob-bg { position: absolute; top: -20vh; left: -10vw; width: 60vw; height: 60vw; background: radial-gradient(circle, var(--accent-glow) 0%, rgba(11,9,20,0) 70%); z-index: -1; filter: blur(80px); opacity: 0.6; animation: pulseBlob 15s infinite alternate ease-in-out; }
@keyframes pulseBlob { 0% { transform: scale(1) translate(0, 0); } 100% { transform: scale(1.2) translate(5vw, 5vh); } }

.container { max-width: 1200px; margin: 0 auto; padding: 0 2rem; }
h1, h2, h3, h4, h5, h6 { font-family: var(--font-heading); font-weight: 800; line-height: 1.2; }
.gradient-text { background: linear-gradient(135deg, var(--accent-gradient-start), #00d2ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; }

/* Typography */
.title { font-size: 2.5rem; margin-bottom: 1rem; }
.subtitle { font-size: 1.125rem; color: var(--text-secondary); max-width: 600px; margin-bottom: 2rem; }

/* Buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; padding: 0.8rem 1.75rem; border-radius: 50px; font-family: var(--font-heading); font-weight: 600; text-decoration: none; transition: var(--transition-smooth); cursor: pointer; border: none; outline: none; font-size: 1rem; }
.btn-primary { background: linear-gradient(135deg, var(--accent-gradient-start), var(--accent-gradient-end)); color: white; box-shadow: 0 4px 15px var(--accent-glow); }
.btn-primary:hover { box-shadow: 0 8px 25px var(--accent-glow); transform: translateY(-2px); }
.btn-secondary { background: var(--surface-color); color: var(--text-primary); border: 1px solid var(--surface-border); backdrop-filter: blur(10px); }
.btn-secondary:hover { background: rgba(255, 255, 255, 0.1); transform: translateY(-2px); }
.btn-outline { background: transparent; color: var(--text-primary); border: 1px solid var(--surface-border); }
.btn-outline:hover { border-color: var(--accent-solid); color: var(--accent-hover); }
.btn-wpp { background: var(--success-color); color: white; box-shadow: 0 4px 15px var(--success-glow); }
.btn-wpp:hover { background: #1ebe57; box-shadow: 0 8px 25px var(--success-glow); transform: translateY(-2px); }
.full-width { width: 100%; }
.mt-auto { margin-top: auto; }

/* Navbar */
.navbar { position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; padding: 1.5rem 0; transition: var(--transition-smooth); backdrop-filter: blur(15px); -webkit-backdrop-filter: blur(15px); background: rgba(11, 9, 20, 0.4); border-bottom: 1px solid rgba(255,255,255,0.05); }
.navbar.scrolled { padding: 1rem 0; background: rgba(11, 9, 20, 0.85); border-bottom: 1px solid var(--surface-border); }
.nav-content { display: flex; justify-content: space-between; align-items: center; }
.logo img { height: 45px; width: auto; }
.nav-links { display: flex; align-items: center; gap: 2rem; }
.nav-links a:not(.btn) { color: var(--text-secondary); text-decoration: none; font-weight: 500; font-family: var(--font-heading); transition: var(--transition-smooth); position: relative; }
.nav-links a:not(.btn):hover { color: var(--text-primary); }
.nav-links a:not(.btn)::after { content: ''; position: absolute; bottom: -5px; left: 0; width: 0%; height: 2px; background: var(--accent-gradient-start); transition: var(--transition-smooth); }
.nav-links a:not(.btn):hover::after { width: 100%; }

.lang-switch { color: var(--text-secondary); font-family: var(--font-heading); font-weight: 500; font-size: 0.9rem; white-space: nowrap; }
.lang-switch a { color: var(--text-secondary); text-decoration: none; transition: var(--transition-smooth); }
.lang-switch a:hover { color: var(--accent-hover); }
.lang-switch strong { color: var(--text-primary); }

.menu-toggle { display: none; flex-direction: column; gap: 6px; cursor: pointer; }
.menu-toggle .bar { width: 25px; height: 2px; background-color: var(--text-primary); transition: var(--transition-smooth); }

/* Reveal Animation */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal.active { opacity: 1; transform: translateY(0); }

/* Hero */
.hero { min-height: 100vh; display: flex; align-items: center; padding-top: 100px; padding-bottom: 50px; }
.hero-content { max-width: 800px; text-align: center; display: flex; flex-direction: column; align-items: center; position: relative; z-index: 2; margin: 0 auto; }
.hero-title { font-size: clamp(3rem, 6vw, 4.5rem); margin-bottom: 1.5rem; }
.hero-subtitle { font-size: clamp(1.1rem, 2vw, 1.25rem); color: var(--text-secondary); max-width: 650px; margin-bottom: 2.5rem; }
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; }

/* Graphics */
.hero-graphics { position: absolute; width: 100%; height: 100vh; top: 0; left: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.glass-card { position: absolute; background: var(--surface-color); border: 1px solid var(--surface-border); backdrop-filter: blur(15px); border-radius: 24px; }
.floating { animation: float 6s ease-in-out infinite; }
@keyframes float { 0% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-20px) rotate(2deg); } 100% { transform: translateY(0px) rotate(0deg); } }

.dataviz-card { width: 260px; height: 140px; right: 10%; bottom: 25%; transform: perspective(1000px) rotateY(-15deg) rotateX(10deg); display: flex; align-items: center; padding: 20px; gap: 15px; }
.dataviz-card .icon-stat { font-size: 3rem; opacity: 0.8; }
.dataviz-card .lines { flex: 1; display: flex; flex-direction: column; gap: 12px; }
.dataviz-card .lines div { height: 8px; border-radius: 4px; background: var(--surface-border); }
.dataviz-card .lines .line-1 { width: 100%; } 
.dataviz-card .lines .line-2 { width: 60%; background: var(--accent-gradient-start); }

/* Common Section */
.problems, .services, .benefits, .pricing, .about, .contact-cta { padding: 5rem 0; position: relative; z-index: 2; }
.section-header { text-align: center; display: flex; flex-direction: column; align-items: center; margin-bottom: 4rem; }

/* Problems */
.problems-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; }
.problem-card { background: linear-gradient(145deg, rgba(255, 75, 75, 0.05), rgba(0,0,0,0.2)); border: 1px solid rgba(255, 75, 75, 0.1); padding: 2rem; border-radius: 20px; transition: var(--transition-smooth); }
.problem-card:hover { transform: translateY(-5px); border-color: rgba(255, 75, 75, 0.3); box-shadow: 0 10px 30px var(--danger-glow); }
.problem-icon { font-size: 2.5rem; margin-bottom: 1rem; }
.problem-card h3 { font-size: 1.3rem; margin-bottom: 0.8rem; color: #ffebf0; }
.problem-card p { color: var(--text-secondary); font-size: 0.95rem; }

/* Services / Soluciones */
.services-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 2rem; }
.service-card { background: var(--surface-color); border: 1px solid var(--surface-border); padding: 2rem; border-radius: 24px; transition: var(--transition-smooth); position: relative; overflow: hidden; }
.service-card:hover { transform: translateY(-10px); border-color: rgba(142, 45, 226, 0.3); box-shadow: 0 10px 40px rgba(0,0,0,0.4); }
.service-icon { font-size: 3rem; margin-bottom: 1.2rem; }
.service-card h3 { font-size: 1.4rem; margin-bottom: 1rem; }
.service-card p { color: var(--text-secondary); font-size: 0.95rem; }

/* Benefits */
.benefits-glass { background: linear-gradient(145deg, rgba(37, 211, 102, 0.05), rgba(0,0,0,0.2)); border: 1px solid rgba(37, 211, 102, 0.15); backdrop-filter: blur(10px); border-radius: 30px; padding: 4rem; text-align: center; }
.benefits-content { max-width: 800px; margin: 0 auto; }
.benefits-content .title { margin-bottom: 2rem; }
.benefits-list { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; text-align: left; }
.benefits-list li { display: flex; align-items: flex-start; gap: 10px; font-size: 1.1rem; }
.benefits-list .check { display: inline-block; flex-shrink: 0; }

/* Pricing */
.pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2rem; margin-bottom: 3rem; align-items: center; }
.pricing-card { background: var(--surface-color); border: 1px solid var(--surface-border); border-radius: 24px; padding: 3rem 2rem; display: flex; flex-direction: column; transition: var(--transition-smooth); position: relative; }
.pricing-card:hover { border-color: var(--accent-solid); transform: translateY(-5px); }
.pricing-card.featured { background: linear-gradient(180deg, rgba(142, 45, 226, 0.1) 0%, rgba(11, 9, 20, 0) 100%); border-color: var(--accent-solid); transform: scale(1.05); box-shadow: 0 15px 40px var(--accent-glow); z-index: 2; }
.pricing-card.featured:hover { transform: scale(1.07); }
.popular-badge { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); background: linear-gradient(135deg, var(--accent-gradient-start), var(--accent-gradient-end)); color: white; padding: 5px 15px; border-radius: 20px; font-size: 0.85rem; font-weight: 600; font-family: var(--font-heading); }

.pricing-header { text-align: center; border-bottom: 1px solid var(--surface-border); padding-bottom: 1.5rem; margin-bottom: 1.5rem; }
.pricing-header h3 { font-size: 1.8rem; margin-bottom: 0.5rem; }
.price-desc { color: var(--text-secondary); font-size: 0.9rem; margin-bottom: 1rem; }
.price { font-size: 2.5rem; font-family: var(--font-heading); font-weight: 800; color: white; display: flex; flex-direction: column; align-items: center; }
.price span { font-size: 0.9rem; color: var(--text-secondary); font-weight: 400; }
.price small { font-size: 1rem; color: var(--text-secondary); }

.pricing-features { list-style: none; margin-bottom: 2rem; flex: 1; }
.pricing-features li { padding: 0.8rem 0; border-bottom: 1px solid rgba(255,255,255,0.02); display: flex; align-items: center; }
.pricing-features li::before { content: '✓'; color: #00d2ff; font-weight: bold; margin-right: 10px; }

.pricing-maint { background: rgba(0,0,0,0.3); border-radius: 12px; padding: 1rem; text-align: center; margin-bottom: 2rem; font-size: 0.95rem; border: 1px border var(--surface-border); }
.pricing-maint span { color: var(--text-secondary); }
.pricing-maint strong { color: #f8f9fa; font-size: 1.1rem; }

.pricing-note { text-align: center; color: var(--text-secondary); max-width: 800px; margin: 0 auto; padding: 2rem; background: var(--surface-color); border-radius: 16px; border: 1px dashed var(--surface-border); }

/* About */
.about-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; align-items: center; }
.about-text p { color: var(--text-secondary); font-size: 1.1rem; margin-bottom: 2rem; }
.differentiators { list-style: none; display: flex; flex-direction: column; gap: 1.5rem; }
.differentiators li { display: flex; gap: 1rem; }
.diff-icon { width: 30px; height: 30px; border-radius: 50%; background: var(--accent-solid); color: white; display: flex; align-items: center; justify-content: center; font-size: 0.9rem; flex-shrink: 0; margin-top: 5px; }

.about-visuals { position: relative; height: 350px; display: flex; align-items: center; justify-content: center; }
.glow-orb { position: absolute; width: 300px; height: 300px; background: radial-gradient(circle, var(--accent-solid) 0%, transparent 60%); filter: blur(50px); opacity: 0.3; z-index: 1; }
.about-logo { max-width: 250px; position: relative; z-index: 2; }

/* Contact CTA */
.glass-panel { background: linear-gradient(145deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01)); border: 1px solid var(--surface-border); backdrop-filter: blur(20px); border-radius: 30px; padding: 5rem 3rem; text-align: center; }
.cta-container .title { margin-bottom: 1rem; }
.cta-container p { color: var(--text-secondary); margin-bottom: 3rem; font-size: 1.125rem; }
.final-actions { display: flex; justify-content: center; }

/* Footer */
footer { border-top: 1px solid var(--surface-border); padding-top: 4rem; background: rgba(0,0,0,0.5); position: relative; z-index: 2; }
.footer-content { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 3rem; margin-bottom: 3rem; }
.footer-brand { max-width: 300px; }
.footer-logo { height: 40px; margin-bottom: 1.5rem; }
.footer-brand p { color: var(--text-secondary); }
.footer-links { display: flex; gap: 4rem; flex-wrap: wrap; }
.link-col h4 { margin-bottom: 1.5rem; font-size: 1.2rem; }
.link-col { display: flex; flex-direction: column; gap: 1rem; }
.link-col a { color: var(--text-secondary); text-decoration: none; transition: var(--transition-smooth); }
.link-col a:hover { color: var(--accent-solid); }
.form-footer-bar { padding: 2rem 0; border-top: 1px solid var(--surface-border); text-align: center; color: var(--text-secondary); font-size: 0.9rem; }

/* Portfolio */
.portfolio-item { display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; align-items: center; }
.portfolio-visuals { position: relative; height: 100%; min-height: 400px; display: flex; align-items: center; justify-content: center; transform-style: preserve-3d; perspective: 1000px; }
.portfolio-visuals .mockup { position: absolute; border-radius: 20px; box-shadow: 0 20px 40px rgba(0,0,0,0.5); transition: var(--transition-smooth); border: 2px solid rgba(255,255,255,0.05); }
.portfolio-visuals .mockup-1 { width: 50%; left: 10%; transform: rotateY(15deg) translateZ(0); z-index: 1; }
.portfolio-visuals .mockup-2 { width: 50%; right: 10%; transform: rotateY(-15deg) translateZ(30px); z-index: 2; margin-top: 60px; }
.portfolio-visuals:hover .mockup-1 { transform: rotateY(0) translateZ(30px) translateX(-20px); }
.portfolio-visuals:hover .mockup-2 { transform: rotateY(0) translateZ(60px) translateX(20px); }

/* Floating WhatsApp Element */
.float-wpp { position: fixed; bottom: 30px; right: 30px; width: 60px; height: 60px; background-color: var(--success-color); color: white; border-radius: 50%; display: flex; justify-content: center; align-items: center; box-shadow: 0 4px 10px rgba(0,0,0,0.3); z-index: 1000; transition: var(--transition-smooth); }
.float-wpp:hover { background-color: #1ebe57; transform: scale(1.1); box-shadow: 0 6px 15px rgba(37, 211, 102, 0.4); }

/* Media Queries */
@media (max-width: 992px) {
    .pricing-grid { grid-template-columns: 1fr; gap: 3rem; max-width: 500px; margin: 0 auto 3rem; }
    .pricing-card.featured { transform: scale(1); }
    .pricing-card.featured:hover { transform: translateY(-5px); }
    
    .portfolio-item { grid-template-columns: 1fr; gap: 3rem; }
    .portfolio-visuals { min-height: 350px; }
    .portfolio-visuals .mockup-1 { left: 5%; width: 45%; }
    .portfolio-visuals .mockup-2 { right: 5%; width: 45%; margin-top: 30px;}

    .about-grid { grid-template-columns: 1fr; gap: 3rem; }
    .about-visuals { order: -1; }
}

@media (max-width: 768px) {
    .benefits-list { grid-template-columns: 1fr; }
    .benefits-glass { padding: 2.5rem 1.5rem; }
    
    .nav-links { position: fixed; top: 80px; left: 0; width: 100%; background: rgba(11, 9, 20, 0.98); backdrop-filter: blur(15px); flex-direction: column; padding: 2rem 0; gap: 1.5rem; border-bottom: 1px solid var(--surface-border); clip-path: polygon(0 0, 100% 0, 100% 0, 0 0); transition: clip-path 0.4s ease-in-out; }
    .nav-links.active { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
    .menu-toggle { display: flex; }
    .menu-toggle.active .bar:nth-child(1) { transform: translateY(8px) rotate(45deg); }
    .menu-toggle.active .bar:nth-child(2) { opacity: 0; }
    .menu-toggle.active .bar:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }
    
    .hero-graphics { display: none; }
    .glass-panel { padding: 3rem 1.5rem; }
    .footer-content { flex-direction: column; }
    
    .float-wpp { bottom: 20px; right: 20px; width: 50px; height: 50px; }
    .float-wpp svg { width: 25px; height: 25px; }
}
