:root{--bg-color:#0a0d12;--bg-alt:#111620;--card-bg:#161c26;--card-hover:#1a222f;--accent-primary:#dc2626;--accent-primary-hover:#ef4444;--accent-secondary:#2563eb;--accent-secondary-hover:#3b82f6;--text-primary:#fff;--text-secondary:#d1d5db;--text-muted:#9ca3af;--border-color:#222c3d;--border-focus:#374151;--error-color:#ef4444;--success-color:#10b981;--font-title:"Montserrat", sans-serif;--font-body:"Inter", sans-serif;--container-padding:1.5rem;--section-padding:4rem 0;--max-width:1200px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);text-transform:uppercase;letter-spacing:1px;color:var(--text-primary);font-weight:800;line-height:1.2}a{color:inherit;text-decoration:none}ul{list-style:none}button{font-family:var(--font-body);cursor:pointer;background:0 0;border:none;outline:none}img{max-width:100%;display:block}.container{width:100%;max-width:var(--max-width);padding:0 var(--container-padding);margin:0 auto}.section{padding:var(--section-padding)}.text-accent{color:var(--accent-primary)}.text-secondary-accent{color:var(--accent-secondary)}.text-center{text-align:center}.section-title{text-align:center;margin-bottom:1rem;font-size:2rem}@media (width>=768px){.section-title{font-size:2.5rem}}.section-subtitle{color:var(--text-secondary);text-align:center;max-width:600px;margin:0 auto 3rem;font-size:1.1rem}.btn{border-radius:.375rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-primary{background-color:var(--accent-primary);color:#fff}.btn-primary:hover{background-color:var(--accent-primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.btn-secondary{background-color:var(--accent-secondary);color:#fff}.btn-secondary:hover{background-color:var(--accent-secondary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #2563eb4d}.btn-outline{color:var(--text-primary);border:1px solid var(--border-color);background-color:#0000}.btn-outline:hover{border-color:var(--text-primary);background-color:#ffffff0d}.btn-full{width:100%}.glass{-webkit-backdrop-filter:blur(10px);border:1px solid var(--border-color);background:#161c26b3}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:.6s ease-out forwards fadeIn}.header{z-index:1000;width:100%;padding:1.5rem 0;transition:all .3s;position:fixed;top:0;left:0}.header.scrolled{border-bottom:1px solid var(--border-color);background:#0d0f12e6;padding:1rem 0}.header-container{justify-content:space-between;align-items:center;display:flex}.logo{font-family:var(--font-title);letter-spacing:1px;align-items:center;font-size:1.5rem;font-weight:900;display:flex}.logo-img{border-radius:4px;width:auto;height:40px}.desktop-nav{align-items:center;gap:2.5rem;display:none}.nav-list{gap:2rem;display:flex}.nav-link{color:var(--text-primary);font-size:.95rem;font-weight:500;transition:color .3s;position:relative}.nav-link:after{content:"";background-color:var(--accent-primary);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}.nav-link:hover{color:var(--accent-primary)}.nav-link:hover:after{width:100%}.mobile-toggle{color:var(--text-primary);z-index:1001;display:block}.mobile-nav{background-color:var(--card-bg);border-left:1px solid var(--border-color);width:80%;max-width:400px;height:100vh;padding:6rem 2rem 2rem;transition:right .4s cubic-bezier(.77,0,.175,1);position:fixed;top:0;right:-100%;box-shadow:-5px 0 30px #00000080}.mobile-nav.open{right:0}.mobile-nav-list{flex-direction:column;gap:1.5rem;display:flex}.mobile-nav-link{font-size:1.25rem;font-family:var(--font-title);border-bottom:1px solid var(--border-color);padding:.5rem 0;display:block}@media (width>=992px){.mobile-toggle,.mobile-nav{display:none}.desktop-nav{display:flex}}.hero{background-color:var(--bg-color);background-image:radial-gradient(circle at 15%,#dc262626,#0000 25%),radial-gradient(circle at 85% 30%,#2563eb1a,#0000 25%);justify-content:center;align-items:center;min-height:100vh;padding:6rem 0 3rem;display:flex;position:relative;overflow:hidden}.hero-overlay{opacity:.15;z-index:0;background:url(https://images.unsplash.com/photo-1599351431202-1e0f0137899a?q=80&w=2000&auto=format&fit=crop) 50%/cover no-repeat;width:100%;height:100%;position:absolute;top:0;left:0}.hero:after{content:"";background:linear-gradient(to top, var(--bg-color), transparent);z-index:1;width:100%;height:150px;position:absolute;bottom:0;left:0}.hero-content{z-index:2;text-align:center;max-width:900px;position:relative}.hero-badges{flex-wrap:wrap;justify-content:center;gap:.75rem;margin-bottom:2rem;display:flex}.badge{color:var(--text-primary);border:1px solid #dc26264d;border-radius:2rem;align-items:center;gap:.5rem;padding:.4rem .8rem;font-size:.8rem;font-weight:600;display:inline-flex}.hero-title{letter-spacing:-1px;margin-bottom:1.5rem;font-size:2.5rem}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin:0 auto 2.5rem;font-size:1.1rem}.hero-actions{flex-direction:column;justify-content:center;gap:1rem;display:flex}.btn-hero{padding:1rem 2rem;font-size:1.1rem}@media (width>=768px){.hero-title{font-size:4.5rem}.hero-subtitle{font-size:1.3rem}.hero-actions{flex-direction:row;gap:1.5rem}}.bg-alt{background-color:#111419}.locations-grid{grid-template-columns:1fr;gap:2rem;margin-top:3rem;display:grid}.location-card{border-radius:1rem;transition:transform .3s,box-shadow .3s;overflow:hidden}.location-card:hover{border-color:#d977064d;transform:translateY(-5px);box-shadow:0 10px 30px #00000080}.location-image{background-position:50%;background-size:cover;height:200px;position:relative}.location-image:after{content:"";background:linear-gradient(#0000,#161c26);width:100%;height:100%;position:absolute;top:0;left:0}.status-badge{background-color:var(--success-color);color:#fff;z-index:2;border-radius:1rem;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.75rem;font-weight:600;display:flex;position:absolute;top:1rem;right:1rem}.location-content{z-index:1;margin-top:-30px;padding:1.5rem;position:relative}.location-content h3{margin-bottom:1.5rem;font-size:1.5rem}.location-info{flex-direction:column;gap:1rem;margin-bottom:2rem;display:flex}.info-item{color:var(--text-secondary);align-items:flex-start;gap:.75rem;font-size:.95rem;display:flex}.info-item span{flex:1}.location-actions{flex-direction:column;gap:.75rem;display:flex}.btn-sm{padding:.5rem 1rem;font-size:.95rem}@media (width>=768px){.locations-grid{grid-template-columns:repeat(3,1fr)}}.services-tabs{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem;display:flex}.tab-btn{color:var(--text-primary);background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:2rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.tab-btn:hover{background-color:#ffffff0d}.tab-btn.active{background-color:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.services-grid{grid-template-columns:1fr;gap:1.5rem;display:grid}.service-card{border-radius:1rem;padding:1.5rem;transition:border-color .3s}.service-card:hover{border-color:var(--accent-primary)}.service-card.selected-card{border-color:var(--accent-primary);background-color:#dc26260d}.service-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.service-header h3{margin-right:1rem;font-size:1.25rem}.service-price{font-family:var(--font-title);white-space:nowrap;font-size:1.25rem;font-weight:800}.service-desc{color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.service-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:1rem;display:flex}.service-time{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.9rem;display:flex}@media (width>=768px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.services-grid{grid-template-columns:repeat(3,1fr)}}.promos-grid{grid-template-columns:1fr;gap:2rem;display:grid}@media (width>=768px){.promos-grid{grid-template-columns:repeat(3,1fr)}}.promo-card{border-top:4px solid var(--accent-secondary);border-radius:1rem;padding:2rem 1.5rem 1.5rem;transition:transform .3s,border-color .3s;position:relative}.promo-card:hover{border-color:var(--accent-secondary);transform:translateY(-5px)}.promo-badge{background-color:var(--accent-primary);color:#fff;font-size:.75rem;font-weight:800;font-family:var(--font-title);letter-spacing:1px;border-radius:1rem;padding:.2rem .8rem;position:absolute;top:-12px;right:1.5rem}.promo-header h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.2rem}.promo-desc{color:var(--text-secondary);min-height:4.5rem;margin-bottom:2rem;font-size:.95rem}.promo-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;padding-top:1.25rem;display:flex}.promo-price{font-family:var(--font-title);font-size:1.25rem;font-weight:800}.loyalty-banner{text-align:center;border:1px solid var(--border-color);border-left:5px solid var(--accent-primary);background:linear-gradient(135deg,#161c26e6,#0a0d12e6);border-radius:1rem;flex-direction:column;align-items:center;gap:2rem;padding:3rem 2rem;display:flex}@media (width>=992px){.loyalty-banner{text-align:left;flex-direction:row;justify-content:space-between;padding:3rem 4rem}}.loyalty-icon-wrapper{background-color:#dc26261a;border-radius:50%;justify-content:center;align-items:center;padding:1.5rem;display:flex}.loyalty-content{flex:1}.loyalty-title{color:#fff;margin-bottom:1rem;font-size:1.8rem}@media (width>=768px){.loyalty-title{font-size:2.5rem}}.loyalty-desc{color:var(--text-secondary);margin-bottom:.5rem;font-size:1.1rem}.loyalty-slogan{color:var(--text-primary);font-size:1.1rem;font-style:italic;font-weight:600}.loyalty-action{align-items:center;display:flex}.booking-container{border-radius:1rem;max-width:800px;margin:0 auto;padding:2rem}.booking-progress-bar{background-color:var(--card-bg);border-radius:3px;width:100%;height:6px;margin-bottom:1rem;overflow:hidden}.progress-fill{background-color:var(--accent-primary);height:100%;transition:width .3s}.booking-progress-text{color:var(--text-muted);justify-content:space-between;margin-bottom:2rem;font-size:.9rem;display:flex}.empty-services{text-align:center;background-color:var(--card-bg);border:1px dashed var(--border-color);border-radius:.5rem;padding:3rem 1rem}.selected-services-list{flex-direction:column;gap:1rem;display:flex}.selected-item{border-radius:.5rem;justify-content:space-between;align-items:center;padding:1rem;display:flex}.totals-box{border:1px solid var(--accent-secondary);background-color:#2563eb1a;border-radius:.5rem;justify-content:space-between;align-items:center;margin-top:1rem;padding:1.5rem;display:flex}.summary-box{border-radius:.5rem;margin-top:2rem;padding:1.5rem}.summary-box h4{color:var(--accent-secondary);margin-bottom:1rem}.mt-4{margin-top:1.5rem}.font-bold{font-weight:700}.text-sm{font-size:.85rem}.justify-end{justify-content:flex-end}.form-step h3{align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.3rem;display:flex}.options-grid{grid-template-columns:1fr;gap:1rem;margin-bottom:2rem;display:grid}@media (width>=600px){.options-grid{grid-template-columns:repeat(2,1fr)}}.option-card{background-color:var(--card-bg);cursor:pointer;text-align:center;border:2px solid #0000;border-radius:.5rem;padding:1rem;font-weight:500;transition:all .2s;display:block}.option-card:hover{background-color:#ffffff0d}.option-card.selected{border-color:var(--accent-primary);color:var(--accent-primary);background-color:#dc26261a}.hidden-radio{display:none}.date-time-inputs{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}@media (width>=600px){.date-time-inputs{flex-direction:row}}.input-group{flex-direction:column;flex:1;gap:.5rem;display:flex}.input-group label{color:var(--text-secondary);font-size:.9rem}.form-input{background-color:var(--card-bg);border:1px solid var(--border-color);width:100%;color:var(--text-primary);font-family:var(--font-body);border-radius:.5rem;padding:.75rem;font-size:1rem}.form-input:focus{border-color:var(--accent-primary);outline:none}::-webkit-calendar-picker-indicator{filter:invert();cursor:pointer}.form-actions{justify-content:flex-end;margin-top:2rem;display:flex}.form-actions.split{justify-content:space-between}.btn-whatsapp{color:#fff;background-color:#25d366}.btn-whatsapp:hover{background-color:#1da851;box-shadow:0 4px 12px #25d3664d}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:disabled:hover{box-shadow:none;transform:none}.gallery-header{flex-direction:column;gap:1rem;margin-bottom:3rem;display:flex}@media (width>=600px){.gallery-header{flex-direction:row;justify-content:space-between;align-items:flex-end}}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (width>=768px){.gallery-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}.gallery-item{aspect-ratio:1;cursor:pointer;border-radius:.5rem;position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{opacity:0;background:#0d0f1299;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.gallery-item:hover .gallery-overlay{opacity:1}.reviews-grid{grid-template-columns:1fr;gap:2rem;margin-top:3rem;display:grid}@media (width>=768px){.reviews-grid{grid-template-columns:repeat(3,1fr)}}.review-card{border-radius:1rem;padding:2rem;transition:transform .3s;position:relative}.review-card:hover{transform:translateY(-5px)}.review-quote-icon{opacity:.2;position:absolute;top:1.5rem;right:1.5rem}.review-stars{gap:.25rem;margin-bottom:1rem;display:flex}.review-text{color:var(--text-primary);margin-bottom:2rem;font-size:1rem;font-style:italic;line-height:1.6}.review-author{border-top:1px solid var(--border-color);align-items:center;gap:1rem;padding-top:1rem;display:flex}.author-avatar{background-color:var(--accent-primary);color:#fff;width:40px;height:40px;font-weight:800;font-family:var(--font-title);border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.author-info h4{text-transform:none;margin-bottom:.2rem;font-size:1rem}.author-info span{color:var(--text-muted);font-size:.8rem}.footer{border-top:1px solid var(--border-color);background-color:#0a0c0f;padding-top:4rem}.footer-content{grid-template-columns:1fr;gap:3rem;margin-bottom:3rem;display:grid}@media (width>=768px){.footer-content{grid-template-columns:2fr 1fr 1fr}}.footer-brand .logo{margin-bottom:1rem;font-size:1.5rem;display:inline-block}.footer-desc{color:var(--text-secondary);max-width:350px;margin-bottom:1.5rem;font-size:.95rem}.social-links{gap:1rem;display:flex}.social-icon{background-color:var(--card-bg);width:40px;height:40px;color:var(--text-primary);border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex}.social-icon:hover{background-color:var(--accent-primary);color:#fff;transform:translateY(-3px)}.footer-links h4,.footer-hours h4{font-size:1.1rem;font-family:var(--font-title);color:#fff;margin-bottom:1.5rem}.footer-links ul,.footer-hours ul{flex-direction:column;gap:.8rem;display:flex}.footer-links a{color:var(--text-secondary);font-size:.95rem;transition:color .3s}.footer-links a:hover{color:var(--accent-primary)}.footer-hours li{color:var(--text-secondary);flex-direction:column;font-size:.95rem;display:flex}.footer-hours .day{color:var(--text-primary);margin-bottom:.2rem;font-weight:500}.footer-bottom{padding:2rem var(--container-padding);color:var(--text-muted);border-top:1px solid #ffffff0d;flex-direction:column;align-items:center;gap:1rem;font-size:.9rem;display:flex}@media (width>=768px){.footer-bottom{flex-direction:row;justify-content:space-between}}.footer-legal{gap:1.5rem;display:flex}.footer-legal a{transition:color .3s}.footer-legal a:hover{color:var(--text-primary)}
