*, *::before, *::after {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  position: relative;
}
html{scroll-behavior:smooth;font-size:16px;overscroll-behavior:none}
body{background:#050508;color:#e8e8f0;font-family:'Outfit',sans-serif;line-height:1.5;overflow-wrap: break-word;word-wrap: break-word;word-break: break-word;hyphens: auto;min-height:100vh;}
img, svg, canvas{max-width:100%}

/* ===== INTRO CURTAIN ===== */
#intro-curtain{position:fixed;inset:0;z-index:9999;background:#050508;display:none;align-items:center;justify-content:center;transition:transform 1.2s cubic-bezier(.7,0,.3,1), border-radius 1.2s cubic-bezier(.7,0,.3,1)}
.js #intro-curtain{display:flex;animation:curtainFailSafe .01s 5.2s forwards}
.curtain-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;transition:all .6s ease}
.curtain-logo{display:flex;justify-content:center;margin-bottom:1.5rem;opacity:0;transform:translateY(15px);animation:curtainFadeIn .8s .15s cubic-bezier(.4,0,.2,1) forwards}
.site-logo{height:65px;width:auto;object-fit:contain}
.curtain-title{font-family:'Space Grotesk',sans-serif;font-size:1.3rem;font-weight:800;color:#fff;letter-spacing:.4em;text-transform:uppercase;margin-bottom:.4rem;margin-left:.4em;opacity:0;transform:translateY(15px);animation:curtainFadeIn .8s .25s cubic-bezier(.4,0,.2,1) forwards;text-align:center}
.curtain-subtitle{font-family:'Outfit',sans-serif;font-size:.65rem;font-weight:600;color:rgba(255,255,255,.4);letter-spacing:.3em;text-transform:uppercase;margin-bottom:2.5rem;margin-left:.3em;opacity:0;transform:translateY(15px);animation:curtainFadeIn .8s .35s cubic-bezier(.4,0,.2,1) forwards;text-align:center}
@keyframes curtainFadeIn{to{opacity:1;transform:translateY(0)}}
@keyframes curtainFailSafe{to{opacity:0;visibility:hidden;pointer-events:none}}
@keyframes introFailSafe{to{opacity:1;transform:none}}
.elegant-progress-wrap{width:220px;height:2px;background:rgba(255,255,255,.05);border-radius:2px;overflow:hidden;position:relative;opacity:0;animation:curtainFadeIn .8s .4s cubic-bezier(.4,0,.2,1) forwards}
.elegant-progress{position:absolute;top:0;left:0;height:100%;width:0%;background:linear-gradient(90deg,transparent,#fff);box-shadow:0 0 10px rgba(255,255,255,.5);transition:width .1s linear}
#intro-curtain.curtain-exit .curtain-content{opacity:0;transform:translateY(-30px);filter:blur(4px)}
#intro-curtain.curtain-exit{transform:translateY(-100%);border-bottom-left-radius:30%;border-bottom-right-radius:30%;pointer-events:none}
#intro-curtain.curtain-gone{display:none}

/* ===== INTRO HERO ELEMENTS ===== */
.intro-el{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.js .intro-el{opacity:0;transform:translateY(30px);animation:introFailSafe .01s 5.2s forwards}
.intro-el.revealed,.js .intro-el.revealed{opacity:1;transform:translateY(0)}

/* Nav intro */
.nav-hidden{opacity:1;transform:none;transition:opacity .5s ease,transform .5s ease}
.js .nav-hidden{opacity:0;transform:translateY(-20px);animation:introFailSafe .01s 5.2s forwards}
.nav-hidden.nav-show,.js .nav-hidden.nav-show{opacity:1;transform:translateY(0)}

/* CTA pulse after reveal */
.btn-pulse{position:relative}
.btn-pulse.pulsing::after{content:'';position:absolute;inset:-4px;border-radius:50px;background:linear-gradient(135deg,#6c63ff,#a78bfa);opacity:0;animation:ctaPulse 2s ease-in-out 1}
@keyframes ctaPulse{0%{opacity:.6;transform:scale(1)}100%{opacity:0;transform:scale(1.3)}}

/* ===== CURSOR (removed) =====*/

/* ===== CANVAS ===== */
#hero-canvas{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}

/* ===== NAV ===== */
#navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:1.2rem 0;transition:all .4s}
#navbar.scrolled{background:rgba(5,5,8,.85);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.06);padding:.8rem 0}
.nav-container{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;width:100%;overflow:hidden;}
.nav-logo{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:800;color:#fff;text-decoration:none;letter-spacing:-1px}
.site-logo-nav{height:32px;width:auto;object-fit:contain}
.logo-v{color:#6c63ff}
.logo-accent{color:#6c63ff}
.nav-links{display:flex;gap:2rem;list-style:none;align-items:center}
.nav-links a{color:rgba(232,232,240,.7);text-decoration:none;font-size:.9rem;font-weight:500;transition:color .3s;letter-spacing:.02em}
.nav-links a:hover{color:#fff}
.nav-cta{background:linear-gradient(135deg,#6c63ff,#a78bfa);color:#fff!important;padding:.5rem 1.2rem;border-radius:50px;transition:all .3s!important;box-shadow:0 0 20px rgba(108,99,255,.3)}
.nav-cta:hover{box-shadow:0 0 30px rgba(108,99,255,.6)!important;transform:translateY(-1px)}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:.5rem}
.hamburger span{display:block;width:24px;height:2px;background:#fff;transition:all .3s;border-radius:2px}
.mobile-menu{display:none;flex-direction:column;background:rgba(5,5,8,.97);padding:2rem;gap:1.5rem;border-top:1px solid rgba(255,255,255,.06)}
.mobile-menu a{color:rgba(232,232,240,.8);text-decoration:none;font-size:1.1rem;font-weight:500;transition:color .3s}
.mobile-menu a:hover{color:#6c63ff}
.mobile-menu.open{display:flex}

/* ===== HERO ===== */
#hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;z-index:1;padding:8rem 2rem 4rem;overflow:hidden;width:100%;max-width:100vw;}
.hero-content{position:relative;z-index:2;max-width:900px;width:100%;margin:0 auto}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(108,99,255,.12);border:1px solid rgba(108,99,255,.3);color:#a78bfa;padding:.4rem 1rem;border-radius:50px;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2rem}
.hero-title{font-family:'Space Grotesk',sans-serif;font-size:clamp(2.2rem, 12vw, 6.5rem);font-weight:800;line-height:1.05;letter-spacing:-0.04em;color:#fff;margin-bottom:1.5rem;overflow-wrap: break-word;}
.gradient-text{background:linear-gradient(135deg,#6c63ff 0%,#a78bfa 50%,#67e8f9 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{font-size:clamp(0.95rem, 2.5vw, 1.25rem);color:rgba(232,232,240,.6);line-height:1.6;margin-bottom:2.5rem;max-width:700px;margin-left:auto;margin-right:auto;padding:0 1rem;}
.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#6c63ff,#a78bfa);color:#fff;padding:.9rem 2rem;border-radius:50px;text-decoration:none;font-weight:600;font-size:.95rem;transition:all .3s;box-shadow:0 0 30px rgba(108,99,255,.4);border:none;cursor:pointer}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 0 50px rgba(108,99,255,.6)}
.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;background:transparent;color:#fff;padding:.9rem 2rem;border-radius:50px;text-decoration:none;font-weight:600;font-size:.95rem;border:1px solid rgba(255,255,255,.2);transition:all .3s}
.btn-ghost:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4);transform:translateY(-3px)}
.btn-large{padding:1.1rem 2.5rem;font-size:1rem}
.btn-full{width:100%;justify-content:center}
.hero-stats{display:flex;align-items:center;justify-content:center;gap:2rem}
.stat{text-align:center}
.stat-num{font-family:'Space Grotesk',sans-serif;font-size:2.2rem;font-weight:800;background:linear-gradient(135deg,#6c63ff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.stat span{color:#6c63ff;font-weight:800;font-size:1.5rem}
.stat p{color:rgba(232,232,240,.5);font-size:.8rem;margin-top:.2rem;text-transform:uppercase;letter-spacing:.1em}
.stat-div{width:1px;height:40px;background:rgba(255,255,255,.1)}
.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;color:rgba(232,232,240,.4);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}
.scroll-line{width:1px;height:40px;background:linear-gradient(to bottom,transparent,#6c63ff);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:.3;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.2)}}

/* ===== HERO TRUST LINE ===== */
.hero-trust-line{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem .65rem;color:rgba(232,232,240,.5);font-size:.82rem;margin-bottom:3rem;letter-spacing:.02em}
.trust-item{display:inline-flex;align-items:center;gap:.25rem;white-space:nowrap}
.trust-check{color:#22c55e;font-weight:700;margin-right:.2rem}
.trust-sep{color:rgba(255,255,255,.2);margin:0 .6rem}

/* ===== TRUST BAR ===== */
.trust-bar{padding:3rem 0;border-bottom:1px solid rgba(255,255,255,.06);position:relative;z-index:1}
.trust-bar-label{text-align:center;font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(232,232,240,.35);margin-bottom:1.5rem}
.trust-logos{display:flex;align-items:center;justify-content:center;gap:3rem;flex-wrap:wrap}
.trust-logo{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;font-weight:700;color:rgba(232,232,240,.2);letter-spacing:-.5px;transition:color .3s}
.trust-logo:hover{color:rgba(232,232,240,.5)}

/* ===== MARQUEE ===== */
.marquee-wrapper{overflow:hidden;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02);padding:.9rem 0;position:relative;z-index:1}
.marquee-wrapper::before, .marquee-wrapper::after{content:'';position:absolute;top:0;width:150px;height:100%;z-index:2;pointer-events:none}
.marquee-wrapper::before{left:0;background:linear-gradient(to right,#050508,transparent)}
.marquee-wrapper::after{right:0;background:linear-gradient(to left,#050508,transparent)}
.marquee-track{display:flex;animation:marquee 40s linear infinite;white-space:nowrap;width:max-content}
.marquee-track span{font-size:.85rem;font-weight:600;color:rgba(232,232,240,.4);letter-spacing:.1em;text-transform:uppercase;margin-right:3rem;display:flex;align-items:center}
.marquee-track .dot{color:#6c63ff;font-size:.6rem;margin-right:3rem}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ===== SECTIONS ===== */
.section{padding:7rem 0;position:relative;z-index:1;overflow:hidden;width:100%;max-width:100vw;}
.section-dark{background:rgba(255,255,255,.02)}
.container{max-width:1200px;margin:0 auto;padding:0 2rem}
.section-header{text-align:center;margin-bottom:4rem}
.section-label{font-size:.75rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#6c63ff;margin-bottom:1rem}
.section-header h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.8rem, 8vw, 3.5rem);font-weight:800;color:#fff;letter-spacing:-1px;line-height:1.2}
.section-subtitle{color:rgba(232,232,240,.5);font-size:1rem;margin-top:.8rem;max-width:600px;margin-left:auto;margin-right:auto;line-height:1.6;padding:0 1rem}

/* ===== RESULTS ===== */
.results-section{background:rgba(108,99,255,.03)}
.results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}
.result-card{text-align:center;padding:2.5rem 1.5rem;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:20px;transition:all .4s}
.result-card:hover{border-color:rgba(108,99,255,.3);transform:translateY(-4px)}
.result-num{font-family:'Space Grotesk',sans-serif;font-size:3rem;font-weight:700;background:linear-gradient(135deg,#6c63ff,#67e8f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.5rem;line-height:1}
.result-card p{color:rgba(232,232,240,.55);font-size:.88rem;line-height:1.6}

/* ===== SERVICES ===== */
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.service-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:2rem;transition:all .4s;position:relative;overflow:hidden}
.service-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(108,99,255,.05),transparent);opacity:0;transition:opacity .4s}
.service-card:hover{border-color:rgba(108,99,255,.3);transform:translateY(-6px);box-shadow:0 20px 60px rgba(108,99,255,.15)}
.service-card:hover::before{opacity:1}
.service-card.featured{border-color:rgba(108,99,255,.3);background:linear-gradient(135deg,rgba(108,99,255,.08),rgba(167,139,250,.04))}
.featured-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#6c63ff,#a78bfa);color:#fff;font-size:.65rem;font-weight:700;padding:.25rem .7rem;border-radius:50px;letter-spacing:.08em;text-transform:uppercase}
.service-icon{font-size:2rem;margin-bottom:1rem}
.service-card h3{font-family:'Space Grotesk',sans-serif;font-size:1.2rem;font-weight:700;color:#fff;margin-bottom:.7rem}
.service-card p{color:rgba(232,232,240,.55);font-size:.9rem;line-height:1.7}
.service-link{display:inline-block;margin-top:1.2rem;color:#6c63ff;font-size:.85rem;font-weight:600;text-decoration:none;transition:gap .3s}
.service-link:hover{color:#a78bfa}

/* ===== PORTFOLIO ===== */
.portfolio-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:1.5rem}
.portfolio-card{border-radius:20px;overflow:hidden;cursor:pointer}
.portfolio-wide{grid-column:1/-1}
.portfolio-img{position:relative;height:320px;overflow:hidden;transition:transform .4s}
.portfolio-wide .portfolio-img{height:280px}
.portfolio-card:hover .portfolio-img{transform:scale(1.02)}
.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,8,.95) 0%,rgba(5,5,8,.4) 60%,transparent 100%);padding:2rem;display:flex;flex-direction:column;justify-content:flex-end;opacity:0;transform:translateY(20px);transition:all .4s;z-index:2}
.portfolio-card:hover .portfolio-overlay, .portfolio-card:active .portfolio-overlay{opacity:1;transform:translateY(0)}
.portfolio-tag{font-size:.7rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#6c63ff;margin-bottom:.5rem}
.portfolio-overlay h3{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.2rem, 3vw, 1.6rem);color:#fff;margin-bottom:.5rem}
.portfolio-overlay p{color:rgba(232,232,240,.8);font-size:.85rem;line-height:1.6;margin-bottom:1.2rem}
.portfolio-link{color:#a78bfa;font-size:.9rem;font-weight:600;text-decoration:none;transition:color .3s;display:inline-block}
.portfolio-link:hover{color:#fff}

/* MOCKUPS */
.portfolio-mockup{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:220px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;overflow:hidden;backdrop-filter:blur(10px);z-index:1}
.mockup-bar{height:28px;background:rgba(255,255,255,.06);display:flex;align-items:center;padding:0 10px;gap:5px}
.mockup-bar::before,.mockup-bar::after{content:'';width:8px;height:8px;border-radius:50%}
.mockup-bar::before{background:rgba(255,100,100,.4)}
.mockup-bar::after{background:rgba(100,255,100,.3)}
.mockup-content{padding:12px}
.mockup-line{height:6px;background:rgba(255,255,255,.1);border-radius:3px;margin-bottom:6px}
.w80{width:80%}.w60{width:60%}.w90{width:90%}.w50{width:50%}.w40{width:40%}
.mockup-img-placeholder{height:80px;background:linear-gradient(135deg,rgba(108,99,255,.2),rgba(167,139,250,.1));border-radius:6px;margin:8px 0}
.mockup-chart{display:flex;align-items:flex-end;gap:4px;height:60px;margin-bottom:8px}
.bar{flex:1;background:linear-gradient(to top,#6c63ff,#a78bfa);border-radius:3px 3px 0 0;opacity:.6}
.mockup-hero-text{font-family:'Space Grotesk',sans-serif;font-size:2rem;font-weight:800;text-align:center;color:rgba(255,255,255,.15);letter-spacing:8px;margin-bottom:8px}

/* ===== PROCESS ===== */
.process-steps{display:flex;align-items:flex-start;gap:0}
.process-step{flex:1;display:flex;gap:1.2rem;align-items:flex-start}
.step-num{font-family:'Space Grotesk',sans-serif;font-size:3rem;font-weight:800;color:rgba(108,99,255,.2);line-height:1;flex-shrink:0}
.step-content h3{font-family:'Space Grotesk',sans-serif;font-size:1.1rem;color:#fff;margin-bottom:.6rem;margin-top:.3rem}
.step-content p{color:rgba(232,232,240,.55);font-size:.88rem;line-height:1.7}
.process-connector{width:60px;flex-shrink:0;height:2px;background:linear-gradient(90deg,rgba(108,99,255,.4),rgba(108,99,255,.1));margin-top:1.8rem}

/* ===== ABOUT ===== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;width:100%;min-width:0}
.about-text{min-width:0;max-width:680px;width:100%}
.about-text h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:800;color:#fff;margin:1rem 0 1.5rem;letter-spacing:-1px}
.about-desc{max-width:640px;color:rgba(232,232,240,.6);line-height:1.8;margin-bottom:1rem;font-size:.95rem;overflow-wrap:normal;word-break:normal;hyphens:none}
.about-tech{grid-column:1/-1;width:100%;min-width:0;overflow:hidden}
.tech-stack-wrap{overflow:hidden;width:100%;max-width:100%;margin-top:3rem;position:relative}
.tech-stack-wrap::before, .tech-stack-wrap::after{content:'';position:absolute;top:0;width:100px;height:100%;z-index:2;pointer-events:none}
.tech-stack-wrap::before{left:0;background:linear-gradient(to right,#050508,transparent)}
.tech-stack-wrap::after{right:0;background:linear-gradient(to left,#050508,transparent)}
.tech-track{display:flex;width:max-content;animation:techMarquee 35s linear infinite}
.tech-track span{background:rgba(108,99,255,.05);border:1px solid rgba(108,99,255,.15);color:#a78bfa;padding:.4rem 1.2rem;border-radius:50px;font-size:.8rem;font-weight:600;margin-right:1.5rem;flex-shrink:0}
@keyframes techMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.about-visual{position:relative;z-index:3;display:flex;justify-content:center;min-height:240px}
.about-card-stack{position:relative;z-index:4;width:300px;height:280px}
.about-card{position:absolute;border-radius:20px;width:260px;height:220px}
.card-back{background:rgba(108,99,255,.05);border:1px solid rgba(108,99,255,.1);top:30px;left:30px;transform:rotate(6deg);z-index:1}
.card-mid{background:rgba(108,99,255,.08);border:1px solid rgba(108,99,255,.15);top:15px;left:15px;transform:rotate(3deg);z-index:2}
.about-brand-card{position:relative;width:260px;height:220px;border-radius:20px;background:linear-gradient(135deg,rgba(108,99,255,.28),rgba(167,139,250,.12) 48%,rgba(103,232,249,.08));border:1px solid rgba(167,139,250,.42);padding:1.35rem;display:flex;flex-direction:column;justify-content:center;backdrop-filter:blur(10px);box-shadow:0 24px 70px rgba(108,99,255,.18);overflow:hidden;z-index:3}
.about-brand-mark{height:70px;display:flex;align-items:center;margin-bottom:.9rem}
.about-brand-mark img{display:block;width:auto;height:100%;max-width:120px;object-fit:contain;filter:drop-shadow(0 12px 22px rgba(108,99,255,.35))}
.about-brand-card h4{color:#fff;font-weight:700;font-size:.9rem;margin-bottom:.5rem}
.card-big-num{font-family:'Space Grotesk',sans-serif;font-size:3rem;font-weight:800;background:linear-gradient(135deg,#6c63ff,#a78bfa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.card-bar-wrap{height:4px;background:rgba(255,255,255,.1);border-radius:2px;margin:.8rem 0 .5rem}
.card-bar{height:100%;background:linear-gradient(90deg,#6c63ff,#a78bfa);border-radius:2px}
.about-brand-card p{color:rgba(232,232,240,.5);font-size:.78rem}

/* ===== TESTIMONIALS ===== */
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.testimonial-card{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:20px;padding:2rem;transition:all .4s}
.testimonial-card:hover{border-color:rgba(108,99,255,.25);transform:translateY(-4px)}
.testimonial-stars{color:#6c63ff;font-size:1rem;margin-bottom:1rem;letter-spacing:2px}
.testimonial-card p{color:rgba(232,232,240,.7);font-size:.9rem;line-height:1.7;margin-bottom:1.5rem;font-style:italic}
.testimonial-author{display:flex;align-items:center;gap:.8rem}
.author-avatar{width:40px;height:40px;background:linear-gradient(135deg,#6c63ff,#a78bfa);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:#fff;flex-shrink:0}
.testimonial-author strong{display:block;color:#fff;font-size:.88rem}
.testimonial-author span{color:rgba(232,232,240,.45);font-size:.78rem}

/* ===== CTA BAND ===== */
.cta-band{position:relative;padding:6rem 0;text-align:center;overflow:hidden;z-index:1}
.cta-band-bg{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(108,99,255,.15) 0%,transparent 70%)}
.cta-inner h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;color:#fff;letter-spacing:-1px;margin-bottom:1rem}
.cta-inner p{color:rgba(232,232,240,.6);margin-bottom:2rem;font-size:1rem}
.cta-urgency{margin-top:1.5rem;color:#fbbf24;font-size:.9rem;font-weight:600;animation:urgencyPulse 2s ease-in-out infinite}
@keyframes urgencyPulse{0%,100%{opacity:.7}50%{opacity:1}}

/* ===== GUARANTEE ===== */
.guarantee-section{padding:3rem 0;position:relative;z-index:1}
.guarantee-card{background:linear-gradient(135deg,rgba(34,197,94,.08),rgba(108,99,255,.06));border:1px solid rgba(34,197,94,.2);border-radius:24px;padding:3rem;text-align:center;max-width:700px;margin:0 auto}
.guarantee-icon{font-size:3rem;margin-bottom:1rem}
.guarantee-card h3{font-family:'Space Grotesk',sans-serif;font-size:1.5rem;font-weight:700;color:#fff;margin-bottom:1rem}
.guarantee-card > p{color:rgba(232,232,240,.6);font-size:.95rem;line-height:1.7;margin-bottom:1.5rem}
.guarantee-badges{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}
.guarantee-badges span{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);color:#22c55e;padding:.4rem 1rem;border-radius:50px;font-size:.8rem;font-weight:600}

/* ===== CONTACT ===== */
.contact-grid{display:grid;grid-template-columns:1fr 1.3fr;gap:5rem;align-items:start}
.contact-info h2{font-family:'Space Grotesk',sans-serif;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;color:#fff;margin:1rem 0 1rem;letter-spacing:-1px}
.contact-desc{color:rgba(232,232,240,.6);line-height:1.7;margin-bottom:2rem;font-size:.95rem}
.contact-details{display:flex;flex-direction:column;gap:1.2rem}
.contact-item{display:flex;align-items:center;gap:1rem}
.contact-icon{width:44px;height:44px;background:rgba(108,99,255,.1);border:1px solid rgba(108,99,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0}
.contact-item strong{display:block;color:#fff;font-size:.88rem;font-weight:600}
.contact-item span{color:rgba(232,232,240,.5);font-size:.82rem}
.contact-form{display:flex;flex-direction:column;gap:1.2rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form-group{display:flex;flex-direction:column;gap:.4rem}
.form-group label{font-size:.8rem;font-weight:600;color:rgba(232,232,240,.6);letter-spacing:.04em;text-transform:uppercase}
.form-group input,.form-group select,.form-group textarea{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:.85rem 1rem;color:#e8e8f0;font-family:inherit;font-size:.9rem;transition:all .3s;outline:none}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:rgba(108,99,255,.5);background:rgba(108,99,255,.05);box-shadow:0 0 0 3px rgba(108,99,255,.1)}
.form-group select option{background:#0d0d14}
.form-group textarea{resize:vertical;min-height:120px}
.form-honeypot{display:none}
.form-success{display:none;background:rgba(103,232,249,.1);border:1px solid rgba(103,232,249,.3);color:#67e8f9;padding:1rem;border-radius:12px;text-align:center;font-size:.9rem}
.form-success.show{display:block}
.form-success.error{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.35);color:#fca5a5}
.form-privacy{color:rgba(232,232,240,.4);font-size:.78rem;text-align:center;margin-top:.4rem}
.form-noscript{color:#fbbf24;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.25);padding:.8rem 1rem;border-radius:12px;text-align:center;font-size:.82rem}

/* ===== FAQ ===== */
.faq-container{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}
.faq-item{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:16px;overflow:hidden;transition:all .3s}
.faq-item:hover{border-color:rgba(108,99,255,.3)}
.faq-item.active{border-color:rgba(108,99,255,.5);background:rgba(108,99,255,.05)}
.faq-question{width:100%;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;background:none;border:none;text-align:left;font-family:inherit}
.faq-question h3{font-size:1rem;font-weight:600;color:#fff;margin:0}
.faq-icon{font-size:1.5rem;color:#6c63ff;transition:transform .3s;line-height:1;font-weight:300}
.faq-item.active .faq-icon{transform:rotate(45deg);color:#a78bfa}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(0,1,0,1)}
.faq-item.active .faq-answer{max-height:500px;transition:max-height .4s ease-in-out}
.faq-answer p{padding:0 1.5rem 1.5rem;color:rgba(232,232,240,.6);font-size:.9rem;line-height:1.7;margin:0}

/* ===== WHATSAPP FLOAT ===== */
.whatsapp-float{position:fixed;bottom:30px;right:30px;width:60px;height:60px;background:rgba(108,99,255,.1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(108,99,255,.4);color:#fff;border-radius:50%;display:flex;justify-content:center;align-items:center;box-shadow:0 4px 20px rgba(108,99,255,.2);z-index:9998;text-decoration:none;transition:all .3s ease;animation:pulseWa 2.5s infinite}
.whatsapp-float:hover{transform:translateY(-5px) scale(1.05);background:rgba(108,99,255,.25);border-color:#a78bfa;box-shadow:0 8px 25px rgba(108,99,255,.5);animation:none}
@keyframes pulseWa{0%{box-shadow:0 0 0 0 rgba(108,99,255,.4)}70%{box-shadow:0 0 0 15px rgba(108,99,255,0)}100%{box-shadow:0 0 0 0 rgba(108,99,255,0)}}

/* ===== FOOTER ===== */
footer{border-top:1px solid rgba(255,255,255,.06);padding:4rem 0 0;position:relative;z-index:1;overflow:hidden;width:100%;max-width:100vw;}
.footer-inner{display:grid;grid-template-columns:1.5fr 1fr;gap:4rem;padding-bottom:3rem}
.footer-brand p{color:rgba(232,232,240,.45);font-size:.88rem;line-height:1.7;margin:.8rem 0 1.5rem}
.footer-social{display:flex;gap:.8rem}
.footer-social a{width:36px;height:36px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;color:rgba(232,232,240,.5);font-size:.7rem;font-weight:700;text-decoration:none;transition:all .3s}
.footer-social a:hover{background:rgba(108,99,255,.15);border-color:rgba(108,99,255,.3);color:#6c63ff}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.footer-col{display:flex;flex-direction:column;gap:.8rem}
.footer-col h5{color:#fff;font-size:.85rem;font-weight:700;margin-bottom:.4rem}
.footer-col a{color:rgba(232,232,240,.45);font-size:.85rem;text-decoration:none;transition:color .3s}
.footer-col a:hover{color:#6c63ff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.05);padding:1.5rem 2rem;display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto}
.footer-bottom p{color:rgba(232,232,240,.3);font-size:.8rem}

/* ===== AOS-LIKE ANIMATIONS ===== */
[data-aos]{opacity:0;transition:opacity .7s ease,transform .7s ease}
[data-aos="fade-up"]{transform:translateY(40px)}
[data-aos="fade-right"]{transform:translateX(-40px)}
[data-aos="fade-left"]{transform:translateX(40px)}
[data-aos="zoom-in"]{transform:scale(.9)}
[data-aos].aos-animate{opacity:1;transform:none}

/* ===== RESPONSIVE ===== */
@media(max-width:1024px){
.services-grid{grid-template-columns:repeat(2,1fr)}
.process-steps{flex-direction:column;gap:2rem}
.process-connector{width:2px;height:30px;background:linear-gradient(to bottom,rgba(108,99,255,.4),rgba(108,99,255,.1));margin:0 0 0 1.5rem}
.about-grid,.contact-grid{grid-template-columns:1fr;gap:3rem}
.about-visual{display:none}
.about-tech{grid-column:auto}
}
@media(max-width:768px){
html,body{width:100%;max-width:100%;overflow-x:hidden;overscroll-behavior:none;touch-action:pan-y}
#hero{padding:7rem 1.25rem 3.5rem}
.hero-title{font-size:clamp(2.4rem,9vw,4.2rem);letter-spacing:-.025em}
.hero-sub{font-size:1rem;margin-bottom:2rem}
.section{padding:5rem 0}
#nosotros{padding-top:7.75rem}
#nosotros .container{overflow:hidden}
.container{padding:0 1.25rem;width:100%;max-width:100%;overflow:visible}
.whatsapp-float{bottom:20px;right:20px;width:55px;height:55px}
.nav-container{padding:0 1.25rem;max-width:100%}
.mobile-menu{max-width:100vw}
.nav-links{display:none}
.hamburger{display:flex}
.services-grid{grid-template-columns:1fr; width:100%}
.portfolio-grid{grid-template-columns:1fr; width:100%}
.portfolio-wide{grid-column:auto}
.portfolio-img{height:250px}
.portfolio-overlay{opacity:1;transform:translateY(0);background:linear-gradient(to top,rgba(5,5,8,.9) 0%,rgba(5,5,8,.2) 100%);padding:1.25rem}
.testimonials-grid{grid-template-columns:1fr; width:100%}
.results-grid{grid-template-columns:repeat(2,1fr); width:100%}
.about-grid{gap:2.75rem}
.about-text{max-width:100%;padding-right:.25rem}
.about-desc{max-width:100%;line-height:1.85}
.about-tech{width:100%;min-width:0;overflow:hidden}
.tech-stack-wrap{margin-top:5.15rem}
.tech-stack-wrap::before,.tech-stack-wrap::after{width:72px}
.about-visual{min-height:235px;align-items:flex-start}
.about-card-stack{width:min(100%,300px);height:240px;margin:0 auto}
.about-card{width:min(100%,260px);height:215px}
.about-brand-card{width:min(100%,260px);height:215px}
.card-back{top:28px;left:min(28px,8vw)}
.card-mid{top:14px;left:min(14px,4vw)}
.hero-trust-line{padding:0 .4rem;margin-bottom:2.2rem}
.trust-sep{display:none}
.hero-stats{flex-direction:column;gap:1.5rem}
.stat-div{width:60px;height:1px}
.footer-inner{grid-template-columns:1fr;gap:3rem; width:100%}
.form-row{grid-template-columns:1fr}
.footer-bottom{flex-direction:column;gap:.8rem;text-align:center;padding:1.5rem; width:100%}
}
@media(max-width:480px){
#hero{min-height:100svh;padding:7rem 1rem 3.5rem}
.hero-badge{font-size:.68rem;letter-spacing:.04em;margin-bottom:1.5rem}
.hero-title{font-size:clamp(2.05rem,11vw,2.6rem);letter-spacing:-.02em}
.hero-sub{padding:0;font-size:.95rem}
.about-card-stack{height:255px}
.about-card{height:205px}
.about-brand-card{height:205px}
.about-brand-mark{height:58px}
.card-big-num{font-size:2.6rem}
.hero-buttons{flex-direction:column;width:100%; gap:0.8rem}
.btn-primary, .btn-ghost{width:100%;justify-content:center; padding:0.8rem 1.5rem}
.results-grid{grid-template-columns:1fr}
.result-num{font-size:2.2rem}
.section-header h2{font-size:1.8rem}
}
