:root{--primary:#1d7671;--secondary:#2c5530;--accent:#b5a5d1;--sand:#f4f6f4;--bg-color:#fcfcfc;--text-dark:#1a281f;--text-light:#fff;--glass-bg:#ffffff26;--glass-border:#ffffff4d;--font-heading:"Outfit", sans-serif;--font-body:"Outfit", sans-serif;--transition:all .3s cubic-bezier(.25, .8, .25, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-family:var(--font-body);color:var(--text-dark)}body{background-color:var(--bg-color);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);text-transform:uppercase;font-weight:700}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;margin:0 auto;padding:80px 20px}.text-center{text-align:center}.subtitle-dark{color:var(--secondary);margin-bottom:40px;font-size:1.1rem}.fade-in{opacity:0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.fade-in.visible{opacity:1;transform:translateY(0)}.margin-bottom-20{margin-bottom:20px}.navbar-wrapper{z-index:1000;width:100%;transition:var(--transition);justify-content:center;display:flex;position:fixed;top:20px}.navbar{background:var(--glass-bg);-webkit-backdrop-filter:blur(15px);border:1px solid var(--glass-border);width:95%;max-width:1300px;transition:var(--transition);border-radius:50px;justify-content:space-between;align-items:center;padding:12px 30px;display:flex;box-shadow:0 10px 30px #0000001a}.navbar.scrolled{background:#2c5530d9;border-color:#ffffff1a}.logo{font-family:var(--font-body);color:var(--text-light);letter-spacing:1px;align-items:center;gap:15px;font-size:1.2rem;font-weight:600;line-height:1.2;display:flex}.logo-icon{width:40px;height:40px;fill:var(--text-light)}.nav-links{align-items:center;gap:30px;list-style:none;display:flex}.nav-links li a{color:var(--text-light);text-transform:uppercase;letter-spacing:1px;transition:var(--transition);font-size:.95rem;font-weight:400;position:relative}.nav-links li a:after{content:"";background:var(--text-light);width:0;height:1px;transition:var(--transition);position:absolute;bottom:-5px;left:0}.nav-links li a:hover:after{width:100%}.hamburger{cursor:pointer;display:none}.hamburger .bar{background-color:var(--text-light);width:25px;height:2px;transition:var(--transition);margin:5px 0}.cta-btn{background-color:var(--primary);color:var(--text-light);text-transform:uppercase;letter-spacing:1px;transition:var(--transition);border:none;border-radius:30px;padding:12px 30px;font-size:.9rem;font-weight:600;display:inline-block;box-shadow:0 4px 15px #0003}.cta-btn:hover{color:#fff;background-color:#16605b;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.hero{text-align:center;height:100vh;color:var(--text-light);justify-content:center;align-items:center;display:flex;position:relative}.hero-bg{z-index:-2;background-position:50%;background-size:cover;width:100%;height:100%;position:absolute;top:0;left:0}.hero-overlay{z-index:-1;background:linear-gradient(#0000004d,#00000080);width:100%;height:100%;position:absolute;top:0;left:0}.hero-content{max-width:1000px;margin-top:50px;padding:0 20px;animation:1s forwards heroReveal}@keyframes heroReveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-content h1{text-shadow:0 4px 20px #0006;letter-spacing:-1px;margin-bottom:25px;font-size:4.8rem;line-height:1.1}.hero .subtitle{text-shadow:0 2px 10px #00000080;margin-bottom:20px;font-size:1.4rem;font-weight:400}.hero-microtitle{text-transform:uppercase;letter-spacing:2px;opacity:.9;text-shadow:0 2px 5px #00000080;font-size:.85rem;font-weight:600}.about{background-color:var(--bg-color)}.section-title{color:var(--secondary);margin-bottom:50px;font-size:2.5rem}.section-title span{color:var(--primary)}.about-grid{grid-template-columns:1fr 1fr;align-items:center;gap:60px;display:grid}.about-text p{color:var(--text-dark);font-size:1.1rem}.about-image{position:relative}.image-frame{border-radius:10px;position:relative;overflow:hidden;box-shadow:0 20px 40px #0000001a}.apartment{background:linear-gradient(to bottom, var(--bg-color), var(--sand))}.slider-container{background:var(--text-dark);aspect-ratio:3/2;border-radius:12px;width:100%;max-width:1000px;max-height:700px;margin:0 auto 40px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0003}.slider-track{height:100%;transition:transform .5s ease-in-out;display:flex}.slider-item{justify-content:center;align-items:center;min-width:100%;height:100%;display:flex}.slider-item img{object-fit:cover;object-position:center;width:100%;height:100%}.slider-btn{color:var(--primary);cursor:pointer;z-index:10;width:50px;height:50px;transition:var(--transition);background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 10px #00000026}.slider-btn:hover{background:var(--primary);color:var(--text-light)}.slider-btn.prev{left:20px}.slider-btn.next{right:20px}.slider-indicators{z-index:10;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0006;border-radius:20px;gap:10px;padding:8px 15px;display:flex;position:absolute;bottom:25px;left:50%;transform:translate(-50%)}.indicator{cursor:pointer;width:12px;height:12px;transition:var(--transition);background:#fff6;border-radius:50%}.indicator.active{background:#fff;transform:scale(1.2)}.explore{background:var(--bg-color)}.gallery{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:30px;margin-top:40px;display:grid}.gallery-item{perspective:1000px;cursor:pointer;background-color:#0000;border-radius:12px;width:100%;height:350px;position:relative}.flip-card-inner{width:100%;height:100%;transform-style:preserve-3d;border-radius:12px;transition:transform .8s;position:relative;box-shadow:0 10px 20px #0000001a}.gallery-item:hover .flip-card-inner{transform:rotateY(180deg);box-shadow:0 15px 30px #0003}.flip-card-front,.flip-card-back{backface-visibility:hidden;border-radius:12px;width:100%;height:100%;position:absolute;overflow:hidden}.flip-card-front img{object-fit:cover;background-color:#ededed;width:100%;height:100%}.spot-overlay{width:100%;color:var(--text-light);background:linear-gradient(#0000,#1d7671e6);padding:30px 20px 20px;position:absolute;bottom:0;left:0}.spot-overlay h4{color:var(--text-light);text-transform:uppercase;letter-spacing:1px;margin:0;font-size:1.5rem}.flip-card-back{background:var(--primary);color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;transform:rotateY(180deg)}.flip-card-back h4{color:var(--text-light);font-size:1.6rem;font-family:var(--font-heading);margin-bottom:15px}.flip-card-back p{opacity:.9;margin-bottom:25px;font-size:1.05rem;line-height:1.5}.map-link-btn{background:var(--secondary);color:var(--text-light);text-transform:uppercase;transition:var(--transition);border-radius:25px;padding:10px 20px;font-size:.9rem;font-weight:600;display:inline-block;box-shadow:0 4px 10px #0000001a}.map-link-btn:hover{color:var(--primary);background:#fff;transform:translateY(-2px)}.booking{background-color:var(--secondary);color:var(--text-light)}.booking .section-title{color:var(--text-light)}.booking-grid{grid-template-columns:1fr 1fr;gap:40px;display:grid}.calendar-container,.reviews-container{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;border-radius:15px;max-width:450px;margin:0 auto;padding:15px 20px}.calendar-container h3,.reviews-container h3{color:var(--text-light);margin-bottom:10px;font-size:1.6rem}.calendar-desc{opacity:.9;font-family:var(--font-body);margin-bottom:30px}.widget-placeholder{background:#ffffff0d;border:2px dashed #ffffff4d;border-radius:10px;padding:50px 20px}.widget-placeholder .icon{color:var(--accent);margin-bottom:15px;font-size:3rem;display:block}.flatpickr-calendar.inline{width:100%;box-shadow:none;background:0 0;border:none;border-radius:10px}.flatpickr-day.flatpickr-disabled{text-decoration:line-through;color:#fff!important;background:#ff3c3c66!important;border-color:#0000!important}.flatpickr-current-month .flatpickr-monthDropdown-months{background:var(--secondary)!important}.dummy-link{border:1px solid var(--text-light);color:var(--text-light);transition:var(--transition);border-radius:30px;margin-top:15px;padding:10px 25px;display:inline-block}.dummy-link:hover{background:var(--text-light);color:var(--secondary)}.pseudo-review{color:var(--text-light);opacity:.9;margin-top:20px;font-style:italic}.contact{background-color:var(--sand)}.contact-grid{grid-template-columns:1fr 1.5fr;gap:50px;display:grid}.info-card{background:var(--bg-color);border-left:4px solid var(--primary);border-radius:12px;margin-bottom:20px;padding:30px;box-shadow:0 5px 15px #00000008}.info-card h4{color:var(--secondary);margin-bottom:10px;font-size:1.3rem}.inquiry-form{background:var(--bg-color);border-radius:12px;padding:40px;box-shadow:0 10px 30px #0000000d}.inquiry-form h3{color:var(--secondary);margin-bottom:20px;font-size:1.8rem}.inquiry-form input,.inquiry-form textarea{width:100%;font-family:var(--font-body);transition:var(--transition);background:#fdfdfd;border:1px solid #ddd;border-radius:8px;margin-bottom:20px;padding:15px}.inquiry-form input:focus,.inquiry-form textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #1d767133}.inquiry-form button{background:var(--primary);width:100%;color:var(--text-light);text-transform:uppercase;cursor:pointer;transition:var(--transition);border:none;border-radius:8px;padding:15px;font-size:1.1rem;font-weight:600}.inquiry-form button:hover{background:var(--secondary)}footer{background:var(--text-dark);color:#fff9;text-align:center;padding:40px 20px}footer a{color:var(--accent);margin-left:10px;font-size:.9rem}@media (width<=900px){.about-grid,.contact-grid,.booking-grid{grid-template-columns:1fr}.hero-content h1{font-size:3rem}.navbar{width:90%}}@media (width<=768px){.hamburger{display:block}.nav-links{text-align:center;background:#2c5530fa;border-radius:20px;flex-direction:column;width:100%;padding:30px 0;transition:all .5s;position:absolute;top:70px;left:-100%}.nav-links.active{left:0}.nav-links li a{font-size:1.2rem}.whatsapp-float{width:50px;height:50px;bottom:20px;right:20px}.whatsapp-float svg{width:28px;height:28px}}.whatsapp-float{color:#fff;text-align:center;z-index:1000;width:60px;height:60px;transition:var(--transition);background-color:#25d366;border-radius:50px;justify-content:center;align-items:center;font-size:30px;display:flex;position:fixed;bottom:40px;right:40px;box-shadow:2px 2px 10px #0000004d}.whatsapp-float:hover{background-color:#1ebe57;transform:scale(1.1);box-shadow:2px 2px 15px #0006}.photo-gallery{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin-top:30px;display:grid}.gallery-img-wrapper{cursor:pointer;border-radius:12px;height:250px;position:relative;overflow:hidden}.gallery-img-wrapper img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.gallery-img-wrapper:hover img{transform:scale(1.1)}.lightbox{z-index:2000;background-color:#000000e6;width:100%;height:100%;padding-top:50px;display:none;position:fixed;top:0;left:0;overflow:hidden}.lightbox-content{justify-content:center;align-items:center;width:90%;max-width:1000px;height:80vh;margin:auto;padding:0;display:flex;position:relative}.lightbox-content img{object-fit:contain;border-radius:8px;max-width:100%;max-height:100%}.lightbox-close{color:#fff;cursor:pointer;z-index:2001;font-size:40px;font-weight:700;position:absolute;top:20px;right:35px}.lightbox-close:hover{color:#ccc}.lightbox-btn{cursor:pointer;color:#fff;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;margin-top:-50px;padding:16px;font-size:24px;font-weight:700;transition:all .3s;display:flex;position:absolute;top:50%}.lightbox-btn:hover{background-color:#000c}.lightbox-btn.prev{left:0}.lightbox-btn.next{right:0}@media (width<=768px){.photo-gallery{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.gallery-img-wrapper{height:150px}.lightbox-btn{width:40px;height:40px;padding:10px;font-size:18px}.booking-grid{grid-template-columns:1fr;gap:20px}.calendar-container,.reviews-container{box-sizing:border-box;max-width:100%}}.faq-item{background-color:#fff;border-radius:8px;margin-bottom:15px;overflow:hidden;box-shadow:0 4px 15px #0000000d}.faq-question{text-align:left;width:100%;font-family:var(--font-heading);color:var(--text-dark);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:20px;font-size:1.1rem;font-weight:600;transition:background-color .3s;display:flex}.faq-question:hover{background-color:#f9f9f9}.faq-question:after{content:"+";color:var(--primary);font-size:1.5rem;transition:transform .3s}.faq-question.active:after{content:"−";transform:rotate(180deg)}.faq-answer{background-color:#fff;max-height:0;transition:max-height .4s ease-out;overflow:hidden}.faq-answer p{color:#555;margin:0;padding:0 20px 20px;line-height:1.6}.cookie-banner{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;background:#fffffff2;border:1px solid #0000001a;border-radius:12px;flex-direction:column;gap:15px;max-width:800px;margin:0 auto;padding:25px;display:flex;position:fixed;bottom:20px;left:20px;right:20px;box-shadow:0 10px 40px #0003}.cookie-content h4{color:var(--primary);font-family:var(--font-heading);margin:0 0 10px;font-size:1.2rem}.cookie-content p{color:var(--text-dark);margin:0;font-size:.9rem;line-height:1.5}.cookie-buttons{flex-wrap:wrap;justify-content:flex-end;gap:15px;display:flex}@media (width>=768px){.cookie-banner{flex-direction:row;justify-content:space-between;align-items:center}.cookie-content{flex:1;margin-right:20px}.cookie-buttons{flex-wrap:nowrap}}
