h1,h2,h3,p{margin-bottom:1rem}a,h2{color:var(--primary-color)}.container,.header-container{max-width:1200px;margin:0 auto}.main-nav .nav-links a:after,h2:after{content:'';background:var(--primary-color);position:absolute}.gallery-grid,.services-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.gallery-item,body.nav-open{overflow:hidden}.author-name,.cta-button,h1,h2,h3{font-weight:600}.cta-button,.footer-bottom,.hero,.service-item,h2{text-align:center}.floating-cta,.hero h1{text-transform:uppercase}:root{--primary-color:#d4a060;--primary-dark:#b88a4f;--dark-bg:#1a1a1a;--darker-bg:#121212;--light-text:#f4f4f4;--secondary-text:#dcdcdc;--card-bg:#252525;--card-border-color:#3a3a3a;--font-main:'Poppins',sans-serif;--font-heading:'Playfair Display',serif;--shadow-sm:0 2px 5px rgba(0,0,0,0.15);--shadow-md:0 5px 15px rgba(0,0,0,0.25);--shadow-lg:0 10px 25px rgba(0,0,0,0.3);--transition:all 0.3s ease-in-out}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-main);background-color:var(--darker-bg);color:var(--light-text);line-height:1.7;font-size:16px;overflow-x:hidden}.footer-logo,.hero h1,.testimonial-card:before,h2{font-family:var(--font-heading)}.container{padding:0 30px}h1,h2,h3{line-height:1.3}.hero p,p{line-height:1.8}h2{font-size:2.8rem;margin-bottom:3.5rem;position:relative}.main-nav .nav-links a,p{color:var(--secondary-text)}h2:after{bottom:-15px;left:50%;transform:translateX(-50%);width:80px;height:3px}p{font-size:1.05rem}.section-padding{padding:6rem 0}a{text-decoration:none;transition:var(--transition)}a:hover{color:var(--primary-dark)}.hero h1,.hero p,.mobile-nav-toggle{color:var(--light-text)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;border-radius:4px}.main-header{background-color:rgba(15,15,15,.85);backdrop-filter:blur(10px);padding:1rem 0;position:fixed;top:0;width:100%;z-index:100;box-shadow:var(--shadow-md);border-bottom:2px solid var(--primary-color);transition:padding .3s}.main-header.scrolled{padding:.7rem 0}.header-container{display:flex;justify-content:space-between;align-items:center;padding:0 30px}.logo-link{display:inline-block;line-height:0}.hero h1 span,.logo-image{display:block}.logo-image{height:75px;width:auto}.main-nav .nav-links{list-style:none;display:flex;gap:30px}.main-nav .nav-links a{font-weight:500;position:relative;padding:5px 0}.hero h1 span,.main-nav .nav-links a.active,.main-nav .nav-links a:hover{color:var(--primary-color)}.main-nav .nav-links a:after{bottom:0;left:0;width:0;height:2px;transition:var(--transition)}.main-nav .nav-links a.active::after,.main-nav .nav-links a:hover:after{width:100%}.mobile-nav-toggle{display:none;background:0 0;border:none;font-size:1.8rem;cursor:pointer}body.nav-open .mobile-nav-toggle{position:fixed;top:2.3rem;right:30px;z-index:1001;color:var(--primary-color)}.mobile-menu-overlay{display:none}.hero{padding:12rem 0 8rem;background:linear-gradient(rgba(10,10,10,.85),rgba(10,10,10,.9)),url('hero-back.webp') center center/cover no-repeat}.hero h1{font-size:4rem;margin-bottom:1.5rem;letter-spacing:2px}.hero p{font-size:1.4rem;max-width:700px;margin:0 auto 3rem}.cta-button{display:inline-block;background-color:var(--primary-color);color:#0f0f0f;padding:16px 40px;font-size:1.2rem;border-radius:8px;transition:var(--transition);border:2px solid var(--primary-color);cursor:pointer;box-shadow:var(--shadow-md)}.contact-info,.service-item,.testimonial-card{padding:2.5rem;box-shadow:var(--shadow-md)}.cta-button:hover{background-color:var(--primary-dark);border-color:var(--primary-dark);transform:translateY(-5px);box-shadow:0 10px 25px rgba(212,160,96,.3);color:#0f0f0f}.footer-heading:after,.service-item:hover .service-icon,.social-links a:hover{background:var(--primary-color)}.cta-button-secondary{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.cta-button-secondary:hover{background-color:var(--primary-color);color:#0f0f0f}.services-grid{display:grid;gap:3rem}.service-icon,.service-item{display:flex;transition:var(--transition)}.service-item{background-color:var(--card-bg);border-radius:12px;border:1px solid var(--card-border-color);flex-direction:column;align-items:center}.service-icon{width:80px;height:80px;background:rgba(212,160,96,.1);border-radius:50%;align-items:center;justify-content:center;margin-bottom:1.5rem}.service-icon i{font-size:2.5rem;color:var(--primary-color)}.author-avatar,.author-name,.service-item h3,.testimonial-text{color:var(--light-text)}.service-item:hover{transform:translateY(-10px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.service-item:hover .service-icon i{color:#0f0f0f}.service-item h3{margin-bottom:1rem;font-size:1.8rem;font-weight:600}.gallery-grid{display:grid;gap:1rem}.gallery-item{position:relative;border-radius:8px;aspect-ratio:1/1}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s,filter .4s}.gallery-item:hover img{transform:scale(1.1);filter:brightness(.7)}.testimonials-container{max-width:800px;margin:0 auto;text-align:center}.testimonial-card{background:var(--card-bg);border-radius:12px;margin:2rem 0;border:1px solid var(--card-border-color);position:relative}.contact-info h3,.contact-item{margin-bottom:1.5rem;display:flex}.testimonial-card:before{content:'"';position:absolute;top:20px;left:20px;font-size:5rem;color:var(--primary-color);opacity:.2;line-height:1}.testimonial-text{font-style:italic;margin-bottom:1.5rem;font-size:1.1rem;position:relative;z-index:1}.testimonial-author{display:flex;align-items:center;justify-content:center;gap:15px}.author-avatar{width:60px;height:60px;border-radius:50%;border:3px solid var(--primary-color);background:rgba(212,160,96,.1);display:flex;align-items:center;justify-content:center;font-size:2.5rem}.author-position{color:var(--secondary-text);font-size:.9rem}.contact-icon i,.contact-info h3,.stars{color:var(--primary-color)}.stars{margin-top:5px}.google-reviews-link-container{margin-top:3rem}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:3rem}.contact-info{background-color:var(--card-bg);border-radius:12px;border:1px solid var(--card-border-color);transition:var(--transition)}.contact-info:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}.contact-info h3{align-items:center;gap:10px}.contact-item{align-items:flex-start;gap:15px;padding-bottom:1.5rem;border-bottom:1px solid var(--card-border-color)}.contact-icon,.social-links a{align-items:center;width:40px;height:40px}.contact-item:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.contact-icon{background:rgba(212,160,96,.1);border-radius:50%;display:flex;justify-content:center;flex-shrink:0}.contact-icon i{font-size:1.2rem}.contact-details p{margin-bottom:.3rem}.contact-details a{display:block;color:var(--light-text);font-weight:500}.map-container{grid-column:1/-1;margin-top:2rem;background:var(--card-bg);padding:1.5rem;border-radius:12px;box-shadow:var(--shadow-md);border:1px solid var(--card-border-color)}.main-footer{background-color:#0f0f0f;color:var(--secondary-text);padding:4rem 0 2rem;margin-top:3rem}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem;margin-bottom:3rem}.footer-logo{font-size:2rem;color:var(--primary-color);margin-bottom:1rem}.footer-heading,.social-links a i{color:var(--light-text)}.social-links{display:flex;gap:15px}.social-links a{display:flex;justify-content:center;background:rgba(255,255,255,.05);border-radius:50%}.social-links a:hover{transform:translateY(-5px)}.footer-heading{font-size:1.4rem;margin-bottom:1.5rem;position:relative;padding-bottom:10px}.floating-cta,.floating-cta:active,.floating-cta:hover,.floating-cta:link,.floating-cta:visited{color:#0f0f0f;text-decoration:none}.footer-heading:after{content:'';position:absolute;bottom:0;left:0;width:50px;height:2px}.footer-links{list-style:none}.footer-links li{margin-bottom:10px}.footer-links a{color:var(--secondary-text);display:flex;align-items:center;gap:10px}.map-container iframe,.map-facade img{display:block;width:100%;height:400px;filter:invert(90%) hue-rotate(180deg) brightness(1.2) contrast(.9)}.footer-links a i{font-size:.8rem;color:var(--primary-color)}.footer-links a:hover{color:var(--primary-color);transform:translateX(5px)}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding-top:2rem;border-top:1px solid var(--card-border-color);font-size:.9rem}.footer-bottom p{margin-bottom:0}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0);transition-delay:calc(var(--item-index, 0) * 0.05s)}@media (max-width:992px){h2{font-size:2.4rem}.hero h1{font-size:3rem}.hero p{font-size:1.2rem}}.map-facade,main>section{position:relative;overflow:hidden}@media (max-width:576px){.container{padding:0 20px}h2{font-size:1.8rem}.hero h1{font-size:2rem}.contact-grid{grid-template-columns:1fr}}.page-section{padding-top:140px}.mobile-menu-overlay a.active{color:var(--primary-color);font-weight:700}.section-subtitle a.instagram-link{display:inline-block;font-weight:600;color:var(--primary-color);text-decoration:none;border-bottom:2px solid var(--primary-dark);padding-bottom:2px;margin-top:10px}.section-subtitle a.instagram-link:hover{color:var(--light-text);border-bottom-color:var(--primary-color)}.section-subtitle a.instagram-link i{margin-left:5px;font-size:1.1em}main>section{border-bottom:none}main>section:not(:last-of-type)::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:80px;background:linear-gradient(to top,rgba(0,0,0,.75) 0,rgba(0,0,0,0) 100%);pointer-events:none;z-index:2}.hero::after{background:linear-gradient(to top,rgba(0,0,0,.9) 0,rgba(0,0,0,0) 100%)}.map-facade{cursor:pointer;border-radius:8px;border:1px solid var(--card-border-color)}.map-facade img{object-fit:cover;transition:filter .3s}.map-facade:hover img{filter:invert(90%) hue-rotate(180deg) brightness(1) contrast(1)}.map-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background-color:rgba(0,0,0,.5);transition:background-color .3s}.map-facade:hover .map-overlay{background-color:rgba(0,0,0,.3)}.map-load-button{padding:14px 28px;font-size:1.1rem;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-lg);transform:scale(1);transition:transform .3s,background-color .3s}.map-load-button:hover{transform:scale(1.05)}.map-container iframe{border:none;border-radius:8px}.floating-cta{position:fixed;bottom:30px;right:30px;z-index:999;display:flex;align-items:center;gap:12px;background-color:var(--primary-color);font-family:var(--font-main);font-weight:700;padding:14px;border-radius:50px;box-shadow:var(--shadow-lg);transition:.4s cubic-bezier(.68, -.55, .27, 1.55);-webkit-tap-highlight-color:transparent}.floating-cta .cta-icon{background-color:#0f0f0f;color:var(--primary-color);width:40px;height:40px;border-radius:50%;display:flex;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .3s;flex-shrink:0}.floating-cta .cta-text{max-width:0;opacity:0;white-space:nowrap;overflow:hidden;transition:max-width .4s ease-in-out,opacity .3s ease-in-out .1s;color:#0f0f0f}.floating-cta .cta-text::before{content:"¡RESERVA YA!"}@media (hover:hover){.floating-cta:hover{padding-right:24px;transform:translateY(-5px);box-shadow:0 15px 30px rgba(0,0,0,.4)}.floating-cta:hover .cta-text{max-width:150px;opacity:1}.floating-cta:hover .cta-icon{transform:rotate(-15deg) scale(1.1)}}@media (max-width:768px){.hero-cta-button,.main-nav{display:none}.mobile-nav-toggle{display:block}.mobile-menu-overlay{display:flex;justify-content:center;align-items:center;position:fixed;inset:0;z-index:1000;background-color:rgba(0,0,0,.98);transform:translateX(100%);transition:transform .35s ease-out}.mobile-menu-overlay[data-visible=true]{transform:translateX(0)}.mobile-menu-overlay ul{list-style:none;text-align:center}.mobile-menu-overlay li{margin-bottom:2rem}.mobile-menu-overlay a{font-family:var(--font-main);font-size:1.8rem;font-weight:600;color:var(--light-text);text-transform:uppercase;letter-spacing:2px}.mobile-menu-overlay a:hover{color:var(--primary-color)}.floating-cta{padding:12px 20px}.floating-cta .cta-text{max-width:150px;opacity:1;font-size:.9rem}.floating-cta .cta-text::before{content:"Reservar"}}.footer-bottom .legal-links a{color:var(--secondary-text);font-size:.85rem;text-decoration:none;border-bottom:1px solid transparent;transition:var(--transition)}.footer-bottom .legal-links a:hover{color:var(--primary-color);border-bottom-color:var(--primary-color)}.footer-link{color:var(--secondary-text);font-size:.85rem;text-decoration:none;border-bottom:1px solid transparent;transition:var(--transition)}.footer-link:hover{color:var(--primary-color);border-bottom-color:var(--primary-color)}
