:root{--color-bg: #FAFAF8;--color-bg-alt: #FFFFFF;--color-bg-dark: #2C3E50;--color-primary: #3498DB;--color-primary-dark: #2980B9;--color-secondary: #1ABC9C;--color-accent: #E67E22;--color-text: #2C3E50;--color-text-light: #7F8C8D;--color-text-inverse: #FFFFFF;--color-border: #BDC3C7;--color-border-light: #ECF0F1;--font-heading: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Open Sans", -apple-system, BlinkMacSystemFont, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 4rem;--spacing-xl: 6rem;--max-width: 1200px;--border-radius: 8px;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .1);--shadow-md: 0 4px 12px rgba(0, 0, 0, .15);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:80px;font-size:16px}body{font-family:var(--font-body);background-color:var(--color-bg);color:var(--color-text);line-height:1.7;min-height:100vh}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark)}img{max-width:100%;height:auto}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:600;line-height:1.3;margin-bottom:var(--spacing-sm);color:var(--color-text)}h1{font-size:3rem}h2{font-size:2.25rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:var(--spacing-sm);color:var(--color-text-light)}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}section{padding:var(--spacing-xl) 0}section:nth-child(2n){background-color:var(--color-bg-alt)}.section-title{text-align:center;margin-bottom:var(--spacing-xs)}.section-subtitle{text-align:center;max-width:700px;margin:0 auto var(--spacing-lg);color:var(--color-text-light);font-size:1.125rem}.header{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#fffffffa;border-bottom:1px solid var(--color-border-light);backdrop-filter:blur(10px)}.header .container{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md)}.header-logo{display:flex;align-items:center;gap:var(--spacing-xs)}.header-logo img{height:40px;width:auto}.header-logo span{font-family:var(--font-heading);font-size:1.25rem;font-weight:600;color:var(--color-text)}.nav{display:flex;align-items:center;gap:var(--spacing-md)}.nav-links{display:flex;gap:var(--spacing-md);list-style:none}.nav-links a{color:var(--color-text-light);font-size:.9rem;font-weight:500;transition:color .2s}.nav-links a:hover{color:var(--color-primary)}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.5rem;color:var(--color-text);cursor:pointer;padding:var(--spacing-xs)}.btn{display:inline-block;padding:.875rem 1.75rem;font-family:var(--font-body);font-size:.9rem;font-weight:600;border-radius:var(--border-radius);border:2px solid transparent;cursor:pointer;transition:all .2s;text-decoration:none;text-align:center}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-primary:hover{background-color:var(--color-primary-dark);color:var(--color-text-inverse)}.btn-secondary{background-color:var(--color-accent);color:var(--color-text-inverse)}.btn-secondary:hover{background-color:#d35400;color:var(--color-text-inverse)}.btn-outline{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:var(--color-text-inverse)}.btn-small{padding:.5rem 1rem;font-size:.8rem}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;background-size:cover;background-position:center;background-attachment:fixed}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0000004d,#00000080)}.hero-content{position:relative;z-index:1;max-width:800px;padding:var(--spacing-md)}.hero h1{font-size:4rem;color:var(--color-text-inverse);text-shadow:0 2px 8px rgba(0,0,0,.3);margin-bottom:var(--spacing-xs)}.hero-tagline{font-size:1.5rem;color:var(--color-text-inverse);text-shadow:0 2px 4px rgba(0,0,0,.3);margin-bottom:var(--spacing-lg);font-family:var(--font-heading);font-style:italic}.hero-cta{display:flex;gap:var(--spacing-sm);justify-content:center;flex-wrap:wrap}.scroll-indicator{position:absolute;bottom:var(--spacing-md);left:50%;transform:translate(-50%);color:var(--color-text-inverse);font-size:2rem;animation:bounce 2s infinite}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(10px)}}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}.gallery-item{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--border-radius);cursor:pointer;box-shadow:var(--shadow-sm);transition:transform .3s,box-shadow .3s}.gallery-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.gallery-item:hover img{transform:scale(1.05)}.gallery-caption{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-sm);background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:var(--color-text-inverse);font-size:.875rem;opacity:0;transition:opacity .3s}.gallery-item:hover .gallery-caption{opacity:1}.lightbox{display:none;position:fixed;inset:0;background:#000000f2;z-index:2000;align-items:center;justify-content:center}.lightbox.active{display:flex}.lightbox-content{max-width:90vw;max-height:90vh;position:relative}.lightbox-content img{max-width:100%;max-height:80vh;object-fit:contain}.lightbox-caption{text-align:center;color:var(--color-text-inverse);margin-top:var(--spacing-sm);font-size:1rem}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:none;border:none;color:var(--color-text-inverse);font-size:2rem;cursor:pointer;padding:var(--spacing-sm);opacity:.8;transition:opacity .2s}.lightbox-close:hover,.lightbox-prev:hover,.lightbox-next:hover{opacity:1}.lightbox-close{top:var(--spacing-md);right:var(--spacing-md)}.lightbox-prev{left:var(--spacing-md);top:50%;transform:translateY(-50%)}.lightbox-next{right:var(--spacing-md);top:50%;transform:translateY(-50%)}.specs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.spec-card{background:var(--color-bg-alt);padding:var(--spacing-md);border-radius:var(--border-radius);text-align:center;box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}.spec-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.spec-icon{font-size:2.5rem;margin-bottom:var(--spacing-sm);color:var(--color-primary)}.spec-card h3{font-size:1.125rem;margin-bottom:var(--spacing-xs)}.spec-card p{font-size:.9rem;margin:0}.spec-card ul{list-style:none;text-align:left;font-size:.9rem;color:var(--color-text-light)}.spec-card li{padding:.25rem 0;border-bottom:1px solid var(--color-border-light)}.spec-card li:last-child{border-bottom:none}.booking-section{background:var(--color-bg-dark);color:var(--color-text-inverse)}.booking-section h2,.booking-section h3{color:var(--color-text-inverse)}.booking-section p{color:#fffc}.booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);align-items:start}.booking-info{padding-right:var(--spacing-md)}.booking-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.vrbo-badge{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:#ffffff1a;border-radius:var(--border-radius)}.vrbo-badge img{height:50px;width:auto}.map-container{border-radius:var(--border-radius);overflow:hidden;box-shadow:var(--shadow-md)}.map-container iframe{width:100%;height:400px;border:none}.newsletter-section{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);color:var(--color-text-inverse);text-align:center}.newsletter-section h2{color:var(--color-text-inverse)}.newsletter-section p{color:#ffffffe6}.newsletter-form{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:500px;margin:0 auto}.newsletter-form input{padding:.875rem 1rem;font-size:1rem;font-family:var(--font-body);border:none;border-radius:var(--border-radius);outline:none}.newsletter-form input:focus{box-shadow:0 0 0 3px #ffffff4d}.newsletter-form button{background:var(--color-bg-dark);color:var(--color-text-inverse);border:none}.newsletter-form button:hover{background:#1a252f}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.form-success{display:none;padding:var(--spacing-md);background:#fff3;border-radius:var(--border-radius);text-align:center}.form-note{font-size:.8rem;opacity:.8;margin-top:var(--spacing-sm)}.footer{background:var(--color-bg-dark);color:var(--color-text-inverse);padding:var(--spacing-lg) 0 var(--spacing-md)}.footer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.footer-col h4{color:var(--color-text-inverse);margin-bottom:var(--spacing-sm);font-size:1rem}.footer-col p{color:#ffffffb3;font-size:.9rem;line-height:1.8}.footer-col a{color:#ffffffb3}.footer-col a:hover{color:var(--color-text-inverse)}.footer-logo{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.footer-logo img{height:48px;width:auto}.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:var(--spacing-md);display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:#fff9}.social-links{display:flex;gap:var(--spacing-sm)}.social-links a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#ffffff1a;border-radius:50%;color:var(--color-text-inverse);transition:background .2s}.social-links a:hover{background:var(--color-primary)}@media(max-width:1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}.specs-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){html{font-size:15px}.nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg-alt);flex-direction:column;padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);box-shadow:var(--shadow-md)}.nav-links.active{display:flex}.mobile-menu-btn{display:block}.hero h1{font-size:2.5rem}.hero-tagline{font-size:1.125rem}.gallery-grid{grid-template-columns:repeat(2,1fr)}.specs-grid{grid-template-columns:1fr}.booking-grid{grid-template-columns:1fr;text-align:center}.booking-info{padding-right:0}.footer-grid{grid-template-columns:1fr;text-align:center}.footer-bottom{flex-direction:column;gap:var(--spacing-sm);text-align:center}}@media(max-width:480px){.hero h1{font-size:2rem}.gallery-grid{grid-template-columns:1fr}.hero-cta{flex-direction:column}}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
