.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}*{margin:0;padding:0;box-sizing:border-box}:root{--red: #ed1c24;--red-dark: #ce1d3a;--purple: #9e1d5d;--gold: #fdb92e;--orange: #e65c00;--teal: #11998e;--pink: #b61e4d;--cream: #fffaf0;--dark: #1a1a2e;--gradient-title: linear-gradient(160deg, #9e1d5d 0%, #b82858 25%, #d94a3d 50%, #e6693a 75%, #e87d45 100%);--gradient-online: linear-gradient(135deg, #e65c00 0%, #fdb92e 100%);--gradient-red-purple: linear-gradient(135deg, #ed1c24 0%, #9e1d5d 100%)}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:Nunito,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;overflow-x:hidden}a{text-decoration:none;color:inherit}img{max-width:100%;height:auto}.animate-on-scroll{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.animate-left{opacity:0;transform:translate(-50px);transition:opacity .8s ease,transform .8s ease}.animate-left.visible{opacity:1;transform:translate(0)}.animate-right{opacity:0;transform:translate(50px);transition:opacity .8s ease,transform .8s ease}.animate-right.visible{opacity:1;transform:translate(0)}.animate-scale{opacity:0;transform:scale(.9);transition:opacity .6s ease,transform .6s ease}.animate-scale.visible{opacity:1;transform:scale(1)}.stagger-children>*{opacity:0;transform:translateY(30px);transition:opacity .5s ease,transform .5s ease}.stagger-children.visible>*:nth-child(1){transition-delay:.1s}.stagger-children.visible>*:nth-child(2){transition-delay:.2s}.stagger-children.visible>*:nth-child(3){transition-delay:.3s}.stagger-children.visible>*:nth-child(4){transition-delay:.4s}.stagger-children.visible>*:nth-child(5){transition-delay:.5s}.stagger-children.visible>*:nth-child(6){transition-delay:.6s}.stagger-children.visible>*{opacity:1;transform:translateY(0)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.section{padding:80px 20px;position:relative}.section-title{text-align:center;font-size:2.2rem;margin-bottom:50px;font-weight:700;position:relative}.section-title span{color:var(--red);position:relative}.section-title span:after{content:"";position:absolute;bottom:-8px;left:0;width:0;height:3px;background:var(--gold);transition:width .6s ease}.section-title.visible span:after{width:100%}.btn{display:inline-block;padding:16px 40px;border-radius:50px;font-weight:600;font-size:1rem;text-decoration:none;cursor:pointer;border:none;position:relative;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);letter-spacing:.5px}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn:hover:before{left:100%}.btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 10px 30px #0003}.btn:active{transform:translateY(-1px) scale(1)}.btn-primary{background:var(--red);color:#fff;box-shadow:0 4px 20px #ed1c2459}.btn-primary:hover{background:var(--red-dark);box-shadow:0 8px 30px #ed1c2473}.btn-gold{background:linear-gradient(135deg,var(--gold) 0%,#f5a623 100%);color:#1a0a0a;box-shadow:0 4px 20px #fdb92e59}.btn-gold:hover{box-shadow:0 8px 30px #fdb92e80}.btn-white{background:#fff;color:var(--red);box-shadow:0 4px 20px #00000026}.btn-white:hover{box-shadow:0 8px 30px #00000040}.btn-pulse{animation:pulse 2s infinite}@keyframes pulse{0%,to{box-shadow:0 4px 20px #fdb92e59}50%{box-shadow:0 4px 30px #fdb92e99,0 0 0 10px #fdb92e1a}}.card{background:#fff;border-radius:20px;padding:35px;box-shadow:0 5px 30px #00000014;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-red-purple);transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.card:hover{transform:translateY(-10px);box-shadow:0 20px 50px #00000026}.card:hover:before{transform:scaleX(1)}.img-zoom{overflow:hidden;border-radius:16px}.img-zoom img{transition:transform .6s cubic-bezier(.4,0,.2,1)}.img-zoom:hover img{transform:scale(1.1)}.img-overlay{position:relative;overflow:hidden;border-radius:16px}.img-overlay:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 50%);opacity:0;transition:opacity .4s ease}.img-overlay:hover:after{opacity:1}.cta-section{background:var(--gradient-title);color:#fff;text-align:center;padding:100px 20px;position:relative;overflow:hidden}.cta-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 50%);animation:ctaBgMove 15s linear infinite}@keyframes ctaBgMove{0%{transform:translate(0)}50%{transform:translate(25%,25%)}to{transform:translate(0)}}.cta-section h2{font-size:2.5rem;margin-bottom:20px;font-weight:700;position:relative;z-index:1}.cta-section p{font-size:1.2rem;opacity:.95;margin-bottom:35px;max-width:550px;margin-left:auto;margin-right:auto;position:relative;z-index:1}.cta-section .btn{position:relative;z-index:1}.whatsapp-float{position:fixed;bottom:30px;right:30px;width:65px;height:65px;background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.2rem;box-shadow:0 6px 30px #25d36680;z-index:999;transition:all .4s cubic-bezier(.4,0,.2,1);animation:whatsappPulse 2s infinite}@keyframes whatsappPulse{0%,to{box-shadow:0 6px 30px #25d36680}50%{box-shadow:0 6px 30px #25d36680,0 0 0 15px #25d36626}}.whatsapp-float:hover{transform:scale(1.15) rotate(10deg);box-shadow:0 10px 40px #25d36699;animation:none}.icon-float{animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.icon-spin-hover:hover i{animation:iconSpin .6s ease}@keyframes iconSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gradient-text{background:var(--gradient-red-purple);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-shine{background:linear-gradient(90deg,var(--red),var(--gold),var(--red));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:textShine 3s linear infinite}@keyframes textShine{0%{background-position:0% center}to{background-position:200% center}}.page-loaded{animation:pageLoad .6s ease-out}@keyframes pageLoad{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.card-3d{transition:transform .4s cubic-bezier(.4,0,.2,1),box-shadow .4s ease;transform-style:preserve-3d;will-change:transform}.card-3d:hover{transform:perspective(1000px) rotateX(5deg) rotateY(-5deg) translateY(-10px);box-shadow:0 30px 60px #0003,0 0 40px #9e1d5d1a}.card-glow{transition:all .4s ease}.card-glow:hover{box-shadow:0 20px 50px #00000026,0 0 30px #ed1c2433}.card-gradient-border{position:relative;background:#fff;z-index:1}.card-gradient-border:before{content:"";position:absolute;inset:-3px;border-radius:inherit;background:linear-gradient(135deg,var(--red),var(--gold),var(--purple),var(--red));background-size:300% 300%;z-index:-1;opacity:0;transition:opacity .4s ease;animation:gradientMove 4s ease infinite}.card-gradient-border:hover:before{opacity:1}@keyframes gradientMove{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.parallax-bg{background-attachment:fixed;background-position:center;background-repeat:no-repeat;background-size:cover}@media(max-width:768px){.parallax-bg{background-attachment:scroll}}.floating-shapes{position:absolute;pointer-events:none;z-index:0}.shape{position:absolute;border-radius:50%;opacity:.1}.shape-1{width:300px;height:300px;background:var(--red);top:10%;left:-5%;animation:floatShape 8s ease-in-out infinite}.shape-2{width:200px;height:200px;background:var(--gold);top:60%;right:-3%;animation:floatShape 10s ease-in-out infinite reverse}.shape-3{width:150px;height:150px;background:var(--purple);bottom:20%;left:10%;animation:floatShape 12s ease-in-out infinite}@keyframes floatShape{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(20px,-30px) rotate(5deg)}50%{transform:translate(-10px,-50px) rotate(-5deg)}75%{transform:translate(30px,-20px) rotate(3deg)}}.gradient-blob{position:absolute;width:400px;height:400px;background:radial-gradient(circle,var(--red) 0%,transparent 70%);filter:blur(80px);opacity:.15;pointer-events:none;animation:blobMove 15s ease-in-out infinite}@keyframes blobMove{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}.scroll-progress{position:fixed;top:0;left:0;width:0%;height:4px;background:var(--gradient-red-purple);z-index:9999;transition:width .1s linear}.btn-ripple{position:relative;overflow:hidden}.btn-ripple .ripple{position:absolute;border-radius:50%;background:#fff6;transform:scale(0);animation:rippleEffect .6s linear;pointer-events:none}@keyframes rippleEffect{to{transform:scale(4);opacity:0}}.typewriter{overflow:hidden;border-right:3px solid var(--gold);white-space:nowrap;animation:typing 3.5s steps(40,end),blinkCursor .75s step-end infinite}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blinkCursor{0%,to{border-color:transparent}50%{border-color:var(--gold)}}.counter{display:inline-block}.icon-bounce:hover i,.icon-bounce:hover .icon{animation:iconBounce .5s ease}@keyframes iconBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.icon-rotate:hover i,.icon-rotate:hover .icon{animation:iconRotate .5s ease}@keyframes iconRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.icon-scale:hover i,.icon-scale:hover .icon{transform:scale(1.2);transition:transform .3s ease}.reveal-up{opacity:0;transform:translateY(60px);transition:all .8s cubic-bezier(.4,0,.2,1)}.reveal-up.visible{opacity:1;transform:translateY(0)}.reveal-fade{opacity:0;transition:opacity 1s ease}.reveal-fade.visible{opacity:1}.reveal-scale{opacity:0;transform:scale(.8);transition:all .6s cubic-bezier(.4,0,.2,1)}.reveal-scale.visible{opacity:1;transform:scale(1)}.btn-magnetic{transition:transform .3s ease}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.glass-dark{background:#0003;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.marquee{overflow:hidden;white-space:nowrap}.marquee-content{display:inline-block;animation:marquee 20s linear infinite}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton 1.5s infinite}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}::view-transition-old(root),::view-transition-new(root){animation-duration:.4s}::view-transition-old(root){animation:fadeSlideOut .4s ease-in-out}::view-transition-new(root){animation:fadeSlideIn .4s ease-in-out}@keyframes fadeSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.section-decorated:before{content:"";position:absolute;top:0;left:0;right:0;height:200px;background:linear-gradient(to bottom,rgba(158,29,93,.03) 0%,transparent 100%);pointer-events:none}.pattern-overlay:after{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%239e1d5d' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");pointer-events:none;opacity:.5}@media(max-width:768px){.section-title{font-size:1.6rem}.section{padding:50px 15px}.cta-section h2{font-size:1.8rem}.cta-section{padding:70px 20px}.whatsapp-float{bottom:20px;right:20px;width:55px;height:55px;font-size:1.8rem}.btn{padding:14px 30px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
