:root {
  --bg: #080b12;
  --surface: #0d121d;
  --surface-light: #121926;
  --primary: #6d5dfc;
  --primary-light: #9287ff;
  --cyan: #22d3ee;
  --text: #f8fafc;
  --muted: #94a3b8;
  --border: rgba(148, 163, 184, 0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { margin: 0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; background: var(--bg); color: var(--text); overflow-x: hidden; }
body.menu-open { overflow: hidden; }
a { text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--cyan); outline-offset: 4px; }
.container-custom { width: min(100% - 2rem, 1200px); margin-inline: auto; }
.section-padding { padding-block: 6rem; }
.section-muted { background: linear-gradient(180deg, #0a0e17 0%, #0d121c 50%, #0a0e17 100%); }
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 100; border-radius: .5rem; background: white; color: #111827; padding: .75rem 1rem; font-weight: 700; transition: top .2s; }
.skip-link:focus { top: 1rem; }

#site-header.scrolled { background: rgba(8, 11, 18, .85); border-color: rgba(255,255,255,.07); box-shadow: 0 10px 40px rgba(0,0,0,.18); backdrop-filter: blur(18px); }
.logo-link { display: inline-flex; align-items: center; gap: .65rem; color: white; }
.logo-mark { display: grid; width: 2.3rem; height: 2.3rem; place-items: center; border-radius: .65rem; background: linear-gradient(135deg, var(--primary), var(--cyan)); box-shadow: 0 8px 25px rgba(109,93,252,.3); font-size: .75rem; font-weight: 900; letter-spacing: -.03em; }
.logo-copy { font-size: 1.12rem; font-weight: 800; letter-spacing: -.03em; }
.logo-copy span { color: var(--primary-light); }
.nav-link { position: relative; color: #a6b0c1; font-size: .9rem; font-weight: 600; transition: color .25s; }
.nav-link::after { position: absolute; bottom: -.65rem; left: 50%; width: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--primary), var(--cyan)); content: ""; transform: translateX(-50%); transition: width .25s; }
.nav-link:hover, .nav-link.active { color: white; }
.nav-link:hover::after, .nav-link.active::after { width: 1.2rem; }
.menu-button { position: relative; width: 2.8rem; height: 2.8rem; border: 1px solid var(--border); border-radius: .75rem; background: rgba(255,255,255,.035); }
.menu-button span { position: absolute; left: .75rem; width: 1.25rem; height: 2px; border-radius: 2px; background: white; transition: transform .25s, top .25s, opacity .2s; }
.menu-button span:nth-child(1) { top: .88rem; }.menu-button span:nth-child(2) { top: 1.34rem; }.menu-button span:nth-child(3) { top: 1.8rem; }
.menu-button.active span:nth-child(1) { top: 1.34rem; transform: rotate(45deg); }.menu-button.active span:nth-child(2) { opacity: 0; }.menu-button.active span:nth-child(3) { top: 1.34rem; transform: rotate(-45deg); }
.mobile-menu { max-height: 0; overflow: hidden; visibility: hidden; background: rgba(8,11,18,.97); border-bottom: 1px solid transparent; opacity: 0; transition: max-height .35s ease, opacity .25s, visibility .25s; backdrop-filter: blur(18px); }
.mobile-menu.open { max-height: 34rem; visibility: visible; border-color: var(--border); opacity: 1; }
.mobile-menu:not(.open) * { visibility: hidden; }
.mobile-menu a:not(.btn-primary) { padding: .8rem .25rem; color: #cbd5e1; font-weight: 600; border-bottom: 1px solid rgba(255,255,255,.05); }

.btn-primary, .btn-secondary, .btn-plan, .btn-whatsapp { display: inline-flex; min-height: 3.15rem; align-items: center; gap: .55rem; border-radius: .75rem; padding: .78rem 1.25rem; font-size: .9rem; font-weight: 750; transition: transform .25s, box-shadow .25s, border-color .25s, background .25s; }
.btn-primary { color: white; background: linear-gradient(135deg, var(--primary), #5145cd); box-shadow: 0 10px 30px rgba(109,93,252,.22); }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 15px 35px rgba(109,93,252,.35); }
.btn-primary svg, .btn-secondary svg { width: 1.1rem; fill: none; stroke: currentColor; stroke-width: 2; transition: transform .25s; }
.btn-primary:hover svg, .btn-secondary:hover svg { transform: translateX(3px); }
.btn-secondary { color: #dbe4f0; background: rgba(255,255,255,.035); border: 1px solid var(--border); }
.btn-secondary:hover { background: rgba(255,255,255,.07); border-color: rgba(148,163,184,.3); transform: translateY(-2px); }

.hero-section { background: radial-gradient(circle at 70% 45%, rgba(109,93,252,.08), transparent 38%), var(--bg); }
.hero-grid { position: absolute; inset: 0; opacity: .16; background-image: linear-gradient(rgba(148,163,184,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(148,163,184,.1) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(to bottom, black, transparent 90%); }
.hero-glow { position: absolute; width: 28rem; height: 28rem; border-radius: 50%; filter: blur(120px); opacity: .15; pointer-events: none; }
.hero-glow-one { top: -10rem; left: -10rem; background: var(--primary); }.hero-glow-two { right: -15rem; bottom: -10rem; background: var(--cyan); }
.eyebrow, .section-kicker { display: inline-flex; align-items: center; gap: .65rem; color: #a9a1ff; font-size: .72rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow { border: 1px solid rgba(109,93,252,.2); border-radius: 99px; background: rgba(109,93,252,.07); padding: .52rem .82rem; }
.pulse-dot { width: .42rem; height: .42rem; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 0 5px rgba(34,211,238,.09); animation: pulse 2s infinite; }
.gradient-text { color: transparent; background: linear-gradient(100deg, #a99fff 5%, #6d5dfc 45%, #22d3ee 100%); background-clip: text; -webkit-background-clip: text; }
.trust-item { display: inline-flex; align-items: center; gap: .4rem; }
.trust-item svg { width: 1rem; fill: none; stroke: var(--cyan); stroke-width: 2.5; }
.browser-mockup { position: relative; overflow: hidden; border: 1px solid rgba(148,163,184,.2); border-radius: 1rem; background: #0c111c; box-shadow: 0 40px 90px rgba(0,0,0,.45), 0 0 0 1px rgba(109,93,252,.05); transform: perspective(1400px) rotateY(-4deg) rotateX(2deg); }
.browser-mockup::after { position: absolute; inset: 0; background: linear-gradient(125deg, rgba(255,255,255,.04), transparent 32%); content: ""; pointer-events: none; }
.browser-bar { display: flex; height: 2.7rem; align-items: center; gap: 1rem; border-bottom: 1px solid rgba(255,255,255,.06); padding: 0 .85rem; background: #111722; }
.browser-dots { display: flex; gap: .34rem; }.browser-dots span { width: .45rem; height: .45rem; border-radius: 50%; background: #334155; }.browser-dots span:first-child{background:#ff665c}.browser-dots span:nth-child(2){background:#f4be4f}.browser-dots span:last-child{background:#46c75a}
.browser-url { display: flex; width: 48%; align-items: center; gap: .4rem; border-radius: .35rem; background: #080c14; padding: .35rem .6rem; color: #536074; font-size: .48rem; }.browser-url span { width: .35rem; height: .35rem; border-radius: 50%; background: #34d399; }
.browser-content { padding: 1.2rem; background: radial-gradient(circle at 78% 40%, rgba(34,211,238,.11), transparent 30%); }
.mock-nav { display: flex; align-items: center; justify-content: space-between; }.mock-logo { width: 2.4rem; height: .55rem; border-radius: .15rem; background: linear-gradient(90deg,var(--primary),var(--cyan)); }.mock-links { display:flex; align-items:center; gap:.6rem}.mock-links i{width:1.1rem;height:.18rem;background:#344055}.mock-links b{width:1.7rem;height:.6rem;border-radius:.15rem;background:var(--primary)}
.mock-hero { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1rem; align-items: center; min-height: 15rem; padding: 2.3rem .5rem 1.8rem; }.mock-label{display:block;width:3rem;height:.28rem;background:var(--cyan);margin-bottom:.65rem}.mock-hero h2{font-size:1.6rem;line-height:1.08;font-weight:800}.mock-hero h2 em{font-style:normal;color:#897eff}.mock-hero p{width:82%;height:.25rem;margin-top:.65rem;background:#354056}.mock-hero p.short{width:60%;margin-top:.35rem}.mock-buttons{display:flex;gap:.5rem;margin-top:.9rem}.mock-buttons b,.mock-buttons i{width:3.3rem;height:1rem;border-radius:.2rem;background:var(--primary)}.mock-buttons i{width:2.8rem;background:#273144;border:1px solid #3a465c}
.mock-visual { position: relative; height: 9.5rem; overflow: hidden; border: 1px solid rgba(109,93,252,.2); border-radius: .75rem; background: linear-gradient(135deg, #151c2a, #0b101a); box-shadow: inset 0 0 30px rgba(109,93,252,.1); }.mock-visual span{position:absolute;right:.7rem;bottom:.4rem;color:rgba(34,211,238,.28);font-size:2.5rem;font-weight:900}.code-line{height:.3rem;border-radius:1rem;background:#39435a;margin-left:1.1rem}.line-1{width:45%;margin-top:1.6rem;background:#766afb}.line-2{width:68%;margin-top:.8rem}.line-3{width:52%;margin-top:.8rem;background:#285f72}.line-4{width:35%;margin-top:.8rem}
.mock-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.06);padding-top:1rem}.mock-stats div{text-align:center}.mock-stats div+div{border-left:1px solid rgba(255,255,255,.06)}.mock-stats b{display:block;color:#e2e8f0;font-size:.75rem}.mock-stats span{font-size:.42rem;color:#59677c;text-transform:uppercase;letter-spacing:.08em}
.floating-badge { position: absolute; z-index: 3; display: flex; align-items: center; gap: .6rem; border: 1px solid rgba(148,163,184,.18); border-radius: .75rem; background: rgba(14,20,31,.88); box-shadow: 0 16px 40px rgba(0,0,0,.3); padding: .65rem .85rem; backdrop-filter: blur(10px); animation: float 4s ease-in-out infinite; }.floating-badge strong,.floating-badge small{display:block}.floating-badge strong{font-size:.68rem}.floating-badge small{color:#718096;font-size:.5rem;margin-top:.15rem}.badge-icon{display:grid;width:1.8rem;height:1.8rem;place-items:center;border-radius:.5rem;background:rgba(109,93,252,.15);color:#a9a1ff}.badge-speed{right:-.3rem;top:20%}.badge-mobile{left:-1rem;bottom:8%;animation-delay:-2s}
.scroll-cue { position: absolute; bottom: 1.4rem; left: 50%; width: 1.5rem; height: 2.4rem; border: 1px solid rgba(148,163,184,.3); border-radius: 1rem; transform: translateX(-50%); }.scroll-cue span{position:absolute;top:.45rem;left:50%;width:.2rem;height:.45rem;border-radius:1rem;background:#8c81ff;transform:translateX(-50%);animation:scroll 1.8s infinite}

.section-heading { max-width: 46rem; margin-inline: auto; text-align: center; }
.section-heading h2 { margin-top: 1rem; font-size: clamp(2rem, 5vw, 3.15rem); line-height: 1.15; font-weight: 800; letter-spacing: -.035em; }
.section-heading p { max-width: 40rem; margin: 1.25rem auto 0; color: var(--muted); font-size: 1.02rem; line-height: 1.8; }
.service-card { position: relative; overflow: hidden; border: 1px solid var(--border); border-radius: 1rem; background: linear-gradient(145deg, rgba(18,25,38,.9), rgba(10,14,23,.9)); padding: 1.65rem; transition: transform .3s, border-color .3s, box-shadow .3s; }
.service-card::before { position:absolute;inset:0;background:radial-gradient(circle at 15% 0,rgba(109,93,252,.12),transparent 35%);opacity:0;content:"";transition:opacity .3s;pointer-events:none}.service-card:hover{transform:translateY(-6px);border-color:rgba(109,93,252,.38);box-shadow:0 24px 45px rgba(0,0,0,.2)}.service-card:hover::before{opacity:1}
.icon-box { position: relative; display:grid;width:2.8rem;height:2.8rem;place-items:center;border:1px solid rgba(109,93,252,.2);border-radius:.75rem;background:rgba(109,93,252,.09);color:#9f96ff}.icon-box svg,.benefit-card svg{width:1.35rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.service-card h3{position:relative;margin-top:1.25rem;font-size:1.18rem;font-weight:750}.service-card p{position:relative;margin-top:.65rem;color:#8895a8;font-size:.91rem;line-height:1.7}.service-card a{position:relative;display:inline-flex;margin-top:1.15rem;gap:.35rem;color:#aca5ff;font-size:.8rem;font-weight:700}.service-card a span{transition:transform .2s}.service-card a:hover span{transform:translateX(4px)}
.benefit-card { position: relative; min-height: 12.5rem; overflow:hidden;border:1px solid var(--border);border-radius:1rem;background:rgba(13,18,29,.65);padding:1.4rem;transition:border-color .25s,transform .25s}.benefit-card:hover{transform:translateY(-4px);border-color:rgba(34,211,238,.3)}.benefit-card>span{position:absolute;right:1.1rem;top:.75rem;color:rgba(148,163,184,.18);font-size:2rem;font-weight:900}.benefit-card svg{width:1.5rem;color:#8f85ff}.benefit-card h3{margin-top:1.5rem;font-size:1rem;font-weight:750}.benefit-card p{margin-top:.45rem;color:#7f8b9e;font-size:.83rem;line-height:1.6}
.project-card { border:1px solid var(--border);border-radius:1rem;background:#0d121c;padding:.65rem .65rem 1.4rem;transition:transform .3s,border-color .3s}.project-card:hover{transform:translateY(-6px);border-color:rgba(109,93,252,.35)}.project-image{position:relative;overflow:hidden;border-radius:.7rem;aspect-ratio:3/2;background:#121827}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.project-card:hover img{transform:scale(1.035)}.project-image span{position:absolute;left:.7rem;top:.7rem;border:1px solid rgba(255,255,255,.12);border-radius:99px;background:rgba(4,7,12,.72);padding:.38rem .65rem;color:#cbd5e1;font-size:.64rem;font-weight:700;backdrop-filter:blur(8px)}.project-copy{display:flex;align-items:center;justify-content:space-between;padding:1.15rem .7rem 0}.project-copy p{color:#7369e8;font-size:.67rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.project-copy h3{margin-top:.25rem;font-size:1.15rem;font-weight:750}.project-copy a{display:grid;width:2.35rem;height:2.35rem;place-items:center;border:1px solid var(--border);border-radius:50%;color:#b9b2ff;transition:background .2s,transform .2s}.project-copy a:hover{background:var(--primary);color:white;transform:rotate(10deg)}.project-description{padding:.65rem .7rem 0;color:#7f8b9e;font-size:.83rem;line-height:1.6}
.plan-card { position:relative;display:flex;flex-direction:column;border:1px solid var(--border);border-radius:1rem;background:#0d121c;padding:2rem;transition:transform .3s,border-color .3s}.plan-card:hover{transform:translateY(-5px);border-color:rgba(148,163,184,.3)}.plan-card.featured{border-color:rgba(109,93,252,.6);background:radial-gradient(circle at top right,rgba(109,93,252,.16),transparent 35%),#101521;box-shadow:0 22px 60px rgba(20,15,65,.25)}.recommended{position:absolute;right:1.2rem;top:1.2rem;border-radius:99px;background:rgba(109,93,252,.16);padding:.38rem .65rem;color:#aea7ff;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.plan-icon{display:grid;width:2.6rem;height:2.6rem;place-items:center;border:1px solid var(--border);border-radius:.7rem;color:#8d83ff;font-size:.7rem;font-weight:850}.plan-for{margin-top:1.5rem;color:#7f8b9e;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.plan-card h3{margin-top:.35rem;font-size:1.65rem;font-weight:800}.plan-summary{min-height:4.6rem;margin-top:.8rem;color:#8995a7;font-size:.88rem;line-height:1.7}.plan-card ul{display:grid;gap:.75rem;margin:1.4rem 0 1.8rem;padding:1.4rem 0 0;border-top:1px solid var(--border);list-style:none}.plan-card li{position:relative;padding-left:1.45rem;color:#b0bac8;font-size:.84rem}.plan-card li::before{position:absolute;left:0;top:.05rem;display:grid;width:1rem;height:1rem;place-items:center;border-radius:50%;background:rgba(34,211,238,.1);color:var(--cyan);content:"✓";font-size:.58rem;font-weight:900}.btn-plan{justify-content:space-between;margin-top:auto;border:1px solid var(--border);color:#dbe4f0}.btn-plan:hover{border-color:rgba(109,93,252,.45);background:rgba(109,93,252,.07)}
.process-grid{position:relative;display:grid;gap:1rem;list-style:none;padding:0}.process-grid::before{display:none}.process-grid li{position:relative;border:1px solid var(--border);border-radius:1rem;background:#0c111b;padding:1.45rem}.process-grid li>span{position:absolute;right:1rem;top:1rem;color:rgba(148,163,184,.18);font-size:1.4rem;font-weight:900}.process-icon{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:.7rem;background:rgba(109,93,252,.1);color:#a69eff;font-size:1rem}.process-grid h3{margin-top:1.2rem;font-size:.98rem;font-weight:750}.process-grid p{margin-top:.5rem;color:#7f8b9e;font-size:.8rem;line-height:1.6}
.accordion{border-top:1px solid var(--border)}.faq-item{border-bottom:1px solid var(--border)}.faq-item button{display:flex;width:100%;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 0;text-align:left;color:#dfe7f2;font-size:1rem;font-weight:700}.faq-item button i{position:relative;flex:0 0 1.8rem;width:1.8rem;height:1.8rem;border:1px solid var(--border);border-radius:50%;transition:background .2s,transform .3s}.faq-item button i::before,.faq-item button i::after{position:absolute;left:50%;top:50%;width:.65rem;height:1px;background:#a9b4c3;content:"";transform:translate(-50%,-50%);transition:transform .3s}.faq-item button i::after{transform:translate(-50%,-50%) rotate(90deg)}.faq-item.open button i{background:var(--primary);transform:rotate(45deg)}.faq-item.open button i::before,.faq-item.open button i::after{background:white}.faq-answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}.faq-answer>p{overflow:hidden;color:#8491a4;font-size:.9rem;line-height:1.75}.faq-item.open .faq-answer{grid-template-rows:1fr}.faq-item.open .faq-answer>p{padding-bottom:1.45rem}
.cta-section{position:relative;overflow:hidden;background:radial-gradient(circle at 50% 100%,rgba(34,211,238,.12),transparent 35%),radial-gradient(circle at 50% 0,rgba(109,93,252,.2),transparent 45%),#080b12}.cta-section::before{position:absolute;inset:0;background-image:linear-gradient(rgba(148,163,184,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(148,163,184,.05) 1px,transparent 1px);background-size:44px 44px;content:"";mask-image:radial-gradient(circle,black,transparent 70%)}.btn-whatsapp{justify-content:center;background:#1fbd67;color:white;box-shadow:0 15px 38px rgba(31,189,103,.22)}.btn-whatsapp:hover{background:#22c96e;transform:translateY(-3px);box-shadow:0 18px 42px rgba(31,189,103,.3)}.btn-whatsapp svg{width:1.25rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.footer-title{margin-bottom:1.1rem;color:#dce5f0;font-size:.85rem;font-weight:750}.footer-links{display:grid;gap:.75rem;color:#68768a;font-size:.8rem;list-style:none;padding:0}.footer-links a{color:#7e8a9d;transition:color .2s}.footer-links a:hover{color:#aaa2ff}.socials{display:flex;gap:.5rem}.socials a{display:grid;width:2rem;height:2rem;place-items:center;border:1px solid var(--border);border-radius:.5rem;color:#8c98aa;font-size:.7rem;font-weight:800;transition:background .2s,color .2s}.socials a:hover{background:var(--primary);color:white}
.floating-whatsapp{position:fixed;right:1rem;bottom:1rem;z-index:40;display:flex;align-items:center;gap:.55rem;border:1px solid rgba(255,255,255,.15);border-radius:99px;background:#1fbd67;padding:.78rem;box-shadow:0 12px 35px rgba(0,0,0,.35);color:white;font-size:.75rem;font-weight:800;transition:transform .25s,box-shadow .25s}.floating-whatsapp:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 16px 42px rgba(31,189,103,.25)}.floating-whatsapp svg{width:1.3rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.floating-whatsapp span{display:none}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}
@keyframes pulse{50%{opacity:.45;box-shadow:0 0 0 8px rgba(34,211,238,.03)}}@keyframes float{50%{transform:translateY(-8px)}}@keyframes scroll{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,.8rem)}}

@media (min-width: 640px){.container-custom{width:min(100% - 3rem,1200px)}.floating-whatsapp{right:1.5rem;bottom:1.5rem;padding:.75rem 1rem}.floating-whatsapp span{display:inline}.process-grid{grid-template-columns:repeat(2,1fr)}}
@media (min-width: 768px){.section-padding{padding-block:7.5rem}.process-grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width: 1024px){.section-padding{padding-block:8.5rem}.plan-card.featured{transform:translateY(-1rem)}.plan-card.featured:hover{transform:translateY(-1.35rem)}.process-grid{grid-template-columns:repeat(6,1fr)}.process-grid::before{display:block;position:absolute;left:8%;right:8%;top:2.65rem;height:1px;background:linear-gradient(90deg,transparent,rgba(109,93,252,.55),transparent);content:""}.process-grid li{border:0;background:transparent;padding:1rem .7rem;text-align:center}.process-icon{position:relative;margin:auto;background:#111828;border:1px solid rgba(109,93,252,.25);box-shadow:0 0 0 6px #080b12}.process-grid li>span{right:.5rem;top:-.15rem}.badge-speed{right:-1.2rem}.badge-mobile{left:-1.5rem}}
@media (max-width: 639px){.hero-section{min-height:auto}.hero-section .container-custom{padding-top:5.5rem}.hero-section h1{font-size:2.65rem}.browser-mockup{transform:none}.floating-badge{display:none}.section-heading{text-align:left}.section-heading p{margin-left:0}.service-card{padding:1.4rem}.scroll-cue{display:none}.plan-card{padding:1.5rem}}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}}
