@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url('../fonts/inter-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Inter';font-style:normal;font-weight:300 600;font-display:swap;src:url('../fonts/inter-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/playfair-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:400 700;font-display:swap;src:url('../fonts/playfair-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}*, *::before, *::after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:'Inter', system-ui, sans-serif;color:#1a1a2e;line-height:1.6;overflow-x:hidden;background:#f0f7f2}h1, h2, h3, h4{font-family:'Playfair Display', serif;line-height:1.2}img{max-width:100%;height:auto}a{text-decoration:none;color:inherit}ul{list-style:none}.container{max-width:1200px;margin:0 auto;padding:0 24px}.btn{display:inline-block;padding:14px 32px;border-radius:8px;font-weight:500;font-size:0.95rem;transition:all 0.3s ease;cursor:pointer;border:none;text-align:center}.btn-primary{background:#2d6a4f;color:#fff}.btn-primary:hover{background:#1b4332;transform:translateY(-2px);box-shadow:0 8px 24px rgba(45,106,79,0.3)}.btn-secondary{background:transparent;color:#2d6a4f;border:2px solid #2d6a4f;padding:12px 28px}.btn-secondary:hover{background:#2d6a4f;color:#fff}.btn-outline{background:transparent;color:#2d6a4f;border:1px solid #d4d4d4}.btn-outline:hover{border-color:#2d6a4f;background:#f0fdf4}.btn-full{width:100%}.site-header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:16px 0;transition:all 0.3s ease}.site-header.scrolled{background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(0,0,0,0.08);padding:10px 0}.nav-container{max-width:1200px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}.nav-logo{font-family:'Playfair Display', serif;font-size:1.3rem;font-weight:700;color:#fff;transition:color 0.3s}.site-header.scrolled .nav-logo{color:#1a1a2e}.nav-links{display:flex;gap:32px;list-style:none}.nav-links a{color:rgba(255,255,255,0.9);font-size:0.9rem;font-weight:500;transition:color 0.3s;position:relative}.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:#2d6a4f;transition:width 0.3s}.nav-links a:hover::after, .nav-links a.active::after{width:100%}.site-header.scrolled .nav-links a{color:#1a1a2e}.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px}.nav-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;transition:all 0.3s}.site-header.scrolled .nav-toggle span{background:#1a1a2e}.lang-switcher{display:flex;gap:4px}.lang-btn{background:rgba(255,255,255,0.15);color:rgba(255,255,255,0.8);border:1px solid rgba(255,255,255,0.3);padding:4px 10px;border-radius:4px;font-size:0.75rem;font-weight:600;cursor:pointer;transition:all 0.3s}.lang-btn.active{background:#fff;color:#2d6a4f;border-color:#fff}.lang-btn:hover{background:rgba(255,255,255,0.3)}.site-header.scrolled .lang-btn{background:transparent;color:#555;border-color:#ddd}.site-header.scrolled .lang-btn.active{background:#2d6a4f;color:#fff;border-color:#2d6a4f}.hero{position:relative;height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;text-align:center;background:url('../img/hero.webp') center/cover no-repeat;background-color:#2d4a3e}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0.4) 0%, rgba(0,0,0,0.2) 50%, rgba(0,0,0,0.5) 100%)}.hero-content{position:relative;z-index:1;max-width:700px;padding:0 24px}.hero-content h1{font-size:clamp(2.2rem, 5vw, 3.8rem);color:#fff;margin-bottom:16px}.hero-subtitle{font-size:clamp(1rem, 2vw, 1.3rem);color:rgba(255,255,255,0.9);margin-bottom:32px;font-weight:300}.highlights{padding:80px 0;background:#e8f2eb}.highlights-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));gap:32px}.highlight-card{text-align:center;padding:40px 24px;background:#fff;border-radius:16px;box-shadow:0 4px 20px rgba(0,0,0,0.04);transition:transform 0.3s, box-shadow 0.3s;opacity:0;transform:translateY(20px)}.highlight-card.revealed{opacity:1;transform:translateY(0);transition:opacity 0.6s ease, transform 0.6s ease}.highlight-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(0,0,0,0.08)}.highlight-icon{font-size:2.5rem;display:block;margin-bottom:16px}.highlight-card h3{font-size:1.3rem;margin-bottom:8px;color:#2d6a4f}.highlight-card p{color:#555;font-size:0.95rem}.section-title{font-size:clamp(1.8rem, 4vw, 2.8rem);text-align:center;margin-bottom:8px;color:#1a1a2e}.section-subtitle{text-align:center;color:#666;font-size:1.05rem;margin-bottom:48px}.properties{padding:100px 0}.property-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));gap:32px}.property-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,0.06);transition:transform 0.3s, box-shadow 0.3s;opacity:0;transform:translateY(20px)}.property-card.revealed{opacity:1;transform:translateY(0);transition:opacity 0.6s ease, transform 0.6s ease}.property-card:nth-child(2).revealed{transition-delay:0.15s}.property-card:nth-child(3).revealed{transition-delay:0.3s}.property-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(0,0,0,0.1)}.carousel{position:relative;height:260px;overflow:hidden}.carousel-track{position:relative;height:100%;overflow:hidden}.carousel-slide{position:absolute;inset:0;background:#e5e7eb center/cover no-repeat;opacity:0;transition:opacity 0.4s ease;overflow:hidden}.carousel-slide::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.4) 50%, transparent 100%);animation:shimmer 1.5s infinite}.carousel-slide.loaded::before{display:none}.carousel-slide.active{opacity:1}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,0.9);border:none;width:32px;height:32px;border-radius:50%;font-size:1.3rem;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.3s;z-index:2;color:#333;box-shadow:0 2px 8px rgba(0,0,0,0.15)}.carousel:hover .carousel-btn{opacity:1}.carousel-btn.prev{left:10px}.carousel-btn.next{right:10px}.carousel-btn:hover{background:#fff;transform:translateY(-50%) scale(1.1)}.carousel-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px;z-index:2}.carousel-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.5);cursor:pointer;transition:background 0.3s, transform 0.3s;border:none;padding:0}.carousel-dot.active{background:#fff;transform:scale(1.3)}.property-badge{position:absolute;top:16px;left:16px;background:#2d6a4f;color:#fff;padding:4px 12px;border-radius:20px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;z-index:2}.badge-unique{background:#7c3aed}.badge-views{background:#0369a1}.property-body{padding:24px}.property-body h3{font-size:1.4rem;margin-bottom:8px}.property-desc{color:#555;font-size:0.9rem;margin-bottom:16px}.property-features{display:flex;flex-wrap:wrap;gap:8px 16px;margin-bottom:20px;font-size:0.85rem;color:#444}.property-features li{display:flex;align-items:center;gap:4px}.parallax-divider{position:relative;height:280px;background:#2d4a3e center/cover no-repeat;background-attachment:fixed;display:flex;align-items:center;justify-content:center}.parallax-overlay{position:absolute;inset:0;background:rgba(0,0,0,0.4)}.parallax-text{position:relative;z-index:1;color:#fff;font-family:'Playfair Display', serif;font-size:clamp(1.3rem, 3vw, 2rem);font-style:italic;text-align:center;padding:0 24px;opacity:0.95}@media (max-width:768px){.parallax-divider{background-attachment:scroll;height:200px}}.location{padding:100px 0;background:#e8f2eb}.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.location-info{display:flex;flex-direction:column;gap:24px}.location-card{background:#fff;padding:28px;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,0.04);opacity:0;transform:translateY(20px)}.location-card.revealed{opacity:1;transform:translateY(0);transition:opacity 0.6s ease, transform 0.6s ease}.location-card h3{font-size:1.2rem;color:#2d6a4f;margin-bottom:12px}.location-card p{color:#555;font-size:0.9rem}.activities-list, .getting-list{display:flex;flex-direction:column;gap:8px}.activities-list li, .getting-list li{font-size:0.9rem;color:#444;padding:4px 0}.location-map{border-radius:12px;overflow:hidden;min-height:400px;box-shadow:0 4px 20px rgba(0,0,0,0.08)}.location-map iframe{width:100%;height:100%;min-height:400px}.booking{padding:100px 0}.booking-grid{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}.booking-form{background:#fff;padding:36px;border-radius:16px;box-shadow:0 4px 24px rgba(0,0,0,0.06)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.form-group{display:flex;flex-direction:column;margin-bottom:4px}.form-group label{font-size:0.85rem;font-weight:500;color:#333;margin-bottom:6px}.form-group input, .form-group select, .form-group textarea{padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:0.9rem;font-family:inherit;transition:border-color 0.3s, box-shadow 0.3s}.form-group input:focus, .form-group select:focus, .form-group textarea:focus{outline:none;border-color:#2d6a4f;box-shadow:0 0 0 3px rgba(45,106,79,0.1)}.form-group select:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-group input.error, .form-group select.error{border-color:#dc2626}.form-error{color:#dc2626;font-size:0.78rem;margin-top:4px}.form-note{text-align:center;color:#888;font-size:0.8rem;margin-top:12px}.date-range-wrap{position:relative}.date-range-btn{width:100%;padding:12px 14px;border:1px solid #e0e0e0;border-radius:8px;font-size:0.9rem;font-family:inherit;background:#fff;cursor:pointer;text-align:left;transition:border-color 0.3s, box-shadow 0.3s}.date-range-btn:hover{border-color:#2d6a4f}.date-range-btn.dp-btn-disabled{border-color:#dc2626;animation:dpShake 0.3s ease}@keyframes dpShake{0%, 100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.date-picker{display:none;position:absolute;top:100%;left:0;z-index:100;background:#fff;border:1px solid #e0e0e0;border-radius:12px;padding:16px;box-shadow:0 8px 30px rgba(0,0,0,0.15);margin-top:4px;min-width:280px}.date-picker.show{display:block}.dp-months{display:flex;gap:16px}.dp-month-panel{flex:1;min-width:0}.dp-month-title{font-weight:600;font-size:0.85rem;text-align:center;margin-bottom:8px;color:#374151}.dp-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dp-nav button{background:none;border:1px solid #e0e0e0;border-radius:6px;padding:4px 12px;cursor:pointer;font-size:1rem}.dp-nav button:hover{background:#f3f4f6}.dp-nav-label{font-weight:600;font-size:0.9rem}.dp-grid{display:grid;grid-template-columns:repeat(7, 1fr);gap:2px}.dp-header{font-size:0.7rem;text-align:center;font-weight:600;color:#9ca3af;padding:4px}.dp-day{text-align:center;padding:8px 4px;font-size:0.8rem;border-radius:6px;cursor:pointer;transition:background 0.15s, box-shadow 0.15s;position:relative}.dp-day:hover:not(.disabled):not(.booked){background:#f0fdf4}.dp-day.empty{cursor:default}.dp-day.empty:hover{background:none}.dp-day.today{font-weight:700;color:#2d6a4f;position:relative}.dp-day.today::after{content:'';position:absolute;bottom:2px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:#2d6a4f}.dp-day.range-start{background:#2d6a4f;color:#fff;border-radius:6px 0 0 6px}.dp-day.range-start::after{background:#fff}.dp-day.range-end{background:#2d6a4f;color:#fff;border-radius:0 6px 6px 0}.dp-day.range-end::after{background:#fff}.dp-day.range-start.range-end{border-radius:6px}.dp-day.in-range{background:#dcfce7;color:#166534;border-radius:0}.dp-day.past{opacity:0.3;cursor:not-allowed}.dp-day.past:hover{background:none}.dp-day.disabled{opacity:0.4;cursor:not-allowed}.dp-day.disabled:hover{background:none}.dp-day.booked{opacity:1;background:#fee2e2;color:#991b1b;cursor:not-allowed;text-decoration:line-through}.dp-day.booked:hover{background:#fecaca}.dp-day.booked[title]:hover::before{content:attr(title);position:absolute;bottom:100%;left:50%;transform:translateX(-50%);background:#1f2937;color:#fff;padding:4px 8px;border-radius:4px;font-size:0.7rem;white-space:nowrap;z-index:10;text-decoration:none}.dp-day.booked[title]:hover::after{content:'';position:absolute;bottom:calc(100% - 4px);left:50%;transform:translateX(-50%);border:4px solid transparent;border-top-color:#1f2937}.dp-day.min-stay{opacity:0.5;cursor:not-allowed;background:#fef3c7}.dp-day.min-stay:hover{background:#fef3c7}.dp-day.dp-focused{box-shadow:0 0 0 2px #2d6a4f;outline:none}.dp-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px solid #f3f4f6;font-size:0.72rem;color:#6b7280}.dp-legend-item{display:flex;align-items:center;gap:4px}.dp-legend-box{width:12px;height:12px;border-radius:3px}.dp-legend-avail{background:#dcfce7;border:1px solid #86efac}.dp-legend-booked{background:#fee2e2;border:1px solid #fca5a5}.dp-legend-selected{background:#2d6a4f;border:1px solid #1b4332}.dp-hint{font-size:0.75rem;text-align:center;color:#888;margin-top:8px}.dp-summary{display:flex;justify-content:space-between;align-items:center;background:#f0fdf4;padding:8px 12px;border-radius:6px;margin-top:8px;font-size:0.8rem}.dp-nights{font-weight:600;color:#166534}.dp-price{color:#2d6a4f;font-weight:500}.dp-price small{font-weight:400;color:#6b7280}.dp-actions{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:10px}.dp-clear{font-size:0.8rem;background:#fee2e2;color:#dc2626;border:1px solid #fca5a5;border-radius:6px;padding:6px 20px;cursor:pointer;font-weight:500}.dp-clear:hover{background:#fecaca;border-color:#f87171}.dp-confirm{font-size:0.8rem;background:#2d6a4f;color:#fff;border:none;border-radius:6px;padding:6px 20px;cursor:pointer;font-weight:500}.dp-confirm:hover{background:#1b4332}.dp-cancel{font-size:0.8rem;background:#f3f4f6;color:#374151;border:1px solid #d1d5db;border-radius:6px;padding:6px 20px;cursor:pointer;font-weight:500}.dp-cancel:hover{background:#e5e7eb;border-color:#9ca3af}.dp-loading{text-align:center;padding:40px 16px;color:#9ca3af;font-size:0.85rem}.dp-loading::before{content:'';display:block;width:24px;height:24px;border:2px solid #e5e7eb;border-top-color:#2d6a4f;border-radius:50%;animation:dpSpin 0.8s linear infinite;margin:0 auto 12px}@keyframes dpSpin{to{transform:rotate(360deg)}}@media (max-width:640px){.date-picker{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100%;max-height:100vh;border-radius:0;margin-top:0;z-index:1000;overflow-y:auto;padding:20px 16px;display:none;flex-direction:column}.date-picker.show{display:flex}.dp-months{flex-direction:column;gap:20px}.dp-month-second{display:block !important}.dp-day{padding:10px 4px;font-size:0.85rem}.dp-nav{position:sticky;top:0;background:#fff;padding:8px 0;z-index:2}}@media (min-width:641px){.date-picker{min-width:520px}.dp-month-second{display:block}}@media (max-width:640px){.dp-month-second{display:block}}.form-success{background:#f0fdf4;color:#166534;padding:14px;border-radius:8px;text-align:center;margin-top:16px;font-weight:500;animation:fadeIn 0.3s ease}.form-error-banner{background:#fef2f2;color:#991b1b;padding:14px;border-radius:8px;text-align:center;margin-top:16px;font-weight:500;animation:fadeIn 0.3s ease}@keyframes fadeIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.booking-sidebar{display:flex;flex-direction:column;gap:24px}.availability-widget, .contact-info{background:#fff;padding:28px;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,0.04)}.availability-widget h3, .contact-info h3{font-size:1.1rem;color:#2d6a4f;margin-bottom:8px}.availability-widget p, .contact-info p{font-size:0.9rem;color:#555;margin-bottom:12px}.site-footer{background:#1a1a2e;color:#ccc;padding:60px 0 40px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}.footer-brand h3{font-size:1.3rem;color:#fff;margin-bottom:12px}.footer-brand p{font-size:0.9rem}.footer-links h4, .footer-legal h4{color:#fff;font-size:0.95rem;margin-bottom:12px;font-family:'Inter', sans-serif}.footer-links ul{display:flex;flex-direction:column;gap:8px}.footer-links a{font-size:0.9rem;color:#aaa;transition:color 0.3s}.footer-links a:hover{color:#fff}.footer-legal p{font-size:0.85rem;color:#888;margin-bottom:4px}@media (max-width:768px){.nav-toggle{display:block;order:3}.lang-switcher{order:2}.nav-links{position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:24px;gap:16px;box-shadow:0 8px 24px rgba(0,0,0,0.1);border-radius:0 0 12px 12px;display:none}.nav-links.open{display:flex}.nav-links a{color:#1a1a2e !important}.site-header:not(.scrolled) .nav-links{background:rgba(0,0,0,0.9)}.site-header:not(.scrolled) .nav-links a{color:#fff !important}.location-grid{grid-template-columns:1fr}.booking-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr;gap:32px}.property-grid{grid-template-columns:1fr}.hero{min-height:500px}}@media (max-width:480px){.container{padding:0 16px}.booking-form{padding:24px 16px}.highlights{padding:60px 0}.properties, .location, .booking{padding:70px 0}}@media print{.site-header, .lang-switcher, .nav-toggle, .hero-overlay{display:none}.hero{height:auto;min-height:0;padding:40px 0;background:none}.hero-content h1{color:#000}.hero-subtitle{color:#333}}.whatsapp-float{position:fixed;bottom:24px;right:24px;z-index:900;width:56px;height:56px;background:#25d366;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(37,211,102,0.4);transition:transform 0.3s ease, box-shadow 0.3s ease}.whatsapp-float:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(37,211,102,0.5)}@media (max-width:768px){.whatsapp-float{bottom:16px;right:16px;width:50px;height:50px}.whatsapp-float svg{width:24px;height:24px}}