@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}@keyframes fadeInDown{from{opacity:0;transform:translateY(-20px);}to{opacity:1;transform:translateY(0);}}@keyframes slideInLeft{from{opacity:0;transform:translateX(-30px);}to{opacity:1;transform:translateX(0);}}@keyframes slideInRight{from{opacity:0;transform:translateX(30px);}to{opacity:1;transform:translateX(0);}}@keyframes slideUp{from{opacity:0;transform:translateY(100%);}to{opacity:1;transform:translateY(0);}}@keyframes slideDown{from{opacity:1;transform:translateY(0);}to{opacity:0;transform:translateY(100%);}}@keyframes scaleIn{from{opacity:0;transform:scale(0.9);}to{opacity:1;transform:scale(1);}}@keyframes popIn{0%{opacity:0;transform:scale(0.8);}70%{transform:scale(1.05);}100%{opacity:1;transform:scale(1);}}@keyframes spin{to{transform:rotate(360deg);}}@keyframes pulse{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}@keyframes pulseSoft{0%,100%{transform:scale(1);}50%{transform:scale(1.02);}}@keyframes float{0%,100%{transform:translateY(0);}50%{transform:translateY(-8px);}}@keyframes glow{0%,100%{box-shadow:0 0 5px var(--primary-alpha-20,rgba(166,124,82,0.2));}50%{box-shadow:0 0 20px rgba(166,124,82,0.4);}}@keyframes checkBounce{0%{transform:scale(0) rotate(-45deg);opacity:0;}50%{transform:scale(1.2) rotate(5deg);opacity:1;}100%{transform:scale(1) rotate(0deg);opacity:1;}}@keyframes selectPulse{0%{transform:scale(1);box-shadow:0 0 0 0 rgba(166,124,82,0.4);}40%{transform:scale(1.02);box-shadow:0 0 0 8px rgba(166,124,82,0);}100%{transform:scale(1);box-shadow:0 0 0 0 rgba(166,124,82,0);}}@keyframes shake{0%,100%{transform:translateX(0);}20%,60%{transform:translateX(-6px);}40%,80%{transform:translateX(6px);}}@keyframes bounce{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}@keyframes slideInDown{from{transform:translateY(-20px);opacity:0;}to{transform:translateY(0);opacity:1;}}@keyframes highlight{from{background-color:var(--primary-alpha-25,rgba(166,124,82,0.25));}to{background-color:transparent;}}@keyframes shimmer{from{transform:translateX(-100%);}to{transform:translateX(100%);}}@keyframes loading{0%{width:0;}100%{width:100%;}}@keyframes starShine{0%,100%{color:var(--color-star,#E8A830);transform:scale(1);filter:drop-shadow(0 0 0 transparent);}50%{color:var(--color-star-highlight,#F0C060);transform:scale(1.1);filter:drop-shadow(0 0 8px rgba(240,192,96,0.6));}}@keyframes luxuryShine{0%,100%{filter:brightness(1) drop-shadow(0 0 0 transparent);}50%{filter:brightness(1.35) drop-shadow(0 0 4px rgba(166,124,82,0.5));}}@keyframes scaleInLine{from{transform:translateX(-50%) scaleX(0);opacity:0;}to{transform:translateX(-50%) scaleX(1);opacity:1;}}@keyframes heroZoomIn{from{transform:scale(1.06);opacity:0.7;}to{transform:scale(1);opacity:1;}}@keyframes ctaGlowOnce{0%{box-shadow:0 8px 24px var(--primary-alpha-25,rgba(166,124,82,0.25));}50%{box-shadow:0 8px 40px var(--primary-alpha-35,rgba(166,124,82,0.35)),0 0 60px var(--primary-alpha-20,rgba(166,124,82,0.2));}100%{box-shadow:0 8px 24px var(--primary-alpha-25,rgba(166,124,82,0.25));}}@keyframes curtainReveal{from{clip-path:inset(50% 50% 50% 50%);opacity:0;}to{clip-path:inset(0% 0% 0% 0%);opacity:1;}}@keyframes glowRingPulse{0%,100%{box-shadow:0 16px 48px rgba(44,24,16,0.08),0 0 20px rgba(166,124,82,0.15),0 0 40px rgba(166,124,82,0.08);}50%{box-shadow:0 16px 48px rgba(44,24,16,0.08),0 0 40px rgba(166,124,82,0.25),0 0 80px rgba(166,124,82,0.12);}}@keyframes priceReveal{from{opacity:0;transform:translateY(12px) scale(0.9);filter:blur(4px);}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);}}@keyframes scrollAnimation{0%{opacity:0;transform:translateY(-5px);}50%{opacity:1;}100%{opacity:0;transform:translateY(5px);}}@keyframes modalExit{from{opacity:1;transform:scale(1);}to{opacity:0;transform:scale(0.95) translateY(8px);filter:blur(4px);}}@keyframes blurFadeInUp{from{opacity:0;transform:translateY(30px);filter:blur(4px);}to{opacity:1;transform:translateY(0);filter:blur(0);}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity var(--transition-slow),transform var(--transition-slow);}.fade-in.visible{opacity:1;transform:translateY(0);}.slide-left{opacity:0;transform:translateX(-50px);transition:opacity var(--transition-slow),transform var(--transition-slow);}.slide-left.visible{opacity:1;transform:translateX(0);}.slide-right{opacity:0;transform:translateX(50px);transition:opacity var(--transition-slow),transform var(--transition-slow);}.slide-right.visible{opacity:1;transform:translateX(0);}.scale-up{opacity:0;transform:scale(0.8);transition:opacity var(--transition-slow),transform var(--transition-slow);}.scale-up.visible{opacity:1;transform:scale(1);}.blur-entrance{opacity:0;transform:translateY(24px);filter:blur(4px);transition:opacity 600ms var(--ease-luxury),transform 600ms var(--ease-luxury),filter 600ms var(--ease-luxury);}.blur-entrance.visible{opacity:1;transform:translateY(0);filter:blur(0);}.blur-entrance:nth-child(1){transition-delay:0ms;}.blur-entrance:nth-child(2){transition-delay:calc(var(--stagger-delay,80ms));}.blur-entrance:nth-child(3){transition-delay:calc(var(--stagger-delay,80ms) * 2);}.blur-entrance:nth-child(4){transition-delay:calc(var(--stagger-delay,80ms) * 3);}[data-reveal] .reveal-child{opacity:0;transform:translateY(var(--reveal-translateY,20px));transition:opacity var(--reveal-duration,850ms) var(--reveal-easing,cubic-bezier(0.16,1,0.3,1)) calc(var(--i,0) * var(--reveal-stagger,140ms)),transform var(--reveal-duration,850ms) var(--reveal-easing,cubic-bezier(0.16,1,0.3,1)) calc(var(--i,0) * var(--reveal-stagger,140ms));}[data-reveal].visible .reveal-child{opacity:1;transform:translateY(0);}@media (prefers-reduced-motion:reduce){[data-reveal] .reveal-child{opacity:1 !important;transform:none !important;transition:none !important;}.fade-in,.slide-left,.slide-right,.scale-up,.blur-entrance{opacity:1;transform:none;transition:none;}.section-header h2::after,#about-heading::after,.seasonal-title::after,.info-header h2::after{animation:none !important;transform:translateX(-50%) scaleX(1) !important;opacity:1 !important;}.about-section.visible .about-image-wrapper,.about-section.visible .about-text,.about-section.visible .about-header-line,.testimonials-section.visible .section-header,.testimonials-section.visible .testimonials-notice,.testimonials-section.visible .testimonials-filter,.testimonials-section.visible .testimonials-carousel-container,.testimonials-section.visible .testimonials-summary,.testimonials-section.visible .testimonials-cta-wrap,.testimonials-section.visible .view-all-wrap,.seasonal-section.visible .seasonal-header,.seasonal-section.visible .seasonal-message,.seasonal-section.visible .seasonal-highlight,.seasonal-section.visible .seasonal-cta,.seasonal-section.visible .btn-arrow,.info-section.visible .info-header,.info-section.visible .info-tabs{animation:none !important;opacity:1 !important;transform:none !important;filter:none !important;}html{scroll-behavior:auto !important;}}.btn{display:inline-block;padding:1rem 2.5rem;min-height:44px;font-size:var(--font-size-sm);font-weight:500;text-align:center;border-radius:var(--border-radius-pill);transition:transform var(--transition-normal),box-shadow var(--transition-normal),background var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal);cursor:pointer;border:2px solid transparent;white-space:nowrap;user-select:none;letter-spacing:0.5px;position:relative;overflow:hidden;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);}.btn::before{content:'';position:absolute;top:50%;left:50%;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,0.3),transparent);transform:translate(-50%,-50%) scale(0);transition:transform 0.6s cubic-bezier(0.25,0.46,0.45,0.94);pointer-events:none;}.btn:hover::before{transform:translate(-50%,-50%) scale(1);}.btn-primary{background:var(--gradient-brand);color:var(--text-white);box-shadow:0 4px 20px var(--primary-alpha-25);}.btn-primary:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 12px 28px var(--primary-alpha-35);}.btn-primary--mt{margin-top:var(--spacing-xl);}.btn-glass{background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--primary-alpha-20);box-shadow:var(--shadow-glass);}.btn-glass:hover{background:var(--white-alpha-90);transform:translateY(-1px);border-color:var(--primary-color);}.btn-outline{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color);}.btn-outline:hover{background:var(--primary-color);color:var(--text-white);transform:translateY(-1px);}.btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:3px;}.btn-primary:focus-visible{outline-color:var(--primary-dark);box-shadow:0 4px 20px var(--primary-alpha-25),0 0 0 4px var(--primary-alpha-15);}.btn-glass:focus-visible{outline-color:var(--primary-color);}.btn-outline:focus-visible{outline-color:var(--primary-dark);}@media (prefers-color-scheme:dark){.btn-primary{box-shadow:0 4px 20px var(--primary-alpha-25);}.btn-primary:hover{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));color:var(--text-white);}.btn-glass{background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--accent-color);box-shadow:var(--shadow-glass);}.btn-glass:hover{background:var(--bg-glass-hover);color:var(--accent-color);}.btn-outline{color:var(--accent-color);border:2px solid var(--accent-color);}.btn-outline:hover{background:var(--accent-color);color:var(--text-dark);}.btn:focus-visible{outline-color:var(--accent-color);}}.loader{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-primary);display:flex;justify-content:center;align-items:center;z-index:9999;}.loader-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;}.cookie-banner{position:fixed;bottom:20px;left:20px;right:20px;max-width:500px;margin:0 auto;background:var(--white-alpha-95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-xl);padding:var(--spacing-xl);z-index:var(--z-modal);animation:slideUp 0.5s cubic-bezier(0.4,0,0.2,1);overflow:visible;max-height:85vh;overflow-y:auto;}.cookie-banner--closing{animation:slideDown 0.5s ease-out forwards;}@media (prefers-reduced-motion:reduce){.cookie-banner,.cookie-banner--closing{animation:none;}.btn::before{transition:none;}.btn:hover::before{transform:translate(-50%,-50%) scale(0);}}.cookie-content{text-align:center;position:relative;}.cookie-close-btn{position:absolute;top:-0.875rem;right:-0.875rem;width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:var(--primary-alpha-08);border:1px solid var(--border-color);border-radius:var(--border-radius-full);font-size:1.1rem;line-height:1;color:var(--text-secondary);cursor:pointer;padding:0;transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);}.cookie-close-btn:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.1);}.cookie-close-btn:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;background:var(--primary-color);color:#fff;}.cookie-content h2{color:var(--text-primary);margin-bottom:var(--spacing-sm);font-size:var(--font-size-lg);font-weight:500;}.cookie-content p{color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.6;margin-bottom:var(--spacing-lg);}.cookie-details{margin:var(--spacing-md) 0;padding:var(--spacing-sm);background:var(--primary-alpha-05);border-radius:var(--border-radius);border:1px solid var(--border-color);text-align:left;}.cookie-details summary{cursor:pointer;font-weight:500;color:var(--primary-color);padding:var(--spacing-xs);user-select:none;transition:color var(--transition-fast);font-size:var(--font-size-sm);}.cookie-details summary:hover{color:var(--primary-dark);}.cookie-details summary::marker{color:var(--primary-color);}.cookie-details[open] summary{margin-bottom:var(--spacing-sm);}.cookie-info{padding:var(--spacing-sm);font-size:var(--font-size-xs);line-height:1.8;color:var(--text-secondary);}.cookie-info strong{color:var(--text-primary);font-weight:600;display:inline-block;margin-right:var(--spacing-xs);}.cookie-options{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-lg) 0;text-align:left;}.cookie-option{display:flex;align-items:center;gap:var(--spacing-sm);color:var(--text-secondary);font-size:var(--font-size-sm);padding:var(--spacing-xs);min-height:2.75rem;border-radius:var(--border-radius);transition:background var(--transition-fast);cursor:pointer;}.cookie-option:hover{background:var(--primary-alpha-03);}.cookie-hp-field{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden;pointer-events:none;}.cookie-option input[type="checkbox"]{width:18px;height:18px;accent-color:var(--primary-color);cursor:pointer;}.cookie-option input[type="checkbox"]:disabled{opacity:0.5;cursor:not-allowed;}.cookie-option span{flex:1;user-select:none;}.cookie-buttons{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);align-items:center;justify-content:center;margin-bottom:var(--spacing-md);}.btn-cookie-reject,.btn-cookie-accept,.btn-cookie-all{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--primary-color);border-radius:var(--border-radius-pill);font-weight:500;font-size:var(--font-size-sm);background:transparent;color:var(--primary-color);transition:background var(--transition-normal),color var(--transition-normal),transform var(--transition-normal),border-color var(--transition-normal);cursor:pointer;font-family:var(--font-primary);}.btn-cookie-reject:hover,.btn-cookie-accept:hover,.btn-cookie-all:hover{background:var(--primary-color);color:var(--text-white);transform:translateY(-1px);}.btn-cookie-reject:focus-visible,.btn-cookie-accept:focus-visible,.btn-cookie-all:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;background:var(--primary-color);color:var(--text-white);}.cookie-option input[type="checkbox"]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;}.cookie-details summary:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:4px;}.cookie-link:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;border-radius:4px;}.cookie-buttons-revoke{margin-top:0.5rem;}.cookie-revoke-confirm{margin-top:0.75rem;padding:0.75rem 1rem;background:var(--primary-alpha-06);border:1px solid var(--primary-alpha-25);border-radius:var(--border-radius);text-align:center;}.cookie-revoke-confirm-text{margin:0 0 0.5rem;font-size:var(--font-size-sm);color:var(--text-primary);}.btn-cookie-sm{font-size:0.85rem;padding:0.4rem 1rem;}.btn-cookie-sm + .btn-cookie-sm{margin-left:0.5rem;}.cookie-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md);padding-top:var(--spacing-sm);border-top:1px solid var(--border-color);}.cookie-link{color:var(--text-light);text-decoration:none;font-size:var(--font-size-xs);transition:color var(--transition-fast);}.cookie-link:hover{color:var(--primary-color);text-decoration:underline;}.cookie-version{font-size:var(--font-size-xs);color:var(--text-light);opacity:var(--opacity-muted);}@media (max-width:480px){.cookie-banner{bottom:0;left:0;right:0;max-width:100%;border-radius:var(--border-radius-lg) var(--border-radius-lg) 0 0;padding:var(--spacing-lg);max-height:90vh;overflow-y:auto;}.cookie-close-btn{top:0.25rem;right:0.25rem;}.cookie-buttons{flex-direction:column;gap:var(--spacing-xs);}.cookie-buttons button{width:100%;padding:var(--spacing-md) var(--spacing-lg);}.cookie-footer{flex-direction:column;gap:var(--spacing-sm);align-items:center;}}@media (min-width:481px) and (max-width:1024px){.cookie-buttons{flex-direction:row;flex-wrap:wrap;}.cookie-buttons button{flex:1;min-width:150px;}}@media (prefers-color-scheme:dark){.cookie-banner{background:rgba(36,39,48,0.98);border-color:rgba(212,165,116,0.2);}.cookie-content h3{color:var(--primary-light);}.cookie-details{background:rgba(212,165,116,0.05);border-color:rgba(212,165,116,0.15);}.cookie-option:hover{background:rgba(212,165,116,0.08);}.btn-cookie-reject,.btn-cookie-accept,.btn-cookie-all{border-color:rgba(212,165,116,0.5);color:var(--primary-color);}.btn-cookie-reject:hover,.btn-cookie-accept:hover,.btn-cookie-all:hover{background:rgba(212,165,116,0.15);border-color:var(--primary-color);color:var(--primary-color);}}.cookie-buttons button:focus-visible,.cookie-option input:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px;}.notification{position:fixed;top:100px;right:var(--spacing-lg);background:var(--bg-card);padding:var(--spacing-lg);border-radius:var(--border-radius-sm);box-shadow:var(--shadow-lg);max-width:350px;z-index:var(--z-notification);transform:translateX(400px);transition:transform var(--transition-normal);}.notification.show{transform:translateX(0);}.notification-success{border-left:4px solid var(--color-success);}.notification-error{border-left:4px solid var(--color-error);}.notification-info{border-left:4px solid var(--primary-color);}.notification-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:none;border:none;font-size:var(--font-size-xl);cursor:pointer;color:var(--text-secondary);min-width:44px;min-height:44px;}.error-message{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);display:block;}.form-group.error input,.form-group.error textarea{border-color:var(--color-error);}img.loaded,video.loaded,iframe.loaded{animation:fadeIn 500ms ease;animation:fadeIn var(--transition-slow);}.lightbox,.booking-success-modal,.preferences-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-dim);display:flex;justify-content:center;align-items:center;z-index:var(--z-overlay);opacity:0;transition:opacity var(--transition-normal);}.lightbox.show,.booking-success-modal.show,.preferences-modal.show{opacity:1;}.modal-content{background:var(--bg-card);padding:var(--spacing-xl);border-radius:var(--border-radius);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;position:relative;}.modal-close,.lightbox-close{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);background:var(--overlay-light);border:none;font-size:var(--icon-size-lg);cursor:pointer;color:var(--text-white);width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-full);}.lightbox-content{position:relative;max-width:90%;max-height:90%;}.lightbox-content img{max-width:100%;max-height:80vh;display:block;margin:0 auto;}.lightbox-caption{color:var(--text-white);text-align:center;margin-top:var(--spacing-md);font-size:var(--font-size-lg);}.success-icon{width:80px;height:80px;margin:0 auto var(--spacing-md);background:linear-gradient(135deg,var(--color-success),var(--color-success-dark));border-radius:var(--border-radius-full);display:flex;align-items:center;justify-content:center;color:var(--text-white);font-size:var(--icon-size-xl);}.field-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs);}.available{color:var(--color-success);font-weight:600;}.unavailable{color:var(--color-error);font-weight:600;}.loading{color:var(--text-secondary);animation:pulse 1.5s infinite;}.newsletter-success{background:var(--color-success);color:var(--text-white);padding:var(--spacing-lg);border-radius:var(--border-radius);text-align:center;margin-bottom:var(--spacing-xl);animation:slideInDown 500ms ease;animation:slideInDown var(--transition-slow);}.testimonial-slide{display:none;}.testimonial-slide.active{display:block;animation:fadeIn 500ms ease;animation:fadeIn var(--transition-slow);}.testimonial-indicator{width:10px;height:10px;border-radius:50%;background:var(--border-color);cursor:pointer;transition:background var(--transition-normal);}.testimonial-indicator.active{background:var(--primary-color);}