:root{--breakpoint-small-mobile:480px;--breakpoint-mobile:768px;--breakpoint-mobile-max:767px;--breakpoint-tablet:1024px;--breakpoint-desktop:1440px;--breakpoint-wide:2560px;--scroll-threshold-back-to-top:300;--scroll-threshold-booking-mobile:100;--scroll-threshold-booking-desktop:400;--z-index-dropdown:100;--z-index-modal:1000;--z-index-lightbox:9000;--transition-duration:0.3s;--animation-throttle:16;--spacing-xs:4px;--spacing-sm:8px;--spacing-sm-md:10px;--spacing-md:12px;--spacing-lg:16px;--spacing-lg-x:15px;--spacing-xl:20px;--spacing-2xl:24px;--spacing-3xl:30px;--spacing-4xl:40px;--spacing-section:80px;--spacing-hero:120px;--spacing-hero-padding:80px;--spacing-5xl:50px;--spacing-6xl:60px;--spacing-lg-18:18px;--spacing-xxl:22px;--spacing-xxxl:25px;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:40px;--font-size-hero:2rem;--font-size-xl-nav:30px;--font-size-xxs:13px;--font-size-mobile-hero:1.5rem;--font-size-mobile-hero-p:1.1rem;--font-size-mobile-icon:28px;--font-size-mobile-nav:18px;--font-size-modal-header:1.4rem;--font-size-seasonal-icon:2.5rem;--font-size-seasonal-title:1.1rem;--font-size-seasonal-desc:0.9rem;--font-size-seasonal-check:12px;--font-size-seasonal-mobile-icon:2rem;--font-size-seasonal-mobile-title:1rem;--font-size-seasonal-mobile-desc:0.8rem;--font-size-seasonal-decorative:1.5rem;--font-size-hero-large:2.5rem;--font-size-hero-text:1.2rem;--font-size-modal-header-mobile:1.2rem;--font-size-lightbox-close-mobile:30px;--font-size-lightbox-nav-mobile:25px;--font-size-status-badge:12px;--font-size-practical-h4:16px;--font-size-nav-sm:13px;--font-size-nav-md:14px;--font-size-utility:12px;--font-size-seasonal-nav-lg:15px;--font-size-seasonal-nav-xl:30px;--font-weight-light:300;--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height-base:1.6;--color-primary:#2c5530;--color-primary-dark:#1e3d21;--color-primary-darker:#0d2415;--color-primary-light:#e8f5e8;--color-airbnb:#ff5a5f;--color-airbnb-dark:#ff385c;--color-airbnb-darker:#e14e53;--color-text:#333;--color-text-light:#666;--color-text-lighter:#404040;--color-text-contrast:#1a472a;--color-text-visited:#4a1a4a;--color-background:#f9f9f9;--color-surface:#fff;--color-surface-alt:#f8f9fa;--color-surface-elevated:#f0f0f0;--color-border:#e0e0e0;--color-warning:#fff3cd;--color-white:#fff;--opacity-90:0.9;--opacity-70:0.7;--opacity-60:0.6;--opacity-50:0.5;--opacity-30:0.3;--opacity-20:0.2;--opacity-15:0.15;--opacity-10:0.1;--color-white-90:hsla(0,0%,100%,.9);--color-white-70:hsla(0,0%,100%,.7);--color-white-60:hsla(0,0%,100%,.6);--color-white-50:hsla(0,0%,100%,.5);--color-white-30:hsla(0,0%,100%,.3);--color-white-20:hsla(0,0%,100%,.2);--color-white-15:hsla(0,0%,100%,.15);--color-white-10:hsla(0,0%,100%,.1);--color-black-50:rgba(0,0,0,.5);--transition-normal:0.3s;--transform-hover-lift:translateY(-1px);--transform-hover-lift-sm:translateY(-2px);--border-width-thin:1px;--border-width-medium:2px;--outline-width:2px;--outline-offset:2px;--radius-xs:4px;--radius-sm:5px;--radius-md:10px;--radius-lg:15px;--radius-xl:20px;--radius-2xl:25px;--radius-3xl:30px;--radius-pill:50px;--radius-circle:50%;--shadow-xs:0 2px 5px rgba(0,0,0,.1);--shadow-sm:0 2px 10px rgba(0,0,0,.1);--shadow-md:0 4px 12px rgba(0,0,0,.15);--shadow-lg:0 8px 20px rgba(0,0,0,.2);--shadow-xl:0 8px 25px rgba(0,0,0,.15);--shadow-2xl:0 20px 40px rgba(0,0,0,.2);--shadow-primary:0 4px 12px rgba(44,85,48,.3);--shadow-airbnb:0 6px 20px rgba(255,90,95,.4);--shadow-airbnb-hover:0 8px 25px rgba(255,90,95,.5);--shadow-button:0 4px 15px rgba(255,90,95,.3);--button-height:44px;--button-height-sm:32px;--button-size-round:50px;--container-max-width:1200px;--modal-max-width:600px;--touch-target-min:44px;--icon-size-sm:20px;--icon-size-md:32px;--floating-offset:30px;--floating-offset-mobile:20px}*{box-sizing:border-box;margin:0;padding:0}.preload .booking-section,.preload .container,.preload .gallery-section,.preload .hero,.preload .info-section,.preload .language-switcher,.preload .main-content,.preload .seasonal-nav,.preload footer,.preload header{animation-delay:0s!important;animation-duration:0s!important;transition:none!important}.back-to-top,.floating-booking,.social-proof-testimonial,.testimonial-rotation,[data-testid=testimonial]{transition:all .3s ease!important;transition:all var(--transition-normal,.3s) ease!important}body{background-color:#f9f9f9;background-color:var(--color-background);color:#333;color:var(--color-text);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;line-height:var(--line-height-base);overflow:auto;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;backface-visibility:hidden;text-rendering:optimizeSpeed}a{color:#1a472a;color:var(--color-text-contrast);text-decoration:underline;transition:color .2s ease,text-decoration-color .2s ease}a:hover{text-decoration-thickness:2px}a:focus,a:hover{color:#0d2415;color:var(--color-primary-darker)}a:focus{outline:2px solid #2c5530;outline:2px solid var(--color-primary);outline-offset:2px;text-decoration:none}a:visited{color:#4a1a4a;color:var(--color-text-visited)}.amenity span:not(.amenity-icon),.gallery-description,.integration-notice,.not-included-item span:not(.not-included-icon){color:#333;color:var(--color-text)}.container{margin:0 auto;max-width:1200px;max-width:var(--container-max-width);padding:0 20px;padding:0 var(--spacing-xl)}header{background:#2c5530;background:var(--color-primary);box-shadow:0 2px 5px rgba(0,0,0,.1);box-shadow:var(--shadow-xs);color:#fff;color:var(--color-white);padding:20px 0;padding:var(--spacing-xl) 0}header .container{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}header h1{flex:1;font-size:2rem;font-size:var(--font-size-hero);font-weight:300;font-weight:var(--font-weight-light);letter-spacing:1px;margin:0}.language-switcher{display:flex;gap:12px;gap:var(--spacing-md);list-style:none;margin:0;padding:0}.language-switcher li{margin:0}.language-switcher a{border:1px solid hsla(0,0%,100%,.3);border:var(--border-width-thin) solid var(--color-white-30);border-radius:4px;border-radius:var(--radius-xs);color:hsla(0,0%,100%,.9);color:var(--color-white-90);display:inline-block;font-size:14px;font-size:var(--font-size-sm);font-weight:500;min-width:32px;min-width:var(--button-height-sm);padding:8px 12px;padding:var(--spacing-sm) var(--spacing-md);text-align:center;text-decoration:none;transition:all .3s ease;transition:all var(--transition-normal) ease}.language-switcher a:hover{background:hsla(0,0%,100%,.1);background:var(--color-white-10);border-color:hsla(0,0%,100%,.5);border-color:var(--color-white-50);color:#fff;color:var(--color-white);transform:translateY(-1px);transform:var(--transform-hover-lift)}.language-switcher a:focus{color:#fff;color:var(--color-white);outline:2px solid hsla(0,0%,100%,.7);outline:var(--outline-width) solid var(--color-white-70);outline-offset:2px;outline-offset:var(--outline-offset)}.language-switcher a[aria-current=page]{background:hsla(0,0%,100%,.15);background:var(--color-white-15);border-color:hsla(0,0%,100%,.6);border-color:var(--color-white-60);color:#fff;color:var(--color-white);font-weight:600;font-weight:var(--font-weight-semibold)}.seasonal-nav{display:inline-block;position:relative}.seasonal-nav-button{align-items:center;background:hsla(0,0%,100%,.1);background:var(--color-white-10);border:2px solid hsla(0,0%,100%,.3);border:var(--border-width-medium) solid var(--color-white-30);border-radius:25px;border-radius:var(--radius-2xl);color:#fff;color:var(--color-white);cursor:pointer;display:flex;font-size:14px;font-size:var(--font-size-sm);font-weight:500;gap:8px;gap:var(--spacing-sm);min-height:44px;min-height:var(--button-height);padding:12px 20px;padding:var(--spacing-md) var(--spacing-xl);transition:all .3s ease;transition:all var(--transition-normal) ease}.seasonal-nav-button:hover{background:hsla(0,0%,100%,.2);background:var(--color-white-20);border-color:hsla(0,0%,100%,.5);border-color:var(--color-white-50)}.seasonal-nav-button:focus{outline:2px solid hsla(0,0%,100%,.7);outline:var(--outline-width) solid var(--color-white-70);outline-offset:2px;outline-offset:var(--outline-offset)}.seasonal-modal{display:none;height:100%;left:0;opacity:0;position:fixed;top:0;transition:all .3s ease;transition:all var(--transition-normal) ease;visibility:hidden;width:100%;z-index:1000;z-index:var(--z-index-modal)}.seasonal-modal[aria-hidden=false]{display:flex;opacity:1;visibility:visible}.seasonal-modal-backdrop{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(0,0,0,.5);background:var(--color-black-50);height:100%;left:0;position:absolute;top:0;width:100%}.seasonal-modal-container{background:#fff;background:var(--color-surface);border-radius:20px;border-radius:var(--radius-xl);box-shadow:0 20px 40px rgba(0,0,0,.2);box-shadow:var(--shadow-2xl);display:flex;flex-direction:column;margin:10vh auto;max-height:80vh;max-width:600px;max-width:var(--modal-max-width);overflow:hidden;position:relative;transform:scale(1);width:90%;z-index:1001;z-index:calc(var(--z-index-modal) + 1)}.seasonal-modal[aria-hidden=false] .seasonal-modal-container{transform:scale(1)}.seasonal-modal-header{align-items:center;background:#f8f9fa;background:var(--color-surface-alt);border-bottom:1px solid #e0e0e0;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:20px 24px;padding:var(--spacing-xl) var(--spacing-2xl)}.seasonal-modal-header h2{color:#2c5530;color:var(--color-primary);font-size:1.4rem;font-size:var(--font-size-modal-header);font-weight:600;font-weight:var(--font-weight-semibold);margin:0}.seasonal-modal-close{align-items:center;background:none;border:none;border-radius:50%;border-radius:var(--radius-circle);color:#333;color:var(--color-text);cursor:pointer;display:flex;font-size:24px;font-size:var(--font-size-2xl);height:32px;height:var(--icon-size-md);justify-content:center;padding:4px;padding:var(--spacing-xs);transition:all .2s ease;width:32px;width:var(--icon-size-md)}.seasonal-modal-close:hover{background:#f0f0f0;background:var(--color-surface-elevated);color:#333;color:var(--color-text)}.seasonal-modal-close:focus{outline:2px solid #2c5530;outline:2px solid var(--color-primary);outline-offset:2px}.seasonal-modal-content{overflow-y:auto;padding:24px;padding:var(--spacing-2xl)}.seasonal-cards{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.seasonal-card{align-items:center;background:#f8f9fa;border:2px solid transparent;border-radius:16px;color:#333;display:flex;flex-direction:column;padding:20px 16px;padding:var(--spacing-xl) var(--spacing-lg);position:relative;text-decoration:none;transition:all .3s ease;transition:all var(--transition-normal,.3s) ease}.seasonal-card:hover{border-color:#2c5530;box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-4px)}.seasonal-card:focus{outline:2px solid #2c5530;outline-offset:2px}.seasonal-card-icon{font-size:2.5rem;font-size:var(--font-size-seasonal-icon);margin-bottom:8px;margin-bottom:var(--spacing-sm)}.seasonal-card-title{color:#2c5530;color:var(--color-primary);font-size:1.1rem;font-size:var(--font-size-seasonal-title);font-weight:600;font-weight:var(--font-weight-semibold);margin-bottom:4px;margin-bottom:var(--spacing-xs)}.seasonal-card-desc{color:#333;color:var(--color-text);font-size:.9rem;font-size:var(--font-size-seasonal-desc);text-align:center}.seasonal-card.current-season{background:#e8f5e8;border-color:#2c5530}.seasonal-card.current-season:after{align-items:center;background:#2c5530;border-radius:50%;color:#fff;content:"✓";display:flex;font-size:12px;font-size:var(--font-size-seasonal-check);font-weight:700;font-weight:var(--font-weight-bold);height:20px;justify-content:center;position:absolute;right:12px;top:12px;width:20px}.season-spring .seasonal-nav-button{background:linear-gradient(135deg,rgba(102,187,106,.2),rgba(129,199,132,.2));border-color:rgba(102,187,106,.4)}.season-summer .seasonal-nav-button{background:linear-gradient(135deg,rgba(255,193,7,.2),rgba(255,235,59,.2));border-color:rgba(255,193,7,.4)}.season-autumn .seasonal-nav-button{background:linear-gradient(135deg,rgba(255,152,0,.2),rgba(255,193,7,.2));border-color:rgba(255,152,0,.4)}.season-winter .seasonal-nav-button{background:linear-gradient(135deg,rgba(63,81,181,.2),rgba(121,134,203,.2));border-color:rgba(63,81,181,.4)}.hero{backface-visibility:hidden;background:linear-gradient(rgba(44,85,48,.65),rgba(44,85,48,.65)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><rect fill="%23f0f0f0"/><path fill="%23e0e0e0" d="M0 300L50 325L100 300L150 275L200 300L250 325L300 300L350 275L400 300L450 325L500 300L550 275L600 300L650 325L700 300L750 275L800 300L850 325L900 300L950 275L1000 300L1050 325L1100 300L1150 275L1200 300V600H0V300Z"/></svg>');background-attachment:fixed;background-position:50%;background-size:cover;color:#fff;contain:layout style;min-height:400px;padding:80px 0 120px;padding:var(--spacing-hero-padding,80px) 0 var(--spacing-hero,120px) 0;position:relative;text-align:center;transform:translateZ(0);will-change:transform}.season-spring .hero{background:linear-gradient(rgba(102,187,106,.65),rgba(129,199,132,.65)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><rect fill="%23e8f5e8"/><path fill="%23c8e6c8" d="M0 300L50 275L100 300L150 325L200 300L250 275L300 300L350 325L400 300L450 275L500 300L550 325L600 300L650 275L700 300L750 325L800 300L850 275L900 300L950 325L1000 300L1050 275L1100 300L1150 325L1200 300V600H0V300Z"/><circle cx="200" cy="150" r="3" fill="%23ffb3ba" opacity="0.6"/><circle cx="800" cy="200" r="2" fill="%23ffdfba" opacity="0.6"/><circle cx="1000" cy="100" r="2.5" fill="%23bae1ff" opacity="0.6"/></svg>')}.season-summer .hero{background:linear-gradient(rgba(242,185,87,.65),rgba(242,165,87,.65)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><rect fill="%23fff8e1"/><path fill="%23ffecb3" d="M0 350L50 325L100 350L150 375L200 350L250 325L300 350L350 375L400 350L450 325L500 350L550 375L600 350L650 325L700 350L750 375L800 350L850 325L900 350L950 375L1000 350L1050 325L1100 350L1150 375L1200 350V600H0V350Z"/><circle cx="100" cy="80" r="20" fill="%23ffcc02" opacity="0.4"/></svg>')}.season-autumn .hero{background:linear-gradient(rgba(255,152,0,.65),rgba(255,193,7,.65)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><rect fill="%23fff3e0"/><path fill="%23ffe0b2" d="M0 320L50 345L100 320L150 295L200 320L250 345L300 320L350 295L400 320L450 345L500 320L550 295L600 320L650 345L700 320L750 295L800 320L850 345L900 320L950 295L1000 320L1050 345L1100 320L1150 295L1200 320V600H0V320Z"/><path fill="%23d84315" opacity="0.3" d="M300 120L310 130L300 140L290 130Z"/><path fill="%23ff5722" opacity="0.3" d="M700 180L710 190L700 200L690 190Z"/></svg>')}.season-winter .hero{background:linear-gradient(rgba(63,81,181,.65),rgba(121,134,203,.65)),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1200 600"><rect fill="%23e8eaf6"/><path fill="%23c5cae9" d="M0 280L50 305L100 280L150 255L200 280L250 305L300 280L350 255L400 280L450 305L500 280L550 255L600 280L650 305L700 280L750 255L800 280L850 305L900 280L950 255L1000 280L1050 305L1100 280L1150 255L1200 280V600H0V280Z"/><circle cx="150" cy="120" r="2" fill="white" opacity="0.8"/><circle cx="450" cy="90" r="1.5" fill="white" opacity="0.8"/><circle cx="900" cy="150" r="2.5" fill="white" opacity="0.8"/></svg>')}.season-spring .info-section:before{content:"🌸 🌿 🌺"}.season-spring .info-section:before,.season-summer .info-section:before{display:block;font-size:1.5rem;font-size:var(--font-size-seasonal-decorative);margin-bottom:15px;margin-bottom:var(--spacing-lg-x);opacity:.8;text-align:center}.season-summer .info-section:before{content:"☀️ 🌊 🏖️"}.season-autumn .info-section:before{content:"🍂 🌰 🍄"}.season-autumn .info-section:before,.season-winter .info-section:before{display:block;font-size:1.5rem;font-size:var(--font-size-seasonal-decorative);margin-bottom:15px;margin-bottom:var(--spacing-lg-x);opacity:.8;text-align:center}.season-winter .info-section:before{content:"❄️ 🔥 ☃️"}.hero h2{font-size:2.5rem;font-size:var(--font-size-hero-large,2.5rem);font-weight:300;font-weight:var(--font-weight-light,300);margin-bottom:20px;margin-bottom:var(--spacing-xl,20px)}.hero p{font-size:1.2rem;font-size:var(--font-size-hero-text,1.2rem);margin-bottom:30px;margin-bottom:var(--spacing-3xl,30px)}.main-content{display:grid;gap:40px;gap:var(--spacing-4xl,40px);grid-template-columns:1fr 1fr;margin:40px 0;margin:var(--spacing-4xl,40px) 0}.info-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1);contain:layout style;padding:30px;padding:var(--spacing-3xl,30px);transform:translateY(0);transition:all .3s ease;transition:all var(--transition-normal,.3s) ease}.info-section:hover{box-shadow:0 8px 25px rgba(0,0,0,.15);transform:translateY(-2px)}.booking-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1);contain:layout style;height:-moz-fit-content;height:fit-content;padding:30px;padding:var(--spacing-3xl,30px);position:sticky;top:20px;transform:translateY(0);transition:all .3s ease;transition:all var(--transition-normal,.3s) ease}.booking-section:hover{box-shadow:0 8px 25px rgba(0,0,0,.15);transform:translateY(-2px)}.booking-section h3,.info-section h3{color:#2c5530;margin-bottom:20px}.amenities{display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:30px}.amenity{align-items:center;animation:slideInLeft .6s ease-out forwards;display:flex;opacity:1;transform:translateX(0)}.amenity-icon{font-size:24px;font-size:var(--font-size-2xl);margin-right:10px;margin-right:var(--spacing-sm-md)}.contact-info{background:#f9f9f9;background:var(--color-background);border-radius:5px;margin-bottom:30px;padding:20px;padding:var(--spacing-xl);text-align:center}.contact-info p{margin:10px 0;margin:var(--spacing-sm-md) 0}.integration-notice{background:#fff3cd;background:var(--color-warning);border:1px solid #ffeaa7;border-radius:5px;border-radius:var(--radius-sm);padding:15px;padding:var(--spacing-lg-x);text-align:center}.btn-airbnb,.integration-notice{margin:20px 0;margin:var(--spacing-xl) 0}.btn-airbnb{backface-visibility:hidden;background:linear-gradient(135deg,#ff5a5f,#ff385c);border:none;border-radius:50px;box-shadow:0 4px 15px rgba(255,90,95,.3);color:#fff;cursor:pointer;display:inline-block;font-size:20px;font-size:var(--font-size-xl);font-weight:600;font-weight:var(--font-weight-semibold);overflow:hidden;padding:18px 40px;padding:var(--spacing-lg-18) var(--spacing-4xl);position:relative;text-decoration:none;transform:translateY(0);transition:all .3s ease;transition:all var(--transition-normal,.3s) ease;will-change:transform,box-shadow}.btn-airbnb:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.btn-airbnb:hover:before{left:100%}.btn-airbnb:hover{background:linear-gradient(135deg,#e14e53,#d12b47);box-shadow:0 8px 25px rgba(255,90,95,.4);transform:translateY(-2px)}.btn-airbnb:active{box-shadow:0 4px 15px rgba(255,90,95,.3);transform:translateY(0)}.gallery-section{background:#fff;border-radius:10px;box-shadow:0 2px 10px rgba(0,0,0,.1);margin:40px 0;margin:var(--spacing-4xl) 0;padding:40px 30px;padding:var(--spacing-4xl) var(--spacing-3xl);transition:all .6s ease}.gallery-section,.gallery-section.visible{opacity:1;transform:translateY(0)}.gallery-grid{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:30px}.gallery-item{aspect-ratio:4/3;border-radius:15px;cursor:pointer;opacity:1;overflow:hidden;position:relative;transform:translateY(0) scale(1);transition:all .4s cubic-bezier(.25,.46,.45,.94);visibility:visible}@supports not (aspect-ratio:4/3){.gallery-item:before{content:"";float:left;padding-top:75%}.gallery-item:after{clear:both;content:"";display:table}}.gallery-item.visible{opacity:1;transform:translateY(0) scale(1)}.gallery-item:before{background:linear-gradient(45deg,rgba(44,85,48,.1),rgba(255,90,95,.1));bottom:0;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:opacity .3s ease;z-index:1}.gallery-item:hover:before{opacity:1}.gallery-item:hover{box-shadow:0 15px 35px rgba(0,0,0,.25);transform:translateY(-8px) scale(1.02)}.gallery-item:hover img{transform:scale(1.08)}.lightbox{align-items:center;backdrop-filter:blur(5px);background-color:rgba(0,0,0,.9);display:none;height:100vh;justify-content:center;left:0;opacity:0;position:fixed;top:0;visibility:hidden;width:100vw;z-index:9000;z-index:var(--z-index-lightbox)}.lightbox.lightbox-open,.lightbox[data-state=open]{display:flex;opacity:1;visibility:visible}#lightbox-image{border-radius:10px;max-height:80vh;max-width:95vw}.lightbox-close{align-items:center;background:rgba(0,0,0,.5);border-radius:50%;color:#f1f1f1;cursor:pointer;display:flex;font-size:40px;font-size:var(--font-size-4xl);font-weight:700;font-weight:var(--font-weight-bold);height:50px;justify-content:center;position:absolute;right:35px;top:20px;transition:all .3s ease;transition:all var(--transition-normal,.3s) ease;width:50px;z-index:9001;z-index:calc(var(--z-index-lightbox) + 1)}.lightbox-close:hover{background:hsla(0,0%,100%,.2);transform:scale(1.1)}.lightbox-nav{align-items:center;background:rgba(0,0,0,.5);border-radius:50%;color:#f1f1f1;cursor:pointer;display:flex;font-size:30px;font-size:var(--font-size-xl-nav);font-weight:700;font-weight:var(--font-weight-bold);height:50px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;transition:all var(--transition-normal,.3s) ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;width:50px}.lightbox-nav:hover{background:hsla(0,0%,100%,.2);transform:translateY(-50%) scale(1.1)}.lightbox-prev{left:20px}.lightbox-next{right:20px}footer{margin-top:40px;padding:20px 0;padding:var(--spacing-xl) 0;text-align:center}.skip-link,footer{background:#2c5530;background:var(--color-primary);color:#fff}.skip-link{border-radius:4px;font-weight:700;left:6px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-lg);position:absolute;text-decoration:none;top:-40px;transition:top .3s ease;z-index:100}.skip-link:focus{top:6px}a:focus,button:focus{outline:3px solid #ff5a5f;outline-offset:2px}img{contain:layout style paint;content-visibility:auto;height:auto;max-width:100%}img,picture{display:block}picture{line-height:0}picture img{height:auto;transition:opacity .3s ease-in-out;width:100%}@supports not (aspect-ratio:1){picture img{position:relative}picture img:before{content:"";display:block;padding-top:75%}}img[src$=".avif"],img[src$=".webp"]{image-rendering:-webkit-optimize-contrast;image-rendering:crisp-edges}.fade-in-on-scroll{opacity:0;transform:translateY(30px);transition:all .8s cubic-bezier(.25,.46,.45,.94)}.fade-in-on-scroll.visible{opacity:1;transform:translateY(0)}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}body.lightbox-open{overflow:hidden!important;overflow-y:hidden!important;position:fixed;width:100%}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:translateX(0)}}@keyframes slideInRight{0%{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,90,95,.7)}70%{box-shadow:0 0 0 10px rgba(255,90,95,0)}to{box-shadow:0 0 0 0 rgba(255,90,95,0)}}.amenity:first-child{animation-delay:.1s}.amenity:nth-child(2){animation-delay:.2s}.amenity:nth-child(3){animation-delay:.3s}.amenity:nth-child(4){animation-delay:.4s}.amenity:nth-child(5){animation-delay:.5s}.amenity:nth-child(6){animation-delay:.6s}.amenity:nth-child(7){animation-delay:.7s}.amenity:nth-child(8){animation-delay:.8s}#reveal-contact-btn{animation:pulse 2s infinite;background:#2c5530;border:none;border-radius:6px;box-shadow:0 2px 4px rgba(44,85,48,.2);color:#fff;cursor:pointer;font-size:14px;font-size:var(--font-size-nav-md);margin:15px 0 10px;min-height:44px;padding:14px 24px;transition:all .3s ease;transition:all var(--transition-normal,.3s) ease}#reveal-contact-btn:hover{animation:none;background:#1e3d21;box-shadow:0 4px 8px rgba(44,85,48,.3);transform:translateY(-1px)}#qr-airbnb,#qr-site{animation:float 3s ease-in-out infinite;aspect-ratio:1;transition:transform .3s ease}#qr-airbnb:hover,#qr-site:hover{animation-play-state:paused;transform:translateY(-8px) scale(1.05)}#qr-site{animation-delay:1.5s}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.status-badges{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:15px}.status-badge{animation:slideInUp .6s ease-out forwards;background:#4caf50;border-radius:15px;border-radius:var(--spacing-lg-x);border-radius:12px;color:#fff;color:#111;font-size:12px;font-size:var(--font-size-status-badge);font-size:var(--font-size-utility);font-weight:500;opacity:.8;padding:2px 8px;transform:translateY(10px)}.status-badge:first-child{animation-delay:.2s;background:#4caf50}.status-badge:nth-child(2){animation-delay:.4s;background:#ff9800}.status-badge:nth-child(3){animation-delay:.6s;background:#2196f3}@keyframes slideInUp{0%{opacity:.8;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.hero-nav-link:focus{outline:3px solid hsla(0,0%,100%,.7);outline-offset:2px}.gallery-item img{animation:loading 1.5s infinite;aspect-ratio:4/3;backface-visibility:hidden;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;height:100%;-o-object-fit:cover;object-fit:cover;transform:translateZ(0);transition:transform .4s cubic-bezier(.25,.46,.45,.94);width:100%;will-change:transform}.gallery-item img[src]{animation:none;background:none}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.practical-info{background:#f8f9fa;border-radius:8px;margin:20px 0;padding:20px}.practical-info-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:15px}.practical-info h4{color:#2c5530;color:var(--color-primary);font-size:16px;font-size:var(--font-size-practical-h4);margin:0 0 10px;margin:0 0 var(--spacing-sm-md) 0}.practical-info p{margin:5px 0}.practical-info ul{margin:0;padding-left:20px}.weather-section{border-top:1px solid #e9ecef;margin-top:15px;padding-top:15px;text-align:center}.weather-link{align-items:center;background:linear-gradient(135deg,#4a90e2,#357abd);border-radius:20px;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff!important;display:inline-flex;font-weight:500;margin-top:8px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:all .3s ease;transition:all var(--transition-normal,.3s) ease}.weather-link:hover{background:linear-gradient(135deg,#357abd,#2968a3);box-shadow:0 4px 8px rgba(0,0,0,.15);text-decoration:none!important;transform:translateY(-1px)}.weather-link:focus{outline:2px solid #2c5530;outline-offset:2px;transform:translateY(-1px)}.hero-nav{align-items:center;display:flex;flex-wrap:wrap;gap:15px;justify-content:center;margin-top:40px}.hero-nav-link{background:transparent;border:2px solid #fff;border-radius:25px;color:#fff;display:inline-block;font-size:14px;font-size:var(--font-size-nav-md);font-weight:500;padding:10px 20px;text-decoration:none;transition:all .3s ease;transition:all var(--transition-normal,.3s) ease}.hero-nav-link:hover{background:#fff;color:#2c5530}.hero-nav-link.nav-visible,.hero-nav-link[data-nav-state=ready]{opacity:1;transform:translateY(0);visibility:visible}.hero-nav .seasonal-nav{display:inline-block}.hero-nav .seasonal-nav-button{background:transparent;border:2px solid #fff;margin:0}.hero-nav .seasonal-nav-button:hover{background:#fff;color:#2c5530}.contact-section{transition:opacity .3s ease,visibility .3s ease}#contact-protected.contact-section.hidden,#contact-revealed.contact-section.hidden{display:none;opacity:0;visibility:hidden}#contact-protected.contact-section.revealed,#contact-revealed.contact-section.revealed{display:block;opacity:1;visibility:visible}.contact-section.revealed{animation:fadeInUp .3s ease-out}#contact-protected{display:block;opacity:1;visibility:visible}#contact-revealed{display:none;opacity:0;visibility:hidden}.contact-placeholder{color:#333;font-style:italic}.contact-link{color:#2c5530;text-decoration:none}.contact-link:hover{text-decoration:underline}.contact-tip{color:#404040;font-size:12px;font-size:var(--font-size-utility)}.contact-tip,.host-response{margin-top:10px}.host-rating{font-size:13px;font-size:var(--font-size-nav-sm);margin-top:15px}.booking-center{border-top:1px solid #eee;padding:30px 0;text-align:center}.booking-description{color:#333;margin-bottom:20px}.btn-airbnb-wrapper{overflow:hidden;position:relative}.status-info{align-items:center;color:#404040;display:flex;font-size:14px;font-size:var(--font-size-nav-md);gap:8px;justify-content:center;margin-top:15px}.sw-toast .toast-dismiss{background:transparent;border:1px solid #fff;border-radius:4px;color:#fff;cursor:pointer;padding:2px 6px}.status-available{background:#4caf50}.status-fast{background:#ff9800}.status-superhost{background:#2196f3}.qr-section{background:#f9f9f9;border-radius:10px;margin-top:40px;padding:30px}.qr-title{margin-bottom:30px;text-align:center}.qr-grid{display:grid;gap:30px;grid-template-columns:1fr 1fr}.qr-item{text-align:center}.qr-code{background:#fff;border-radius:10px;margin-bottom:10px;padding:20px}.qr-label{color:#333;font-size:14px;font-size:var(--font-size-nav-md);text-align:center}.qr-item img{display:block;margin:0 auto}.qr-note{color:#404040;font-size:14px;font-size:var(--font-size-nav-md);margin-top:20px;text-align:center}.back-to-top{background:#2c5530;background:var(--color-primary,#2c5530);border:none;border-radius:50%;border-radius:var(--radius-circle,50%);bottom:30px;bottom:var(--floating-offset,30px);box-shadow:0 4px 12px rgba(44,85,48,.3);box-shadow:var(--shadow-primary);color:#fff;color:var(--color-white,#fff);cursor:pointer;font-size:20px;font-size:var(--font-size-xl,20px);height:50px;height:var(--button-size-round,50px);opacity:0;position:fixed;right:30px;right:var(--floating-offset,30px);transition:all .3s ease,visibility .3s ease;transition:all var(--transition-duration) ease,visibility var(--transition-duration) ease;visibility:hidden;width:50px;width:var(--button-size-round,50px);z-index:100;z-index:var(--z-index-dropdown)}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:hover{background:#1e3d21;background:var(--color-primary-dark);transform:scale(1.1)}.floating-booking{align-items:center;background:linear-gradient(135deg,#ff5a5f,#ff385c);background:linear-gradient(135deg,var(--color-airbnb,#ff5a5f),var(--color-airbnb-dark,#ff385c));border:none;border-radius:30px;border-radius:var(--radius-3xl,30px);bottom:30px;bottom:var(--floating-offset,30px);box-shadow:0 6px 20px rgba(255,90,95,.4);box-shadow:var(--shadow-airbnb);color:#fff;color:var(--color-white,#fff);cursor:pointer;display:flex;font-size:16px;font-size:var(--font-size-base);font-weight:600;font-weight:var(--font-weight-semibold);gap:8px;gap:var(--spacing-sm);left:30px;left:var(--floating-offset,30px);min-height:44px;min-height:var(--button-height);opacity:0;padding:12px 20px;padding:var(--spacing-md,12px) var(--spacing-xl,20px);pointer-events:none;position:fixed;transform:translateX(-100px);transition:all .3s ease;transition:all var(--transition-normal,.3s) ease;white-space:nowrap;will-change:transform,opacity;z-index:100;z-index:var(--z-index-dropdown)}.floating-booking.show{opacity:1;pointer-events:auto;transform:translateX(0)}.floating-booking:hover{background:linear-gradient(135deg,#e14e53,#d12b47);background:linear-gradient(135deg,var(--color-airbnb-darker),#d12b47);box-shadow:0 8px 25px rgba(255,90,95,.5);box-shadow:var(--shadow-airbnb-hover);transform:translateY(-2px) translateX(0)}.floating-booking:active{transform:translateY(0) translateX(0)}.floating-booking:focus{outline:2px solid hsla(0,0%,100%,.8);outline-offset:2px}.gallery-description{color:#333;margin-bottom:20px}.gallery-note{color:#404040;font-size:14px;font-size:var(--font-size-nav-md);margin-bottom:20px}.not-included{display:grid;gap:15px;grid-template-columns:repeat(2,1fr);margin-bottom:30px}.not-included-item{align-items:center;display:flex;opacity:.8}.not-included-icon{font-size:24px;font-size:var(--font-size-2xl);margin-right:10px}.text-large-spacing{line-height:1.8;margin-bottom:20px}.text-bottom-margin{margin-bottom:30px}.text-description-margin{margin-bottom:20px}.social-proof-section{background:transparent;margin:20px 0 40px;padding:0}.social-proof-content{align-items:center;animation:socialProofFadeIn .4s ease-out;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:hsla(0,0%,100%,.9);border:1px solid hsla(0,0%,100%,.2);border-radius:12px;box-shadow:0 2px 15px rgba(0,0,0,.1);display:flex;flex-direction:row;flex-wrap:wrap;gap:30px;justify-content:center;padding:20px;transition:all .3s ease;transition:all var(--transition-normal,.3s) ease}.social-proof-content:hover{box-shadow:0 4px 25px rgba(0,0,0,.15);transform:translate3d(0,-2px,0);will-change:transform}@keyframes socialProofFadeIn{0%{opacity:0}to{opacity:1}}.social-proof-rating{align-items:center;color:#2c5530;display:flex;font-size:16px;font-size:var(--font-size-base);gap:8px;white-space:nowrap}.star-icon{color:#ffc107;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));font-size:18px;font-size:var(--font-size-lg)}.social-proof-rating strong{color:#1e3d21;font-weight:600}.review-count{color:#555;font-size:14px;font-size:var(--font-size-nav-md)}.social-proof-testimonial{contain:layout style;cursor:pointer;display:flex;flex:1;flex-direction:column;justify-content:center;max-width:500px;min-height:120px;position:relative;text-align:center;transition:opacity .3s ease!important;transition:opacity var(--transition-normal,.3s) ease!important}.social-proof-testimonial:hover{opacity:.9}.social-proof-testimonial blockquote{border:none;color:#333;font-size:15px;font-size:var(--font-size-seasonal-nav-lg);font-style:italic;line-height:1.4;margin:0;padding:0;position:relative}.social-proof-testimonial blockquote:before{color:#2c5530;content:'"';font-family:serif;font-size:30px;font-size:var(--font-size-seasonal-nav-xl);left:-15px;opacity:.3;position:absolute;top:-5px}.social-proof-testimonial cite{color:#666;display:block;font-size:13px;font-size:var(--font-size-nav-sm);font-style:normal;font-weight:500;margin-top:8px}.testimonial-indicators{display:flex;gap:8px;justify-content:center;margin-top:16px}.testimonial-dot{background-color:#ccc;border:none;border-radius:50%;cursor:pointer;height:8px;opacity:.6;transition:all .3s ease;transition:all var(--transition-normal,.3s) ease;width:8px}.testimonial-dot:hover{background-color:#2c5530;opacity:.8;transform:scale(1.2)}.testimonial-dot.active{background-color:#2c5530;opacity:1;transform:scale(1.1)}.testimonial-dot:focus{outline:2px solid #2c5530;outline-offset:2px}@media (min-width:768px){#lightbox-image{max-height:95vh;max-width:95vw}}@media (min-width:1200px){#lightbox-image{max-height:98vh;max-width:98vw}}@media (min-width:var(--breakpoint-wide )){.floating-booking{left:max(30px,calc(50vw - 1250px));left:max(var(--floating-offset),calc((100vw - var(--breakpoint-wide))/2 + var(--floating-offset)))}}@media (hover:none),(max-width:1024px){.seasonal-modal{align-items:center;height:100vh;justify-content:center;max-height:100vh;overflow:hidden}.seasonal-modal-container{height:-moz-fit-content;height:fit-content;margin:5vh auto;max-height:90vh;min-height:auto;width:95%}.seasonal-modal-header{padding:16px 20px;padding:var(--spacing-lg) var(--spacing-xl)}.seasonal-modal-header h2{font-size:1.2rem;font-size:var(--font-size-modal-header-mobile)}.seasonal-modal-content{padding:20px;padding:var(--spacing-xl)}.seasonal-cards{gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.seasonal-card{padding:16px 12px;padding:var(--spacing-lg) var(--spacing-md)}.seasonal-card-icon{font-size:2rem;font-size:var(--font-size-seasonal-mobile-icon)}.seasonal-card-title{font-size:1rem;font-size:var(--font-size-seasonal-mobile-title)}.seasonal-card-desc{font-size:.8rem;font-size:var(--font-size-seasonal-mobile-desc)}}@media (max-width:768px){.main-content{display:flex;flex-direction:column;gap:20px;margin:20px 0;margin:var(--spacing-xl) 0;overflow-x:hidden;width:100%}.booking-section,.info-section{flex-shrink:0;margin-bottom:20px;margin-bottom:var(--spacing-xl);padding:25px 20px;padding:var(--spacing-xxxl) var(--spacing-xl);width:100%}.gallery-item{min-width:250px}.amenity-icon{font-size:28px;font-size:var(--font-size-mobile-icon);margin-right:12px;margin-right:var(--spacing-md)}.btn-airbnb{display:block!important;font-size:20px!important;font-size:var(--font-size-xl)!important;margin:25px auto!important;margin:var(--spacing-xxxl) auto!important;max-width:320px!important;min-height:48px!important;padding:22px 44px!important;padding:var(--spacing-xxl) 44px!important;width:100%!important}.hero{background-attachment:scroll;padding:60px 0;padding:var(--spacing-6xl) 0}.hero h2{font-size:2rem;font-size:var(--font-size-hero)}.hero p{font-size:1.1rem;font-size:var(--font-size-mobile-hero-p);padding:0 10px;padding:0 var(--spacing-sm-md)}.booking-section{position:relative;top:0}.amenities{gap:10px;grid-template-columns:1fr}.contact-info{padding:20px 15px;padding:var(--spacing-xl) var(--spacing-lg-x)}.gallery-section{margin:30px 0;margin:var(--spacing-3xl) 0;padding:30px 20px;padding:var(--spacing-3xl) var(--spacing-xl)}.container{padding:0 15px}header h1{flex:none;font-size:1.5rem;font-size:var(--font-size-mobile-hero);order:1;padding:0 10px;padding:0 var(--spacing-sm-md);text-align:center}header .container{flex-direction:column;gap:15px;text-align:center}.seasonal-nav{order:2}.seasonal-nav-button{font-size:13px;font-size:var(--font-size-xxs);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-lg)}.lightbox-close,.lightbox-nav{height:50px;min-height:50px;min-width:50px;width:50px}.hero-nav-link{font-size:14px!important;font-size:var(--font-size-sm)!important;font-size:13px;font-size:var(--font-size-nav-sm);margin:5px!important;margin:0;min-height:44px!important;padding:12px 20px!important}.hero-nav-link,.skip-link{padding:8px 16px;padding:var(--spacing-sm) var(--spacing-lg)}.skip-link{line-height:28px;min-height:44px}#qr-airbnb,#qr-site{min-height:200px;min-width:200px}div[style*="grid-template-columns: 1fr 1fr"]{gap:20px!important;grid-template-columns:1fr!important;text-align:center}.hero-nav{display:flex;flex-direction:column;flex-wrap:wrap;gap:10px;justify-content:center}.back-to-top{bottom:20px!important;bottom:var(--floating-offset-mobile)!important;font-size:18px!important;font-size:var(--font-size-mobile-nav)!important;height:45px!important;right:20px!important;right:var(--floating-offset-mobile)!important;width:45px!important}.floating-booking{border-radius:25px;border-radius:var(--radius-2xl);bottom:20px;bottom:var(--floating-offset-mobile);font-size:14px;font-size:var(--font-size-sm);left:20px;left:var(--floating-offset-mobile);padding:10px 16px;padding:var(--spacing-sm-md) var(--spacing-lg)}.practical-info-grid{gap:15px;grid-template-columns:1fr}.weather-link{font-size:14px;font-size:var(--font-size-nav-md);padding:6px 12px}.not-included{gap:10px;grid-template-columns:1fr}.not-included-icon{font-size:28px;font-size:var(--font-size-mobile-icon);margin-right:12px}.qr-grid{gap:20px;grid-template-columns:1fr}.social-proof-content{flex-direction:column;gap:15px;padding:16px;text-align:center}.social-proof-rating{font-size:15px;font-size:var(--font-size-seasonal-nav-lg);justify-content:center}.social-proof-testimonial{max-width:none}.social-proof-testimonial blockquote{font-size:14px;font-size:var(--font-size-nav-md)}.language-switcher{gap:8px;justify-content:center;margin-top:10px}.language-switcher a{font-size:13px;font-size:var(--font-size-nav-sm);min-width:28px;padding:6px 10px}}@media (max-width:767px){.gallery-grid{gap:15px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.lightbox-close{font-size:30px;font-size:var(--font-size-lightbox-close-mobile);height:40px;right:15px;right:var(--spacing-lg-x);top:10px;top:var(--spacing-sm-md);width:40px}.lightbox-nav{font-size:25px;font-size:var(--font-size-lightbox-nav-mobile);height:40px;width:40px}}@media (max-width:480px){.social-proof-content{border-radius:8px;margin:0 -10px}.social-proof-rating{flex-wrap:wrap;gap:4px}.review-count{margin-top:4px;width:100%}}@media (hover:none) and (pointer:coarse){.gallery-item:hover{box-shadow:0 2px 10px rgba(0,0,0,.1);transform:none}.gallery-item:hover img{transform:none}.booking-section:hover,.info-section:hover{box-shadow:0 2px 10px rgba(0,0,0,.1);transform:none}}