*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary-50:#faf9f6;--primary-100:#dfe2da;--primary-200:#b5bfc5;--primary-300:#909ea8;--primary-400:#6d7e8b;--primary-500:#1e6091;--primary-600:#404a58;--primary-700:#0f3d63;--primary-800:#252a32;--primary-900:#0a1622;--accent-50:#fdf8ee;--accent-100:#f9ecd0;--accent-200:#f2d9a1;--accent-300:#e8c26e;--accent-400:#d4a544;--accent-500:#b8892e;--accent-600:#9a700a;--accent-700:#7a5808;--accent-800:#5a4106;--accent-900:#3a2a04;--neutral-0:#fff;--neutral-50:#faf9f6;--neutral-100:#f0ece5;--neutral-200:#d8e6e1;--neutral-300:#c0d3cb;--neutral-400:#b3a898;--neutral-500:#928576;--neutral-600:#716658;--neutral-700:#3e514a;--neutral-800:#332e27;--neutral-900:#1a1816;--sea-green-50:#eef4f9;--sea-green-100:#d4dfe8;--sea-green-300:#5c8fa8;--sea-green-400:#497a93;--sea-green-500:#3a87b8;--sea-green-600:#355a75;--sea-green-700:#304a61;--sea-green-900:#1a2a3a;--success:#3a87b8;--warning:#d4a544;--error:#c4533a;--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 #00000014, 0 1px 2px #0000000f;--shadow-md:0 4px 14px #0000001a, 0 2px 6px #0000000f;--shadow-lg:0 10px 30px #0000001f, 0 4px 10px #0000000f;--shadow-xl:0 20px 50px #00000026, 0 8px 20px #00000014;--shadow-glow:0 0 30px #1e609126;--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);color:var(--neutral-800);background-color:var(--neutral-50);overscroll-behavior:none;font-size:16px;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);color:var(--neutral-900);font-weight:600;line-height:1.2}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);transition:color var(--transition-fast);text-decoration:none}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);padding:0 var(--space-xl);margin:0 auto}.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{font-family:var(--font-body);letter-spacing:3px;text-transform:uppercase;color:var(--accent-500);margin-bottom:var(--space-sm);font-size:.8rem;font-weight:600;display:inline-block}.btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-md);transition:all var(--transition-base);padding:14px 32px;font-size:.95rem;font-weight:600;display:inline-flex;position:relative;overflow:hidden}.btn-primary{background:linear-gradient(135deg, var(--primary-500), var(--primary-600));color:#fff;box-shadow:0 4px 15px #1e60914d}.btn-primary:hover{background:linear-gradient(135deg, var(--primary-600), var(--primary-700));color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #1e609166}.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));color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px #b8892e66}.btn-outline{color:#fff;background:0 0;border:2px solid #fff9}.btn-outline:hover{color:#fff;background:#ffffff26;border-color:#fff;transform:translateY(-2px)}.btn-ghost{color:var(--primary-500);background:0 0;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;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(30px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.navbar{z-index:1000;height:var(--navbar-height);transition:all var(--transition-base);padding:0 var(--space-xl);align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.navbar.transparent{background:0 0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-md);background:#ffffffeb}.navbar-inner{width:100%;max-width:var(--max-width);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.navbar-logo{font-family:var(--font-display);transition:color var(--transition-fast);font-size:1.6rem;font-weight:700}.navbar.transparent .navbar-logo{color:#fff;text-shadow:0 2px 10px #0000004d}.navbar.scrolled .navbar-logo{color:var(--primary-700)}.navbar-links{align-items:center;gap:var(--space-lg);display:flex}.navbar-links a{letter-spacing:.5px;transition:all var(--transition-fast);padding:8px 4px;font-size:.9rem;font-weight:500;position:relative}.navbar.transparent .navbar-links a{color:#ffffffe6;text-shadow:0 1px 5px #0003}.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:"";background:var(--accent-500);width:0;height:2px;transition:width var(--transition-base);position:absolute;bottom:0;left:0}.navbar-links a:hover:after,.navbar-links a.active:after{width:100%}.navbar-cta{border-radius:var(--radius-md);padding:10px 24px!important;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{cursor:pointer;background:0 0;flex-direction:column;gap:5px;padding:8px;display:none}.navbar-toggle span{width:24px;height:2px;transition:all var(--transition-fast);display:block}.navbar.transparent .navbar-toggle span{background:#fff}.navbar.scrolled .navbar-toggle span{background:var(--neutral-800)}.navbar-toggle.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.navbar-toggle.open span:nth-child(2){opacity:0}.navbar-toggle.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}.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:"";background:linear-gradient(90deg, var(--accent-400), var(--primary-400), var(--sea-green-500));height:4px;position:absolute;top:0;left:0;right:0}.footer-top{gap:var(--space-3xl);padding-bottom:var(--space-3xl);grid-template-columns:1.8fr 1fr 1fr 1.5fr;display:grid}.footer-logo{font-family:var(--font-display);margin-bottom:var(--space-md);font-size:1.5rem;font-weight:700;display:block;color:#fff!important}.footer-logo:hover{color:var(--accent-300)!important}.footer-tagline{margin-bottom:var(--space-md);font-size:.88rem;line-height:1.7;color:#ffffff8c!important}.footer-heading{color:#fff;font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);font-size:.78rem;font-weight:600;position:relative}.footer-heading:after{content:"";background:var(--accent-400);border-radius:1px;width:24px;height:2px;position:absolute;bottom:0;left:0}.footer-col .footer-links a{color:#ffffff8c;transition:all var(--transition-fast);padding:5px 0;font-size:.88rem;display:block}.footer-col .footer-links a:hover{color:#fff;padding-left:6px}.footer-contact-list{flex-direction:column;gap:10px;display:flex}.footer-contact-row{color:#ffffff8c;align-items:center;gap:10px;font-size:.88rem;line-height:1.5;display:flex}.footer-contact-row a{color:#ffffff8c;transition:color var(--transition-fast)}.footer-contact-row a:hover{color:#fff}.footer-contact-icon{color:#ffffff8c;flex-shrink:0;align-items:center;display:flex}.footer-social{margin-top:var(--space-lg);gap:8px;display:flex}.footer-social a{border-radius:var(--radius-sm);color:#ffffff8c;width:38px;height:38px;transition:all var(--transition-fast);background:#ffffff14;border:1px solid #ffffff26;justify-content:center;align-items:center;display:flex}.footer-social a:hover{color:var(--primary-700);background:#fff;border-color:#fff;transform:translateY(-2px)}.footer-divider{background:#ffffff1a;height:1px}.footer-bottom{padding:var(--space-lg) 0;justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.footer-bottom p,.footer-bottom a{color:#ffffff8c}.footer-bottom a{transition:color var(--transition-fast)}.footer-bottom a:hover{color:#fff}.hero{align-items:center;height:100vh;min-height:700px;display:flex;position:relative;overflow:hidden}.hero-slider{z-index:0;position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1.5s ease-in-out;position:absolute;inset:0}.hero-slide.active{opacity:1}.hero-slide img{object-fit:cover;width:100%;height:100%;transition:transform 8s ease-out;transform:scale(1.05)}.hero-slide.active img{transform:scale(1)}.hero-overlay{z-index:1;background:linear-gradient(#0a162273 0%,#0a162233 40%,#0a16228c 100%);position:absolute;inset:0}.hero-content{z-index:2;width:100%;max-width:var(--max-width);padding:0 var(--space-xl);flex-direction:column;align-items:flex-start;margin:0 auto;display:flex;position:relative}.hero-text{max-width:600px;animation:1s ease-out fadeInUp}.hero-text .section-label{color:var(--accent-300);letter-spacing:4px;font-size:.75rem}.hero-text h1{color:#fff;margin-bottom:var(--space-lg);text-shadow:0 4px 20px #0000004d}.hero-text p{color:#ffffffd9;margin-bottom:var(--space-2xl);max-width:500px;font-size:1.15rem;line-height:1.7}.hero-buttons{gap:var(--space-md);flex-wrap:wrap;display:flex}.hero-dots{z-index:3;gap:10px;display:flex;position:absolute;bottom:140px;left:50%;transform:translate(-50%)}.hero-dot{cursor:pointer;width:10px;height:10px;transition:all var(--transition-base);background:#fff6;border:none;border-radius:50%}.hero-dot.active{background:#fff;transform:scale(1.3)}.booking-widget{z-index:10;width:100%;max-width:900px;padding:0 var(--space-xl);position:absolute;bottom:40px;left:50%;transform:translate(-50%)}.booking-widget-inner{-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);align-items:flex-end;gap:var(--space-lg);background:#fffffff2;display:flex;overflow:visible}.booking-field{flex-direction:column;flex:1;gap:6px;display:flex}.booking-field label{letter-spacing:1px;text-transform:uppercase;color:var(--neutral-500);font-size:.75rem;font-weight:600}.booking-field input,.booking-field select{font-family:var(--font-body);border:2px solid var(--neutral-200);border-radius:var(--radius-sm);color:var(--neutral-800);transition:border-color var(--transition-fast);background:#fff;width:100%;padding:10px 12px;font-size:.95rem}.booking-field input:focus,.booking-field select:focus{border-color:var(--primary-400);outline:none}.booking-field-btn{width:100%;font-family:var(--font-body);border:2px solid var(--neutral-200);border-radius:var(--radius-sm);color:var(--neutral-400);cursor:pointer;transition:all var(--transition-fast);text-align:left;background:#fff;justify-content:space-between;align-items:center;min-height:42px;padding:10px 12px;font-size:.95rem;display:flex}.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{color:var(--neutral-300);transition:color var(--transition-fast);flex-shrink:0}.booking-field-btn:hover svg,.booking-field-btn.has-date svg{color:var(--primary-400)}.widget-calendar-popup{border-radius:var(--radius-lg);z-index:50;opacity:0;visibility:hidden;background:#fff;width:360px;transition:all .25s;position:absolute;bottom:calc(100% + 12px);left:50%;overflow:hidden;transform:translate(-50%)translateY(10px);box-shadow:0 12px 40px #0000002e}.widget-calendar-popup.open{opacity:1;visibility:visible;transform:translate(-50%)translateY(0)}.widget-calendar-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--neutral-100);justify-content:space-between;align-items:center;display:flex}.widget-calendar-header span{color:var(--primary-700);font-size:.88rem;font-weight:600}.widget-calendar-close{color:var(--neutral-400);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0;font-size:1.4rem;line-height:1}.widget-calendar-close:hover{color:var(--neutral-700)}.widget-calendar-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid var(--neutral-100);background:var(--neutral-50);justify-content:space-between;align-items:center;display:flex}.widget-calendar-dates{gap:var(--space-lg);color:var(--neutral-500);font-size:.82rem;display:flex}.widget-calendar-dates strong{color:var(--neutral-800)}.btn-sm{padding:8px 16px;font-size:.82rem}.custom-select{position:relative}.custom-select-trigger{width:100%;font-family:var(--font-body);border:2px solid var(--neutral-200);border-radius:var(--radius-sm);color:var(--neutral-800);cursor:pointer;transition:border-color var(--transition-fast);text-align:left;background:#fff;justify-content:space-between;align-items:center;padding:10px 12px;font-size:.95rem;display:flex}.custom-select-trigger:hover{border-color:var(--neutral-300)}.custom-select-trigger.open{border-color:var(--primary-400)}.custom-select-trigger svg{color:var(--neutral-400);transition:transform var(--transition-fast);flex-shrink:0}.custom-select-trigger.open svg{transform:rotate(180deg)}.custom-select-dropdown{border:1px solid var(--neutral-200);border-radius:var(--radius-md);z-index:100;opacity:0;visibility:hidden;background:#fff;transition:all .2s;position:absolute;bottom:calc(100% + 4px);left:0;right:0;overflow:hidden;transform:translateY(8px);box-shadow:0 -4px 24px #0000001f}.custom-select-dropdown.open{opacity:1;visibility:visible;transform:translateY(0)}.custom-select-option{color:var(--neutral-700);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:10px 14px;font-size:.92rem;display:flex}.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:"✓";color:var(--primary-500);font-size:.8rem;font-weight:700}.booking-widget .btn-primary{white-space:nowrap;flex-shrink:0;padding:12px 28px}.rooms-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(290px,1fr));display:grid}.room-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base);background:#fff;overflow:hidden}.room-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-8px)}.room-card-image{height:220px;position:relative;overflow:hidden}.room-card-slider{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;height:100%;display:flex;overflow-x:auto}.room-card-slider::-webkit-scrollbar{display:none}.room-card-slider img{object-fit:cover;scroll-snap-align:start;width:100%;height:100%;transition:transform var(--transition-slow);flex-shrink:0}.room-card:hover .room-card-slider img{transform:scale(1.03)}.room-card-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.room-card:hover .room-card-image img{transform:scale(1.08)}.room-slider-dots{z-index:2;gap:6px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.room-slider-dot{cursor:pointer;width:7px;height:7px;transition:all var(--transition-fast);background:#ffffff80;border:none;border-radius:50%;padding:0}.room-slider-dot.active{background:#fff;transform:scale(1.3)}.room-slider-arrow{z-index:2;cursor:pointer;width:30px;height:30px;color:var(--neutral-800);opacity:0;transition:opacity var(--transition-fast);background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 6px #00000026}.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{top:var(--space-md);right:var(--space-md);background:var(--primary-500);color:#fff;border-radius:var(--radius-full);padding:6px 14px;font-size:.8rem;font-weight:600;position:absolute}.room-card-body{padding:var(--space-lg)}.room-card-type{letter-spacing:1px;text-transform:uppercase;color:var(--accent-500);margin-bottom:4px;font-size:.75rem;font-weight:600}.room-card-body h3{margin-bottom:var(--space-sm);font-size:1.3rem}.room-card-body p{color:var(--neutral-500);margin-bottom:var(--space-md);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.88rem;display:-webkit-box;overflow:hidden}.room-card-meta{align-items:center;gap:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--neutral-100);color:var(--neutral-500);font-size:.82rem;display:flex}.room-card-meta span{align-items:center;gap:4px;display:flex}.room-card-price{color:var(--primary-600);margin-left:auto;font-size:1.1rem;font-weight:700}.room-card-price small{color:var(--neutral-500);font-size:.7rem;font-weight:400}.amenities-grid{gap:var(--space-lg);grid-template-columns:repeat(4,1fr);display:grid}.amenity-card{text-align:center;padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-md);transition:all var(--transition-base);border:1px solid var(--neutral-100);background:#fff}.amenity-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-100);transform:translateY(-4px)}.amenity-icon{margin-bottom:var(--space-md);font-size:2.2rem;display:block}.amenity-card h4{font-family:var(--font-body);margin-bottom:4px;font-size:.95rem;font-weight:600}.amenity-card p{color:var(--neutral-500);margin:0 auto;font-size:.82rem}.gallery-grid{gap:var(--space-sm);grid-template-columns:repeat(3,1fr);grid-auto-rows:240px;display:grid}.gallery-item{border-radius:var(--radius-sm);cursor:pointer;position:relative;overflow:hidden}.gallery-item:first-child{grid-area:span 2/span 2}.gallery-item img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.gallery-item:hover img{transform:scale(1.06)}.gallery-item:after{content:"";transition:background var(--transition-base);background:0 0;position:absolute;inset:0}.gallery-item:hover:after{background:#00000026}.stats-section{background:var(--primary-700);padding:var(--space-3xl) 0}.stats-grid{gap:var(--space-xl);text-align:center;grid-template-columns:repeat(2,1fr);display:grid}.stat-item h3{color:#fff;margin-bottom:4px;font-size:2.5rem}.stat-item p{color:var(--primary-200);margin:0 auto;font-size:.9rem}.destinations-grid{gap:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));display:grid}.destination-card{border-radius:var(--radius-lg);cursor:pointer;height:380px;position:relative;overflow:hidden}.destination-card img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.destination-card:hover img{transform:scale(1.08)}.destination-card-overlay{padding:var(--space-xl);transition:background var(--transition-base);background:linear-gradient(#0000 0%,#0a162233 50%,#0a1622d9 100%);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;inset:0}.destination-card:hover .destination-card-overlay{background:linear-gradient(#0000 0%,#0a16224d 40%,#0a1622e6 100%)}.destination-tag{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-full);letter-spacing:1px;text-transform:uppercase;color:var(--accent-300);margin-bottom:var(--space-sm);background:#ffffff26;width:fit-content;padding:4px 12px;font-size:.72rem;font-weight:600;display:inline-block}.destination-card h3{color:#fff;margin-bottom:6px;font-size:1.4rem}.destination-card p{color:#ffffffb3;-webkit-line-clamp:2;transition:all var(--transition-base);-webkit-box-orient:vertical;font-size:.88rem;display:-webkit-box;overflow:hidden}.destination-card:hover p{-webkit-line-clamp:4;color:#ffffffd9}.destination-distance{margin-top:var(--space-sm);color:var(--sea-green-300);align-items:center;gap:4px;font-size:.82rem;font-weight:500;display:flex}.booking-page{padding-top:calc(var(--navbar-height) + var(--space-3xl));background:#f7f8fa;min-height:100vh}.booking-steps{margin-bottom:var(--space-3xl);justify-content:center;gap:0;max-width:520px;margin-left:auto;margin-right:auto;display:flex;position:relative}.booking-steps:before{content:"";background:var(--neutral-200);height:2px;position:absolute;top:22px;left:15%;right:15%}.booking-step{align-items:center;gap:var(--space-xs);z-index:1;flex-direction:column;flex:1;display:flex;position:relative}.booking-step-number{border:2px solid var(--neutral-200);width:44px;height:44px;color:var(--neutral-400);background:#fff;border-radius:50%;justify-content:center;align-items:center;font-size:.95rem;font-weight:700;transition:all .3s;display:flex}.booking-step.active .booking-step-number{background:var(--primary-600);border-color:var(--primary-600);color:#fff;box-shadow:0 0 0 4px #1e609126}.booking-step.completed .booking-step-number{background:var(--sea-green-500);border-color:var(--sea-green-500);color:#fff}.booking-step-label{color:var(--neutral-400);letter-spacing:.3px;font-size:.78rem;font-weight:500}.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{border-radius:var(--radius-xl);max-width:900px;padding:var(--space-2xl) var(--space-3xl);border:1px solid var(--neutral-100);background:#fff;margin:0 auto;box-shadow:0 4px 24px #0000000f}.booking-form-container h3{font-family:var(--font-display);color:var(--primary-800);border-bottom:2px solid var(--neutral-100);padding-bottom:var(--space-md);font-size:1.5rem}.step1-grid{gap:var(--space-2xl);margin-top:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.step1-details-col{gap:var(--space-md);flex-direction:column;display:flex}.step1-details-col .form-group{margin-bottom:0}.room-card-select-total{color:var(--neutral-400);margin-top:6px;font-size:.72rem}.room-card-select-total strong{color:var(--primary-600);font-size:.85rem}.step3-layout{gap:var(--space-2xl);margin-top:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.field-label{text-transform:uppercase;letter-spacing:1.5px;color:var(--neutral-400);margin-bottom:var(--space-sm);font-size:.75rem;font-weight:600;display:block}.step1-dates{gap:var(--space-md);margin-top:var(--space-md);display:flex}.step1-date-box{background:var(--neutral-50);border:2px solid var(--neutral-200);border-radius:var(--radius-sm);padding:var(--space-sm) var(--space-md);flex-direction:column;flex:1;gap:2px;display:flex}.step1-date-label{text-transform:uppercase;letter-spacing:.5px;color:var(--neutral-400);font-size:.7rem;font-weight:600}.step1-date-value{color:var(--neutral-800);font-size:.95rem;font-weight:600}.room-select-grid{gap:var(--space-md);grid-template-columns:1fr 1fr;display:grid}.room-card-select{border:2px solid var(--neutral-200);border-radius:var(--radius-md);cursor:pointer;background:#fff;transition:all .25s;position:relative;overflow:hidden}.room-card-select:hover{border-color:var(--primary-300);transform:translateY(-2px);box-shadow:0 6px 20px #00000014}.room-card-select.selected{border-color:var(--primary-500);box-shadow:0 0 0 3px #1e60911f}.room-card-select.selected:before{content:"✓";z-index:3;background:var(--primary-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:.75rem;font-weight:700;display:flex;position:absolute;top:10px;right:10px;box-shadow:0 2px 6px #0003}.room-card-select-img{height:180px;position:relative;overflow:hidden}.room-card-select-img img{object-fit:cover;width:100%;height:100%;transition:transform .3s;display:block}.room-card-select:hover .room-card-select-img img{transform:scale(1.05)}.room-card-select-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;border-radius:var(--radius-sm);background:#000000b3;padding:4px 10px;font-size:.88rem;font-weight:700;position:absolute;bottom:8px;right:8px}.room-card-select-badge small{opacity:.8;font-size:.7rem;font-weight:400}.room-card-select-body{padding:var(--space-sm) var(--space-md)}.room-card-select-body h4{color:var(--neutral-800);margin-bottom:2px;font-size:.88rem;font-weight:600}.room-card-select-meta{gap:var(--space-md);color:var(--neutral-400);font-size:.72rem;display:flex}.room-card-select-meta span{align-items:center;gap:3px;display:flex}.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{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:var(--space-lg);opacity:0;background:#0009;justify-content:center;align-items:center;transition:opacity .3s;display:flex;position:fixed;inset:0}.room-modal-overlay.active{opacity:1}.room-modal{border-radius:var(--radius-lg);background:#fff;grid-template-columns:1fr 1fr;width:100%;max-width:800px;max-height:90vh;transition:transform .3s;display:grid;position:relative;overflow-y:auto;transform:scale(.95)translateY(20px);box-shadow:0 20px 60px #0000004d}.room-modal-overlay.active .room-modal{transform:scale(1)translateY(0)}.room-modal-close{z-index:10;color:#fff;cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;transition:background .2s;display:flex;position:absolute;top:12px;right:12px}.room-modal-close:hover{background:#000c}.room-modal-gallery{background:var(--neutral-100);min-height:300px;position:relative}.room-modal-gallery img{object-fit:cover;width:100%;height:100%;display:block}.room-modal-gallery-prev,.room-modal-gallery-next{cursor:pointer;background:#ffffffe6;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 8px #00000026}.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{gap:6px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.room-modal-dot{cursor:pointer;background:#ffffff80;border-radius:50%;width:8px;height:8px;transition:all .2s}.room-modal-dot.active{background:#fff;transform:scale(1.3)}.room-modal-content{padding:var(--space-xl);gap:var(--space-sm);flex-direction:column;display:flex}.room-modal-content h2{font-family:var(--font-heading);color:var(--neutral-800);margin:0;font-size:1.5rem}.room-modal-type{color:var(--neutral-400);text-transform:uppercase;letter-spacing:1px;font-size:.78rem;font-weight:600}.room-modal-specs{gap:var(--space-lg);color:var(--neutral-500);padding:var(--space-sm) 0;border-bottom:1px solid var(--neutral-100);font-size:.85rem;display:flex}.room-modal-specs span{align-items:center;gap:4px;display:flex}.room-modal-desc{color:var(--neutral-600);margin:var(--space-sm) 0;font-size:.9rem;line-height:1.6}.room-modal-amenities-label{text-transform:uppercase;letter-spacing:1px;color:var(--neutral-400);margin-top:var(--space-sm);font-size:.72rem;font-weight:700}.room-modal-amenities{flex-wrap:wrap;gap:6px;display:flex}.room-modal-amenity{background:var(--neutral-50);border:1px solid var(--neutral-150,var(--neutral-200));color:var(--neutral-600);white-space:nowrap;border-radius:20px;align-items:center;gap:4px;padding:4px 10px;font-size:.78rem;display:inline-flex}.room-modal-amenity svg{flex-shrink:0;width:13px;height:13px}.room-modal-price-block{padding-top:var(--space-md);border-top:1px solid var(--neutral-100);margin-top:auto}.room-modal-price{color:var(--primary-600);font-size:1.4rem;font-weight:700}.room-modal-price small{color:var(--neutral-400);font-size:.8rem;font-weight:400}.room-modal-total{color:var(--neutral-500);margin-top:2px;font-size:.85rem}.room-modal-book{margin-top:var(--space-md);justify-content:center;width:100%;padding:14px;font-size:1rem}@media (width<=768px){.room-modal{max-height:95vh;margin:var(--space-sm);border-radius:var(--radius-md);grid-template-columns:1fr}.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{align-items:flex-end;padding:0}.room-modal{border-radius:var(--radius-lg) var(--radius-lg) 0 0;max-width:100%;margin:0}}.form-grid{gap:var(--space-lg);grid-template-columns:1fr 1fr;display:grid}.form-group{flex-direction:column;gap:6px;display:flex}.form-group.full-width{grid-column:1/-1}.form-group label{color:var(--neutral-600);font-size:.82rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{font-family:var(--font-body);border:1.5px solid var(--neutral-200);border-radius:var(--radius-sm);color:var(--neutral-800);transition:all var(--transition-fast);background:#fff;padding:12px 14px;font-size:.95rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--primary-400);background:#fff;outline:none;box-shadow:0 0 0 3px #1e609114}.form-group textarea{resize:vertical;min-height:120px}.form-actions{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:2px solid var(--neutral-100);justify-content:space-between;display:flex}.booking-summary-bar{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);color:var(--neutral-600);flex-wrap:wrap;font-size:.88rem;display:flex}.booking-summary-bar strong{color:var(--primary-700)}.room-select-grid{gap:var(--space-md);display:grid}.room-select-item{gap:var(--space-lg);padding:var(--space-md);border:2px solid var(--neutral-200);border-radius:var(--radius-md);cursor:pointer;background:#fff;transition:all .2s;display:flex;position:relative}.room-select-item:hover{border-color:var(--primary-300);transform:translateY(-1px);box-shadow:0 2px 12px #0000000f}.room-select-item.selected{border-color:var(--primary-500);background:var(--primary-50);box-shadow:0 0 0 3px #1e60911a}.room-select-item.selected:after{content:"✓";background:var(--primary-500);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:8px;right:10px}.room-select-item img{object-fit:cover;border-radius:var(--radius-sm);flex-shrink:0;width:110px;height:80px}.room-select-info{flex-direction:column;flex:1;justify-content:center;display:flex}.room-select-info h4{color:var(--neutral-800);margin-bottom:4px;font-size:.95rem}.room-select-info p{color:var(--neutral-500);font-size:.78rem}.room-select-price{color:var(--primary-600);white-space:nowrap;align-self:center;font-size:1.05rem;font-weight:700}.room-select-price small{color:var(--neutral-400);font-size:.75rem;font-weight:400}.about-hero{justify-content:center;align-items:center;height:60vh;min-height:400px;display:flex;position:relative;overflow:hidden}.about-hero img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.about-hero-overlay{background:linear-gradient(135deg,#0a1622b3,#0f3d6399);position:absolute;inset:0}.about-hero-content{z-index:2;text-align:center;color:#fff;position:relative}.about-hero-content h1{color:#fff;margin-bottom:var(--space-md)}.about-hero-content p{color:#ffffffd9;margin:0 auto;font-size:1.15rem}.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);color:var(--primary-700);max-width:700px;padding:0 var(--space-md);margin:0 auto;font-size:clamp(1.2rem,3.5vw,1.8rem);font-style:italic;font-weight:500;line-height:1.6;position:relative}.about-quote blockquote:before{content:"";background:linear-gradient(90deg, var(--accent-400), var(--primary-400));width:50px;height:3px;margin:0 auto var(--space-lg);border-radius:2px;display:block}.about-quote blockquote:after{content:"";background:linear-gradient(90deg, var(--primary-400), var(--accent-400));width:50px;height:3px;margin:var(--space-lg) auto 0;border-radius:2px;display:block}.about-mosaic{gap:var(--space-md);margin-bottom:var(--space-3xl);border-radius:var(--radius-lg);grid-template-columns:1.4fr 1fr;display:grid;overflow:hidden}.about-mosaic-main{border-radius:var(--radius-lg);overflow:hidden}.about-mosaic-main img{object-fit:cover;width:100%;height:100%;min-height:300px;transition:transform var(--transition-slow)}.about-mosaic-main:hover img{transform:scale(1.03)}.about-mosaic-side{gap:var(--space-md);flex-direction:column;display:flex}.about-mosaic-side img{object-fit:cover;border-radius:var(--radius-lg);width:100%;transition:transform var(--transition-slow);flex:1}.about-mosaic-side img:hover{transform:scale(1.03)}.about-narrative{max-width:800px;margin:0 auto}.about-narrative .section-label{margin-bottom:var(--space-sm);display:block}.about-narrative h2{margin-bottom:var(--space-lg)}.about-lead{color:var(--neutral-700);margin-bottom:var(--space-xl);padding-left:var(--space-lg);border-left:3px solid var(--accent-400);font-size:1.12rem;line-height:1.85}.about-narrative-columns{columns:2;column-gap:var(--space-2xl)}.about-narrative-columns p{margin-bottom:var(--space-md);break-inside:avoid;font-size:.95rem;line-height:1.8}.about-philosophy-hero{justify-content:center;align-items:center;min-height:450px;display:flex;position:relative;overflow:hidden}.about-philosophy-hero>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.about-philosophy-overlay{background:linear-gradient(#0a162280 0%,#0a1622bf 100%);position:absolute;inset:0}.about-philosophy-content{z-index:2;text-align:center;padding:var(--space-4xl) var(--space-xl);max-width:650px;position:relative}.about-philosophy-content h2{color:#fff;margin-bottom:var(--space-lg);font-size:clamp(1.8rem,4vw,2.8rem)}.about-philosophy-content p{color:#ffffffe0;margin:0 auto;font-size:1.12rem;line-height:1.8}.about-values-intro{text-align:center;max-width:600px;margin:0 auto var(--space-2xl)}.about-values-intro p{color:var(--neutral-600);margin:0 auto;font-size:1rem;line-height:1.7}.about-values-grid{gap:var(--space-lg);margin-bottom:var(--space-3xl);grid-template-columns:repeat(4,1fr);display:grid}.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:"";background:linear-gradient(90deg, var(--accent-400), var(--primary-400));opacity:0;height:3px;transition:opacity var(--transition-base);position:absolute;top:0;left:0;right:0}.about-value-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-100);transform:translateY(-4px)}.about-value-card:hover:before{opacity:1}.about-value-card-icon{border-radius:var(--radius-md);background:var(--primary-50);width:56px;height:56px;color:var(--primary-500);margin:0 auto var(--space-md);justify-content:center;align-items:center;display:flex}.about-value-card h4{font-family:var(--font-body);color:var(--neutral-800);margin-bottom:6px;font-size:.95rem;font-weight:600}.about-value-card p{color:var(--neutral-500);margin:0 auto;font-size:.82rem;line-height:1.5}.about-featured-img{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.about-featured-img img{object-fit:cover;width:100%;height:350px;transition:transform var(--transition-slow)}.about-featured-img:hover img{transform:scale(1.03)}.about-featured-caption{padding:var(--space-lg) var(--space-xl);background:linear-gradient(#0000,#000000a6);position:absolute;bottom:0;left:0;right:0}.about-featured-caption span{color:#fff;letter-spacing:.5px;font-size:.88rem;font-weight:500}.about-story{gap:var(--space-3xl);grid-template-columns:1fr 1fr;align-items:center;display:grid}.about-story-image{border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.about-story-image img{object-fit:cover;width:100%;height:450px}.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{gap:var(--space-xl);margin-bottom:var(--space-3xl);grid-template-columns:1fr 1fr 1fr;display:grid}.contact-info-card{text-align:center;padding:var(--space-2xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base);background:#fff}.contact-info-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.contact-info-icon{margin-bottom:var(--space-md);font-size:2rem;display:block}.contact-info-card h4{font-family:var(--font-body);margin-bottom:var(--space-sm);font-weight:600}.contact-info-card p{margin:0 auto;font-size:.92rem}.contact-map{border-radius:var(--radius-lg);width:100%;height:400px;box-shadow:var(--shadow-md);overflow:hidden}.contact-map iframe{border:none;width:100%;height:100%}.calendar{border-radius:var(--radius-md);border:1px solid var(--neutral-200);background:#fff;overflow:hidden}.calendar-header{padding:var(--space-md) var(--space-lg);background:var(--primary-600);color:#fff;justify-content:space-between;align-items:center;display:flex}.calendar-header h4{color:#fff;font-family:var(--font-body);font-size:1rem;font-weight:600}.calendar-nav{color:#fff;cursor:pointer;width:32px;height:32px;transition:background var(--transition-fast);background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1rem;display:flex}.calendar-nav:hover{background:#ffffff40}.calendar-nav.disabled{opacity:.25;cursor:not-allowed;pointer-events:none}.calendar-weekdays{padding:var(--space-sm) var(--space-md);background:var(--neutral-50);border-bottom:1px solid var(--neutral-100);grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekday{text-align:center;color:var(--neutral-500);text-transform:uppercase;letter-spacing:1px;padding:6px 0;font-size:.72rem;font-weight:600}.calendar-days{padding:var(--space-sm) var(--space-md);grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-day{text-align:center;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);color:var(--neutral-800);background:0 0;border:none;padding:8px 4px;font-size:.88rem}.calendar-day:hover:not(.disabled):not(.empty){background:var(--primary-50);color:var(--primary-600)}.calendar-day.today{color:var(--primary-600);font-weight:700}.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{border-radius:var(--radius-md);padding:var(--space-xl);margin-bottom:var(--space-lg);border:1.5px solid var(--neutral-200);background:#fff;box-shadow:0 2px 12px #0000000a}.booking-summary h3,.guest-details-summary h4{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-size:.75rem;font-family:var(--font-body);font-weight:600}.summary-row{color:var(--neutral-500);justify-content:space-between;padding:8px 0;font-size:.9rem;display:flex}.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);color:var(--neutral-700);font-size:1.05rem;font-weight:600}.summary-row.total strong{color:var(--primary-600);font-size:1.15rem}.payment-method-section{margin-top:var(--space-xl)}.payment-options{gap:var(--space-md);margin-top:var(--space-sm);grid-template-columns:1fr 1fr;display:grid}.payment-option{align-items:center;gap:var(--space-md);padding:var(--space-lg);border:2px solid var(--neutral-200);border-radius:var(--radius-md);cursor:pointer;background:#fff;transition:all .2s;display:flex;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{flex-shrink:0;font-size:1.6rem}.payment-option-info{flex:1}.payment-option-info strong{color:var(--neutral-800);margin-bottom:2px;font-size:.9rem;display:block}.payment-option-info span{color:var(--neutral-400);font-size:.78rem;line-height:1.4}.payment-option-check{border:2px solid var(--neutral-200);color:#0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex}.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 (width<=768px){.payment-options{grid-template-columns:1fr}.payment-option{padding:var(--space-md)}}.booking-note{border:1px solid var(--neutral-200);border-radius:var(--radius-sm);padding:var(--space-md) var(--space-lg);color:var(--neutral-500);margin-top:var(--space-lg);background:#fff;font-size:.85rem;line-height:1.7}.booking-note strong{color:var(--neutral-700)}.success-icon{background:linear-gradient(135deg, var(--sea-green-400,#4ade80), var(--sea-green-600,#16a34a));width:72px;height:72px;margin:0 auto var(--space-xl);color:#fff;border-radius:50%;justify-content:center;align-items:center;display:flex}.booking-success h2{color:var(--primary-800);margin-bottom:var(--space-md)}.booking-ref strong{color:var(--primary-600);font-size:1.1rem}.lightbox{z-index:9999;opacity:0;pointer-events:none;transition:opacity var(--transition-base);background:#000000eb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lightbox.active{opacity:1;pointer-events:all}.lightbox img{object-fit:contain;border-radius:var(--radius-md);max-width:90%;max-height:85vh}.lightbox-close{color:#fff;cursor:pointer;width:44px;height:44px;transition:background var(--transition-fast);background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;display:flex;position:absolute;top:20px;right:20px}.lightbox-close:hover{background:#ffffff40}.amenity-icon{color:var(--primary-500);margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.amenity-icon svg{width:36px;height:36px}.room-card-meta span svg{vertical-align:middle;opacity:.6;margin-right:2px}.values-grid{gap:var(--space-lg);margin-top:var(--space-xl);flex-wrap:wrap;display:flex}.value-item{flex:1;min-width:140px}.value-icon{color:var(--primary-500);margin-bottom:8px;display:flex}.value-item h4{font-size:.92rem;font-family:var(--font-body);margin-bottom:4px}.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);gap:var(--space-xl);border:1px solid var(--primary-100);flex-wrap:wrap;font-size:.9rem;display:flex}.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);padding-bottom:var(--space-sm);border-bottom:1px solid var(--neutral-200);font-size:.95rem}.booking-success{text-align:center;padding:var(--space-3xl) 0}.success-icon{background:var(--sea-green-50);width:80px;height:80px;color:var(--sea-green-500);margin-bottom:var(--space-lg);border-radius:50%;justify-content:center;align-items:center;animation:.5s scaleIn;display:inline-flex}.booking-success h2{margin-bottom:var(--space-md)}.booking-success p{color:var(--neutral-600);margin:0 auto var(--space-md);max-width:450px;font-size:1.05rem}.booking-ref{color:var(--neutral-500)!important;margin-bottom:var(--space-2xl)!important;font-size:.9rem!important}.contact-info-icon{color:var(--primary-500);margin-bottom:var(--space-md);justify-content:center;align-items:center;display:flex}.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{z-index:998;background:linear-gradient(165deg, var(--primary-800) 0%, var(--primary-900) 100%);opacity:0;visibility:hidden;-webkit-overflow-scrolling:touch;transition:opacity .4s,visibility .4s;position:fixed;inset:0;overflow-y:auto}.mobile-menu.open{opacity:1;visibility:visible}.mobile-menu-content{min-height:100vh;padding:var(--space-xl);flex-direction:column;display:flex}.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-direction:column;flex:1;gap:0;display:flex}.mobile-menu-link{padding:var(--space-lg) 0;opacity:0;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;font-size:1.2rem;font-weight:500;text-decoration:none;transition:all .3s;display:flex;transform:translate(-20px);color:#ffffffd9!important}.mobile-menu.open .mobile-menu-link{opacity:1;transform:translate(0)}.mobile-menu.open .mobile-menu-link:first-child{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{padding-left:var(--space-sm);color:#fff!important}.mobile-menu-link-cta{font-weight:600;color:var(--accent-300)!important}.mobile-menu-arrow{color:#ffffff4d;display:flex}.mobile-menu-footer{padding-top:var(--space-2xl);margin-top:auto}.mobile-menu-contact{gap:var(--space-md);margin-bottom:var(--space-xl);flex-direction:column;display:flex}.mobile-menu-contact a{align-items:center;gap:var(--space-sm);font-size:.88rem;text-decoration:none;display:flex;color:#ffffff80!important}.mobile-menu-contact a svg{flex-shrink:0}.mobile-menu-social{gap:var(--space-sm);display:flex}.mobile-menu-social a{border-radius:var(--radius-sm);width:40px;height:40px;transition:all var(--transition-fast);background:#ffffff14;border:1px solid #ffffff1f;justify-content:center;align-items:center;display:flex;color:#fff9!important}.mobile-menu-social a:active{background:#fff3}@media (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;margin-bottom:var(--space-sm);font-size:clamp(1.8rem,4vw,2.5rem)}.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{color:var(--primary-700);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--neutral-100);font-size:1.25rem}.privacy-section p{color:var(--neutral-700);margin-bottom:var(--space-md);font-size:.95rem;line-height:1.8}.privacy-section ul{margin:0 0 var(--space-md) 0;padding:0;list-style:none}.privacy-section ul li{padding-left:var(--space-lg);margin-bottom:var(--space-sm);color:var(--neutral-700);font-size:.95rem;line-height:1.7;position:relative}.privacy-section ul li:before{content:"";background:var(--accent-400);border-radius:50%;width:6px;height:6px;position:absolute;top:10px;left:0}.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{color:var(--neutral-400);font-size:.85rem;font-style:italic}@media (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:first-child{grid-area:span 1/span 2}.footer-top{grid-template-columns:1fr 1fr}.step1-grid{grid-template-columns:1fr}}@media (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{z-index:1000;display:flex}.hero{flex-direction:column;align-items:stretch;height:auto;min-height:100dvh}.hero-content{z-index:2;padding:0 var(--space-lg);padding-top:calc(var(--navbar-height) + var(--space-3xl));padding-bottom:var(--space-xl);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex;position:relative}.hero-text{flex-direction:column;align-items:center;max-width:100%;display:flex}.hero-text h1{font-size:clamp(2rem,8vw,2.8rem)}.hero-text p{max-width:90%;font-size:.95rem}.hero-buttons{gap:var(--space-sm);flex-direction:column;width:100%;max-width:320px}.hero-buttons .btn{justify-content:center;width:100%;padding:14px 24px}.hero-dots{padding:var(--space-md) 0;z-index:3;justify-content:center;display:flex;position:relative;top:auto;bottom:auto;left:auto;transform:none}.booking-widget{max-width:100%;padding:0 var(--space-lg);margin-top:var(--space-lg);margin-bottom:var(--space-lg);z-index:10;position:relative;bottom:auto;left:auto;transform:none}.booking-widget-inner{padding:var(--space-lg);gap:var(--space-md);border-radius:var(--radius-md);flex-direction:column}.booking-field{width:100%}.booking-widget .btn-primary{width:100%;padding:14px 24px}.widget-calendar-popup{width:calc(100vw - 2 * var(--space-lg));bottom:calc(100% + 8px);left:50%}.widget-calendar-footer{gap:var(--space-sm);flex-direction:column;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{padding:0 var(--space-xs);font-size:.92rem}.rooms-grid{gap:var(--space-lg);grid-template-columns:1fr}.room-card:hover{transform:none}.room-slider-arrow{opacity:1;width:36px;height:36px}.amenities-grid{gap:var(--space-md);grid-template-columns:repeat(2,1fr)}.amenity-card{padding:var(--space-lg) var(--space-md)}.amenity-card:hover{transform:none}.stats-grid{gap:var(--space-lg);grid-template-columns:repeat(2,1fr)}.stat-item h3{font-size:2.2rem}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.gallery-item:first-child{grid-area:span 1/span 2}.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{padding:0 var(--space-lg);font-size:.92rem}.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{gap:var(--space-sm);margin-bottom:var(--space-2xl);grid-template-columns:1fr}.about-mosaic-main img{height:220px;min-height:220px}.about-mosaic-side{gap:var(--space-sm);flex-direction:row}.about-mosaic-side img{flex:1;height:140px}.about-mosaic-main:hover img,.about-mosaic-side img:hover{transform:none}.about-narrative-columns{columns:1}.about-lead{padding-left:var(--space-md);font-size:1rem}.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{gap:var(--space-md);margin-bottom:var(--space-2xl);grid-template-columns:repeat(2,1fr)}.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{gap:var(--space-xl)!important;direction:ltr!important;grid-template-columns:1fr!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{gap:var(--space-md);grid-template-columns:1fr}.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{text-align:center;max-width:80px;font-size:.68rem}.booking-steps:before{top:18px;left:15%;right:15%}.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{gap:var(--space-md);flex-direction:column-reverse}.form-actions .btn{justify-content:center;width:100%}.room-select-grid{gap:var(--space-md);grid-template-columns:1fr}.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{gap:var(--space-sm);flex-direction:column;font-size:.85rem}.step3-layout{gap:var(--space-xl);grid-template-columns:1fr}.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{gap:var(--space-2xl);grid-template-columns:1fr}.footer-bottom{gap:var(--space-sm);text-align:center;flex-direction:column}.footer-heading{margin-top:0}.values-grid{gap:var(--space-md);flex-direction:column}.value-item{align-items:flex-start;gap:var(--space-md);min-width:100%;display:flex}.value-item .value-icon{flex-shrink:0;margin-bottom:0}.value-item h4{margin-bottom:2px}.lightbox img{border-radius:var(--radius-sm);max-width:95%;max-height:80vh}.lightbox-close{width:40px;height:40px;top:12px;right:12px}.btn{min-height:48px}.room-card:hover .room-card-slider img,.room-card:hover .room-card-image img{transform:none}}@media (width<=480px){.container{padding:0 var(--space-md)}.section{padding:var(--space-2xl) 0}.hero-text h1{font-size:1.8rem}.hero-text p{max-width:100%;font-size:.88rem}.hero-buttons{max-width:100%}.booking-widget{padding:0 var(--space-md)}.amenities-grid{gap:var(--space-sm);grid-template-columns:repeat(2,1fr)}.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{gap:var(--space-sm);flex-wrap:wrap;font-size:.78rem}.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{padding:3px 10px;font-size:.65rem}.btn{padding:12px 20px;font-size:.85rem}.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{max-width:70px;font-size:.6rem}.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{padding:var(--space-md);font-size:.82rem}.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{letter-spacing:0;font-size:.65rem}.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 (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{gap:var(--space-md);grid-template-columns:1fr 1fr}.stat-item h3{font-size:1.5rem}}
