@font-face{font-family:Syne;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/syne-v24-latin-700-AF3Rs61n.woff2)format("woff2")}@font-face{font-family:Syne;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/syne-v24-latin-800-EehdNYzx.woff2)format("woff2")}@font-face{font-family:Syne;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/syne-v24-latin-800-EehdNYzx.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/dm-sans-v17-latin-regular-CW0RaeGs.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/dm-sans-v17-latin-500-B9HHJjqV.woff2)format("woff2")}:root{--primary:#7c3aed;--primary-dark:#6d28d9;--primary-glow:#7c3aed59;--primary-light:#a78bfa;--primary-rgb:124, 58, 237;--bg:#0d0b14;--bg-card:#131020;--bg-surface:#1a1630;--border:#ffffff12;--text:#f0f4f8;--text-muted:#6b8094;--text-dim:#9ab0c2;--font-display:"Syne", sans-serif;--font-body:"DM Sans", sans-serif;--radius:12px;--radius-lg:20px;--radius-xl:32px;--transition:.3s cubic-bezier(.4, 0, .2, 1);--transition-spring:.5s cubic-bezier(.34, 1.56, .64, 1);--transition-fast:.15s ease-out;--header-h:80px;--header-tint:13, 11, 20;--whatsapp:#25d366;--whatsapp-dark:#20ba5a;--star:#f59e0b;--radius-pill:100px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%;font-size:16px;overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}body.has-custom-cursor{cursor:none}a{color:inherit;text-decoration:none}img{content-visibility:auto;max-width:100%;height:auto;display:block}button{cursor:pointer;background:0 0;border:none;font-family:inherit}ul{list-style:none}.skip-link{background:var(--primary);color:#fff;border-radius:var(--radius);z-index:9999;padding:8px 16px;font-size:.85rem;font-weight:600;transition:top .2s;position:absolute;top:-100px;left:16px}.skip-link:focus{top:8px}.container{max-width:1200px;margin:0 auto;padding:0 24px}.cursor{background:var(--primary);pointer-events:none;z-index:9999;mix-blend-mode:difference;will-change:left, top;border-radius:50%;width:10px;height:10px;transition:width .2s,height .2s,background .2s;position:fixed;transform:translate(-50%,-50%)}.cursor-trail{border:1.5px solid rgba(var(--primary-rgb), .5);pointer-events:none;z-index:9998;will-change:left, top;border-radius:50%;width:36px;height:36px;transition:width .3s,height .3s,border-color .3s;position:fixed;transform:translate(-50%,-50%)}:is(body:has(.btn:hover) .cursor,body:has(a:hover) .cursor){width:6px;height:6px}:is(body:has(.btn:hover) .cursor-trail,body:has(a:hover) .cursor-trail){border-color:var(--primary);width:56px;height:56px}.header{z-index:1000;-webkit-backdrop-filter:blur();width:100%;height:var(--header-h);background:0 0;border-bottom:1px solid #0000;transition:background .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s,border-color .4s;position:fixed;top:0;left:0;right:0}.header-scrolled{background:rgba(var(--header-tint), .72);border-bottom:1px solid #ffffff0f;-webkit-backdrop-filter:blur(20px)!important;backdrop-filter:blur(20px)!important}.header-inner{align-items:center;gap:16px;min-width:0;height:100%;display:flex}.logo{transition:opacity var(--transition);flex-shrink:0;align-items:center;display:flex}.logo-icon{object-fit:contain;width:auto;height:52px;max-height:52px;transition:transform var(--transition-spring)}.logo:hover{opacity:.8}.logo:hover .logo-icon{transform:rotate(15deg)scale(1.1)}.nav{flex:1;justify-content:center;align-items:center;gap:36px;display:flex}.nav-link{color:#fff;transition:color var(--transition);white-space:nowrap;font-size:.875rem;font-weight:500;position:relative}.nav-link:after{content:"";background:var(--primary);width:0;height:1.5px;transition:width var(--transition);position:absolute;bottom:-4px;left:0}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link:hover:after,.nav-link.active:after{width:100%}.header-actions{flex-shrink:0;align-items:center;gap:16px;margin-left:auto;display:flex}.hamburger{background:var(--bg-surface);border-radius:var(--radius);border:1px solid var(--border);width:40px;height:40px;transition:background var(--transition), border-color var(--transition);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;padding:8px;display:none}.hamburger:hover{background:rgba(var(--primary-rgb), .1);border-color:rgba(var(--primary-rgb), .3)}.hamburger span{background:var(--text);transform-origin:50%;border-radius:2px;width:18px;height:1.5px;transition:transform .35s cubic-bezier(.4,0,.2,1),opacity .2s;display:block}.hamburger.open span:first-child{transform:translateY(6.5px)rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}.mobile-menu{top:var(--header-h);-webkit-backdrop-filter:blur(24px);z-index:98;visibility:hidden;background:#080f14fa;justify-content:center;align-items:center;transition:transform .4s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;bottom:0;left:0;right:0;transform:translate(100%)}.mobile-menu.open{visibility:visible;transform:translate(0)}.mobile-nav{text-align:center;flex-direction:column;gap:32px;padding:24px;display:flex}.mobile-nav-link{font-family:var(--font-display);color:var(--text-muted);transition:color var(--transition), transform var(--transition-spring);font-size:clamp(1.8rem,6vw,2.5rem);font-weight:700;display:block}.mobile-nav-link:hover,.mobile-nav-link:focus{color:var(--primary);transform:scale(1.05)}.mobile-overlay{inset:0;top:var(--header-h);z-index:97;opacity:0;background:#00000080;transition:opacity .3s;display:none;position:fixed}.mobile-overlay.open{opacity:1}.btn{font-family:var(--font-body);border-radius:var(--radius);transition:all var(--transition);white-space:nowrap;outline-offset:3px;justify-content:center;align-items:center;gap:8px;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";transform-origin:0;pointer-events:none;background:#ffffff1a;transition:transform .3s;position:absolute;inset:0;transform:scaleX(0)}.btn:hover:before{transform:scaleX(1)}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, #1a0a2e 100%);color:#fff;padding:10px 22px;font-size:.9rem;box-shadow:0 4px 24px #7c3aed4d}.btn-primary:hover{background:linear-gradient(135deg, var(--primary) 20%, #0d0520 100%);transform:translateY(-2px);box-shadow:0 6px 32px #7c3aed80}.btn-primary:active{transform:translateY(0)}.btn-ghost{background:var(--bg-surface);color:var(--text);border:1px solid var(--border);padding:10px 22px;font-size:.9rem}.btn-ghost:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-2px)}.btn-outline{color:var(--primary);border:1.5px solid var(--primary);background:0 0;padding:10px 22px;font-size:.9rem}.btn-outline:hover{background:var(--primary);color:#fff;box-shadow:0 6px 20px var(--primary-glow);transform:translateY(-2px)}.btn-lg{border-radius:var(--radius-lg);padding:14px 32px;font-size:1rem}.w-full{width:100%}.section-tag{letter-spacing:.12em;text-transform:uppercase;color:#fff;background:rgba(var(--primary-rgb), .1);border:1px solid rgba(var(--primary-rgb), .22);border-radius:999px;margin-bottom:16px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-block}.section-header{text-align:center;margin-bottom:64px}.section-title{font-family:var(--font-display);letter-spacing:-.03em;margin-bottom:16px;font-size:clamp(1.8rem,4vw,3rem);font-weight:800;line-height:1.15}.text-accent{color:var(--primary)}.section-desc{color:var(--text-muted);max-width:560px;margin:0 auto;font-size:1.05rem}.hero{padding:calc(var(--header-h) + 20px) 0 50px;min-height:calc(100vh - var(--header-h));align-items:center;display:flex;position:relative;overflow:hidden}.hero-glow{filter:blur(100px);pointer-events:none;border-radius:50%;position:absolute}.hero-glow-1{will-change:transform;background:radial-gradient(circle,#7c3aed47 0%,#0000 85%);width:900px;height:900px;animation:8s ease-in-out infinite alternate floatGlow;top:0%;left:0%;transform:translate(-50%,-50%)}.hero-glow-2{will-change:transform;contain:strict;background:radial-gradient(circle,#7c3aed26 0%,#0000 0%);width:600px;height:600px;animation:10s ease-in-out infinite alternate-reverse floatGlow;top:10%;left:30%;transform:translate(-50%,-50%)}@keyframes floatGlow{0%{transform:translate(0)scale(1)}to{transform:translate(30px,20px)scale(1.1)}}.hero-inner{z-index:2;grid-template-columns:1fr 1fr;align-items:center;gap:60px;width:100%;display:grid;position:relative}.hero-content{flex-direction:column;gap:28px;display:flex}.badge{color:#fff;background:rgba(var(--primary-rgb), .1);border:1px solid rgba(var(--primary-rgb), .25);border-radius:999px;align-items:center;gap:8px;width:fit-content;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.badge-dot{background:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;position:relative}.badge-dot:before{content:"";background:var(--primary);opacity:.3;border-radius:50%;animation:1.5s ease-in-out infinite ping;position:absolute;inset:-3px}@keyframes ping{0%,to{opacity:.3;transform:scale(1)}50%{opacity:0;transform:scale(1.8)}}.hero-title{font-family:var(--font-display);letter-spacing:-.05em;font-size:clamp(2.2rem,5vw,6.5rem);font-weight:900;line-height:1}.hero-title-accent{color:var(--primary);background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}.hero-desc{color:var(--text-dim);max-width:500px;font-size:1.1rem;line-height:1.75}.hero-actions{flex-wrap:wrap;gap:14px;display:flex}.hero-stats{flex-wrap:wrap;align-items:center;gap:24px;padding-top:8px;display:flex}.stat{flex-direction:column;gap:2px;display:flex}.stat-row{align-items:baseline;gap:1px;display:flex}.stat-num{font-family:var(--font-display);color:var(--text);font-size:1.8rem;font-weight:800;line-height:1}.stat-suffix{color:var(--primary);font-size:1.2rem;font-weight:800}.stat-label{color:var(--text-muted);font-size:.75rem}.stat-divider{background:var(--border);flex-shrink:0;width:1px;height:36px}.hero-visual{position:relative}.hero-card-wrapper{will-change:transform;animation:6s ease-in-out infinite heroFloat;position:relative}@keyframes heroFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}.hero-card{border-radius:var(--radius-xl);aspect-ratio:14/10;position:relative;overflow:hidden}.hero-card-glow{border-radius:inherit;z-index:-1;opacity:.3;filter:blur(8px);position:absolute;inset:-2px}.hero-img{object-fit:center;opacity:.85;width:100%;height:100%;transition:opacity .5s,transform .8s}.hero-card:hover .hero-img{opacity:1;transform:scale(1.04)}.hero-card-overlay{pointer-events:none;position:absolute;inset:0}.floating-chip{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap;background:#0d1a24e6;border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;font-weight:600;display:flex;position:absolute;box-shadow:0 8px 32px #0000004d}.floating-chip .material-symbols-outlined{color:var(--primary);font-size:1rem}.chip-3{will-change:transform;animation:4.5s ease-in-out .5s infinite chipFloat;bottom:-18px;left:20%}@keyframes chipFloat{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-8px)rotate(1deg)}}.scroll-indicator{opacity:.4;flex-direction:column;align-items:center;gap:8px;animation:1s 2s both fadeInUp;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%)}.scroll-wheel{border:1.5px solid var(--text-muted);border-radius:999px;width:22px;height:36px;position:relative}.scroll-wheel:before{content:"";background:var(--text-muted);border-radius:2px;width:3px;height:6px;animation:1.8s ease-in-out infinite scrollDown;position:absolute;top:6px;left:50%;transform:translate(-50%)}@keyframes scrollDown{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(14px)}}.about{padding:50px}.about-stats{grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:56px;display:grid}.about-stat{background:var(--bg-card);border:1px solid rgba(var(--primary-rgb), .12);border-radius:var(--radius-lg);text-align:center;transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);flex-direction:column;gap:8px;padding:28px 20px;display:flex}.about-stat:hover{border-color:rgba(var(--primary-rgb), .3);transform:translateY(-2px);box-shadow:0 8px 32px #0006}.about-stat-num{font-family:var(--font-display);color:var(--primary);font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;line-height:1}.about-stat-label{color:var(--text-muted);font-size:.8rem;line-height:1.4}.trusted{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-card);padding:40px 0;overflow:hidden}.trusted-label{text-align:center;letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:28px;font-size:.7rem;font-weight:700}.marquee-wrapper{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000)}.marquee{will-change:transform;gap:56px;width:max-content;animation:20s linear infinite marquee;display:flex}.marquee:hover{animation-play-state:paused}.marquee-item{font-family:var(--font-display);color:var(--text-muted);transition:color var(--transition);white-space:nowrap;align-items:center;gap:8px;font-size:1.1rem;font-weight:700;display:flex}.marquee-item .material-symbols-outlined{font-size:1.2rem}.marquee-item:hover{color:var(--primary)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.services{padding:140px 0;position:relative}.services-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.service-card{background:var(--bg-card);border:1px solid rgba(var(--primary-rgb), .12);border-radius:var(--radius-lg);transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);cursor:default;padding:36px;position:relative;overflow:hidden}.service-card:before{content:"";background:radial-gradient(circle at 0% 0%, rgba(var(--primary-rgb), .07) 0%, transparent 60%);opacity:0;transition:opacity var(--transition);pointer-events:none;position:absolute;inset:0}.service-card:hover{border-color:rgba(var(--primary-rgb), .3);box-shadow:0 20px 60px #00000059, 0 0 0 1px rgba(var(--primary-rgb), .06);transform:translateY(-4px)}.service-card:hover:before{opacity:1}.service-icon-wrap{background:rgba(var(--primary-rgb), .1);border:1px solid rgba(var(--primary-rgb), .2);border-radius:var(--radius);width:52px;height:52px;transition:background var(--transition), transform var(--transition-spring);justify-content:center;align-items:center;margin-bottom:20px;display:flex}.service-card:hover .service-icon-wrap{background:rgba(var(--primary-rgb), .2);transform:scale(1.1)rotate(-5deg)}.service-icon-wrap .material-symbols-outlined{color:var(--primary);font-size:1.4rem}.service-card h3{font-family:var(--font-display);margin-bottom:10px;font-size:1.2rem;font-weight:700}.service-card p{color:var(--text-muted);font-size:.9rem;line-height:1.6}.service-arrow{background:rgba(var(--primary-rgb), .12);border-radius:var(--radius);opacity:0;width:36px;height:36px;transition:opacity var(--transition), transform var(--transition);justify-content:center;align-items:center;display:flex;position:absolute;bottom:28px;right:28px;transform:translate(8px,8px)}.service-arrow .material-symbols-outlined{color:var(--primary);font-size:1.1rem}.service-card:hover .service-arrow{opacity:1;transform:translate(0)}.portfolio{background:var(--bg-card);padding:140px 0}.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}.portfolio-card{background:var(--bg);border:1px solid rgba(var(--primary-rgb), .12);border-radius:var(--radius-lg);transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);overflow:hidden}.portfolio-card:hover{border-color:rgba(var(--primary-rgb), .3);box-shadow:0 20px 60px #00000059, 0 0 0 1px rgba(var(--primary-rgb), .06);transform:translateY(-4px)}.portfolio-img-wrap{aspect-ratio:4/3;position:relative;overflow:hidden}.portfolio-img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.portfolio-card:hover .portfolio-img{transform:scale(1.05)}.portfolio-soon-badge{background:var(--primary);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:5px 12px;font-size:.7rem;font-weight:700;position:absolute;top:16px;right:16px}.portfolio-body{flex-direction:column;gap:14px;padding:28px;display:flex}.portfolio-title{font-family:var(--font-display);font-size:1.2rem;font-weight:700}.portfolio-desc{color:var(--text-muted);font-size:.9rem;line-height:1.6}.portfolio-tags{flex-wrap:wrap;gap:8px;display:flex}.portfolio-tag{color:#fff;background:rgba(var(--primary-rgb), .1);border:1px solid rgba(var(--primary-rgb), .2);border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600}.portfolio-btn-disabled{opacity:.5;cursor:not-allowed}.testimonials{padding:140px 0}.testimonials-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.testimonial-card{background:var(--bg-card);border:1px solid rgba(var(--primary-rgb), .12);border-radius:var(--radius-lg);transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);flex-direction:column;gap:16px;padding:32px;display:flex}.testimonial-card:hover{border-color:rgba(var(--primary-rgb), .3);transform:translateY(-4px);box-shadow:0 8px 32px #0006}.testimonial-text{color:var(--text-dim);flex:1;font-size:.9rem;line-height:1.7}.testimonial-divider{border:none;border-top:1px solid var(--border);margin:0}.pricing{background:var(--bg-card);padding:140px 0;position:relative}.pricing-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:24px;display:grid}.pricing-card{background:var(--bg);border:1px solid rgba(var(--primary-rgb), .12);border-radius:var(--radius-lg);transition:border-color var(--transition), transform var(--transition), box-shadow var(--transition);flex-direction:column;gap:28px;padding:36px;display:flex;position:relative;overflow:hidden}.pricing-card:hover{border-color:rgba(var(--primary-rgb), .3);box-shadow:0 24px 60px #00000059, 0 0 0 1px rgba(var(--primary-rgb), .06);transform:translateY(-4px)}.pricing-featured{border-color:rgba(var(--primary-rgb), .4);box-shadow:0 24px 80px rgba(var(--primary-rgb), .14);background:linear-gradient(135deg, var(--bg-surface) 0%, var(--bg) 100%);transform:scale(1.04)}.pricing-featured:hover{transform:scale(1.04)translateY(-4px)}.pricing-glow{background:radial-gradient(circle, rgba(var(--primary-rgb), .16) 0%, transparent 70%);pointer-events:none;width:200px;height:200px;position:absolute;top:-60px;right:-60px}.pricing-badge{background:var(--primary);color:#fff;letter-spacing:.1em;text-transform:uppercase;border-radius:0 0 var(--radius) var(--radius);white-space:nowrap;padding:5px 16px;font-size:.7rem;font-weight:700;position:absolute;top:-1px;left:50%;transform:translate(-50%)}.pricing-header{align-items:center;gap:14px;display:flex}.pricing-icon{background:rgba(var(--primary-rgb), .1);border:1px solid rgba(var(--primary-rgb), .2);border-radius:var(--radius);flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.pricing-icon .material-symbols-outlined{color:var(--primary);font-size:1.3rem}.pricing-header h3{font-family:var(--font-display);font-size:1.1rem;font-weight:700}.pricing-price{flex-direction:column;gap:4px;display:flex}.price-amount{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(1.4rem,2.5vw,2.2rem);font-weight:900;line-height:1}.price-period{color:var(--text-muted);font-size:.8rem}.pricing-desc{color:var(--text-muted);font-size:.9rem;line-height:1.6}.pricing-features{flex-direction:column;flex:1;gap:14px;display:flex}.pricing-features li{color:var(--text-muted);align-items:center;gap:10px;font-size:.9rem;display:flex}.pricing-features .material-symbols-outlined{color:var(--primary);flex-shrink:0;font-size:1rem}.contact{padding:50px 0;position:relative}.social-links{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.social-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);transition:all var(--transition);align-items:center;gap:8px;padding:12px 20px;font-size:.875rem;font-weight:600;display:inline-flex}.social-btn:hover{background:rgba(var(--primary-rgb), .1);border-color:rgba(var(--primary-rgb), .3);color:var(--primary);transform:translateY(-2px)}.social-btn .material-symbols-outlined{font-size:1.1rem}.social-btn-primary{background:var(--primary);color:#fff;box-shadow:0 6px 24px var(--primary-glow);border-color:#0000}.social-btn-primary:hover{background:var(--primary-dark);color:#fff;box-shadow:0 10px 32px var(--primary-glow);border-color:#0000}.footer{border-top:1px solid var(--border);background:var(--bg-card);padding:40px 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-nav{flex-wrap:wrap;gap:32px;display:flex}.footer-nav a{color:var(--text-muted);transition:color var(--transition);font-size:.85rem}.footer-nav a:hover{color:var(--primary)}.footer-copy{color:var(--text-muted);font-size:.8rem}.modal-overlay{-webkit-backdrop-filter:blur(6px);z-index:999;opacity:0;pointer-events:none;visibility:hidden;background:#000000bf;justify-content:center;align-items:center;padding:24px;transition:opacity .3s;display:flex;position:fixed;inset:0}.modal-overlay.open{opacity:1;pointer-events:all;visibility:visible}.modal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-overflow-scrolling:touch;width:100%;max-width:640px;max-height:85vh;padding:48px;transition:transform .3s;position:relative;overflow-y:auto;transform:translateY(24px)}.modal-overlay.open .modal-card{transform:translateY(0)}.modal-close{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;width:36px;height:36px;transition:background var(--transition), border-color var(--transition);justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.modal-close:hover{background:rgba(var(--primary-rgb), .1);border-color:rgba(var(--primary-rgb), .3)}.modal-close .material-symbols-outlined{color:var(--text-muted);font-size:1.1rem}.modal-title{font-family:var(--font-display);margin-bottom:4px;font-size:1.6rem;font-weight:800}.modal-date{color:var(--text-muted);margin-bottom:28px;font-size:.8rem}.modal-body h3{font-family:var(--font-display);color:var(--primary);margin:20px 0 6px;font-size:.95rem;font-weight:700}.modal-body p{color:var(--text-muted);font-size:.9rem;line-height:1.7}.modal-body a{color:var(--primary);text-decoration:underline}.legal{padding:calc(var(--header-h) + 56px) 0 80px;min-height:100vh}.legal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);max-width:760px;margin:0 auto;padding:48px}.legal-back{color:var(--text-muted);transition:color var(--transition);align-items:center;gap:6px;margin-bottom:28px;font-size:.85rem;display:inline-flex}.legal-back:hover{color:var(--primary)}.legal-title{font-family:var(--font-display);margin-bottom:4px;font-size:2rem;font-weight:800}.legal-date{color:var(--text-muted);margin-bottom:24px;font-size:.8rem}.legal-intro{color:var(--text-dim);font-size:.95rem;line-height:1.7}.legal-body h2{font-family:var(--font-display);color:var(--primary);margin:30px 0 8px;font-size:1.1rem;font-weight:700}.legal-body h3{font-family:var(--font-body);color:var(--text);margin:18px 0 4px;font-size:.95rem;font-weight:600}.legal-body p{color:var(--text-muted);font-size:.9rem;line-height:1.7}.legal-body a{color:var(--primary);text-decoration:underline}@media (width<=600px){.legal-card{padding:28px 20px}.legal-title{font-size:1.6rem}}.reveal-up,.reveal-right{will-change:opacity, transform}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}@media (width<=1024px){.hero-inner{text-align:center;grid-template-columns:1fr;gap:40px}.hero-content{order:1;align-items:center}.hero-visual{order:2;width:100%;max-width:420px;margin:0 auto}.hero-desc{margin:0 auto}.hero-stats{justify-content:center}.about-stats{grid-template-columns:repeat(2,1fr)}.portfolio-grid{grid-template-columns:1fr;max-width:540px;margin:0 auto}.testimonials-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}.pricing-featured{transform:none}.pricing-featured:hover{transform:translateY(-4px)}}@media (width<=768px){.cursor,.cursor-trail,.nav{display:none}.hamburger{display:flex}.header-actions .btn{display:none}.header-actions{gap:10px}.header{--header-h:64px}.logo-icon{height:40px;max-height:40px}.hero{padding:calc(var(--header-h) + 28px) 0 72px;min-height:auto}.services-grid{grid-template-columns:1fr}.footer-inner{text-align:center;flex-direction:column;align-items:center}.footer-nav{justify-content:center;gap:16px}.modal-card{max-height:90vh;padding:28px 20px}.testimonials-grid{grid-template-columns:1fr}.about,.portfolio,.testimonials,.contact{padding:50px 0}.pricing{padding:88px 0}.hero-title{letter-spacing:-.03em;word-break:break-word;overflow-wrap:break-word;font-size:clamp(1.75rem,7vw,2.5rem)}}@media (width<=480px){.container{padding:0 16px}.hero-actions{flex-direction:column;width:100%}.hero-actions .btn{justify-content:center;width:100%}.hero-stats{gap:16px}.stat-num{font-size:1.4rem}.section-title{font-size:1.6rem}.social-links{flex-direction:column}.social-btn{justify-content:center}.price-amount{font-size:1.8rem}.chip-3{padding:6px 12px;font-size:.7rem;left:10%}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal-up,.reveal-right{opacity:1!important;transform:none!important}}.hero-badges{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:24px;display:flex}.badge-reviews{background:rgba(var(--primary-rgb), .08);border:1px solid rgba(var(--primary-rgb), .25);border-radius:var(--radius-pill);font-family:var(--font-body);color:#fff;transition:background var(--transition), border-color var(--transition);cursor:pointer;align-items:center;gap:6px;padding:6px 14px 6px 10px;font-size:.78rem;font-weight:500;text-decoration:none;display:inline-flex}.badge-reviews:hover{background:rgba(var(--primary-rgb), .16);border-color:rgba(var(--primary-rgb), .5)}.badge-stars{letter-spacing:1px;color:var(--star);font-size:.72rem}.btn-whatsapp{background:var(--whatsapp);color:#fff;border-radius:var(--radius);font-family:var(--font-body);cursor:pointer;transition:background var(--transition), transform var(--transition), box-shadow var(--transition);border:none;align-items:center;gap:8px;padding:14px 24px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-whatsapp:hover{background:var(--whatsapp-dark);transform:translateY(-2px);box-shadow:0 8px 24px #25d36659}.btn-whatsapp:active{transform:translateY(0)}.btn-whatsapp svg{flex-shrink:0}.portfolio-meta-chips{z-index:2;gap:6px;display:flex;position:absolute;bottom:12px;left:12px}.portfolio-chip{border-radius:var(--radius-pill);font-family:var(--font-body);letter-spacing:.02em;-webkit-backdrop-filter:blur(8px);align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.portfolio-chip-country{color:var(--text);background:#080f14bf;border:1px solid #ffffff26}.portfolio-chip-category{background:rgba(var(--primary-rgb), .2);border:1px solid rgba(var(--primary-rgb), .4);color:#fff}.testimonial-header{align-items:center;gap:10px;display:flex}.testimonial-google-icon{flex-shrink:0}.testimonial-stars{letter-spacing:2px;color:var(--star);font-size:.9rem;line-height:1}.testimonial-card blockquote.testimonial-text{quotes:none;margin:0;padding:0;font-style:normal}.testimonial-card blockquote.testimonial-text:before,.testimonial-card blockquote.testimonial-text:after{content:none}.testimonial-avatar-wrap{flex-shrink:0;width:48px;height:48px;position:relative}.testimonial-photo{object-fit:cover;border:2px solid var(--primary);border-radius:50%;width:48px;height:48px;display:block}.testimonial-avatar-fallback{background:linear-gradient(135deg, var(--primary-dark), var(--primary));color:#fff;width:48px;height:48px;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:700;display:none;position:absolute;inset:0}.testimonial-author-info{flex-direction:column;gap:1px;display:flex}.testimonial-company{font-family:var(--font-body);color:var(--primary);margin:0;font-size:.8rem;font-weight:600}.testimonial-role{font-family:var(--font-body);color:var(--text-muted);margin:0;font-size:.75rem}.testimonial-author{align-items:center;gap:12px;display:flex}.testimonial-name{color:var(--text);margin:0;font-size:.9rem;font-weight:600}@keyframes whatsapp-pulse{0%{opacity:.7;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(1.9)}}.whatsapp-float{z-index:9500;background:var(--whatsapp);width:60px;height:60px;transition:transform var(--transition), background var(--transition), box-shadow var(--transition);border-radius:50%;justify-content:center;align-items:center;text-decoration:none;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 16px #25d36666,0 2px 6px #00000040}.whatsapp-float:before{content:"";background:var(--whatsapp);z-index:-1;border-radius:50%;width:60px;height:60px;animation:1.8s ease-out infinite whatsapp-pulse;position:absolute;top:50%;left:50%}.whatsapp-float:hover{background:var(--whatsapp-dark);transform:scale(1.08);box-shadow:0 6px 24px #25d36680,0 2px 8px #0000004d}@media (width<=768px){.whatsapp-float{width:56px;height:56px;bottom:20px;right:20px}.whatsapp-float:before{width:56px;height:56px}}@media (prefers-reduced-motion:reduce){.whatsapp-float:before{animation:none}}@media (width<=480px){.hero-badges{gap:8px}.btn-whatsapp{padding:12px 18px;font-size:.9rem}.portfolio-meta-chips{bottom:8px;left:8px}}.lang-switcher{border:1px solid var(--border);border-radius:var(--radius-pill);background:#ffffff0a;align-items:center;gap:4px;padding:4px;display:flex}.lang-btn{border-radius:var(--radius-pill);color:var(--text-muted);letter-spacing:.03em;cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:5px 10px;font:600 .78rem/1 DM Sans,sans-serif;display:flex}.lang-btn:hover{color:var(--text)}.lang-btn.active{background:rgba(var(--primary-rgb), .14);color:var(--primary-light)}.lang-flag{border-radius:2px;flex-shrink:0;width:20px;height:14px}@media (width<=480px){.lang-btn span:last-child{display:none}.lang-btn{padding:5px 7px}}.portfolio-card{cursor:pointer}.portfolio-card .portfolio-img,.portfolio-card .portfolio-img-wrap img{will-change:transform;transition:transform .7s cubic-bezier(.25,.46,.45,.94)}.portfolio-card:hover .portfolio-img,.portfolio-card:hover .portfolio-img-wrap img{transform:scale(1.06)}.portfolio-card .portfolio-info{transition:transform .4s;transform:translateY(6px)}.portfolio-card:hover .portfolio-info{transform:translateY(0)}.portfolio-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.chip{letter-spacing:.04em;border-radius:999px;padding:3px 10px;font-size:.7rem;font-weight:600}.chip-live{color:var(--primary-light,var(--primary));background:#7c3aed26;border:1px solid #7c3aed4d}.chip-country{color:#f0f4f8b3;background:#ffffff14;border:1px solid #ffffff1a}.chip-type{color:#f0f4f880;background:#ffffff0d;border:1px solid #ffffff12}.contact-hero{text-align:center;max-width:680px;margin:0 auto;padding:60px 0}.contact-headline{font-family:var(--font-display);letter-spacing:-.04em;margin-bottom:24px;font-size:clamp(2.2rem,5vw,4.5rem);font-weight:900;line-height:1.05}.contact-sub{color:var(--text-muted);max-width:480px;margin-bottom:40px;margin-left:auto;margin-right:auto;font-size:1.1rem;line-height:1.7}.contact-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-bottom:40px;display:flex}.contact-meta{color:var(--text-muted);flex-wrap:wrap;justify-content:center;gap:24px;font-size:.85rem;display:flex}.contact-meta span{align-items:center;gap:6px;display:flex}@media (width<=768px){.hero{position:relative}.contact-headline{font-size:clamp(2rem,8vw,3rem)}.contact-actions{flex-direction:column;align-items:center}.contact-meta{flex-direction:column;align-items:center;gap:12px}}@media (width<=480px){.hero{position:relative}.contact-headline{font-size:clamp(1.8rem,10vw,2.5rem)}.contact-sub{font-size:1rem}}
