:root{--color-primary: #FDF5E6;--color-secondary: #3D2B1F;--color-accent: #C5A021;--color-text: #4A4A4A;--color-text-light: #888888;--color-bg: #FFFFFF;--color-surface: #F9F7F5;--font-heading: "Cormorant Garamond", serif;--font-body: "DM Sans", sans-serif;--texture-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--radius-card: 16px;--radius-btn: 30px;--shadow-card: 0 10px 30px rgba(0, 0, 0, .05);--shadow-float: 0 15px 40px rgba(0, 0, 0, .15);--transition: all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--color-text);background-color:var(--color-bg);line-height:1.7;font-weight:400;letter-spacing:.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-secondary);font-weight:600;line-height:1.15;letter-spacing:.02em}h1{font-weight:500;letter-spacing:.03em}h2{font-weight:500}a{text-decoration:none;color:inherit;transition:var(--transition)}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none;transition:var(--transition)}img{max-width:100%;height:auto;display:block}ul{list-style:none}.section-container{max-width:1200px;margin:0 auto;padding:5rem 20px}.section-title{text-align:center;font-size:2.8rem;font-weight:500;margin-bottom:3rem;position:relative}.section-title:after{content:"";display:block;width:50px;height:3px;background:linear-gradient(90deg,var(--color-accent),var(--color-secondary));margin:18px auto 0;border-radius:2px}.bg-surface{background-color:var(--color-surface);position:relative}.bg-surface:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:var(--texture-noise);opacity:.015;pointer-events:none}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:25px}@media(max-width:768px){.section-container{padding:3rem 15px}.section-title{font-size:2rem;margin-bottom:2rem}.section-title:after{margin-top:12px;width:40px}.grid{grid-template-columns:1fr;gap:20px}}.home-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;margin-top:2rem}.home-category-card{position:relative;height:400px;border-radius:30px;overflow:hidden;box-shadow:0 15px 35px #0000001a;transition:transform .5s ease,box-shadow .5s ease;opacity:0;transform:translateY(50px);animation:categoryReveal .8s ease forwards}.home-category-card:nth-child(1){animation-delay:0s}.home-category-card:nth-child(2){animation-delay:.15s}.home-category-card:nth-child(3){animation-delay:.3s}@keyframes categoryReveal{to{opacity:1;transform:translateY(0)}}.home-category-card:hover{transform:translateY(-10px);box-shadow:0 25px 50px #0003}.home-category-card img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.4,0,.2,1)}.home-category-card:hover img{transform:scale(1.15)}.cat-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to top,#000000b3,#0000001a);display:flex;align-items:flex-end;justify-content:center;padding-bottom:40px}.cat-overlay h3{color:#fff;font-size:2rem;font-family:var(--font-heading);letter-spacing:2px}.btn-primary,.btn-secondary,.btn-outline{display:inline-block;padding:14px 32px;border-radius:var(--radius-btn);font-weight:600;font-size:.9rem;text-transform:uppercase;letter-spacing:1px;transition:var(--transition);text-align:center}.btn-primary{background:var(--color-secondary);color:#fff}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 10px 25px #3d2b1f40}.btn-secondary{background:var(--color-accent);color:#fff}.btn-outline{background:transparent;border:2px solid var(--color-secondary);color:var(--color-secondary)}.btn-outline:hover{background:var(--color-secondary);color:#fff}@media(max-width:768px){.home-categories{grid-template-columns:1fr;gap:15px}.home-category-card{height:250px;border-radius:20px}.cat-overlay h3{font-size:1.3rem}.cat-overlay{padding-bottom:30px}.btn-primary,.btn-secondary,.btn-outline{padding:16px 28px;font-size:.85rem;width:100%;max-width:280px}}.navbar{position:fixed;top:0;left:0;width:100%;z-index:999;padding:10px 0;transition:all .3s ease;background:transparent}.navbar.scrolled{background:#fff;padding:5px 0;box-shadow:0 5px 20px #0000000d}.navbar.navbar-hidden{transform:translateY(-100%);pointer-events:none}.navbar-container{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.navbar-logo{display:flex;align-items:center;gap:15px;cursor:pointer;text-decoration:none}.logo-img{height:70px;width:auto;object-fit:contain;transition:all .4s cubic-bezier(.4,0,.2,1)}.navbar.scrolled .logo-img{height:50px}.navbar-logo:hover .logo-img{transform:scale(1.05)}.navbar:not(.scrolled) .navbar-logo{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.navbar.scrolled .navbar-logo{color:var(--color-secondary);text-shadow:none}.navbar-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.mobile-menu-header{display:none!important}.navbar-links li a{font-size:.95rem;font-weight:500;cursor:pointer;position:relative;color:inherit;text-decoration:none;padding-bottom:5px}.navbar:not(.scrolled) .navbar-links li a{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.3)}.navbar.scrolled .navbar-links li a{color:var(--color-text);text-shadow:none}.navbar-links li a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background-color:var(--color-accent);transition:width .3s ease}.navbar-links li a:hover:after,.navbar-links li a.active-link:after{width:100%}.navbar-menu-icon{display:none;flex-direction:column;justify-content:space-between;width:28px;height:20px;cursor:pointer;z-index:1001;background:transparent;border:none;padding:0}.navbar-menu-icon span{display:block;height:2px;width:100%;background-color:#fff;border-radius:2px;transition:all .3s ease}.navbar.scrolled .navbar-menu-icon span{background-color:var(--color-secondary)}.navbar.menu-open .navbar-menu-icon{opacity:0;pointer-events:none}.navbar-overlay{display:none}@media(max-width:768px){.navbar-overlay{display:block;position:fixed;top:0;left:0;width:100%;height:100vh;background:#00000080;z-index:998}.navbar-menu-icon{display:flex}.navbar-links{position:fixed;top:0;right:-85%;width:85%;max-width:320px;height:100vh;background:#fff;flex-direction:column;padding:0;gap:0;z-index:999;box-shadow:-10px 0 40px #00000026;transition:right .4s cubic-bezier(.77,.2,.05,1)}.navbar-links.active{right:0}.mobile-menu-header{display:flex!important;justify-content:space-between;align-items:center;padding:15px 20px;border-bottom:1px solid #eee;background:var(--color-surface)}.mobile-logo{height:40px;width:auto}.mobile-close-btn{width:40px;height:40px;background:#fff;border:1px solid #eee;border-radius:50%;font-size:24px;color:var(--color-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s ease}.mobile-close-btn:hover{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.navbar-links li{width:100%;opacity:0;transform:translate(20px);transition:all .3s ease}.navbar-links.active li{opacity:1;transform:translate(0)}.navbar-links li:nth-child(2){transition-delay:.05s}.navbar-links li:nth-child(3){transition-delay:.1s}.navbar-links li:nth-child(4){transition-delay:.15s}.navbar-links li:nth-child(5){transition-delay:.2s}.navbar-links li:nth-child(6){transition-delay:.25s}.navbar-links li a{display:block;padding:14px 20px;color:var(--color-secondary)!important;font-size:.95rem;font-weight:500;text-shadow:none!important;border-bottom:1px solid #f0f0f0;transition:all .2s ease}.navbar-links li a:after{display:none}.navbar-links li a:hover,.navbar-links li a.active-link{background:var(--color-surface);padding-left:25px;color:var(--color-accent)!important}}.navbar.centered-layout{padding:15px 0 10px}.navbar.centered-layout .navbar-container{flex-direction:column;gap:10px;align-items:center}.navbar.centered-layout .navbar-brand{width:100%;display:flex;justify-content:center}.navbar.centered-layout .logo-img{height:100px}.navbar.centered-layout .navbar-links{width:100%;justify-content:center;gap:2.5rem;padding:10px 0;border-top:1px solid rgba(255,255,255,.1)}.navbar.centered-layout.scrolled{padding:5px 0}.navbar.centered-layout.scrolled .navbar-container{gap:5px}.navbar.centered-layout.scrolled .logo-img{height:60px}.navbar.centered-layout.scrolled .navbar-links{border-top:none;padding:5px 0}.navbar.centered-layout.scrolled .navbar-links li a{color:var(--color-secondary)}@media(max-width:768px){.navbar.centered-layout{padding:12px 0;background:transparent;height:75px;transition:all .3s ease}.navbar.centered-layout.scrolled{background:#fffffffa;height:65px;box-shadow:0 2px 15px #00000014}.navbar.centered-layout .navbar-container{flex-direction:row;justify-content:space-between;align-items:center;gap:0;height:100%}.navbar.centered-layout .navbar-brand{width:auto;position:absolute;left:50%;transform:translate(-50%)}.navbar.centered-layout .logo-img{height:55px;transition:height .3s ease}.navbar.centered-layout.scrolled .logo-img{height:45px}.navbar.centered-layout .navbar-menu-icon{display:flex;margin-left:auto;z-index:1001;transition:opacity .3s ease}.navbar.centered-layout .navbar-menu-icon span{background-color:var(--color-secondary)}.navbar.centered-layout.menu-open .navbar-menu-icon{opacity:0;pointer-events:none}.navbar.centered-layout .navbar-links{position:fixed;top:0;right:-85%;width:85%;max-width:320px;height:100vh;background:#fff;flex-direction:column;justify-content:flex-start;align-items:stretch;padding:0;border:none;gap:0;z-index:1000;box-shadow:-10px 0 40px #00000026;transition:right .4s cubic-bezier(.77,.2,.05,1)}.navbar.centered-layout .navbar-links.active{right:0}}.hero{position:relative;height:90vh;width:100%;background-color:#000;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;margin-bottom:var(--spacing-md);border-bottom-left-radius:40px;border-bottom-right-radius:40px}.hero-slide{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;opacity:0;transition:opacity 1.5s ease-in-out;display:flex;align-items:center;justify-content:center}.hero-slide.active{opacity:1;z-index:1}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(61,43,31,.4) 0%,transparent 50%),linear-gradient(to bottom,#0000004d,#0000001a 40%,#0003,#000000b3);z-index:2}.hero-slide:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at 30% 20%,rgba(197,160,33,.1) 0%,transparent 50%);z-index:2;pointer-events:none}.hero-content{position:relative;z-index:3;padding:0 20px;max-width:800px}.hero-content>*{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}.hero-slide.active .hero-content>*{opacity:1;transform:translateY(0)}.hero-slide.active .hero-subtitle{transition-delay:.2s}.hero-slide.active .hero-title{transition-delay:.4s}.hero-slide.active .hero-text{transition-delay:.6s}.hero-slide.active .hero-cta{transition-delay:.8s}.hero-subtitle{display:inline-flex;align-items:center;gap:15px;font-family:var(--font-body);font-size:.85rem;letter-spacing:5px;text-transform:uppercase;margin-bottom:1.5rem;color:var(--color-accent);font-weight:500}.hero-subtitle:before,.hero-subtitle:after{content:"";width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent)}.hero-title{font-size:4.5rem;font-weight:500;margin-bottom:1.5rem;color:#fff;line-height:1.05;letter-spacing:.02em;text-shadow:0 4px 30px rgba(0,0,0,.4)}.hero-text{font-size:1.1rem;margin-bottom:2.5rem;max-width:500px;margin-left:auto;margin-right:auto;font-weight:300;opacity:.9}.hero-cta{background:linear-gradient(135deg,#fff 0%,var(--color-primary) 100%);color:var(--color-secondary);padding:18px 42px;border-radius:var(--radius-btn);font-size:.85rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;box-shadow:0 15px 40px #0000004d;position:relative;overflow:hidden;transition:all .4s ease}.hero-cta:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .6s ease}.hero-cta:hover{transform:translateY(-4px);box-shadow:0 20px 50px #0006}.hero-cta:hover:before{left:100%}.hero-dots{position:absolute;bottom:30px;left:50%;transform:translate(-50%);display:flex;gap:12px;z-index:10}.dot{width:10px;height:10px;border-radius:50%;background-color:#ffffff4d;cursor:pointer;transition:all .3s}.dot.active{background-color:#fff;width:30px;border-radius:10px}@media(max-width:768px){.hero{height:75vh;min-height:550px;border-bottom-left-radius:25px;border-bottom-right-radius:25px}.hero-subtitle{font-size:.7rem;letter-spacing:3px;gap:10px}.hero-subtitle:before,.hero-subtitle:after{width:25px}.hero-title{font-size:2.5rem;margin-bottom:1rem}.hero-text{font-size:.95rem;margin-bottom:2rem;padding:0 10px}.hero-cta{padding:16px 32px;font-size:.8rem;letter-spacing:1.5px}.hero-dots{bottom:25px}.dot{width:8px;height:8px}.dot.active{width:24px}}.whatsapp-container{position:fixed;bottom:30px;right:30px;z-index:1000}.whatsapp-float{width:60px;height:60px;background-color:#25d366;color:#fff;border-radius:50%;box-shadow:0 6px 15px #25d36666;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);border:none}.whatsapp-float:hover{transform:scale(1.1) rotate(10deg);box-shadow:0 10px 25px #25d36699}.whatsapp-float svg{width:32px;height:32px}@keyframes pulse{0%{box-shadow:0 0 #25d366b3}70%{box-shadow:0 0 0 15px #25d36600}to{box-shadow:0 0 #25d36600}}.whatsapp-float{animation:pulse 2s infinite}.card{background:#fff;border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;height:100%;display:flex;flex-direction:column;position:relative;cursor:pointer;opacity:0;transform:translateY(40px);transition:opacity .6s cubic-bezier(.4,0,.2,1),transform .6s cubic-bezier(.4,0,.2,1),box-shadow .3s ease}.card.reveal{opacity:1;transform:translateY(0);transition-delay:var(--delay, 0s)}.card.reveal:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f}.card-image-container{position:relative;height:220px;overflow:hidden}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.card:hover .card-image{transform:scale(1.08)}.card-price-tag{position:absolute;top:15px;right:15px;background:#ffffffe6;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);color:var(--color-secondary);padding:6px 14px;font-weight:700;font-size:.9rem;border-radius:20px;box-shadow:0 4px 10px #0000001a}.card-content{padding:20px;flex-grow:1;display:flex;flex-direction:column}.card-title{font-size:1.2rem;margin-bottom:0;color:var(--color-secondary)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.card-duration{font-size:.75rem;background:#f0f0f0;color:#666;padding:3px 8px;border-radius:12px;white-space:nowrap;margin-left:8px}.card-description{font-size:.9rem;color:var(--color-text-light);margin-bottom:1.5rem;line-height:1.5;flex-grow:1}.card-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px;background-color:var(--color-surface);color:var(--color-text);border:1px solid #eee;border-radius:12px;font-weight:600;font-size:.85rem;text-transform:uppercase;letter-spacing:.5px}.card-btn:hover{background-color:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.card-btn .w-icon{transition:transform .3s ease}.card-btn:hover .w-icon{transform:translate(4px)}@media(max-width:768px){.card-image-container{height:180px}.card-content{padding:15px}.card-title{font-size:1.1rem}.card-description{font-size:.85rem;margin-bottom:1rem}.card-btn{padding:12px;font-size:.8rem}.card-price-tag{font-size:.85rem;padding:5px 12px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000a6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .25s ease}.modal-content{background:#fff;width:100%;max-width:860px;max-height:90vh;border-radius:20px;overflow-y:auto;position:relative;box-shadow:0 25px 60px -12px #0000004d;animation:slideUp .35s ease;-ms-overflow-style:none;scrollbar-width:none}.modal-content::-webkit-scrollbar{display:none}.modal-close{position:absolute;top:14px;right:16px;background:#ffffffd9;border:none;font-size:1.6rem;line-height:1;cursor:pointer;z-index:10;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#555;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-close:hover{background:#f0f0f0;transform:rotate(90deg)}.modal-body{display:grid;grid-template-columns:1fr 1fr}.modal-gallery{background:#f5f5f5;display:flex;flex-direction:column;border-radius:20px 0 0 20px;overflow:hidden}.modal-main-image{width:100%;height:380px;overflow:hidden;position:relative}.modal-main-image img{width:100%;height:100%;object-fit:cover}.gallery-counter{position:absolute;bottom:10px;right:12px;background:#00000073;color:#fff;font-size:.75rem;padding:3px 9px;border-radius:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffbf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#333;z-index:5;transition:all .2s}.gallery-nav:hover{background:#fffffff2}.gallery-nav.prev{left:10px}.gallery-nav.next{right:10px}.modal-thumbs{display:flex;gap:8px;padding:12px;overflow-x:auto;background:#fff;scroll-snap-type:x mandatory}.thumb-img{width:64px;height:64px;border-radius:8px;object-fit:cover;cursor:pointer;opacity:.55;transition:all .2s;border:2px solid transparent;flex-shrink:0;scroll-snap-align:start}.thumb-img:hover{opacity:.85}.thumb-img.active{opacity:1;border-color:var(--color-secondary, #b8960c)}.modal-info{padding:36px 32px;display:flex;flex-direction:column}.modal-badges{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.modal-category{text-transform:uppercase;font-size:.72rem;letter-spacing:2px;color:var(--color-text-light, #888)}.modal-promo-badge{background:#fff3cd;color:#92650a;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px}.modal-title{font-size:1.65rem;line-height:1.25;margin-bottom:18px;color:var(--color-secondary, #2c2c2c)}.modal-meta{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:22px;border-bottom:1px solid #f0f0f0;flex-wrap:wrap}.modal-price-block{display:flex;align-items:baseline;gap:8px}.modal-original-price{font-size:1rem;font-weight:500;color:#bbb;text-decoration:line-through}.modal-price{font-size:1.5rem;font-weight:700;color:var(--color-accent, #b8960c)}.modal-duration{display:flex;align-items:center;gap:5px;font-size:.85rem;color:#888;background:#f5f5f5;padding:4px 11px;border-radius:20px}.modal-description{font-size:.95rem;color:var(--color-text, #444);line-height:1.75;flex-grow:1;margin-bottom:28px}.modal-actions{margin-top:auto}.modal-cta-primary{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;background:var(--color-secondary, #2c2c2c);color:#fff;border:none;padding:14px 24px;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.modal-cta-primary:hover{background:#111;transform:translateY(-1px)}.modal-form{margin-top:auto;display:flex;flex-direction:column;gap:10px}.modal-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.modal-form-title{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#aaa}.modal-form-back{background:none;border:none;font-size:.78rem;color:#aaa;cursor:pointer;font-family:inherit;padding:0;transition:color .2s}.modal-form-back:hover{color:#555}.modal-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-field{display:flex;flex-direction:column;gap:4px}.modal-field label{font-size:.75rem;font-weight:500;color:#888}.modal-field input,.modal-field textarea{border:1.5px solid #e5e5e5;border-radius:9px;padding:8px 11px;font-size:.85rem;color:#222;outline:none;font-family:inherit;transition:border-color .2s;background:#fafafa;resize:none}.modal-field input:focus,.modal-field textarea:focus{border-color:var(--color-accent, #b8960c);background:#fff}.modal-submit{display:flex;align-items:center;justify-content:center;gap:8px;background:#25d366;color:#fff;border:none;padding:13px 20px;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:2px;font-family:inherit}.modal-submit:hover{background:#1ebe5d;transform:translateY(-1px);box-shadow:0 4px 14px #25d36659}.modal-sent{margin-top:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px 0;text-align:center}.modal-sent-icon{width:52px;height:52px;background:#e8f9ef;color:#25d366;font-size:1.5rem;font-weight:700;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-sent-title{font-size:1.1rem;font-weight:700;color:#222}.modal-sent-sub{font-size:.875rem;color:#888}.modal-sent-close{margin-top:8px;background:#f0f0f0;border:none;padding:10px 24px;border-radius:10px;font-size:.875rem;cursor:pointer;color:#555;font-family:inherit;transition:background .2s}.modal-sent-close:hover{background:#e0e0e0}.booking-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:3000;padding:20px;animation:fadeIn .2s ease}.booking-popup{background:#fff;width:100%;max-width:440px;border-radius:20px;padding:28px;box-shadow:0 20px 60px #00000040;animation:slideUp .25s ease;display:flex;flex-direction:column;gap:16px}.booking-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.booking-subtitle{font-size:.7rem;text-transform:uppercase;letter-spacing:2px;color:#aaa;margin-bottom:2px}.booking-title{font-size:1.2rem;font-weight:700;color:#1a1a1a}.booking-close{background:#f5f5f5;border:none;width:32px;height:32px;border-radius:50%;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#666;flex-shrink:0;transition:background .2s}.booking-close:hover{background:#ebebeb}.booking-service-tag{display:flex;align-items:center;justify-content:space-between;background:#f8f8f8;border-radius:10px;padding:10px 14px;font-size:.85rem;color:#555;gap:12px}.booking-service-tag span:first-child{font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-price{font-weight:700;color:var(--color-accent, #b8960c);flex-shrink:0}@media(max-width:768px){.booking-popup{max-width:100%;border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0;padding:24px 20px 32px;animation:slideUpMobile .3s ease}.booking-overlay{align-items:flex-end;padding:0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.modal-overlay{padding:0;align-items:flex-end}.modal-content{max-width:100%;max-height:95vh;border-radius:20px 20px 0 0;animation:slideUpMobile .35s ease}.modal-body{grid-template-columns:1fr}.modal-gallery{border-radius:20px 20px 0 0}.modal-close{top:10px;right:10px;background:#00000073;color:#fff}.modal-close:hover{background:#000000a6}.modal-main-image{height:240px}.modal-info{padding:20px 20px 110px}.modal-title{font-size:1.25rem;margin-bottom:12px}.modal-meta{gap:10px;margin-bottom:14px;padding-bottom:14px}.modal-price{font-size:1.25rem}.modal-description{font-size:.875rem;margin-bottom:16px}.modal-form-row{grid-template-columns:1fr 1fr;gap:8px}.modal-field input,.modal-field textarea{font-size:.8rem;padding:7px 10px}.modal-submit{padding:12px;font-size:.85rem}.thumb-img{width:54px;height:54px}}@keyframes slideUpMobile{0%{transform:translateY(100%)}to{transform:translateY(0)}}.page-container{padding-top:160px;padding-bottom:4rem;min-height:100vh;max-width:1200px;margin:0 auto;padding-left:20px;padding-right:20px}.page-header{text-align:center;margin-bottom:3rem;position:relative}.page-header h1{font-size:3rem;font-weight:500;color:var(--color-secondary);margin-bottom:1rem;position:relative;display:inline-block}.page-header h1:after{content:"";position:absolute;bottom:-10px;left:50%;transform:translate(-50%);width:60px;height:3px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent);border-radius:2px}.page-header p{color:var(--color-text-light);font-size:1.1rem;margin-top:1rem}.filter-container{display:flex;justify-content:center;gap:10px;margin-bottom:3rem;flex-wrap:wrap;position:sticky;top:120px;z-index:10;background:#ffffffe6;padding:15px;border-radius:30px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.filter-btn{background:transparent;border:1px solid #ddd;color:var(--color-text-light);padding:8px 20px;border-radius:25px;font-size:.9rem;cursor:pointer;transition:all .3s ease}.filter-btn:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.filter-btn.active{background:var(--color-secondary);color:#fff;border-color:var(--color-secondary)}.home-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-top:2rem}.home-category-card{position:relative;height:300px;border-radius:20px;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-card)}.home-category-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.home-category-card:hover img{transform:scale(1.1)}.cat-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;transition:background .3s}.home-category-card:hover .cat-overlay{background:#00000080}.cat-overlay h3{color:#fff;font-size:1.8rem;font-weight:600;text-transform:uppercase;letter-spacing:3px;border-bottom:2px solid rgba(255,255,255,.8);padding-bottom:5px;text-shadow:0 4px 10px rgba(0,0,0,.5)}@media(max-width:768px){.page-container{padding-top:80px}.page-header h1{font-size:2rem}.filter-container{top:65px;justify-content:flex-start;overflow-x:auto;margin-left:-20px;margin-right:-20px;padding:10px 10px 10px 20px;-ms-overflow-style:none;scrollbar-width:none}.filter-container::-webkit-scrollbar{display:none}.filter-btn{flex-shrink:0}}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;padding:1rem 0}.portfolio-item{cursor:pointer;group:relative}.portfolio-image-wrapper{position:relative;border-radius:var(--radius-card);overflow:hidden;aspect-ratio:4/5;box-shadow:0 5px 15px #0000001a}.portfolio-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.portfolio-item:hover .portfolio-image-wrapper img{transform:scale(1.05)}.portfolio-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-overlay span{background:#fff;color:var(--color-secondary);padding:10px 20px;border-radius:20px;font-weight:600;font-size:.9rem;transform:translateY(10px);transition:transform .3s ease}.portfolio-item:hover .portfolio-overlay span{transform:translateY(0)}.portfolio-info{margin-top:1rem;text-align:center}.portfolio-info h4{font-size:1.2rem;margin-bottom:.2rem}.portfolio-info p{color:var(--color-text-light);font-size:.9rem}.contact-page{background-color:var(--color-surface)}.contact-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1000px;margin:0 auto}.contact-info-card{background:#fff;padding:30px;border-radius:20px;box-shadow:0 10px 30px #0000000d;text-align:center}.contact-info-card h3{color:var(--color-secondary);margin-bottom:1.5rem;font-size:1.3rem}.social-links{display:flex;flex-direction:column;gap:10px}.social-btn{display:block;padding:12px;border-radius:10px;background:#f9f9f9;color:var(--color-secondary);font-weight:500;transition:all .2s}.social-btn:hover{background:var(--color-secondary);color:#fff;transform:translate(5px)}.booking-steps-section{margin-top:4rem;padding:2.5rem 1.5rem;background:#fff;border-radius:40px;box-shadow:0 15px 50px #0000000d;text-align:center}.booking-header h2{font-size:1.1rem;font-weight:400;text-transform:uppercase;letter-spacing:4px;color:var(--color-secondary);margin-bottom:.5rem;opacity:.8}.booking-title{font-family:Playfair Display,serif;font-size:2.8rem;font-style:italic;color:var(--color-secondary);margin-bottom:3.5rem;line-height:1.2}.steps-container{display:flex;flex-direction:column;gap:1.2rem;max-width:650px;margin:0 auto}.step-item{display:flex;align-items:center;gap:25px;padding:1.8rem 2.2rem;border:1.5px solid #e5d1b8;border-radius:60px;text-align:left;transition:all .4s cubic-bezier(.175,.885,.32,1.275);background:#fff}.step-item:hover{transform:scale(1.03) translateY(-5px);background:#fdfaf7;border-color:var(--color-primary);box-shadow:0 10px 20px #e5d1b84d}.step-number{font-size:2.2rem;font-weight:900;color:var(--color-secondary);min-width:50px;font-family:Playfair Display,serif;opacity:.7}.step-text h3{font-size:1.2rem;color:var(--color-secondary);margin-bottom:.3rem;font-weight:600}.step-text p{font-size:.95rem;opacity:.8;line-height:1.4}.confirmation-text{margin:4rem 0 3rem;font-family:Playfair Display,serif;font-size:2rem;font-style:italic;color:var(--color-secondary);position:relative;display:inline-block}.confirmation-text:after{content:"";position:absolute;bottom:-10px;left:20%;right:20%;height:1px;background:var(--color-primary);opacity:.5}.important-info-box{margin-top:4rem;padding:2.5rem;background:#fffcf9;border-radius:25px;border:1px solid #f3e6d5;border-left:6px solid var(--color-secondary);text-align:left}.important-info-box h3{font-size:1.1rem;letter-spacing:2px;margin-bottom:2rem;display:flex;align-items:center;gap:12px;color:var(--color-secondary)}.info-icon{font-size:1.4rem;color:var(--color-accent)}.important-info-box ul{list-style:none;display:flex;flex-direction:column;gap:1.2rem}.important-info-box li{font-size:1rem;line-height:1.6;position:relative;padding-left:25px;color:#444}.important-info-box li:before{content:"✦";position:absolute;left:0;color:var(--color-primary);font-size:.8rem}@media(max-width:768px){.booking-title{font-size:2.2rem;margin-bottom:2.5rem}.booking-steps-section{padding:2rem 1rem;margin-top:2rem}.step-item{padding:1.2rem 1.5rem;border-radius:35px;gap:15px}.step-number{font-size:1.8rem;min-width:35px}.step-text h3{font-size:1.05rem}.confirmation-text{font-size:1.6rem;margin:3rem 0 2rem}.important-info-box{padding:1.5rem;margin-top:3rem}.contact-content{gap:1rem}.contact-info-card{padding:20px}}@media(max-width:480px){.booking-title{font-size:1.8rem}.step-item{flex-direction:column;text-align:center;border-radius:25px}.step-number{margin-bottom:5px}}.booking-page{max-width:1000px;margin:0 auto}.subtitle{display:block;text-transform:uppercase;letter-spacing:3px;font-size:.9rem;color:var(--color-accent);margin-bottom:.5rem}.booking-steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-bottom:4rem}.booking-step-card{background:#fff;padding:4rem 2rem 3rem;border-radius:40px;box-shadow:0 15px 40px #00000005;position:relative;border:1px solid #f9f9f9;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;align-items:center;text-align:center}.booking-step-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px #0000000d}.step-icon{font-size:2.5rem;margin-bottom:1.5rem;background:var(--color-surface);width:80px;height:80px;display:flex;align-items:center;justify-content:center;border-radius:25px;color:var(--color-accent)}.step-badge{position:absolute;top:25px;right:25px;background:#f0f0f0;color:var(--color-secondary);padding:5px 15px;border-radius:20px;font-size:.7rem;font-weight:800;text-transform:uppercase}.booking-step-card h3{margin-bottom:1rem;font-size:1.3rem;color:var(--color-secondary)}.booking-step-card p{font-size:.95rem;line-height:1.6;opacity:.7}.yape-info-section{display:flex;justify-content:center;margin-bottom:4rem;padding:0 20px}.yape-card{background:linear-gradient(135deg,#742284,#4a1555);color:#fff;display:flex;align-items:center;gap:3rem;padding:2rem 4rem;border-radius:50px;box-shadow:0 25px 50px #74228459;position:relative;border:2px solid rgba(255,255,255,.1)}.yape-logo-container{background:#fff;padding:12px;border-radius:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px #00000026}.yape-logo{height:50px;width:auto}.yape-details{display:flex;flex-direction:column;text-align:left}.yape-label{text-transform:uppercase;font-size:.8rem;letter-spacing:2px;opacity:.8;margin-bottom:5px}.yape-details .phone-number{font-size:2.2rem;font-weight:900;letter-spacing:2px;line-height:1;margin-bottom:5px}.yape-details .owner-name{font-size:1rem;opacity:.9;font-weight:500}.booking-actions{margin-bottom:6rem;text-align:center}.booking-btn{font-size:1.2rem;padding:24px 60px;border-radius:60px;text-transform:none;display:inline-block;background:var(--color-secondary);color:#fff;font-weight:700;box-shadow:0 20px 40px #3d2b1f33;transition:all .3s ease}.booking-btn:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 25px 50px #3d2b1f4d}.confirmation-note{margin-top:2rem;font-family:var(--font-heading);font-style:italic;font-size:1.5rem;color:var(--color-accent)}.policy-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4rem;border-top:1px solid #f0f0f0;padding:5rem 2rem 2rem;text-align:center}.policy-item h4{margin-bottom:1.2rem;color:var(--color-secondary);text-transform:uppercase;font-size:.8rem;letter-spacing:3px;font-weight:800}.policy-item p{font-size:.9rem;opacity:.6;line-height:1.8}@media(max-width:768px){.booking-steps-grid{grid-template-columns:1fr;gap:2rem;padding:0 15px}.booking-step-card{padding:4rem 2rem 2.5rem;border-radius:35px}.yape-card{flex-direction:column;gap:1.5rem;text-align:center;border-radius:40px;width:100%;padding:3rem 1.5rem}.yape-details{text-align:center}.yape-details .phone-number{font-size:2rem}.policy-grid{grid-template-columns:1fr;gap:4rem;padding:4rem 15px}.booking-btn{width:90%;padding:20px;font-size:1.1rem}.confirmation-note{font-size:1.2rem}}.welcome-section{text-align:center;max-width:800px;margin:4rem auto}.welcome-subtitle{text-transform:uppercase;letter-spacing:4px;font-size:.9rem;color:var(--color-accent);margin-bottom:1rem;display:block}.welcome-title{font-size:3rem;margin-bottom:1.5rem;line-height:1.1}.welcome-text{font-size:1.1rem;color:var(--color-text-light);margin-bottom:2.5rem;line-height:1.8}.bg-surface{background-color:var(--color-surface)}.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:30px;margin-top:3rem}.featured-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #00000008;transition:all .4s ease;opacity:0;transform:translateY(40px);animation:revealUp .7s ease forwards}.featured-card:nth-child(1){animation-delay:0s}.featured-card:nth-child(2){animation-delay:.15s}.featured-card:nth-child(3){animation-delay:.3s}.featured-card:hover{transform:translateY(-10px);box-shadow:0 20px 50px #0000001f}@keyframes revealUp{to{opacity:1;transform:translateY(0)}}.featured-image{height:250px}.featured-image img{width:100%;height:100%;object-fit:cover}.featured-info{padding:2rem}.featured-info h3{font-size:1.4rem;margin-bottom:.8rem}.featured-info p{font-size:.95rem;color:var(--color-text-light);margin-bottom:1.5rem;height:45px;overflow:hidden}.featured-info .price{display:block;font-weight:700;color:var(--color-accent);font-size:1.2rem;margin-bottom:1rem}.link-arrow{font-weight:600;color:var(--color-secondary);display:inline-block}.section-footer{text-align:center;margin-top:4rem}.products-featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:40px}.product-item{text-align:center}.product-item img{width:100%;height:300px;object-fit:cover;border-radius:20px;margin-bottom:1.5rem}.product-item h3{font-size:1.1rem;margin-bottom:.5rem}.product-item .price{color:var(--color-accent);font-weight:700}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px}.testimonial-card{background:#fff;padding:3rem 2rem;border-radius:30px;box-shadow:0 10px 30px #00000008;text-align:center;border:1px solid #fdecda;transition:transform .4s ease,box-shadow .4s ease;opacity:0;transform:translateY(30px);animation:revealUp .6s ease forwards}.testimonial-card:nth-child(1){animation-delay:.1s}.testimonial-card:nth-child(2){animation-delay:.2s}.testimonial-card:nth-child(3){animation-delay:.3s}.testimonial-card:hover{transform:translateY(-5px);box-shadow:0 15px 35px #00000014}.stars{color:gold;font-size:1.2rem;margin-bottom:1.5rem}.testimonial-text{font-style:italic;font-size:1.1rem;line-height:1.7;margin-bottom:2rem;font-family:var(--font-heading)}.client-name{margin-bottom:.3rem}.testimonial-date{font-size:.8rem;color:var(--color-text-light)}.cta-banner{background:linear-gradient(#0009,#0009),url(https://images.unsplash.com/photo-1521590832167-7bcbfaa6381f?ixlib=rb-4.0.3&auto=format&fit=crop&w=2000&q=80);background-size:cover;background-attachment:fixed;padding:100px 20px;text-align:center;color:#fff;margin-top:4rem}.cta-banner h2{color:#fff;font-size:3rem;margin-bottom:1rem}.cta-banner p{font-size:1.2rem;max-width:600px;margin:0 auto 2.5rem}@media(max-width:768px){.welcome-section{margin:2rem auto}.welcome-subtitle{font-size:.8rem;letter-spacing:2px}.welcome-title{font-size:1.8rem;margin-bottom:1rem}.welcome-text{font-size:1rem;margin-bottom:1.5rem}.featured-grid{grid-template-columns:1fr;gap:20px}.featured-image{height:200px}.featured-info{padding:1.5rem}.featured-info h3{font-size:1.2rem}.featured-info p{height:auto}.products-featured-grid{grid-template-columns:repeat(2,1fr);gap:15px}.product-item img{height:150px;border-radius:15px;margin-bottom:1rem}.product-item h3{font-size:.9rem}.testimonials-grid{grid-template-columns:1fr;gap:15px}.testimonial-card{padding:1.5rem;border-radius:20px}.testimonial-text{font-size:1rem;margin-bottom:1.5rem}.cta-banner{background-attachment:scroll;padding:50px 20px;margin-top:2rem}.cta-banner h2{font-size:1.8rem;margin-bottom:.8rem}.cta-banner p{font-size:.95rem;margin-bottom:1.5rem}.section-footer{margin-top:2rem}}.app{max-width:100%;overflow-x:hidden;background-color:var(--color-bg)}.section-container{padding:4rem 2rem;max-width:1200px;margin:0 auto}.section-title{text-align:center;margin-bottom:3rem;font-size:2.5rem;position:relative;display:inline-block;left:50%;transform:translate(-50%);color:var(--color-secondary)}.section-title:after{content:"";display:block;width:60px;height:3px;background-color:var(--color-accent);margin:15px auto 0;border-radius:2px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem}.footer{background-color:var(--color-secondary);color:#fff;padding:4rem 2rem;text-align:center;margin-top:2rem}.footer h3{color:var(--color-accent);margin-bottom:1rem;font-size:1.8rem}.footer p{color:#ccc;margin-bottom:.5rem}@media(max-width:768px){.section-container{padding:3rem 1.5rem}.section-title{font-size:2rem}.grid{grid-template-columns:1fr;gap:2rem}}
