*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--primary-50: #f4f7f0;--primary-100: #dfe8d4;--primary-200: #bcd1a8;--primary-300: #97b87c;--primary-400: #739e56;--primary-500: #587a42;--primary-600: #476535;--primary-700: #364d28;--primary-800: #25351c;--primary-900: #141e0f;--accent-50: #fdf8ee;--accent-100: #f9ecd0;--accent-200: #f2d9a1;--accent-300: #e8c26e;--accent-400: #d4a544;--accent-500: #b8892e;--accent-600: #9a7024;--accent-700: #74541b;--accent-800: #4d3812;--accent-900: #271c09;--neutral-0: #ffffff;--neutral-50: #faf9f6;--neutral-100: #f3f0eb;--neutral-200: #e6e1d8;--neutral-300: #d3cbc0;--neutral-400: #b8ad9e;--neutral-500: #998c7b;--neutral-600: #78695a;--neutral-700: #574d41;--neutral-800: #38322a;--neutral-900: #1c1915;--sea-green-50: #ebf5f3;--sea-green-100: #c2e5de;--sea-green-300: #6fc4b4;--sea-green-500: #3a9e8d;--sea-green-600: #2d7d70;--sea-green-700: #267a6c;--sea-green-900: #123d36;--success: #3a9e8d;--warning: #e8c26e;--error: #c75a3a;--font-display: "Playfair Display", Georgia, serif;--font-body: "Inter", -apple-system, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--space-4xl: 6rem;--space-5xl: 8rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);--shadow-md: 0 4px 14px rgba(0,0,0,.1), 0 2px 6px rgba(0,0,0,.06);--shadow-lg: 0 10px 30px rgba(0,0,0,.12), 0 4px 10px rgba(0,0,0,.06);--shadow-xl: 0 20px 50px rgba(0,0,0,.15), 0 8px 20px rgba(0,0,0,.08);--shadow-glow: 0 0 30px rgba(88,122,66,.15);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--transition-spring: .5s cubic-bezier(.34, 1.56, .64, 1);--max-width: 1280px;--navbar-height: 80px}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none}body{font-family:var(--font-body);font-size:16px;line-height:1.6;color:var(--neutral-800);background-color:var(--neutral-50);overflow-x:hidden;overscroll-behavior:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2;color:var(--neutral-900)}h1{font-size:clamp(2.2rem,5vw,3.8rem)}h2{font-size:clamp(1.8rem,4vw,2.8rem)}h3{font-size:clamp(1.3rem,3vw,1.8rem)}h4{font-size:clamp(1.1rem,2vw,1.4rem)}p{max-width:70ch;color:var(--neutral-600)}a{color:var(--primary-500);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--primary-700)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{font-family:var(--font-body);cursor:pointer;border:none;outline:none}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl)}.section{padding:var(--space-5xl) 0}.section-header{text-align:center;margin-bottom:var(--space-3xl)}.section-header h2{margin-bottom:var(--space-md);position:relative}.section-header p{margin:0 auto;font-size:1.1rem}.section-label{display:inline-block;font-family:var(--font-body);font-size:.8rem;font-weight:600;letter-spacing:3px;text-transform:uppercase;color:var(--accent-500);margin-bottom:var(--space-sm)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:14px 32px;font-size:.95rem;font-weight:600;border-radius:var(--radius-md);transition:all var(--transition-base);position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg,var(--primary-500),var(--primary-600));color:#fff;box-shadow:0 4px 15px #587a424d}.btn-primary:hover{background:linear-gradient(135deg,var(--primary-600),var(--primary-700));transform:translateY(-2px);box-shadow:0 6px 20px #587a4266;color:#fff}.btn-accent{background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:#fff;box-shadow:0 4px 15px #b8892e4d}.btn-accent:hover{background:linear-gradient(135deg,var(--accent-600),var(--accent-700));transform:translateY(-2px);box-shadow:0 6px 20px #b8892e66;color:#fff}.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.6)}.btn-outline:hover{background:#ffffff26;border-color:#fff;color:#fff;transform:translateY(-2px)}.btn-ghost{background:transparent;color:var(--primary-500);padding:10px 20px}.btn-ghost:hover{background:var(--primary-50);color:var(--primary-700)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.navbar{position:fixed;top:0;left:0;right:0;z-index:9999;height:var(--navbar-height);display:flex;align-items:center;transition:all var(--transition-base);padding:0 var(--space-xl)}.navbar.transparent{background:transparent}.navbar.scrolled{background:#fffffffa;box-shadow:var(--shadow-md)}.navbar.menu-open{background:transparent!important;box-shadow:none!important}.navbar.menu-open .navbar-logo{opacity:0!important;pointer-events:none}.navbar.menu-open .navbar-toggle span{background:#fff!important}.navbar-inner{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:var(--max-width);margin:0 auto}.navbar-logo{font-family:var(--font-display);font-size:1.6rem;font-weight:700;transition:color var(--transition-fast)}.navbar.transparent .navbar-logo{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.navbar.scrolled .navbar-logo{color:var(--primary-700)}.navbar-links{display:flex;align-items:center;gap:var(--space-lg)}.navbar-links a{font-size:.9rem;font-weight:500;letter-spacing:.5px;padding:8px 4px;position:relative;transition:all var(--transition-fast)}.navbar.transparent .navbar-links a{color:#ffffffe6;text-shadow:0 1px 5px rgba(0,0,0,.2)}.navbar.scrolled .navbar-links a{color:var(--neutral-600)}.navbar.scrolled .navbar-links a:hover,.navbar.scrolled .navbar-links a.active{color:var(--primary-500)}.navbar.transparent .navbar-links a:hover,.navbar.transparent .navbar-links a.active{color:#fff}.navbar-links a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--accent-500);transition:width var(--transition-base)}.navbar-links a:hover:after,.navbar-links a.active:after{width:100%}.navbar-cta{padding:10px 24px!important;border-radius:var(--radius-md);font-weight:600!important}.navbar.transparent .navbar-cta{background:var(--primary-500);border:1px solid var(--primary-500);color:#fff}.navbar.transparent .navbar-cta:hover{background:var(--primary-600);border-color:var(--primary-600)}.navbar.scrolled .navbar-cta{background:var(--primary-500)!important;color:#fff!important;text-shadow:none!important}.navbar.scrolled .navbar-cta:hover{background:var(--primary-600)!important}.navbar-cta:after{display:none!important}.navbar-toggle{display:none;flex-direction:column;gap:5px;background:none;padding:8px;cursor:pointer}.navbar-toggle span{display:block;width:24px;height:2px;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center}.navbar.transparent .navbar-toggle span{background:#fff}.navbar.scrolled .navbar-toggle span{background:var(--neutral-800)}.navbar-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.footer{background:linear-gradient(165deg,var(--primary-800) 0%,var(--primary-900) 100%);color:#ffffffbf;padding:var(--space-4xl) 0 0;position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent-400),var(--primary-400),var(--sea-green-500))}.footer-top{display:grid;grid-template-columns:1.8fr 1fr 1fr 1.5fr;gap:var(--space-3xl);padding-bottom:var(--space-3xl)}.footer-logo{font-family:var(--font-display);font-size:1.5rem;font-weight:700;color:#fff!important;display:block;margin-bottom:var(--space-md)}.footer-logo:hover{color:var(--accent-300)!important}.footer-tagline{color:#ffffff8c!important;font-size:.88rem;line-height:1.7;margin-bottom:var(--space-md)}.footer-heading{color:#fff;font-family:var(--font-body);font-size:.78rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-lg);position:relative;padding-bottom:var(--space-sm)}.footer-heading:after{content:"";position:absolute;bottom:0;left:0;width:24px;height:2px;background:var(--accent-400);border-radius:1px}.footer-col .footer-links a{display:block;color:#ffffff8c;font-size:.88rem;padding:5px 0;transition:all var(--transition-fast)}.footer-col .footer-links a:hover{color:#fff;padding-left:6px}.footer-contact-list{display:flex;flex-direction:column;gap:10px}.footer-contact-row{display:flex;align-items:center;gap:10px;font-size:.88rem;color:#ffffff8c;line-height:1.5}.footer-contact-row a{color:#ffffff8c;transition:color var(--transition-fast)}.footer-contact-row a:hover{color:#fff}.footer-contact-icon{flex-shrink:0;color:#ffffff8c;display:flex;align-items:center}.footer-social{display:flex;gap:8px;margin-top:var(--space-lg)}.footer-social a{display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#ffffff14;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-sm);color:#ffffff8c;transition:all var(--transition-fast)}.footer-social a:hover{background:#fff;border-color:#fff;color:var(--primary-700);transform:translateY(-2px)}.footer-divider{height:1px;background:#ffffff1a}.footer-bottom{padding:var(--space-lg) 0;display:flex;justify-content:space-between;align-items:center;font-size:.8rem}.footer-bottom p,.footer-bottom a{color:#ffffff8c}.footer-bottom a{transition:color var(--transition-fast)}.footer-bottom a:hover{color:#fff}.footer-powered{text-align:center;padding:var(--space-md) 0;border-top:1px solid rgba(255,255,255,.06);width:100%;display:flex;justify-content:center}.footer-powered p{font-size:.78rem;color:#ffffff59;letter-spacing:.5px}.footer-powered a{color:#ffffff80;transition:color var(--transition-fast)}.footer-powered a:hover{color:#fff}.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:center;overflow:hidden}.hero-slider{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0}.hero-slide{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity 1.5s ease-in-out}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.05);transition:transform 8s ease-out}.hero-slide.active img{transform:scale(1)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#141e0f66,#141e0f33 40%,#141e0f80);z-index:1}.hero-content{position:relative;z-index:2;width:100%;max-width:var(--max-width);margin:0 auto;padding:0 var(--space-xl);display:flex;flex-direction:column;align-items:flex-start}.hero-text{max-width:600px;animation:fadeInUp 1s ease-out}.hero-text .section-label{color:var(--accent-300);font-size:.75rem;letter-spacing:4px}.hero-text h1{color:#fff;margin-bottom:var(--space-lg);text-shadow:0 4px 20px rgba(0,0,0,.3)}.hero-text p{color:#ffffffd9;font-size:1.15rem;line-height:1.7;margin-bottom:var(--space-2xl);max-width:500px}.hero-buttons{display:flex;gap:var(--space-md);flex-wrap:wrap}.hero-dots{position:absolute;bottom:140px;left:50%;transform:translate(-50%);z-index:3;display:flex;gap:10px}.hero-dot{width:10px;height:10px;border-radius:50%;background:#fff6;cursor:pointer;transition:all var(--transition-base);border:none}.hero-dot.active{background:#fff;transform:scale(1.3)}.booking-widget{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:10;width:100%;max-width:900px;padding:0 var(--space-xl)}.booking-widget-inner{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl);box-shadow:var(--shadow-xl);display:flex;align-items:flex-end;gap:var(--space-lg);overflow:visible}.booking-field{flex:1;display:flex;flex-direction:column;gap:6px}.booking-field label{font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--neutral-500)}.booking-field input,.booking-field select{font-family:var(--font-body);font-size:.95rem;padding:10px 12px;border:2px solid var(--neutral-200);border-radius:var(--radius-sm);background:#fff;color:var(--neutral-800);transition:border-color var(--transition-fast);width:100%}.booking-field input:focus,.booking-field select:focus{outline:none;border-color:var(--primary-400)}.booking-field-btn{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:var(--font-body);font-size:.95rem;padding:10px 12px;border:2px solid var(--neutral-200);border-radius:var(--radius-sm);background:#fff;color:var(--neutral-400);cursor:pointer;transition:all var(--transition-fast);text-align:left;min-height:42px}.booking-field-btn:hover{border-color:var(--primary-300);background:var(--primary-50)}.booking-field-btn.has-date{color:var(--neutral-800);border-color:var(--primary-300)}.booking-field-btn svg{flex-shrink:0;color:var(--neutral-300);transition:color var(--transition-fast)}.booking-field-btn:hover svg,.booking-field-btn.has-date svg{color:var(--primary-400)}.widget-calendar-popup{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(10px);width:360px;background:#fff;border-radius:var(--radius-lg);box-shadow:0 12px 40px #0000002e;z-index:50;opacity:0;visibility:hidden;transition:all .25s ease;overflow:hidden}.widget-calendar-popup.open{opacity:1;visibility:visible;transform:translate(-50%) translateY(0)}.widget-calendar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--neutral-100)}.widget-calendar-header span{font-size:.88rem;font-weight:600;color:var(--primary-700)}.widget-calendar-close{background:none;border:none;font-size:1.4rem;color:var(--neutral-400);cursor:pointer;padding:0;line-height:1;transition:color var(--transition-fast)}.widget-calendar-close:hover{color:var(--neutral-700)}.widget-calendar-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--neutral-100);background:var(--neutral-50)}.widget-calendar-dates{display:flex;gap:var(--space-lg);font-size:.82rem;color:var(--neutral-500)}.widget-calendar-dates strong{color:var(--neutral-800)}.btn-sm{padding:8px 16px;font-size:.82rem}.custom-select{position:relative}.custom-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;font-family:var(--font-body);font-size:.95rem;padding:10px 12px;border:2px solid var(--neutral-200);border-radius:var(--radius-sm);background:#fff;color:var(--neutral-800);cursor:pointer;transition:border-color var(--transition-fast);text-align:left}.custom-select-trigger:hover{border-color:var(--neutral-300)}.custom-select-trigger.open{border-color:var(--primary-400)}.custom-select-trigger svg{flex-shrink:0;color:var(--neutral-400);transition:transform var(--transition-fast)}.custom-select-trigger.open svg{transform:rotate(180deg)}.custom-select-dropdown{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-md);box-shadow:0 -4px 24px #0000001f;z-index:100;opacity:0;visibility:hidden;transform:translateY(8px);transition:all .2s ease;overflow:hidden}.custom-select-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.custom-select-option{padding:10px 14px;font-size:.92rem;color:var(--neutral-700);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:8px}.custom-select-option:hover{background:var(--primary-50);color:var(--primary-700)}.custom-select-option.selected{background:var(--primary-50);color:var(--primary-600);font-weight:500}.custom-select-option.selected:before{content:"✓";font-size:.8rem;color:var(--primary-500);font-weight:700}.booking-widget .btn-primary{white-space:nowrap;padding:12px 28px;flex-shrink:0}.rooms-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--space-xl)}.room-card{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.room-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}.room-card-image{position:relative;height:220px;overflow:hidden}.room-card-slider{display:flex;width:100%;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none}.room-card-slider::-webkit-scrollbar{display:none}.room-card-slider img{flex-shrink:0;width:100%;height:100%;object-fit:cover;scroll-snap-align:start;transition:transform var(--transition-slow)}.room-card:hover .room-card-slider img{transform:scale(1.03)}.room-card-image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.room-card:hover .room-card-image img{transform:scale(1.08)}.room-slider-dots{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:2}.room-slider-dot{width:7px;height:7px;border-radius:50%;background:#ffffff80;border:none;cursor:pointer;transition:all var(--transition-fast);padding:0}.room-slider-dot.active{background:#fff;transform:scale(1.3)}.room-slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:30px;height:30px;border-radius:50%;background:#ffffffd9;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--neutral-800);box-shadow:0 2px 6px #00000026;opacity:0;transition:opacity var(--transition-fast)}.room-card:hover .room-slider-arrow{opacity:1}.room-slider-arrow:hover{background:#fff}.room-slider-arrow.prev{left:8px}.room-slider-arrow.next{right:8px}.room-card-badge{position:absolute;top:var(--space-md);right:var(--space-md);background:var(--primary-500);color:#fff;padding:6px 14px;border-radius:var(--radius-full);font-size:.8rem;font-weight:600}.room-card-body{padding:var(--space-lg)}.room-card-type{font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--accent-500);margin-bottom:4px}.room-card-body h3{font-size:1.3rem;margin-bottom:var(--space-sm)}.room-card-body p{font-size:.88rem;color:var(--neutral-500);margin-bottom:var(--space-md);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.room-card-meta{display:flex;align-items:center;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--neutral-100);font-size:.82rem;color:var(--neutral-500)}.room-card-meta span{display:flex;align-items:center;gap:4px}.room-card-price{margin-left:auto;font-size:1.1rem;font-weight:700;color:var(--primary-600)}.room-card-price small{font-size:.7rem;font-weight:400;color:var(--neutral-500)}.amenities-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg)}.amenity-card{text-align:center;padding:var(--space-xl) var(--space-lg);background:#fff;border-radius:var(--radius-md);transition:all var(--transition-base);border:1px solid var(--neutral-100)}.amenity-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-100)}.amenity-icon{font-size:2.2rem;margin-bottom:var(--space-md);display:block}.amenity-card h4{font-family:var(--font-body);font-size:.95rem;font-weight:600;margin-bottom:4px}.amenity-card p{font-size:.82rem;color:var(--neutral-500);margin:0 auto}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;gap:var(--space-sm)}.gallery-item{position:relative;overflow:hidden;border-radius:var(--radius-sm);cursor:pointer}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 2}.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#0000;transition:background var(--transition-base)}.gallery-item:hover:after{background:#00000026}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;background:#fff;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.lightbox.active{opacity:1;visibility:visible}.lightbox img{max-width:85vw;max-height:85vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 20px 60px #00000026;transform:scale(.9);transition:transform .3s cubic-bezier(.4,0,.2,1)}.lightbox.active img{transform:scale(1)}.lightbox-close{position:absolute;top:20px;right:24px;background:none;border:none;font-size:2.5rem;color:var(--neutral-600);cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease;z-index:10}.lightbox-close:hover{background:#0000000f;color:var(--neutral-900)}.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);background:#fff;border:1px solid rgba(0,0,0,.1);font-size:2rem;color:var(--neutral-600);cursor:pointer;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:50%;box-shadow:0 4px 12px #0000001a;transition:all .2s ease;z-index:10}.lightbox-prev{left:24px}.lightbox-next{right:24px}.lightbox-prev:hover,.lightbox-next:hover{background:var(--primary-600);color:#fff;border-color:var(--primary-600)}.stats-section{background:var(--primary-700);padding:var(--space-3xl) 0}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-xl);text-align:center}.stat-item h3{font-size:2.5rem;color:#fff;margin-bottom:4px}.stat-item p{color:var(--primary-200);font-size:.9rem;margin:0 auto}.destinations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-xl)}.destination-card{position:relative;height:380px;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer}.destination-card img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.destination-card:hover img{transform:scale(1.08)}.destination-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(20,30,15,.85) 0%,rgba(20,30,15,.2) 50%,transparent 100%);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-xl);transition:background var(--transition-base)}.destination-card:hover .destination-card-overlay{background:linear-gradient(to top,rgba(20,30,15,.9) 0%,rgba(20,30,15,.3) 60%,transparent 100%)}.destination-tag{display:inline-block;padding:4px 12px;background:#ffffff26;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);font-size:.72rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--accent-300);margin-bottom:var(--space-sm);width:fit-content}.destination-card h3{color:#fff;font-size:1.4rem;margin-bottom:6px}.destination-card p{color:#ffffffb3;font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:all var(--transition-base)}.destination-card:hover p{-webkit-line-clamp:4;color:#ffffffd9}.destination-distance{display:flex;align-items:center;gap:4px;margin-top:var(--space-sm);font-size:.82rem;color:var(--sea-green-300);font-weight:500}.booking-page{padding-top:calc(var(--navbar-height) + var(--space-3xl));min-height:100vh;background:#f7f8fa}.booking-steps{display:flex;justify-content:center;gap:0;margin-bottom:var(--space-3xl);position:relative;max-width:520px;margin-left:auto;margin-right:auto}.booking-steps:before{content:"";position:absolute;top:22px;left:15%;right:15%;height:2px;background:var(--neutral-200)}.booking-step{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);position:relative;z-index:1;flex:1}.booking-step-number{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;background:#fff;border:2px solid var(--neutral-200);color:var(--neutral-400);transition:all .3s ease}.booking-step.active .booking-step-number{background:var(--primary-600);border-color:var(--primary-600);color:#fff;box-shadow:0 0 0 4px #587a4226}.booking-step.completed .booking-step-number{background:var(--sea-green-500);border-color:var(--sea-green-500);color:#fff}.booking-step-label{font-size:.78rem;font-weight:500;color:var(--neutral-400);letter-spacing:.3px}.booking-step.active .booking-step-label{color:var(--primary-600);font-weight:600}.booking-step.completed .booking-step-label{color:var(--sea-green-600)}.booking-form-container{max-width:900px;margin:0 auto;background:#fff;border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-3xl);box-shadow:0 4px 24px #0000000f;border:1px solid var(--neutral-100)}.booking-form-container h3{font-family:var(--font-display);font-size:1.5rem;color:var(--primary-800);border-bottom:2px solid var(--neutral-100);padding-bottom:var(--space-md)}.step1-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);margin-top:var(--space-lg)}.step1-details-col{display:flex;flex-direction:column;gap:var(--space-md)}.step1-details-col .form-group{margin-bottom:0}.room-card-select-total{margin-top:6px;font-size:.72rem;color:var(--neutral-400)}.room-card-select-total strong{color:var(--primary-600);font-size:.85rem}.step3-layout{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xl);margin-top:var(--space-lg)}.field-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--neutral-400);margin-bottom:var(--space-sm)}.step1-dates{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.step1-date-box{flex:1;background:var(--neutral-50);border:2px solid var(--neutral-200);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);display:flex;flex-direction:column;gap:2px}.step1-date-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--neutral-400)}.step1-date-value{font-size:.95rem;font-weight:600;color:var(--neutral-800)}.room-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.room-card-select{border:2px solid var(--neutral-200);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all .25s ease;background:#fff;position:relative}.room-card-select:hover{border-color:var(--primary-300);box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.room-card-select.selected{border-color:var(--primary-500);box-shadow:0 0 0 3px #587a421f}.room-card-select.selected:before{content:"✓";position:absolute;top:10px;right:10px;z-index:3;width:24px;height:24px;border-radius:50%;background:var(--primary-500);color:#fff;font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0003}.room-card-select-img{position:relative;height:180px;overflow:hidden}.room-card-select-img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.room-card-select:hover .room-card-select-img img{transform:scale(1.05)}.room-card-select-badge{position:absolute;bottom:8px;right:8px;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;padding:4px 10px;border-radius:var(--radius-sm);font-size:.88rem;font-weight:700}.room-card-select-badge small{font-weight:400;font-size:.7rem;opacity:.8}.room-card-select-body{padding:var(--space-sm) var(--space-md)}.room-card-select-body h4{font-size:.88rem;font-weight:600;color:var(--neutral-800);margin-bottom:2px}.room-card-select-meta{display:flex;gap:var(--space-md);font-size:.72rem;color:var(--neutral-400)}.room-card-select-meta span{display:flex;align-items:center;gap:3px}.room-card-select-meta svg{width:12px;height:12px}.room-card-select-btn{margin-top:var(--space-sm);width:100%;padding:8px 0;font-size:.82rem}.room-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:var(--space-lg);opacity:0;transition:opacity .3s ease}.room-modal-overlay.active{opacity:1}.room-modal{background:#fff;border-radius:var(--radius-lg);max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 20px 60px #0000004d;transform:scale(.95) translateY(20px);transition:transform .3s ease}.room-modal-overlay.active .room-modal{transform:scale(1) translateY(0)}.room-modal-close{position:absolute;top:12px;right:12px;z-index:10;width:36px;height:36px;border-radius:50%;border:none;background:#00000080;color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.room-modal-close:hover{background:#000c}.room-modal-gallery{position:relative;background:var(--neutral-100);min-height:300px}.room-modal-gallery img{width:100%;height:100%;object-fit:cover;display:block}.room-modal-gallery-prev,.room-modal-gallery-next{position:absolute;top:50%;transform:translateY(-50%);background:#ffffffe6;border:none;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;transition:all .2s}.room-modal-gallery-prev{left:10px}.room-modal-gallery-next{right:10px}.room-modal-gallery-prev:hover,.room-modal-gallery-next:hover{background:#fff;box-shadow:0 4px 12px #0003}.room-modal-gallery-dots{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;gap:6px}.room-modal-dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;cursor:pointer;transition:all .2s}.room-modal-dot.active{background:#fff;transform:scale(1.3)}.room-modal-content{padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-sm)}.room-modal-content h2{font-family:var(--font-heading);font-size:1.5rem;color:var(--neutral-800);margin:0}.room-modal-type{font-size:.78rem;color:var(--neutral-400);text-transform:uppercase;letter-spacing:1px;font-weight:600}.room-modal-specs{display:flex;gap:var(--space-lg);font-size:.85rem;color:var(--neutral-500);padding:var(--space-sm) 0;border-bottom:1px solid var(--neutral-100)}.room-modal-specs span{display:flex;align-items:center;gap:4px}.room-modal-desc{font-size:.9rem;line-height:1.6;color:var(--neutral-600);margin:var(--space-sm) 0}.room-modal-amenities-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--neutral-400);margin-top:var(--space-sm)}.room-modal-amenities{display:flex;flex-wrap:wrap;gap:6px}.room-modal-amenity{font-size:.78rem;padding:4px 10px;background:var(--neutral-50);border:1px solid var(--neutral-150, var(--neutral-200));border-radius:20px;color:var(--neutral-600);white-space:nowrap;display:inline-flex;align-items:center;gap:4px}.room-modal-amenity svg{width:13px;height:13px;flex-shrink:0}.room-modal-price-block{margin-top:auto;padding-top:var(--space-md);border-top:1px solid var(--neutral-100)}.room-modal-price{font-size:1.4rem;font-weight:700;color:var(--primary-600)}.room-modal-price small{font-size:.8rem;font-weight:400;color:var(--neutral-400)}.room-modal-total{font-size:.85rem;color:var(--neutral-500);margin-top:2px}.room-modal-book{margin-top:var(--space-md);width:100%;padding:14px;font-size:1rem;justify-content:center}@media(max-width:768px){.room-modal{grid-template-columns:1fr;max-height:95vh;margin:var(--space-sm);border-radius:var(--radius-md)}.room-modal-gallery{min-height:200px;max-height:250px}.room-modal-content{padding:var(--space-lg)}.room-modal-content h2{font-size:1.2rem}.room-modal-overlay{padding:0;align-items:flex-end}.room-modal{max-width:100%;border-radius:var(--radius-lg) var(--radius-lg) 0 0;margin:0}}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:6px}.form-group.full-width{grid-column:1 / -1}.form-group label{font-size:.82rem;font-weight:600;color:var(--neutral-600)}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-body);font-size:.95rem;padding:12px 14px;border:1.5px solid var(--neutral-200);border-radius:var(--radius-sm);background:#fff;color:var(--neutral-800);transition:all var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-400);background:#fff;box-shadow:0 0 0 3px #587a4214}.form-group textarea{min-height:120px;resize:vertical}.form-actions{display:flex;justify-content:space-between;margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:2px solid var(--neutral-100)}.booking-summary-bar{display:flex;gap:var(--space-xl);padding:var(--space-md) var(--space-lg);background:var(--primary-50);border-radius:var(--radius-md);border-left:4px solid var(--primary-500);margin-bottom:var(--space-xl);font-size:.88rem;color:var(--neutral-600);flex-wrap:wrap}.booking-summary-bar strong{color:var(--primary-700)}.room-select-grid{display:grid;gap:var(--space-md)}.room-select-item{display:flex;gap:var(--space-lg);padding:var(--space-md);border:2px solid var(--neutral-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;background:#fff;position:relative}.room-select-item:hover{border-color:var(--primary-300);box-shadow:0 2px 12px #0000000f;transform:translateY(-1px)}.room-select-item.selected{border-color:var(--primary-500);background:var(--primary-50);box-shadow:0 0 0 3px #587a421a}.room-select-item.selected:after{content:"✓";position:absolute;top:8px;right:10px;width:22px;height:22px;border-radius:50%;background:var(--primary-500);color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.room-select-item img{width:110px;height:80px;object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0}.room-select-info{flex:1;display:flex;flex-direction:column;justify-content:center}.room-select-info h4{font-size:.95rem;margin-bottom:4px;color:var(--neutral-800)}.room-select-info p{font-size:.78rem;color:var(--neutral-500)}.room-select-price{font-size:1.05rem;font-weight:700;color:var(--primary-600);white-space:nowrap;align-self:center}.room-select-price small{font-weight:400;font-size:.75rem;color:var(--neutral-400)}.about-hero{position:relative;height:60vh;min-height:400px;display:flex;align-items:center;justify-content:center;overflow:hidden}.about-hero img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.about-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#141e0fb3,#364d2899)}.about-hero-content{position:relative;z-index:2;text-align:center;color:#fff}.about-hero-content h1{color:#fff;margin-bottom:var(--space-md)}.about-hero-content p{color:#ffffffd9;font-size:1.15rem;margin:0 auto}.about-story-section{padding:var(--space-3xl) 0 var(--space-4xl)}.about-quote{text-align:center;padding:var(--space-2xl) var(--space-lg);margin-bottom:var(--space-3xl)}.about-quote blockquote{font-family:var(--font-display);font-size:clamp(1.2rem,3.5vw,1.8rem);font-weight:500;font-style:italic;color:var(--primary-700);line-height:1.6;position:relative;max-width:700px;margin:0 auto;padding:0 var(--space-md)}.about-quote blockquote:before{content:"";display:block;width:50px;height:3px;background:linear-gradient(90deg,var(--accent-400),var(--primary-400));margin:0 auto var(--space-lg);border-radius:2px}.about-quote blockquote:after{content:"";display:block;width:50px;height:3px;background:linear-gradient(90deg,var(--primary-400),var(--accent-400));margin:var(--space-lg) auto 0;border-radius:2px}.about-mosaic{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-md);margin-bottom:var(--space-3xl);border-radius:var(--radius-lg);overflow:hidden}.about-mosaic-main{border-radius:var(--radius-lg);overflow:hidden}.about-mosaic-main img{width:100%;height:100%;object-fit:cover;min-height:300px;transition:transform var(--transition-slow)}.about-mosaic-main:hover img{transform:scale(1.03)}.about-mosaic-side{display:flex;flex-direction:column;gap:var(--space-md)}.about-mosaic-side img{flex:1;width:100%;object-fit:cover;border-radius:var(--radius-lg);transition:transform var(--transition-slow)}.about-mosaic-side img:hover{transform:scale(1.03)}.about-narrative{max-width:800px;margin:0 auto}.about-narrative .section-label{display:block;margin-bottom:var(--space-sm)}.about-narrative h2{margin-bottom:var(--space-lg)}.about-lead{font-size:1.12rem;line-height:1.85;color:var(--neutral-700);margin-bottom:var(--space-xl);padding-left:var(--space-lg);border-left:3px solid var(--accent-400)}.about-narrative-columns{columns:2;column-gap:var(--space-2xl)}.about-narrative-columns p{font-size:.95rem;line-height:1.8;margin-bottom:var(--space-md);break-inside:avoid}.about-philosophy-hero{position:relative;min-height:450px;display:flex;align-items:center;justify-content:center;overflow:hidden}.about-philosophy-hero>img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.about-philosophy-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#141e0f80,#141e0fbf)}.about-philosophy-content{position:relative;z-index:2;text-align:center;padding:var(--space-4xl) var(--space-xl);max-width:650px}.about-philosophy-content h2{color:#fff;font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:var(--space-lg)}.about-philosophy-content p{color:#ffffffe0;font-size:1.12rem;line-height:1.8;margin:0 auto}.about-values-intro{text-align:center;max-width:600px;margin:0 auto var(--space-2xl)}.about-values-intro p{font-size:1rem;line-height:1.7;color:var(--neutral-600);margin:0 auto}.about-values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-lg);margin-bottom:var(--space-3xl)}.about-value-card{background:var(--neutral-50);border:1px solid var(--neutral-100);border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);text-align:center;transition:all var(--transition-base);position:relative;overflow:hidden}.about-value-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent-400),var(--primary-400));opacity:0;transition:opacity var(--transition-base)}.about-value-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-100)}.about-value-card:hover:before{opacity:1}.about-value-card-icon{display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-md);background:var(--primary-50);color:var(--primary-500);margin:0 auto var(--space-md)}.about-value-card h4{font-family:var(--font-body);font-size:.95rem;font-weight:600;margin-bottom:6px;color:var(--neutral-800)}.about-value-card p{font-size:.82rem;color:var(--neutral-500);margin:0 auto;line-height:1.5}.about-featured-img{position:relative;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.about-featured-img img{width:100%;height:350px;object-fit:cover;transition:transform var(--transition-slow)}.about-featured-img:hover img{transform:scale(1.03)}.about-featured-caption{position:absolute;bottom:0;left:0;right:0;padding:var(--space-lg) var(--space-xl);background:linear-gradient(to top,rgba(0,0,0,.65),transparent)}.about-featured-caption span{color:#fff;font-size:.88rem;font-weight:500;letter-spacing:.5px}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center}.about-story-image{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg)}.about-story-image img{width:100%;height:450px;object-fit:cover}.about-story-text h2{margin-bottom:var(--space-lg)}.about-story-text p{margin-bottom:var(--space-md);font-size:1rem;line-height:1.8}.contact-info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-xl);margin-bottom:var(--space-3xl)}.contact-info-card{text-align:center;padding:var(--space-2xl);background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.contact-info-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.contact-info-icon{font-size:2rem;margin-bottom:var(--space-md);display:block}.contact-info-card h4{font-family:var(--font-body);font-weight:600;margin-bottom:var(--space-sm)}.contact-info-card p{margin:0 auto;font-size:.92rem}.contact-map{width:100%;height:400px;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.contact-map iframe{width:100%;height:100%;border:none}.calendar{background:#fff;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--neutral-200)}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--primary-600);color:#fff}.calendar-header h4{color:#fff;font-family:var(--font-body);font-size:1rem;font-weight:600}.calendar-nav{background:#ffffff26;border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast);font-size:1rem}.calendar-nav:hover{background:#ffffff40}.calendar-nav.disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:var(--space-sm) var(--space-md);background:var(--neutral-50);border-bottom:1px solid var(--neutral-100)}.calendar-weekday{text-align:center;font-size:.72rem;font-weight:600;color:var(--neutral-500);text-transform:uppercase;letter-spacing:1px;padding:6px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);padding:var(--space-sm) var(--space-md);gap:2px}.calendar-day{text-align:center;padding:8px 4px;border-radius:var(--radius-sm);font-size:.88rem;cursor:pointer;transition:all var(--transition-fast);border:none;background:none;color:var(--neutral-800)}.calendar-day:hover:not(.disabled):not(.empty){background:var(--primary-50);color:var(--primary-600)}.calendar-day.today{font-weight:700;color:var(--primary-600)}.calendar-day.selected,.calendar-day.selected:hover{background:var(--primary-600);color:#fff;font-weight:600}.calendar-day.in-range{background:var(--primary-50);color:var(--primary-700);border-radius:0}.calendar-day.range-start,.calendar-day.range-start:hover{border-radius:var(--radius-sm) 0 0 var(--radius-sm);background:var(--primary-600);color:#fff;font-weight:600}.calendar-day.range-end,.calendar-day.range-end:hover{border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--primary-600);color:#fff;font-weight:600}.calendar-day.disabled{color:var(--neutral-300);cursor:not-allowed;text-decoration:line-through}.calendar-day.empty{cursor:default}.booking-summary,.guest-details-summary{background:#fff;border-radius:var(--radius-md);padding:var(--space-xl);margin-bottom:var(--space-lg);border:1.5px solid var(--neutral-200);box-shadow:0 2px 12px #0000000a}.booking-summary h3,.guest-details-summary h4{font-size:.75rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--neutral-400);border-bottom:1.5px solid var(--neutral-100);padding-bottom:var(--space-sm);margin-bottom:var(--space-md);font-family:var(--font-body);font-weight:600}.summary-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.9rem;color:var(--neutral-500)}.summary-row strong{color:var(--neutral-800);font-weight:600}.summary-row.total{border-top:2px solid var(--primary-100);margin-top:var(--space-md);padding-top:var(--space-md);font-size:1.05rem;font-weight:600;color:var(--neutral-700)}.summary-row.total strong{color:var(--primary-600);font-size:1.15rem}.payment-method-section{margin-top:var(--space-xl)}.payment-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);margin-top:var(--space-sm)}.payment-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-lg);border:2px solid var(--neutral-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;background:#fff;position:relative}.payment-option input[type=radio]{display:none}.payment-option:hover{border-color:var(--primary-300);background:var(--primary-50, #f0f7fc)}.payment-option.selected{border-color:var(--primary-500);background:var(--primary-50, #f0f7fc);box-shadow:0 0 0 1px var(--primary-500)}.payment-option-icon{font-size:1.6rem;flex-shrink:0}.payment-option-info{flex:1}.payment-option-info strong{display:block;font-size:.9rem;color:var(--neutral-800);margin-bottom:2px}.payment-option-info span{font-size:.78rem;color:var(--neutral-400);line-height:1.4}.payment-option-check{width:24px;height:24px;border-radius:50%;border:2px solid var(--neutral-200);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:transparent;transition:all .2s}.payment-option.selected .payment-option-check{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.payment-option-check svg{width:14px;height:14px}@media(max-width:768px){.payment-options{grid-template-columns:1fr}.payment-option{padding:var(--space-md)}}.booking-note{background:#fff;border:1px solid var(--neutral-200);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg);font-size:.85rem;color:var(--neutral-500);line-height:1.7;margin-top:var(--space-lg)}.booking-note strong{color:var(--neutral-700)}.booking-success{text-align:center;padding:var(--space-3xl) var(--space-xl)}.success-icon{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--sea-green-400, #4ade80),var(--sea-green-600, #16a34a));display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-xl);color:#fff}.booking-success h2{color:var(--primary-800);margin-bottom:var(--space-md)}.booking-ref strong{color:var(--primary-600);font-size:1.1rem}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:#000000eb;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--transition-base)}.lightbox.active{opacity:1;pointer-events:all}.lightbox img{max-width:90%;max-height:85vh;object-fit:contain;border-radius:var(--radius-md)}.lightbox-close{position:absolute;top:20px;right:20px;background:#ffffff26;border:none;color:#fff;width:44px;height:44px;border-radius:50%;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.lightbox-close:hover{background:#ffffff40}.amenity-icon{display:flex;align-items:center;justify-content:center;color:var(--primary-500);margin-bottom:var(--space-md)}.amenity-icon svg{width:36px;height:36px}.room-card-meta span svg{vertical-align:middle;margin-right:2px;opacity:.6}.values-grid{display:flex;gap:var(--space-lg);margin-top:var(--space-xl);flex-wrap:wrap}.value-item{flex:1;min-width:140px}.value-icon{color:var(--primary-500);margin-bottom:8px;display:flex}.value-item h4{font-size:.92rem;margin-bottom:4px;font-family:var(--font-body)}.value-item p{font-size:.82rem}.booking-summary-bar{background:var(--primary-50);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-sm);margin-bottom:var(--space-xl);display:flex;gap:var(--space-xl);flex-wrap:wrap;font-size:.9rem;border:1px solid var(--primary-100)}.guest-details-summary{background:var(--neutral-50);border-radius:var(--radius-md);padding:var(--space-lg);margin-top:var(--space-lg);border:1px solid var(--neutral-200)}.guest-details-summary h4{margin-bottom:var(--space-md);font-family:var(--font-body);font-size:.95rem;padding-bottom:var(--space-sm);border-bottom:1px solid var(--neutral-200)}.booking-success{text-align:center;padding:var(--space-3xl) 0}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;border-radius:50%;background:var(--sea-green-50);color:var(--sea-green-500);margin-bottom:var(--space-lg);animation:scaleIn .5s ease}.booking-success h2{margin-bottom:var(--space-md)}.booking-success p{font-size:1.05rem;color:var(--neutral-600);margin:0 auto var(--space-md);max-width:450px}.booking-ref{font-size:.9rem!important;color:var(--neutral-500)!important;margin-bottom:var(--space-2xl)!important}.contact-info-icon{display:flex;align-items:center;justify-content:center;color:var(--primary-500);margin-bottom:var(--space-md)}.destination-distance svg{vertical-align:middle;flex-shrink:0}.room-select-info p svg{vertical-align:middle;opacity:.5}.btn svg{vertical-align:middle;flex-shrink:0}.mobile-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:linear-gradient(165deg,var(--primary-800) 0%,var(--primary-900) 100%);transform:translate(100%);opacity:0;visibility:hidden;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .3s ease,visibility .4s ease;overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-menu.open{transform:translate(0);opacity:1;visibility:visible}.mobile-menu-content{display:flex;flex-direction:column;min-height:100vh;padding:var(--space-xl)}.mobile-menu-header{padding-top:calc(var(--navbar-height) + var(--space-md));margin-bottom:var(--space-3xl)}.mobile-menu-logo{font-family:var(--font-display);font-size:1.8rem;font-weight:700;color:#fff!important}.mobile-menu-nav{flex:1;display:flex;flex-direction:column;gap:0}.mobile-menu-link{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) 0;border-bottom:1px solid rgba(255,255,255,.08);color:#ffffffd9!important;font-size:1.2rem;font-weight:500;text-decoration:none;transition:all .3s ease;transform:translate(-20px);opacity:0}.mobile-menu.open .mobile-menu-link{transform:translate(0);opacity:1}.mobile-menu.open .mobile-menu-link:nth-child(1){transition-delay:.1s}.mobile-menu.open .mobile-menu-link:nth-child(2){transition-delay:.15s}.mobile-menu.open .mobile-menu-link:nth-child(3){transition-delay:.2s}.mobile-menu.open .mobile-menu-link:nth-child(4){transition-delay:.25s}.mobile-menu-link:active{color:#fff!important;padding-left:var(--space-sm)}.mobile-menu-link-cta{color:var(--accent-300)!important;font-weight:600}.mobile-menu-arrow{color:#ffffff4d;display:flex}.mobile-menu-footer{padding-top:var(--space-2xl);margin-top:auto}.mobile-menu-contact{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.mobile-menu-contact a{display:flex;align-items:center;gap:var(--space-sm);color:#ffffff80!important;font-size:.88rem;text-decoration:none}.mobile-menu-contact a svg{flex-shrink:0}.mobile-menu-social{display:flex;gap:var(--space-sm)}.mobile-menu-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-sm);background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#fff9!important;transition:all var(--transition-fast)}.mobile-menu-social a:active{background:#fff3}@media(min-width:769px){.mobile-menu{display:none!important}}.privacy-hero{background:linear-gradient(135deg,var(--primary-800),var(--primary-600));padding:calc(var(--navbar-height) + var(--space-3xl)) 0 var(--space-3xl);text-align:center}.privacy-hero h1{color:#fff;font-size:clamp(1.8rem,4vw,2.5rem);margin-bottom:var(--space-sm)}.privacy-hero p{color:#ffffffbf;font-size:1rem}.privacy-content{max-width:780px;margin:0 auto}.privacy-section{margin-bottom:var(--space-2xl)}.privacy-section h2{font-size:1.25rem;color:var(--primary-700);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--neutral-100)}.privacy-section p{font-size:.95rem;line-height:1.8;color:var(--neutral-700);margin-bottom:var(--space-md)}.privacy-section ul{list-style:none;padding:0;margin:0 0 var(--space-md) 0}.privacy-section ul li{position:relative;padding-left:var(--space-lg);margin-bottom:var(--space-sm);font-size:.95rem;line-height:1.7;color:var(--neutral-700)}.privacy-section ul li:before{content:"";position:absolute;left:0;top:10px;width:6px;height:6px;border-radius:50%;background:var(--accent-400)}.privacy-contact{background:var(--neutral-50);border:1px solid var(--neutral-100);border-radius:var(--radius-md);padding:var(--space-lg) var(--space-xl);margin-top:var(--space-md)}.privacy-contact p{margin-bottom:var(--space-xs)}.privacy-contact a{color:var(--primary-500)}.privacy-contact a:hover{color:var(--primary-700)}.privacy-updated{text-align:center;padding-top:var(--space-xl);border-top:1px solid var(--neutral-100)}.privacy-updated p{font-size:.85rem;color:var(--neutral-400);font-style:italic}@media(max-width:1024px){.booking-widget-inner{flex-wrap:wrap}.booking-field{min-width:140px}.gallery-grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:180px}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 1}.footer-top{grid-template-columns:1fr 1fr}.step1-grid{grid-template-columns:1fr}}@media(max-width:768px){:root{--navbar-height: 65px}.container{padding:0 var(--space-lg)}.section{padding:var(--space-3xl) 0}.navbar-links{display:none!important}.navbar-toggle{display:flex;z-index:10000;position:relative}.hero{height:auto;min-height:100vh;min-height:100dvh;flex-direction:column;align-items:stretch}.hero-content{position:relative;z-index:2;padding:0 var(--space-lg);padding-top:calc(var(--navbar-height) + var(--space-3xl));padding-bottom:var(--space-xl);align-items:center;text-align:center;flex:1;display:flex;flex-direction:column;justify-content:center}.hero-text{display:flex;flex-direction:column;align-items:center;max-width:100%}.hero-text h1{font-size:clamp(2rem,8vw,2.8rem)}.hero-text p{font-size:.95rem;max-width:90%}.hero-buttons{flex-direction:column;width:100%;max-width:320px;gap:var(--space-sm)}.hero-buttons .btn{width:100%;justify-content:center;padding:14px 24px}.hero-dots{position:relative;bottom:auto;top:auto;left:auto;transform:none;display:flex;justify-content:center;padding:var(--space-md) 0;z-index:3}.booking-widget{position:relative;bottom:auto;left:auto;transform:none;max-width:100%;padding:0 var(--space-lg);margin-top:var(--space-lg);margin-bottom:var(--space-lg);z-index:10}.booking-widget-inner{flex-direction:column;padding:var(--space-lg);gap:var(--space-md);border-radius:var(--radius-md)}.booking-field{width:100%}.booking-widget .btn-primary{width:100%;padding:14px 24px}.widget-calendar-popup{width:calc(100vw - 2 * var(--space-lg));left:50%;bottom:calc(100% + 8px)}.widget-calendar-footer{flex-direction:column;gap:var(--space-sm);align-items:stretch}.widget-calendar-dates{justify-content:space-between}.widget-calendar-footer .btn-sm{text-align:center}.section-header{margin-bottom:var(--space-2xl);padding:0 var(--space-xs)}.section-header h2{font-size:clamp(1.5rem,5vw,2rem)}.section-header p{font-size:.92rem;padding:0 var(--space-xs)}.rooms-grid{grid-template-columns:1fr;gap:var(--space-lg)}.room-card:hover{transform:none}.room-slider-arrow{opacity:1;width:36px;height:36px}.amenities-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.amenity-card{padding:var(--space-lg) var(--space-md)}.amenity-card:hover{transform:none}.stats-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-lg)}.stat-item h3{font-size:2.2rem}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gallery-item:nth-child(1){grid-column:span 2;grid-row:span 1}.gallery-item:nth-child(5){grid-column:span 1}.about-hero{height:45vh;min-height:280px}.about-hero-content h1{font-size:clamp(1.6rem,6vw,2.2rem)}.about-hero-content p{font-size:.92rem;padding:0 var(--space-lg)}.about-story-section{padding:var(--space-2xl) 0 var(--space-3xl)}.about-quote{padding:var(--space-lg) var(--space-sm);margin-bottom:var(--space-2xl)}.about-quote blockquote{font-size:clamp(1rem,4.5vw,1.4rem)}.about-mosaic{grid-template-columns:1fr;gap:var(--space-sm);margin-bottom:var(--space-2xl)}.about-mosaic-main img{min-height:220px;height:220px}.about-mosaic-side{flex-direction:row;gap:var(--space-sm)}.about-mosaic-side img{height:140px;flex:1}.about-mosaic-main:hover img,.about-mosaic-side img:hover{transform:none}.about-narrative-columns{columns:1}.about-lead{font-size:1rem;padding-left:var(--space-md)}.about-philosophy-hero{min-height:350px}.about-philosophy-content{padding:var(--space-2xl) var(--space-lg)}.about-philosophy-content h2{font-size:clamp(1.5rem,6vw,2rem)}.about-philosophy-content p{font-size:.95rem}.about-values-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-md);margin-bottom:var(--space-2xl)}.about-value-card{padding:var(--space-lg) var(--space-md)}.about-value-card:hover{transform:none}.about-value-card-icon{width:48px;height:48px}.about-value-card h4{font-size:.88rem}.about-value-card p{font-size:.78rem}.about-featured-img img{height:220px}.about-featured-img:hover img{transform:none}.about-story{grid-template-columns:1fr!important;direction:ltr!important;gap:var(--space-xl)!important}.about-story-text{direction:ltr!important}.about-story-image img{height:240px}.destinations-grid{grid-template-columns:1fr}.destination-card{height:280px}.destination-card:hover img{transform:none}.contact-info-grid{grid-template-columns:1fr;gap:var(--space-md)}.contact-info-card{padding:var(--space-xl) var(--space-lg)}.contact-info-card:hover{transform:none}.contact-map,.contact-map iframe{height:280px}.booking-page{padding-top:calc(var(--navbar-height) + var(--space-xl))}.form-grid{grid-template-columns:1fr}.booking-steps{gap:var(--space-xs);padding:0 var(--space-xs)}.booking-step-number{width:36px;height:36px;font-size:.85rem}.booking-step-label{font-size:.68rem;text-align:center;max-width:80px}.booking-steps:before{left:15%;right:15%;top:18px}.booking-form-container{padding:var(--space-lg);border-radius:var(--radius-md)}.booking-form-container h3{font-size:1.2rem}.step1-grid,.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse;gap:var(--space-md)}.form-actions .btn{width:100%;justify-content:center}.room-select-grid{grid-template-columns:1fr;gap:var(--space-md)}.room-card-select-img{height:160px}.room-card-select-body{padding:var(--space-md)}.room-card-select-body h4{font-size:.95rem}.room-card-select-meta{font-size:.78rem}.room-card-select:hover{transform:none}.booking-summary-bar{flex-direction:column;gap:var(--space-sm);font-size:.85rem}.step3-layout{grid-template-columns:1fr;gap:var(--space-xl)}.room-select-grid{grid-template-columns:1fr}.calendar{font-size:.85rem}.calendar-day{padding:6px 2px;font-size:.82rem}.calendar-header h4{font-size:.9rem}.section[style*="background: linear-gradient"] h2,#cta-section h2{font-size:clamp(1.4rem,5vw,1.8rem)!important}.footer-top{grid-template-columns:1fr;gap:var(--space-2xl)}.footer-bottom{flex-direction:column;gap:var(--space-sm);text-align:center}.footer-heading{margin-top:0}.values-grid{flex-direction:column;gap:var(--space-md)}.value-item{min-width:100%;display:flex;align-items:flex-start;gap:var(--space-md)}.value-item .value-icon{flex-shrink:0;margin-bottom:0}.value-item h4{margin-bottom:2px}.lightbox img{max-width:95%;max-height:80vh;border-radius:var(--radius-sm)}.lightbox-close{top:12px;right:12px;width:40px;height:40px}.btn{min-height:48px}.room-card:hover .room-card-slider img,.room-card:hover .room-card-image img{transform:none}}@media(max-width:480px){.container{padding:0 var(--space-md)}.section{padding:var(--space-2xl) 0}.hero-text h1{font-size:1.8rem}.hero-text p{font-size:.88rem;max-width:100%}.hero-buttons{max-width:100%}.booking-widget{padding:0 var(--space-md)}.amenities-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.amenity-card{padding:var(--space-md) var(--space-sm)}.amenity-icon svg{width:28px;height:28px}.amenity-card h4{font-size:.82rem}.amenity-card p{font-size:.72rem}.stat-item h3{font-size:1.8rem}.stat-item p{font-size:.8rem}.stats-section{padding:var(--space-2xl) 0}.gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:120px}.room-card-body{padding:var(--space-md)}.room-card-body h3{font-size:1.15rem}.room-card-meta{font-size:.78rem;gap:var(--space-sm);flex-wrap:wrap}.room-card-price{font-size:1rem}.booking-form-container{padding:var(--space-md)}.booking-form-container h3{font-size:1.1rem}.about-hero{height:40vh;min-height:250px}.about-hero-content h1{font-size:1.6rem}.about-hero-content p{font-size:.85rem}.about-story-image img{height:200px}.about-mosaic-main img{height:180px;min-height:180px}.about-mosaic-side img{height:110px}.about-philosophy-hero{min-height:300px}.about-philosophy-content h2{font-size:1.4rem}.about-philosophy-content p{font-size:.88rem}.about-featured-img img{height:180px}.about-value-card-icon{width:42px;height:42px}.destination-card{height:220px}.destination-card-overlay{padding:var(--space-lg)}.destination-card-overlay h3{font-size:1.05rem}.destination-card-overlay p{font-size:.78rem}.destination-tag{font-size:.65rem;padding:3px 10px}.btn{font-size:.85rem;padding:12px 20px}.footer{padding-top:var(--space-2xl)}.footer-tagline,.footer-col .footer-links a,.footer-contact-row{font-size:.82rem}.footer-bottom{font-size:.72rem}.booking-step-label{font-size:.6rem;max-width:70px}.booking-step-number{width:32px;height:32px;font-size:.8rem}.booking-steps:before{top:16px}.summary-row{font-size:.85rem}.summary-row.total{font-size:1rem}.booking-note{font-size:.82rem;padding:var(--space-md)}.booking-success h2{font-size:1.5rem}.booking-success p{font-size:.92rem}.contact-info-card{padding:var(--space-lg)}.contact-info-card h4{font-size:.95rem}.contact-info-card p{font-size:.85rem}.contact-map,.contact-map iframe{height:240px}.calendar-weekday{font-size:.65rem;letter-spacing:0}.calendar-day{padding:5px 1px;font-size:.78rem}.calendar-days{padding:var(--space-xs) var(--space-sm)}.calendar-header{padding:var(--space-sm) var(--space-md)}}@media(max-width:360px){.container{padding:0 var(--space-sm)}.hero-text h1{font-size:1.5rem}.hero-content{padding-left:var(--space-md);padding-right:var(--space-md)}.booking-widget{padding:0 var(--space-sm)}.booking-widget-inner{padding:var(--space-md)}.amenities-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr;gap:var(--space-md)}.stat-item h3{font-size:1.5rem}}
