:root{--emerald-950:#081A11;--emerald-900:#0F2B1D;--emerald-800:#133423;--emerald-700:#163E2B;--emerald-600:#1A4E35;--emerald-500:#1F5A3D;--emerald-400:#2C7A53;--emerald-100:#E7F2EB;--emerald-50:#F2F8F4;--gold-700:#B89328;--gold-500:#D4AF37;--gold-400:#DEBD54;--gold-300:#E5C378;--gold-100:#F9F3E3;--gold-50:#FDFBF5;--cream:#FAF7F2;--sand:#F3EDE2;--sand-dark:#E6DCcb;--charcoal:#121815;--charcoal-light:#2A3630;--text-main:#1C2B22;--text-muted:#56695F;--text-light:#8A9D93;--white:#FFFFFF;--gold-gradient:linear-gradient(135deg,#B89328 0%,#D4AF37 50%,#E5C378 100%);--gold-gradient-hover:linear-gradient(135deg,#D4AF37 0%,#E5C378 50%,#B89328 100%);--emerald-gradient:linear-gradient(160deg,#163E2B 0%,#0F2B1D 100%);--emerald-dark-gradient:linear-gradient(160deg,#0F2B1D 0%,#081A11 100%);--glass-bg:rgba(250,247,242,0.08);--glass-card:rgba(255,255,255,0.75);--glass-dark-card:rgba(15,43,29,0.85);--glass-border:rgba(212,175,55,0.28);--glass-border-light:rgba(255,255,255,0.35);--luxury-shadow:0 24px 48px -12px rgba(15,43,29,0.22);--luxury-shadow-sm:0 8px 24px -6px rgba(15,43,29,0.12);--luxury-shadow-gold:0 12px 32px -4px rgba(212,175,55,0.35);--card-shadow:0 16px 36px rgba(0,0,0,0.06);--font-serif:'Gentium Plus',Georgia,'Times New Roman',serif;--font-brand:'Cinzel','Gentium Plus',Georgia,serif;--font-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--radius-xs:4px;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--radius-full:9999px;--transition-fast:0.2s cubic-bezier(0.16,1,0.3,1);--transition-smooth:0.35s cubic-bezier(0.16,1,0.3,1);--transition-slow:0.6s cubic-bezier(0.16,1,0.3,1);--container-max:1280px;--header-height:72px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:clamp(1rem,0.5vw + 0.9rem,1.125rem);line-height:1.7;color:var(--text-main);background-color:var(--cream);overflow-x:hidden;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.nav-open{overflow:hidden}:focus-visible{outline:3px solid var(--gold-500);outline-offset:3px}.skip-link{position:absolute;top:-100px;left:16px;background:var(--emerald-900);color:var(--gold-300);padding:var(--space-3) var(--space-6);font-weight:600;z-index:9999;border-radius:var(--radius-sm);border:1px solid var(--gold-500);transition:top var(--transition-fast)}.skip-link:focus{top:16px}img,svg,picture,video{display:block;max-width:100%;height:auto;image-rendering:-webkit-optimize-contrast;image-rendering:high-quality}a{color:inherit;text-decoration:none;transition:color var(--transition-fast)}button,input,select,textarea{font:inherit;color:inherit;border:none;background:none}button{cursor:pointer;touch-action:manipulation}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);color:var(--emerald-900);line-height:1.15;letter-spacing:-0.015em;font-weight:700}h1{font-size:clamp(2.25rem,5.5vw + 0.8rem,4.25rem);line-height:1.1;font-weight:800}h2{font-size:clamp(1.75rem,3.8vw + 0.5rem,3rem);line-height:1.2}h3{font-size:clamp(1.35rem,2vw + 0.4rem,2rem);line-height:1.25}h4{font-size:clamp(1.15rem,1.2vw + 0.3rem,1.45rem)}p{margin-bottom:1rem}p:last-child{margin-bottom:0}.text-gold{color:var(--gold-500);background:var(--gold-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:inline-block}.text-emerald{color:var(--emerald-700)}.text-muted{color:var(--text-muted)}.font-serif{font-family:var(--font-serif)}.container{width:100%;max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--space-5);padding-right:var(--space-5)}.section{padding-top:clamp(3rem,6vw,6.5rem);padding-bottom:clamp(3rem,6vw,6.5rem);position:relative}.section-dark{background:var(--emerald-gradient);color:var(--cream)}.section-dark h1,.section-dark h2,.section-dark h3,.section-dark h4{color:var(--cream)}.section-dark .text-muted{color:rgba(250,247,242,0.75)}.section-sand{background-color:var(--sand)}.section-header{text-align:center;max-width:720px;margin:0 auto clamp(2rem,4vw,3.5rem)}.section-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 16px;background:var(--gold-100);border:1px solid var(--gold-300);border-radius:var(--radius-full);font-size:0.8125rem;font-weight:600;color:var(--gold-700);text-transform:uppercase;letter-spacing:0.08em;margin-bottom:var(--space-4)}.section-dark .section-badge{background:rgba(212,175,55,0.15);border-color:rgba(212,175,55,0.4);color:var(--gold-300)}.section-subtitle{font-size:clamp(1rem,0.6vw + 0.85rem,1.2rem);color:var(--text-muted);margin-top:var(--space-3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);padding:14px 28px;border-radius:var(--radius-full);font-weight:600;font-size:0.95rem;letter-spacing:0.02em;text-align:center;transition:all var(--transition-smooth);min-height:48px;position:relative;overflow:hidden;z-index:1}.btn-gold{background:var(--gold-gradient);color:var(--emerald-950);box-shadow:var(--luxury-shadow-gold);border:1px solid rgba(255,255,255,0.4)}.btn-gold:hover{background:var(--gold-gradient-hover);transform:translateY(-2px);box-shadow:0 16px 36px -4px rgba(212,175,55,0.5)}.btn-emerald{background:var(--emerald-700);color:var(--white);box-shadow:var(--luxury-shadow-sm);border:1px solid rgba(255,255,255,0.15)}.btn-emerald:hover{background:var(--emerald-600);transform:translateY(-2px);box-shadow:var(--luxury-shadow)}.btn-outline{background:transparent;color:var(--emerald-900);border:1.5px solid var(--emerald-700)}.btn-outline:hover{background:var(--emerald-900);color:var(--white)}.btn-outline-gold{background:transparent;color:var(--gold-300);border:1.5px solid var(--gold-500)}.btn-outline-gold:hover{background:var(--gold-gradient);color:var(--emerald-950);border-color:transparent}.btn-whatsapp{background:#25D366;color:#FFFFFF;box-shadow:0 10px 24px -4px rgba(37,211,102,0.4)}.btn-whatsapp:hover{background:#20BD5A;transform:translateY(-2px);box-shadow:0 14px 28px -2px rgba(37,211,102,0.5)}.btn-full{width:100%}.btn-sm{padding:8px 18px;min-height:38px;font-size:0.875rem}.site-header{position:fixed;top:0;left:0;width:100%;height:var(--header-height);z-index:1000;transition:all var(--transition-smooth);background:rgba(250,247,242,0.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(212,175,55,0.18)}.site-header.header-scrolled{background:rgba(15,43,29,0.95);border-bottom-color:rgba(212,175,55,0.35);box-shadow:0 10px 30px rgba(0,0,0,0.15)}.site-header.header-scrolled .brand-title{color:var(--cream)}.site-header.header-scrolled .brand-subtitle{color:var(--gold-300)}.site-header.header-scrolled .nav-link{color:var(--cream)}.site-header.header-scrolled .nav-link:hover,.site-header.header-scrolled .nav-link.active{color:var(--gold-300)}.site-header.header-scrolled .menu-toggle span{background-color:var(--cream)}.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}.brand-logo{display:flex;align-items:center;gap:var(--space-3);z-index:1002}.brand-icon{width:38px;height:38px;flex-shrink:0}.brand-text{display:flex;flex-direction:column}.brand-title{font-family:var(--font-brand);font-size:1.35rem;font-weight:700;letter-spacing:0.08em;color:var(--emerald-900);line-height:1}.brand-subtitle{font-size:0.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:0.18em;color:var(--gold-700);margin-top:2px}.nav-menu{display:none}.nav-actions{display:flex;align-items:center;gap:var(--space-4)}.header-cta{display:none}.menu-toggle{display:flex;flex-direction:column;justify-content:space-between;width:44px;height:44px;padding:12px 10px;z-index:1002;background:transparent;border-radius:var(--radius-sm)}.menu-toggle span{display:block;height:2.5px;width:100%;background-color:var(--emerald-900);border-radius:2px;transition:all var(--transition-smooth)}.menu-toggle.active span:nth-child(1){transform:translateY(7.5px) rotate(45deg);background-color:var(--gold-300)}.menu-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle.active span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);background-color:var(--gold-300)}.mobile-drawer{position:fixed;top:0;right:-100%;width:100%;max-width:100%;height:100vh;height:100svh;height:var(--app-height,100svh);max-height:100svh;max-height:var(--app-height,100svh);background:var(--emerald-dark-gradient);z-index:1001;display:flex;flex-direction:column;padding-top:max(14px,env(safe-area-inset-top,14px));padding-left:clamp(16px,4vw,24px);padding-right:clamp(16px,4vw,24px);padding-bottom:max(20px,calc(env(safe-area-inset-bottom,0px) + 16px));transition:right var(--transition-smooth);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box}.mobile-drawer.open{right:0}.mobile-drawer-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:clamp(6px,1.2vh,12px);margin-bottom:clamp(6px,1.0vh,10px);border-bottom:1px solid rgba(212,175,55,0.25);flex-shrink:0}.drawer-brand{display:flex;align-items:center;gap:10px}.drawer-brand-name{font-family:var(--font-brand);font-size:clamp(1.05rem,1.8vh,1.25rem);font-weight:700;color:var(--cream);letter-spacing:0.08em}.drawer-close-btn{width:clamp(34px,4.5vh,40px);height:clamp(34px,4.5vh,40px);border-radius:50%;background:rgba(255,255,255,0.12);border:1px solid rgba(212,175,55,0.4);color:var(--cream);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.drawer-close-btn:hover{background:rgba(212,175,55,0.25);color:var(--gold-300);transform:rotate(90deg)}.mobile-drawer-links{display:flex;flex-direction:column;gap:clamp(2px,0.6vh,6px);flex:1 1 auto;justify-content:space-evenly}.mobile-nav-link{font-family:var(--font-serif);font-size:clamp(1.12rem,2.1vh,1.4rem);color:var(--cream);font-weight:600;padding:clamp(5px,0.9vh,10px) 4px;border-bottom:1px solid rgba(212,175,55,0.12);display:flex;align-items:center;justify-content:space-between;transition:color var(--transition-fast),padding-left var(--transition-fast);line-height:1.25}.mobile-nav-link:hover,.mobile-nav-link.active{color:var(--gold-300);padding-left:6px}.mobile-drawer-footer{margin-top:auto;padding-top:clamp(6px,1.0vh,12px);border-top:1px solid rgba(212,175,55,0.2);display:flex;flex-direction:column;gap:clamp(6px,1.0vh,10px);flex-shrink:0}.drawer-contact-info{font-size:clamp(0.74rem,1.1vh,0.84rem);color:rgba(250,247,242,0.7);display:flex;flex-direction:column;gap:1px}.drawer-contact-info strong{color:var(--gold-300);font-size:clamp(0.90rem,1.4vh,1.05rem)}.mobile-drawer-footer .btn{width:100%;padding:clamp(9px,1.3vh,13px) 16px;font-size:clamp(0.82rem,1.3vh,0.92rem);font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;border-radius:var(--radius-md);box-sizing:border-box}.hero{padding-top:calc(var(--header-height) + 2.5rem);padding-bottom:clamp(3.5rem,6vw,5.5rem);background:radial-gradient(circle at 85% 15%,rgba(212,175,55,0.18) 0%,transparent 45%),radial-gradient(circle at 15% 85%,rgba(15,43,29,0.12) 0%,transparent 55%),linear-gradient(145deg,#FAF7F2 0%,#F5EDE0 45%,#EBE1D0 100%);position:relative;overflow:hidden}.hero::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(212,175,55,0.4),transparent)}.hero-container{display:flex;flex-direction:column;gap:var(--space-8)}.hero-top-grid{display:flex;flex-direction:column;gap:0}.hero-content{display:contents}.hero-header-group{order:1}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);align-self:flex-start;padding:6px 16px;background:rgba(212,175,55,0.14);border:1px solid var(--gold-500);border-radius:var(--radius-full);font-size:0.875rem;font-weight:600;color:var(--gold-700);margin-bottom:var(--space-4);box-shadow:0 4px 12px rgba(212,175,55,0.12)}.hero-badge .star-icon{color:#F5A623}.hero-title{margin-bottom:var(--space-3);line-height:1.15}.hero-description{order:3;font-size:clamp(1.05rem,0.5vw + 0.95rem,1.25rem);color:var(--text-muted);margin-bottom:var(--space-6);max-width:580px}.trust-counters{order:4;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-4) 0;margin-bottom:var(--space-6);border-top:1px solid rgba(22,62,43,0.12);border-bottom:1px solid rgba(22,62,43,0.12)}.counter-item{text-align:center}.counter-number{font-family:var(--font-serif);font-size:clamp(1.35rem,2vw,1.85rem);font-weight:800;color:var(--emerald-900);line-height:1.1}.counter-label{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-muted);margin-top:4px}.hero-ctas{order:5;display:flex;flex-direction:column;gap:var(--space-3)}@media (min-width:480px){.hero-ctas{flex-direction:row;align-items:center}}.hero-carousel-frame{order:2;position:relative;background:var(--emerald-950);border-radius:16px;overflow:hidden;box-shadow:inset 0 0 30px rgba(212,175,55,0.08),0 24px 55px rgba(15,43,29,0.22);border:1px solid rgba(212,175,55,0.35);min-height:420px;margin:var(--space-3) 0 var(--space-6)}@media (min-width:640px){.hero-carousel-frame{border-radius:var(--radius-xl);min-height:460px}}@media (min-width:1024px){.hero-top-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:var(--space-10);align-items:stretch}.hero-content{display:flex;flex-direction:column;justify-content:center}.hero-header-group{order:unset}.hero-description{order:unset}.trust-counters{order:unset}.hero-ctas{order:unset}.hero-carousel-frame{order:unset;height:100%;min-height:540px;margin:0}}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 0.8s cubic-bezier(0.4,0,0.2,1),visibility 0.8s ease;z-index:1}.hero-slide.active{opacity:1;visibility:visible;z-index:2}.hero-slide-img-wrap{position:absolute;inset:0;overflow:hidden}.hero-slide-img{width:100%;height:100%;object-fit:cover;transform:scale(1.02);transition:transform 6s ease-out}.hero-slide.active .hero-slide-img{transform:scale(1.08)}.hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 22%,rgba(0,0,0,0) 65%,rgba(7,21,14,0.65) 100%);pointer-events:none}.hero-slide-top-badges{position:absolute;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:6px;z-index:3}@media (min-width:640px){.hero-slide-top-badges{top:16px;left:16px;right:16px;gap:8px}}.hero-slide-badge{background:rgba(15,43,29,0.88);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--cream);font-size:0.72rem;font-weight:700;padding:4px 10px;border-radius:var(--radius-full);border:1px solid rgba(250,247,242,0.25);box-shadow:0 4px 12px rgba(0,0,0,0.2);white-space:nowrap}@media (min-width:640px){.hero-slide-badge{font-size:0.8rem;padding:6px 14px}}.hero-slide-badge.badge-gold{background:rgba(212,175,55,0.95);color:var(--emerald-950);border-color:var(--gold-300)}.hero-slide-caption{position:absolute;bottom:54px;left:12px;right:12px;z-index:3;color:var(--cream);display:flex;flex-direction:column;gap:4px;background:rgba(15,43,29,0.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:10px 14px;border-radius:12px;border:1px solid rgba(250,247,242,0.15)}@media (min-width:640px){.hero-slide-caption{bottom:64px;left:18px;right:18px;padding:14px 18px;border-radius:var(--radius-md);gap:6px}}.hero-slide-title{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;color:var(--white);margin:0;text-shadow:0 2px 8px rgba(0,0,0,0.5);line-height:1.25}@media (min-width:640px){.hero-slide-title{font-size:clamp(1.3rem,1.8vw,1.85rem)}}.hero-slide-desc{font-size:0.78rem;color:rgba(250,247,242,0.88);margin:0;line-height:1.35}@media (min-width:640px){.hero-slide-desc{font-size:0.85rem;line-height:1.45}}.hero-slide-cta-link{display:inline-flex;align-items:center;gap:5px;color:var(--gold-300);font-weight:700;font-size:0.78rem;text-decoration:none;margin-top:2px;transition:color var(--transition-fast),transform var(--transition-fast)}@media (min-width:640px){.hero-slide-cta-link{font-size:0.85rem;margin-top:4px}}.hero-slide-cta-link:hover{color:var(--white);transform:translateX(4px)}.hero-carousel-nav{position:absolute;bottom:10px;left:12px;right:12px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:8px}@media (min-width:640px){.hero-carousel-nav{bottom:14px;left:18px;right:18px;gap:12px}}.hero-carousel-tabs{display:flex;align-items:center;gap:6px;flex:1}@media (min-width:640px){.hero-carousel-tabs{gap:8px}}.hero-tab-btn{flex:1;background:rgba(15,43,29,0.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(250,247,242,0.15);border-radius:var(--radius-full);padding:6px 10px;color:rgba(250,247,242,0.8);font-size:0.75rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;transition:all var(--transition-fast)}@media (min-width:640px){.hero-tab-btn{padding:8px 14px;font-size:0.78rem}}.hero-tab-btn:hover{background:rgba(15,43,29,0.92);color:var(--white);border-color:rgba(212,175,55,0.4)}.hero-tab-btn.active{background:rgba(15,43,29,0.95);color:var(--gold-300);border-color:var(--gold-500);box-shadow:0 4px 12px rgba(0,0,0,0.3)}.hero-tab-progress{position:absolute;bottom:0;left:0;height:2px;width:0%;background:var(--gold-500);transition:width 0.1s linear}.hero-tab-btn.active .hero-tab-progress{width:100%;transition:width 5.5s linear}.hero-carousel-arrows{display:flex;align-items:center;gap:4px}@media (min-width:640px){.hero-carousel-arrows{gap:6px}}.hero-arrow-btn{width:30px;height:30px;border-radius:50%;background:rgba(15,43,29,0.85);backdrop-filter:blur(8px);border:1px solid rgba(212,175,55,0.35);color:var(--cream);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}@media (min-width:640px){.hero-arrow-btn{width:34px;height:34px}}.hero-arrow-btn:hover{background:var(--gold-500);color:var(--emerald-950);border-color:var(--gold-300);transform:scale(1.08)}.hero-arrow-btn:hover{background:var(--gold-500);color:var(--emerald-950);border-color:var(--gold-300);transform:scale(1.08)}.sticky-booking-bar{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:950;background:rgba(8,26,17,0.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(212,175,55,0.35);border-left:none;border-right:none;border-bottom:none;border-radius:0;box-shadow:0 -8px 30px rgba(0,0,0,0.4);padding:10px 20px;transition:transform var(--transition-smooth),opacity var(--transition-smooth)}.sheet-drag-handle-wrap,.sheet-header,.mobile-booking-trigger,.sticky-sheet-backdrop{display:none}.sticky-booking-container{width:100%;max-width:1240px;margin:0 auto}.sticky-form-row{display:grid;grid-template-columns:1fr;gap:8px;width:100%;align-items:center}@media (min-width:640px){.sticky-form-row{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.sticky-form-row{grid-template-columns:1.2fr 0.9fr 1fr 1.15fr auto;gap:10px}}.sticky-field{display:flex;flex-direction:column;gap:3px}.sticky-label{font-size:0.68rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--gold-300);margin-left:2px}.sticky-select,.sticky-input{width:100%;padding:8px 12px;height:38px;background:rgba(255,255,255,0.08);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-sm);color:var(--white);font-family:var(--font-sans);font-size:0.85rem;transition:all var(--transition-fast)}.guest-stepper-control{display:flex;align-items:center;justify-content:space-between;height:38px;background:rgba(255,255,255,0.08);border:1px solid rgba(212,175,55,0.3);border-radius:var(--radius-sm);padding:2px 6px;transition:all var(--transition-fast)}.guest-stepper-control:focus-within{border-color:var(--gold-500);background:rgba(255,255,255,0.15);box-shadow:0 0 0 3px rgba(212,175,55,0.25)}.stepper-btn{width:28px;height:28px;border-radius:var(--radius-sm);background:rgba(255,255,255,0.1);border:1px solid rgba(212,175,55,0.25);color:var(--cream);font-size:1.15rem;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;line-height:1;transition:all var(--transition-fast)}.stepper-btn:hover{background:var(--gold-500);color:var(--emerald-950);border-color:var(--gold-300)}.stepper-btn:active{transform:scale(0.92)}.stepper-input{width:32px;text-align:center;background:transparent;border:none;color:var(--white);font-family:var(--font-sans);font-size:0.95rem;font-weight:700;padding:0;-moz-appearance:textfield}.stepper-input::-webkit-outer-spin-button,.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.stepper-unit{font-size:0.78rem;color:rgba(250,247,242,0.8);font-weight:600;margin-right:4px;white-space:nowrap}.sticky-select option{background:var(--emerald-950);color:var(--white)}.sticky-locked-estate{height:38px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,255,255,0.05);border:1px solid rgba(212,175,55,0.25);border-radius:var(--radius-sm);color:var(--gold-300);font-family:var(--font-sans);font-size:0.85rem;font-weight:600;white-space:nowrap;cursor:default;user-select:none}.sticky-locked-estate svg{color:var(--gold-400);flex-shrink:0}.sticky-select:focus,.sticky-input:focus{outline:none;border-color:var(--gold-500);background:rgba(255,255,255,0.15);box-shadow:0 0 0 3px rgba(212,175,55,0.25)}.sticky-action{display:flex;align-items:flex-end}.btn-sticky-submit{height:38px;padding:0 20px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:0.85rem;font-weight:700;width:100%;border-radius:var(--radius-sm)}body{padding-bottom:0}@media (max-width:767px){body{padding-bottom:0}.mobile-booking-trigger{display:block;position:fixed;bottom:0;left:0;right:0;z-index:930;background:rgba(15,43,29,0.98);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(212,175,55,0.35);padding:10px 16px;box-shadow:0 -8px 24px rgba(0,0,0,0.3)}.mobile-trigger-content{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:480px;margin:0 auto}.mobile-trigger-info{display:flex;flex-direction:column;gap:2px}.mobile-trigger-price{font-family:var(--font-serif);font-size:1.05rem;font-weight:700;color:var(--gold-300)}.mobile-trigger-sub{font-size:0.72rem;color:rgba(250,247,242,0.75)}.btn-mobile-trigger{padding:8px 16px;font-size:0.85rem;font-weight:700;display:inline-flex;align-items:center;gap:6px;white-space:nowrap;border-radius:var(--radius-full)}.sticky-sheet-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,0.65);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:955;opacity:0;pointer-events:none;transition:opacity 0.3s cubic-bezier(0.16,1,0.3,1)}.sticky-sheet-backdrop.is-open{opacity:1;pointer-events:auto}.sticky-booking-bar{display:block;position:fixed;bottom:0;left:0;right:0;width:100%;max-width:100%;transform:translateY(105%);transition:transform 0.35s cubic-bezier(0.16,1,0.3,1);z-index:960;border-radius:20px 20px 0 0;background:rgba(15,43,29,0.98);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(212,175,55,0.4);border-bottom:none;padding:12px 18px 24px;box-shadow:0 -12px 40px rgba(0,0,0,0.5);max-height:90vh;overflow-y:auto}.sticky-booking-bar.is-open{transform:translateY(0)}.sheet-drag-handle-wrap{display:flex;justify-content:center;padding-bottom:8px}.sheet-drag-handle{width:36px;height:4px;border-radius:2px;background:rgba(250,247,242,0.3)}.sheet-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(212,175,55,0.2)}.sheet-title-wrap{display:flex;align-items:center;gap:8px;color:var(--gold-300);font-family:var(--font-brand);font-size:0.85rem;letter-spacing:0.08em;text-transform:uppercase}.sheet-close-btn{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,0.1);border:1px solid rgba(250,247,242,0.2);color:var(--cream);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.sheet-close-btn:hover{background:rgba(255,255,255,0.2);color:var(--white)}}.hero-overlay-tag{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.12em;color:var(--gold-300);font-weight:600;margin-bottom:4px}.hero-overlay-title{font-family:var(--font-serif);font-size:1.35rem;color:var(--white)}.villas-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8)}.villa-card{background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--card-shadow);border:1px solid rgba(22,62,43,0.08);transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth);display:flex;flex-direction:column}.villa-card:hover{transform:translateY(-6px);box-shadow:var(--luxury-shadow);border-color:rgba(212,175,55,0.4)}.villa-card-media{position:relative;aspect-ratio:16 / 10;background:var(--emerald-900);overflow:hidden}.villa-card-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.villa-card:hover .villa-card-img{transform:scale(1.05)}.villa-card-badges{position:absolute;top:var(--space-4);left:var(--space-4);right:var(--space-4);display:flex;justify-content:space-between;align-items:center;z-index:2}.badge-location{background:rgba(15,43,29,0.85);backdrop-filter:blur(8px);color:var(--cream);padding:4px 12px;border-radius:var(--radius-full);font-size:0.8125rem;font-weight:600;border:1px solid rgba(212,175,55,0.3);display:inline-flex;align-items:center;gap:4px}.badge-rating{background:rgba(255,255,255,0.92);color:var(--emerald-950);padding:4px 10px;border-radius:var(--radius-full);font-size:0.8125rem;font-weight:700;display:inline-flex;align-items:center;gap:4px}.badge-rating svg{color:#F5A623}.villa-card-body{padding:var(--space-6);display:flex;flex-direction:column;flex-grow:1}.villa-specs-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-3)}.spec-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(15,43,29,0.05);border:1px solid rgba(22,62,43,0.12);border-radius:var(--radius-full);padding:4px 12px;font-size:0.78rem;font-weight:600;color:var(--emerald-900);transition:all var(--transition-fast)}.spec-badge svg{color:var(--gold-600);flex-shrink:0}.spec-badge:hover{background:rgba(212,175,55,0.12);border-color:var(--gold-500);color:var(--emerald-950)}.villa-title{font-size:1.5rem;margin-bottom:var(--space-3);color:var(--emerald-900)}.villa-desc{font-size:0.95rem;color:var(--text-muted);margin-bottom:var(--space-5)}.villa-highlights-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:var(--space-6)}@media (max-width:420px){.villa-highlights-grid{grid-template-columns:1fr;gap:6px}}.highlight-item{background:#FAF8F4;border:1px solid rgba(22,62,43,0.08);border-radius:var(--radius-sm);padding:8px 12px;display:flex;align-items:center;gap:8px;transition:all var(--transition-fast)}.highlight-item:hover{background:#FDFBF7;border-color:rgba(212,175,55,0.5);box-shadow:0 2px 8px rgba(22,62,43,0.06);transform:translateY(-1px)}.highlight-icon{font-size:1rem;line-height:1;flex-shrink:0}.highlight-text{font-size:0.8125rem;font-weight:600;color:var(--emerald-950);line-height:1.35}.villa-footer-price{margin-top:auto;padding-top:var(--space-5);border-top:1px solid rgba(22,62,43,0.08);display:flex;flex-direction:column;gap:var(--space-4)}.price-box{display:flex;flex-direction:column}.price-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted)}.price-amount{font-family:var(--font-serif);font-size:1.5rem;font-weight:800;color:var(--emerald-900)}.price-unit{font-size:0.85rem;font-weight:400;color:var(--text-muted)}.calculator-section{background:var(--emerald-dark-gradient);color:var(--cream);position:relative;overflow:hidden}.calculator-card{background:rgba(255,255,255,0.07);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:clamp(1.5rem,4vw,2.75rem);box-shadow:var(--luxury-shadow);max-width:880px;width:100%;margin:0 auto;box-sizing:border-box}.calc-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6)}.calc-control-group{display:flex;flex-direction:column;gap:var(--space-3)}.calc-label-row{display:flex;justify-content:space-between;align-items:baseline}.calc-label{font-size:0.95rem;font-weight:600;color:var(--gold-300);text-transform:uppercase;letter-spacing:0.05em}.calc-value-badge{font-family:var(--font-serif);font-size:1.4rem;font-weight:800;color:var(--white)}.range-slider-container{position:relative;padding:var(--space-2) 0;width:100%;box-sizing:border-box}.range-slider{-webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:4px;background:rgba(255,255,255,0.2);outline:none;transition:background var(--transition-fast)}.range-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:28px;height:28px;border-radius:50%;background:var(--gold-500);border:3px solid var(--white);cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,0.3);transition:transform var(--transition-fast),background var(--transition-fast)}.range-slider::-webkit-slider-thumb:hover{transform:scale(1.15);background:var(--gold-300)}.range-slider::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--gold-500);border:3px solid var(--white);cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,0.3)}.slider-marks{display:flex;justify-content:space-between;font-size:0.75rem;color:rgba(250,247,242,0.6);margin-top:6px}.calc-toggle-group{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3);width:100%;box-sizing:border-box}.calc-toggle-btn{padding:12px 14px;background:rgba(255,255,255,0.05);border:1.5px solid rgba(212,175,55,0.25);border-radius:var(--radius-md);color:var(--cream);font-size:0.9rem;font-weight:600;text-align:center;transition:all var(--transition-smooth);display:flex;flex-direction:column;gap:2px;box-sizing:border-box;min-width:0}.calc-toggle-btn .toggle-sub{font-size:0.75rem;font-weight:400;color:var(--gold-300);word-break:break-word}.calc-toggle-btn.active{background:rgba(212,175,55,0.2);border-color:var(--gold-500);color:var(--white);box-shadow:0 0 20px rgba(212,175,55,0.25)}.calc-date-input{width:100%;padding:12px 16px;height:48px;background:rgba(255,255,255,0.06);border:1.5px solid rgba(212,175,55,0.25);border-radius:var(--radius-md);color:var(--white);font-family:var(--font-sans);font-size:0.95rem;font-weight:500;color-scheme:dark;cursor:pointer;box-sizing:border-box;transition:all var(--transition-smooth)}.calc-date-input:hover{background:rgba(255,255,255,0.09);border-color:rgba(212,175,55,0.45)}.calc-date-input:focus{outline:none;background:rgba(212,175,55,0.12);border-color:var(--gold-500);box-shadow:0 0 16px rgba(212,175,55,0.3)}input[type="date"]{color-scheme:dark}input[type="date"]::-webkit-calendar-picker-indicator,.calc-date-input::-webkit-calendar-picker-indicator,.sticky-input::-webkit-calendar-picker-indicator{filter:invert(1) !important;opacity:0.95;cursor:pointer;transition:opacity var(--transition-fast),transform var(--transition-fast)}input[type="date"]::-webkit-calendar-picker-indicator:hover,.calc-date-input::-webkit-calendar-picker-indicator:hover,.sticky-input::-webkit-calendar-picker-indicator:hover{opacity:1;transform:scale(1.15)}.calc-summary-card{background:rgba(8,26,17,0.8);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid rgba(212,175,55,0.35);margin-top:var(--space-2);box-sizing:border-box;width:100%}.calc-breakdown-row{display:flex;justify-content:space-between;align-items:center;font-size:0.9rem;color:rgba(250,247,242,0.8);padding:var(--space-2) 0;border-bottom:1px dashed rgba(212,175,55,0.2);gap:8px}.calc-total-row{display:flex;justify-content:space-between;align-items:baseline;padding-top:var(--space-4);margin-top:var(--space-2);gap:8px}.calc-total-label{font-family:var(--font-serif);font-size:1.25rem;color:var(--gold-300)}.calc-total-amount{font-family:var(--font-serif);font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;color:var(--white)}.calc-note{font-size:0.78rem;color:rgba(250,247,242,0.6);text-align:center;margin-top:var(--space-4)}.calc-book-btn{margin-top:var(--space-5);white-space:nowrap;padding:14px 20px;font-size:0.95rem;font-weight:700;letter-spacing:0.02em;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box}.calc-book-btn svg{flex-shrink:0}@media (max-width:640px){.calculator-section .container{padding-left:14px;padding-right:14px}.calculator-card{padding:1.25rem 1rem;border-radius:var(--radius-lg)}.calc-toggle-group{gap:8px}.calc-toggle-btn{padding:10px 8px;font-size:0.84rem}.calc-toggle-btn .toggle-sub{font-size:0.72rem}.calc-summary-card{padding:1.25rem 1rem;margin-top:1rem}.calc-breakdown-row{font-size:0.84rem;padding:6px 0}.calc-total-label{font-size:1.1rem}.calc-total-amount{font-size:1.85rem}.calc-book-btn{font-size:0.9rem;padding:13px 14px;white-space:normal;text-align:center}}@media (max-width:480px){.calculator-section .container{padding-left:10px;padding-right:10px}.calculator-card{padding:1.15rem 0.75rem;border-radius:var(--radius-md)}.calc-label{font-size:0.85rem}.calc-value-badge{font-size:1.2rem}.calc-toggle-group{gap:6px}.calc-toggle-btn{padding:8px 6px;font-size:0.78rem;line-height:1.25}.calc-toggle-btn .toggle-sub{font-size:0.68rem;line-height:1.2}.calc-date-input{padding:10px 12px;font-size:0.88rem;height:44px}.calc-summary-card{padding:1rem 0.75rem;margin-top:0.85rem;border-radius:var(--radius-md)}.calc-breakdown-row{font-size:0.78rem;padding:5px 0;gap:4px}.calc-breakdown-row span:last-child{font-weight:700;white-space:nowrap}.calc-total-row{padding-top:8px;margin-top:4px}.calc-total-label{font-size:0.95rem}.calc-total-amount{font-size:1.55rem}.calc-book-btn{font-size:0.85rem;padding:12px 10px;margin-top:12px;letter-spacing:0}}.meal-timeline{display:flex;flex-direction:column;gap:var(--space-6);position:relative;max-width:860px;margin:0 auto}.meal-timeline::before{content:'';position:absolute;top:24px;bottom:24px;left:23px;width:2px;background:linear-gradient(180deg,var(--gold-500) 0%,rgba(212,175,55,0.2) 100%);z-index:0}.timeline-step{display:flex;align-items:flex-start;gap:var(--space-5);position:relative;z-index:1}.timeline-badge{width:48px;height:48px;flex-shrink:0;border-radius:50%;background:var(--white);border:2px solid var(--gold-500);box-shadow:0 4px 12px rgba(212,175,55,0.3);display:flex;align-items:center;justify-content:center;font-size:1.25rem}.timeline-content{background:var(--white);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--luxury-shadow-sm);border:1px solid rgba(22,62,43,0.08);flex-grow:1;transition:transform var(--transition-fast)}.timeline-step:hover .timeline-content{transform:translateX(4px)}.timeline-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-2);flex-wrap:wrap;gap:var(--space-2)}.timeline-title{font-size:1.2rem;color:var(--emerald-900);display:flex;align-items:center;gap:var(--space-2)}.timeline-time{font-size:0.8125rem;font-weight:700;padding:3px 10px;background:var(--gold-100);color:var(--gold-700);border-radius:var(--radius-full)}.timeline-desc{font-size:0.9rem;color:var(--text-muted)}.timeline-menu-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:var(--space-3)}.menu-tag{font-size:0.75rem;padding:3px 8px;background:var(--sand);border-radius:var(--radius-xs);color:var(--emerald-800);font-weight:500}.culinary-subtle-note{max-width:760px;margin:var(--space-6) auto 0;text-align:center;font-size:0.8125rem;color:var(--text-muted);line-height:1.55;font-style:italic;opacity:0.85}.matrix-container{max-width:1000px;margin:0 auto}.matrix-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);background:var(--sand);padding:4px;border-radius:var(--radius-full)}.matrix-tab-btn{flex:1;padding:10px 16px;border-radius:var(--radius-full);font-weight:600;font-size:0.875rem;color:var(--text-muted);text-align:center;transition:all var(--transition-fast)}.matrix-tab-btn.active{background:var(--emerald-900);color:var(--cream);box-shadow:0 4px 12px rgba(15,43,29,0.2)}.matrix-mobile-card{display:none;background:var(--white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--card-shadow);border:1px solid rgba(22,62,43,0.08)}.matrix-mobile-card.active{display:block}.matrix-mobile-item{display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid rgba(22,62,43,0.06);font-size:0.9rem}.matrix-mobile-item:last-child{border-bottom:none}.matrix-mobile-label{font-weight:600;color:var(--emerald-900)}.matrix-mobile-val{color:var(--text-muted);text-align:right}.matrix-desktop-table{display:none;width:100%;border-collapse:separate;border-spacing:0;background:var(--white);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--card-shadow);border:1px solid rgba(22,62,43,0.08)}.matrix-desktop-table th,.matrix-desktop-table td{padding:var(--space-4) var(--space-6);text-align:left;border-bottom:1px solid rgba(22,62,43,0.06)}.matrix-desktop-table th{background:var(--emerald-900);color:var(--cream);font-family:var(--font-serif);font-weight:700;font-size:1.1rem}.matrix-desktop-table th:first-child{width:34%}.matrix-desktop-table tr:last-child td{border-bottom:none}.matrix-desktop-table tr:hover td{background-color:var(--sand)}.features-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.feature-card{background:var(--white);border-radius:var(--radius-lg);padding:clamp(1.25rem,3vw,1.75rem);box-shadow:0 4px 18px rgba(15,43,29,0.04);border:1px solid rgba(22,62,43,0.08);position:relative;overflow:hidden;display:flex;flex-direction:column;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth),border-color var(--transition-smooth)}.feature-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold-500),transparent);opacity:0;transition:opacity var(--transition-smooth)}.feature-card:hover{transform:translateY(-4px);border-color:rgba(212,175,55,0.35);box-shadow:0 16px 36px rgba(15,43,29,0.08)}.feature-card:hover::before{opacity:1}.feature-card-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.feature-icon-box{width:48px;height:48px;border-radius:var(--radius-md);background:linear-gradient(135deg,#FAF7F2 0%,#F5EDE0 100%);border:1.5px solid rgba(212,175,55,0.35);color:var(--gold-700);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(212,175,55,0.15);transition:transform var(--transition-fast),background var(--transition-fast)}.feature-card:hover .feature-icon-box{transform:scale(1.06);background:var(--gold-gradient);color:var(--emerald-950);border-color:transparent}.feature-badge{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:var(--gold-700);background:rgba(212,175,55,0.12);border:1px solid rgba(212,175,55,0.25);padding:4px 10px;border-radius:var(--radius-full)}.feature-title{font-size:1.2rem;font-family:var(--font-serif);font-weight:700;margin-bottom:var(--space-2);color:var(--emerald-900);line-height:1.3}.feature-desc{font-size:0.9rem;color:var(--text-muted);line-height:1.6}.testimonials-slider{display:flex;gap:var(--space-5);overflow-x:auto;scroll-snap-type:x mandatory;padding:var(--space-3) 0 var(--space-4);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.testimonials-slider::-webkit-scrollbar{display:none}.slider-nav-controls{display:none;justify-content:center;align-items:center;gap:16px;margin-top:var(--space-6)}.slider-nav-btn{width:46px;height:46px;border-radius:50%;background:var(--white);border:1.5px solid rgba(212,175,55,0.45);color:var(--emerald-900);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(15,43,29,0.08);transition:all var(--transition-fast)}.slider-nav-btn:hover{background:var(--gold-gradient);color:var(--emerald-950);border-color:transparent;transform:scale(1.08);box-shadow:0 6px 18px rgba(212,175,55,0.35)}.slider-nav-btn:active{transform:scale(0.95)}@media (min-width:768px){.slider-nav-controls{display:flex}}.testimonial-card{flex:0 0 88%;max-width:380px;scroll-snap-align:center;background:var(--white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--luxury-shadow-sm);border:1px solid rgba(212,175,55,0.2);display:flex;flex-direction:column;justify-content:space-between}.testimonial-stars{color:#F5A623;margin-bottom:var(--space-3);font-size:1rem}.testimonial-text{font-style:italic;font-size:0.95rem;color:var(--text-main);margin-bottom:var(--space-5);line-height:1.6}.testimonial-author{display:flex;align-items:center;gap:var(--space-3);margin-top:auto;padding-top:var(--space-4);border-top:1px solid rgba(22,62,43,0.08)}.author-avatar{width:44px;height:44px;border-radius:50%;background:var(--emerald-700);color:var(--gold-300);display:flex;align-items:center;justify-content:center;font-weight:700;font-family:var(--font-serif)}.author-info{display:flex;flex-direction:column}.author-name{font-weight:700;font-size:0.95rem;color:var(--emerald-900)}.author-meta{font-size:0.78rem;color:var(--text-muted)}.faq-list{display:flex;flex-direction:column;gap:var(--space-4);max-width:820px;margin:0 auto}.faq-item{background:var(--white);border-radius:var(--radius-md);border:1px solid rgba(22,62,43,0.1);overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,0.03);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.faq-item[open]{border-color:var(--gold-500);box-shadow:var(--luxury-shadow-sm)}.faq-summary{padding:var(--space-5);font-weight:700;font-size:1.05rem;color:var(--emerald-900);cursor:pointer;display:flex;align-items:center;justify-content:space-between;list-style:none;user-select:none}.faq-summary::-webkit-details-marker{display:none}.faq-icon{width:22px;height:22px;flex-shrink:0;color:var(--gold-700);transition:transform var(--transition-smooth)}.faq-item[open] .faq-icon{transform:rotate(180deg);color:var(--gold-500)}.faq-body{padding:0 var(--space-5) var(--space-5);font-size:0.95rem;color:var(--text-muted);line-height:1.7}.floating-concierge{position:fixed;bottom:85px;right:24px;z-index:940;display:flex;align-items:center}@media (max-width:767px){.floating-concierge{bottom:74px;right:14px}.concierge-fab{width:50px;height:50px;box-shadow:0 6px 18px rgba(37,211,102,0.4)}.concierge-fab svg{width:26px;height:26px}}.concierge-fab{width:58px;height:58px;border-radius:50%;background:#25D366;color:#FFFFFF;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(37,211,102,0.45);position:relative;transition:transform var(--transition-smooth)}.concierge-fab:hover{transform:scale(1.08)}.concierge-fab svg{width:32px;height:32px}.concierge-pulse{position:absolute;inset:-6px;border-radius:50%;border:2px solid #25D366;animation:pulse-ring 2s cubic-bezier(0.215,0.61,0.355,1) infinite;pointer-events:none}.concierge-status-dot{position:absolute;top:2px;right:2px;width:14px;height:14px;background:#10B981;border:2.5px solid var(--white);border-radius:50%}@keyframes pulse-ring{0%{transform:scale(0.95);opacity:0.8}50%{transform:scale(1.25);opacity:0}100%{transform:scale(0.95);opacity:0}}.sticky-bottom-booking{position:fixed;bottom:0;left:0;right:0;background:rgba(15,43,29,0.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:12px 20px;z-index:980;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(212,175,55,0.3);box-shadow:0 -8px 24px rgba(0,0,0,0.2)}.sticky-booking-info{display:flex;flex-direction:column}.sticky-booking-rate{font-family:var(--font-serif);font-size:1.15rem;font-weight:700;color:var(--gold-300);line-height:1}.sticky-booking-sub{font-size:0.72rem;color:rgba(250,247,242,0.7)}.villa-hero-gallery{position:relative;border-radius:var(--radius-xl);overflow:hidden;margin-bottom:var(--space-8);box-shadow:var(--luxury-shadow)}.gallery-main-container{aspect-ratio:16 / 9;position:relative;background:var(--emerald-900);cursor:pointer}.gallery-main-img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow),opacity 0.22s ease-in-out}.gallery-main-container:hover .gallery-main-img{transform:scale(1.02)}.gallery-badge-expand{position:absolute;bottom:var(--space-4);right:var(--space-4);background:rgba(15,43,29,0.85);backdrop-filter:blur(8px);color:var(--cream);padding:8px 16px;border-radius:var(--radius-full);font-size:0.85rem;font-weight:600;border:1px solid var(--gold-500);display:flex;align-items:center;gap:6px}.gallery-main-container{position:relative;overflow:hidden;border-radius:var(--radius-md);touch-action:pan-y pinch-zoom;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,0.15)}.gallery-slide-counter{position:absolute;top:14px;right:14px;background:rgba(7,21,14,0.75);color:var(--gold-300);padding:5px 12px;border-radius:50px;font-size:0.8rem;font-weight:700;border:1px solid rgba(212,175,55,0.35);backdrop-filter:blur(8px);z-index:10;pointer-events:none;display:inline-flex;align-items:center;gap:5px}.gallery-arrow-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:rgba(7,21,14,0.75);color:var(--gold-300);border:1px solid rgba(212,175,55,0.4);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;backdrop-filter:blur(8px);transition:all var(--transition-fast);box-shadow:0 4px 14px rgba(0,0,0,0.3);user-select:none;-webkit-user-select:none}.gallery-arrow-btn.gallery-prev{left:12px}.gallery-arrow-btn.gallery-next{right:12px}.gallery-arrow-btn:hover{background:var(--gold-500);color:var(--emerald-950);border-color:var(--gold-500);transform:translateY(-50%) scale(1.08)}.gallery-thumbs-row{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:4px 2px 8px 2px;margin-top:10px}.gallery-thumbs-row::-webkit-scrollbar{display:none}.gallery-thumb-item{flex:0 0 76px;width:76px;aspect-ratio:4 / 3;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:2px solid transparent;scroll-snap-align:start;transition:all var(--transition-fast);box-shadow:0 2px 6px rgba(0,0,0,0.08)}.gallery-thumb-item.active{border-color:var(--gold-500);box-shadow:0 0 10px rgba(212,175,55,0.6);transform:scale(1.04)}.gallery-thumb-item:hover{border-color:var(--gold-400)}.gallery-thumb-item img{width:100%;height:100%;object-fit:cover;display:block}@media (min-width:768px){.gallery-thumbs-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));overflow-x:visible;scroll-snap-type:none}.gallery-thumb-item{flex:initial;width:100%}}.snapshot-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-8);width:100%;box-sizing:border-box}.stat-card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-4);box-shadow:var(--luxury-shadow-sm);border:1px solid rgba(22,62,43,0.08);display:flex;align-items:center;gap:var(--space-3);box-sizing:border-box;min-width:0}.stat-icon{width:40px;height:40px;border-radius:var(--radius-sm);background:var(--gold-100);color:var(--gold-700);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.stat-info{display:flex;flex-direction:column;min-width:0;overflow:hidden}.stat-label{font-size:0.75rem;text-transform:uppercase;color:var(--text-muted);font-weight:600;white-space:nowrap}.stat-val{font-family:var(--font-serif);font-size:1.1rem;font-weight:700;color:var(--emerald-900);word-break:break-word}@media (max-width:640px){.snapshot-stats-grid{gap:10px;margin-bottom:var(--space-6)}.stat-card{padding:12px 10px;gap:8px;border-radius:var(--radius-sm)}.stat-icon{width:36px;height:36px;font-size:1.05rem}.stat-label{font-size:0.7rem}.stat-val{font-size:0.95rem}}@media (max-width:480px){.snapshot-stats-grid{gap:8px;margin-bottom:var(--space-5)}.stat-card{padding:10px 8px;gap:6px}.stat-icon{width:32px;height:32px;font-size:0.95rem}.stat-label{font-size:0.65rem;letter-spacing:0.02em}.stat-val{font-size:0.85rem;line-height:1.2}}@media (max-width:360px){.snapshot-stats-grid{gap:6px}.stat-card{padding:8px 6px;gap:5px}.stat-icon{width:28px;height:28px;font-size:0.85rem}.stat-label{font-size:0.6rem}.stat-val{font-size:0.78rem}}.amenities-8-grid{display:grid;grid-template-columns:1fr;gap:var(--space-4)}.amenity-lux-card{background:var(--white);border-radius:var(--radius-md);padding:var(--space-5);box-shadow:var(--luxury-shadow-sm);border:1px solid rgba(22,62,43,0.06);display:flex;align-items:flex-start;gap:var(--space-4);transition:transform var(--transition-fast)}.amenity-lux-card:hover{transform:translateY(-2px);border-color:rgba(212,175,55,0.3)}@media (max-width:480px){.amenity-lux-card{padding:14px 12px;gap:10px}.amenity-lux-icon{width:36px;height:36px;font-size:1.1rem}.amenity-lux-body h4{font-size:0.95rem}.amenity-lux-body p{font-size:0.8rem}}.amenity-lux-icon{width:44px;height:44px;border-radius:var(--radius-sm);background:var(--sand);color:var(--emerald-800);display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0}.amenity-lux-body h4{font-size:1.05rem;margin-bottom:4px;color:var(--emerald-900)}.amenity-lux-body p{font-size:0.85rem;color:var(--text-muted);line-height:1.5}.meal-plans-grid{display:grid;grid-template-columns:1fr;gap:var(--space-6);margin-bottom:var(--space-8)}.meal-plan-card{background:var(--white);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--card-shadow);border:2px solid transparent;position:relative;display:flex;flex-direction:column}.meal-plan-card.featured{border-color:var(--gold-500);background:linear-gradient(180deg,#FFFFFF 0%,#FDFBF5 100%)}.meal-plan-tag{position:absolute;top:-12px;right:20px;background:var(--gold-gradient);color:var(--emerald-950);font-size:0.75rem;font-weight:700;padding:4px 14px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:0.06em}.meal-plan-price{font-family:var(--font-serif);font-size:2rem;font-weight:800;color:var(--emerald-900);margin:var(--space-2) 0 var(--space-4)}.meal-plan-features{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.meal-plan-feat-item{display:flex;align-items:flex-start;gap:var(--space-2);font-size:0.9rem;color:var(--text-main)}.meal-plan-feat-item svg{color:var(--gold-700);flex-shrink:0;margin-top:3px}.location-distances-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-5)}@media (max-width:1024px){.location-distances-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}}@media (max-width:640px){.location-distances-grid{grid-template-columns:1fr;gap:var(--space-3)}}.transit-card{background:var(--white);border:1px solid rgba(212,175,55,0.28);border-radius:var(--radius-md);padding:var(--space-4);display:flex;flex-direction:column;justify-content:space-between;gap:12px;position:relative;transition:transform var(--transition-normal),box-shadow var(--transition-normal),border-color var(--transition-normal);box-shadow:0 4px 15px rgba(22,62,43,0.04)}.transit-card:hover{transform:translateY(-4px);border-color:var(--gold-500);box-shadow:0 12px 25px rgba(212,175,55,0.15)}.transit-card-top{display:flex;align-items:center;justify-content:space-between}.transit-icon-wrap{width:44px;height:44px;border-radius:50%;background:var(--emerald-50);color:var(--emerald-800);border:1px solid rgba(22,62,43,0.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform var(--transition-fast),background var(--transition-fast)}.transit-card:hover .transit-icon-wrap{transform:scale(1.08);background:var(--gold-50);color:var(--emerald-950);border-color:var(--gold-400)}.transit-mode-tag{font-size:0.72rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;padding:4px 10px;border-radius:50px;background:rgba(212,175,55,0.12);color:var(--gold-700);border:1px solid rgba(212,175,55,0.3)}.transit-time-wrap{margin-top:4px}.transit-time{font-family:var(--font-serif);font-size:1.45rem;font-weight:700;color:var(--emerald-950);display:flex;align-items:center;gap:6px;line-height:1.2}.transit-time svg{color:var(--gold-500)}.transit-title{font-size:0.98rem;font-weight:700;color:var(--emerald-900);margin:6px 0 4px 0;line-height:1.3}.transit-desc{font-size:0.82rem;color:var(--text-muted);line-height:1.45;margin:0}.transit-maps-bar{margin-top:var(--space-4);display:flex;justify-content:center}.btn-maps-nav{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid rgba(22,62,43,0.2);color:var(--emerald-900);padding:10px 22px;border-radius:var(--radius-md);font-size:0.88rem;font-weight:700;text-decoration:none;box-shadow:0 4px 12px rgba(22,62,43,0.05);transition:all var(--transition-fast)}.btn-maps-nav:hover{background:var(--emerald-900);color:var(--gold-300);border-color:var(--emerald-900);transform:translateY(-2px);box-shadow:0 8px 20px rgba(22,62,43,0.15)}.house-rules-list{display:grid;grid-template-columns:1fr;gap:var(--space-3)}.rule-item{background:var(--white);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);border-left:3px solid var(--gold-500);font-size:0.9rem;color:var(--text-main)}.mmt-badge-card{background:linear-gradient(135deg,#0F2B1D 0%,#163E2B 100%);border-radius:var(--radius-lg);padding:var(--space-6);color:var(--cream);display:flex;flex-direction:column;gap:var(--space-4);border:1px solid var(--gold-500);margin-top:var(--space-8)}.lightbox-modal{position:fixed;inset:0;background:rgba(8,26,17,0.96);z-index:2000;display:none;align-items:center;justify-content:center;flex-direction:column;padding:var(--space-4);backdrop-filter:blur(20px)}.lightbox-modal.open{display:flex}.lightbox-close-btn{position:absolute;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,0.15);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:1.5rem;z-index:2005;transition:background var(--transition-fast)}.lightbox-close-btn:hover{background:var(--gold-500);color:var(--emerald-950)}.lightbox-main-img-wrapper{max-width:90vw;max-height:70vh;position:relative;display:flex;align-items:center;justify-content:center}.lightbox-main-img{max-width:100%;max-height:70vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 20px 50px rgba(0,0,0,0.6)}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,0.18);color:var(--cream);display:flex;align-items:center;justify-content:center;font-size:1.5rem;transition:background var(--transition-fast);z-index:2004}.lightbox-nav-btn:hover{background:var(--gold-500);color:var(--emerald-950)}.lightbox-prev{left:16px}.lightbox-next{right:16px}.lightbox-caption{color:var(--gold-300);font-family:var(--font-serif);font-size:1.1rem;margin-top:var(--space-4);text-align:center}.site-footer{background:var(--emerald-950);color:var(--cream);padding-top:clamp(3.5rem,6vw,6rem);padding-bottom:clamp(6rem,9vw,8rem);border-top:1px solid rgba(212,175,55,0.25);position:relative;z-index:1}.footer-grid{display:grid;grid-template-columns:1fr;gap:var(--space-8);margin-bottom:var(--space-12)}.footer-brand{display:flex;flex-direction:column;gap:var(--space-4)}.footer-brand-title{font-family:var(--font-serif);font-size:1.75rem;color:var(--gold-300)}.footer-brand-tagline{font-size:0.95rem;color:rgba(250,247,242,0.7);max-width:320px}.footer-col-title{font-family:var(--font-serif);font-size:1.15rem;color:var(--gold-300);margin-bottom:var(--space-4)}.footer-links-list{display:flex;flex-direction:column;gap:var(--space-3)}.footer-link{font-size:0.9rem;color:rgba(250,247,242,0.8);transition:color var(--transition-fast),padding-left var(--transition-fast)}.footer-link:hover{color:var(--gold-300);padding-left:4px}.footer-bottom{padding-top:var(--space-8);border-top:1px solid rgba(250,247,242,0.1);display:flex;flex-direction:column;gap:var(--space-4);align-items:center;text-align:center;font-size:0.8125rem;color:rgba(250,247,242,0.6)}@media (min-width:640px){.hero-ctas{flex-direction:row}.inquiry-form-grid{grid-template-columns:1fr 1fr}.inquiry-form-grid .btn{grid-column:span 2}.villas-grid{grid-template-columns:1fr}.features-grid{grid-template-columns:repeat(2,1fr)}.amenities-8-grid{grid-template-columns:repeat(2,1fr)}.snapshot-stats-grid{grid-template-columns:repeat(4,1fr)}.meal-plans-grid{grid-template-columns:repeat(2,1fr)}.testimonial-card{flex:0 0 45%}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.calc-grid{grid-template-columns:1.1fr 0.9fr;align-items:center}.matrix-tabs{display:none}.matrix-mobile-card{display:none !important}.matrix-desktop-table{display:table}.villa-footer-price{flex-direction:row;justify-content:space-between;align-items:center}.sticky-bottom-booking{display:none}.house-rules-list{grid-template-columns:repeat(2,1fr)}.footer-bottom{flex-direction:row;justify-content:space-between}}@media (min-width:1024px){.menu-toggle{display:none}.mobile-drawer{display:none}.nav-menu{display:flex;align-items:center;gap:var(--space-8)}.nav-link{font-size:0.95rem;font-weight:500;color:var(--emerald-900);position:relative;padding:var(--space-2) 0}.nav-link::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gold-gradient);transition:width var(--transition-smooth)}.nav-link:hover::after,.nav-link.active::after{width:100%}.header-cta{display:inline-flex}.hero-grid{display:grid;grid-template-columns:1.15fr 0.85fr;align-items:center;gap:var(--space-12)}.villas-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-8)}.features-grid{grid-template-columns:repeat(3,1fr)}.meal-timeline{flex-direction:row;justify-content:space-between;align-items:stretch;max-width:100%}.meal-timeline::before{top:24px;bottom:auto;left:48px;right:48px;width:auto;height:2px;background:linear-gradient(90deg,var(--gold-500) 0%,rgba(212,175,55,0.3) 100%)}.timeline-step{flex-direction:column;align-items:center;flex:1;text-align:center}.timeline-content{margin-top:var(--space-4);text-align:left;width:100%}.timeline-step:hover .timeline-content{transform:translateY(-4px)}.footer-grid{grid-template-columns:1.8fr 1fr 1fr 1.2fr}.testimonial-card{flex:0 0 31%}}@media (min-width:1440px){.container{max-width:1340px}}.fade-in-up{opacity:0;transform:translateY(24px);transition:opacity 0.6s cubic-bezier(0.16,1,0.3,1),transform 0.6s cubic-bezier(0.16,1,0.3,1)}.fade-in-up.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important}.fade-in-up{opacity:1 !important;transform:none !important}}

/* ==========================================================================
   Modern Luxury Travel & Destination Guides Showcase
   ========================================================================== */
.travel-guides-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
  max-width: 1240px;
  margin: 0 auto;
}
@media (max-width: 992px) {
  .travel-guides-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
}
@media (max-width: 620px) {
  .travel-guides-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.modern-guide-card {
  background: #FFFFFF;
  border: 1px solid rgba(212, 175, 55, 0.35);
  border-radius: var(--radius-xl);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 8px 24px rgba(15, 43, 29, 0.05);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  position: relative;
}
.modern-guide-card:hover {
  transform: translateY(-6px);
  border-color: var(--gold-500);
  box-shadow: 0 16px 40px rgba(212, 175, 55, 0.22);
}
.modern-guide-card-header {
  background: linear-gradient(145deg, #0F2B1D 0%, #163E2B 100%);
  padding: 22px 20px 18px;
  position: relative;
  color: var(--cream);
  border-bottom: 2px solid var(--gold-500);
}
.modern-guide-top-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.modern-guide-icon-box {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(212, 175, 55, 0.45);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.35rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  flex-shrink: 0;
}
.modern-guide-tag {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 12px;
  border-radius: 999px;
  background: rgba(212, 175, 55, 0.18);
  color: var(--gold-300);
  border: 1px solid rgba(212, 175, 55, 0.5);
}
.modern-guide-title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 6px;
  line-height: 1.3;
}
.modern-guide-desc {
  font-size: 0.85rem;
  color: rgba(250, 247, 242, 0.82);
  line-height: 1.5;
  margin: 0;
}
.modern-guide-body {
  padding: 20px;
  background: #FFFFFF;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
.modern-guide-highlights {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 18px;
}
.modern-guide-highlight-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.84rem;
  color: var(--text-main);
  line-height: 1.45;
  background: #FAF8F4;
  border: 1px solid rgba(22, 62, 43, 0.07);
  padding: 9px 12px;
  border-radius: var(--radius-sm);
}
.modern-guide-highlight-icon {
  color: var(--gold-700);
  font-weight: 800;
  font-size: 0.95rem;
  flex-shrink: 0;
  line-height: 1.2;
}
.modern-guide-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 18px;
  font-size: 0.88rem;
  font-weight: 700;
  border-radius: var(--radius-md);
  background: var(--emerald-900);
  color: var(--gold-300);
  border: 1px solid var(--gold-500);
  text-decoration: none;
  transition: all 0.25s ease;
  box-shadow: 0 4px 12px rgba(15, 43, 29, 0.1);
}
.modern-guide-cta:hover {
  background: var(--gold-gradient);
  color: var(--emerald-950);
  border-color: var(--gold-600);
  box-shadow: 0 8px 22px rgba(212, 175, 55, 0.35);
  transform: translateY(-2px);
}
.modern-guide-cta svg {
  transition: transform 0.2s ease;
}
.modern-guide-cta:hover svg {
  transform: translateX(4px);
}


.travel-guides-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  max-width: 960px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .travel-guides-grid-2 {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}


/* Mobile Optimization: Hide Desktop Sidebar Card and Enable Mobile Sticky Bar */
@media (max-width: 992px) {
  .guide-sidebar {
    display: none !important;
  }
  .guide-layout-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  body {
    padding-bottom: 72px;
  }
  .mobile-booking-trigger {
    display: block !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 930 !important;
    background: rgba(15, 43, 29, 0.98) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border-top: 1px solid rgba(212, 175, 55, 0.35) !important;
    padding: 10px 16px !important;
    box-shadow: 0 -8px 24px rgba(0, 0, 0, 0.3) !important;
  }
  .mobile-trigger-content {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    max-width: 480px !important;
    margin: 0 auto !important;
  }
  .mobile-trigger-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }
  .mobile-trigger-price {
    font-family: var(--font-serif) !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    color: var(--gold-300) !important;
  }
  .mobile-trigger-sub {
    font-size: 0.72rem !important;
    color: rgba(250, 247, 242, 0.75) !important;
  }
  .btn-mobile-trigger {
    padding: 8px 16px !important;
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    white-space: nowrap !important;
    border-radius: var(--radius-full) !important;
  }
  .sticky-sheet-backdrop {
    display: block !important;
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0, 0, 0, 0.65) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 955 !important;
    opacity: 0 !important;
    pointer-events: none !important;
    transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  .sticky-sheet-backdrop.is-open {
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .sticky-booking-bar,
  .sticky-bottom-bar {
    display: block !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    transform: translateY(105%) !important;
    transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1) !important;
    z-index: 960 !important;
    border-radius: 20px 20px 0 0 !important;
    background: rgba(15, 43, 29, 0.98) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border: 1px solid rgba(212, 175, 55, 0.4) !important;
    border-bottom: none !important;
    padding: 12px 18px 24px !important;
    box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.5) !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
  }
  .sticky-booking-bar.is-open,
  .sticky-bottom-bar.is-open {
    transform: translateY(0) !important;
  }
  .sheet-drag-handle-wrap {
    display: flex !important;
    justify-content: center !important;
    padding: 4px 0 10px !important;
  }
  .sheet-drag-handle {
    width: 38px !important;
    height: 4px !important;
    background: rgba(212, 175, 55, 0.4) !important;
    border-radius: 2px !important;
  }
  .sheet-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: 12px !important;
    padding-bottom: 8px !important;
    border-bottom: 1px solid rgba(212, 175, 55, 0.2) !important;
  }
  .sheet-title-wrap {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-family: var(--font-serif) !important;
    font-size: 0.95rem !important;
    font-weight: 700 !important;
    color: var(--gold-300) !important;
  }
  .sheet-close-btn {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(212, 175, 55, 0.3) !important;
    color: var(--cream) !important;
    width: 28px !important;
    height: 28px !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
  }
}

/* ==========================================================================
   Small Desktop & Laptop UI Optimization (993px – 1280px)
   ========================================================================== */
@media (min-width: 993px) and (max-width: 1280px) {
  :root {
    --header-height: 68px;
  }

  .container {
    padding-left: 20px;
    padding-right: 20px;
    max-width: 1200px;
  }

  /* Header & Navigation */
  .brand-title {
    font-size: 1.22rem;
  }
  .brand-subtitle {
    font-size: 0.65rem;
    letter-spacing: 0.14em;
  }
  .nav-menu {
    gap: clamp(14px, 1.6vw, 22px);
  }
  .nav-link {
    font-size: 0.88rem;
    padding: 6px 0;
  }
  .header-cta {
    padding: 8px 16px;
    font-size: 0.84rem;
    min-height: 38px;
  }

  /* Hero Section */
  .hero {
    padding-top: calc(var(--header-height) + 1.8rem);
    padding-bottom: 3.5rem;
  }
  .hero-top-grid {
    grid-template-columns: 1fr 1.05fr;
    gap: 28px;
    align-items: center;
  }
  .hero-title {
    font-size: clamp(2.1rem, 2.7vw + 0.5rem, 2.85rem);
    line-height: 1.16;
    margin-bottom: 12px;
  }
  .hero-description {
    font-size: 1rem;
    margin-bottom: 16px;
    line-height: 1.55;
  }
  .trust-counters {
    padding: 10px 0;
    margin-bottom: 16px;
    gap: 8px;
  }
  .counter-number {
    font-size: 1.45rem;
  }
  .counter-label {
    font-size: 0.68rem;
  }
  .hero-ctas {
    gap: 10px;
  }
  .hero-ctas .btn {
    padding: 11px 22px;
    font-size: 0.9rem;
    min-height: 44px;
  }
  .hero-carousel-frame {
    min-height: 460px;
    height: 100%;
    margin: 0;
  }
  .hero-slide-caption {
    padding: 10px 14px;
    bottom: 54px;
    left: 12px;
    right: 12px;
  }
  .hero-slide-title {
    font-size: 1.25rem;
  }
  .hero-slide-desc {
    font-size: 0.8rem;
    line-height: 1.35;
  }
  .hero-slide-cta-link {
    font-size: 0.8rem;
  }
  .hero-carousel-nav {
    bottom: 10px;
    left: 12px;
    right: 12px;
  }

  /* Signature Villa Cards */
  .villas-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .villa-card-body {
    padding: 18px;
  }
  .villa-title {
    font-size: 1.32rem;
    margin-bottom: 8px;
  }
  .villa-desc {
    font-size: 0.88rem;
    line-height: 1.48;
    margin-bottom: 12px;
  }
  .villa-specs-strip {
    gap: 6px;
    margin-bottom: 10px;
  }
  .spec-badge {
    padding: 3px 8px;
    font-size: 0.74rem;
    gap: 4px;
  }
  .villa-highlights-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
    margin-bottom: 14px;
  }
  .highlight-item {
    padding: 6px 9px;
    gap: 6px;
  }
  .highlight-icon {
    font-size: 0.95rem;
  }
  .highlight-text {
    font-size: 0.76rem;
    line-height: 1.25;
  }
  .price-amount {
    font-size: 1.35rem;
  }
  .villa-footer-price {
    padding-top: 14px;
    gap: 12px;
  }
  .villa-footer-price .btn {
    padding: 10px 18px;
    font-size: 0.88rem;
    min-height: 42px;
  }

  /* Comparison Matrix Table */
  .matrix-desktop-table th,
  .matrix-desktop-table td {
    padding: 12px 14px;
    font-size: 0.88rem;
  }
  .matrix-desktop-table th {
    font-size: 0.98rem;
  }
  .matrix-desktop-table th:first-child {
    width: 32%;
  }

  /* Explore Travel Guides Cards */
  .travel-guides-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
  }
  .modern-guide-card-header {
    padding: 16px 14px 14px;
  }
  .modern-guide-top-bar {
    margin-bottom: 8px;
  }
  .modern-guide-icon-box {
    width: 38px;
    height: 38px;
    font-size: 1.15rem;
  }
  .modern-guide-tag {
    font-size: 0.68rem;
    padding: 3px 9px;
  }
  .modern-guide-title {
    font-size: 1.05rem;
    margin-bottom: 4px;
  }
  .modern-guide-desc {
    font-size: 0.78rem;
    line-height: 1.4;
  }
  .modern-guide-body {
    padding: 14px;
  }
  .modern-guide-highlights {
    gap: 6px;
    margin-bottom: 14px;
  }
  .modern-guide-highlight-item {
    padding: 6px 8px;
    font-size: 0.76rem;
    gap: 6px;
    line-height: 1.35;
  }
  .modern-guide-cta {
    padding: 9px 12px;
    font-size: 0.82rem;
  }

  /* 4-Step Culinary Journey */
  .meal-timeline {
    gap: 10px;
  }
  .meal-timeline::before {
    left: 28px;
    right: 28px;
    top: 20px;
  }
  .timeline-badge {
    width: 38px;
    height: 38px;
    font-size: 1rem;
  }
  .timeline-content {
    padding: 12px 10px;
    margin-top: 10px;
  }
  .timeline-header {
    margin-bottom: 4px;
    gap: 4px;
  }
  .timeline-title {
    font-size: 0.92rem;
    gap: 4px;
  }
  .timeline-time {
    font-size: 0.7rem;
    padding: 2px 6px;
  }
  .timeline-desc {
    font-size: 0.78rem;
    line-height: 1.4;
  }
  .timeline-menu-list {
    gap: 4px;
    margin-top: 6px;
  }
  .menu-tag {
    font-size: 0.68rem;
    padding: 2px 5px;
  }

  /* Transparent Tariff Calculator */
  .calculator-card {
    padding: 1.85rem 1.5rem;
    max-width: 860px;
  }
  .calc-grid {
    gap: 20px;
    grid-template-columns: 1.08fr 0.92fr;
  }
  .calc-label {
    font-size: 0.84rem;
  }
  .calc-value-badge {
    font-size: 1.25rem;
  }
  .calc-toggle-btn {
    padding: 10px 8px;
    font-size: 0.84rem;
  }
  .calc-toggle-btn .toggle-sub {
    font-size: 0.72rem;
  }
  .calc-date-input {
    height: 42px;
    font-size: 0.88rem;
    padding: 8px 12px;
  }
  .calc-summary-card {
    padding: 16px 14px;
  }
  .calc-breakdown-row {
    font-size: 0.82rem;
    padding: 6px 0;
  }
  .calc-total-label {
    font-size: 1.1rem;
  }
  .calc-total-amount {
    font-size: 2rem;
  }
  .calc-book-btn {
    padding: 12px 16px;
    font-size: 0.9rem;
    margin-top: 14px;
  }

  /* Why Us / Features Grid */
  .features-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 14px;
  }
  .feature-card {
    padding: 16px 14px;
  }
  .feature-icon-box {
    width: 42px;
    height: 42px;
    font-size: 1.2rem;
  }
  .feature-badge {
    font-size: 0.68rem;
    padding: 3px 8px;
  }
  .feature-title {
    font-size: 1.08rem;
  }
  .feature-desc {
    font-size: 0.84rem;
    line-height: 1.5;
  }

  /* Testimonials */
  .testimonial-card {
    flex: 0 0 31.5%;
    padding: 18px 16px;
  }
  .testimonial-stars {
    font-size: 0.92rem;
    margin-bottom: 8px;
  }
  .testimonial-text {
    font-size: 0.88rem;
    line-height: 1.52;
    margin-bottom: 12px;
  }
  .author-name {
    font-size: 0.88rem;
  }
  .author-meta {
    font-size: 0.72rem;
  }
  .author-avatar {
    width: 38px;
    height: 38px;
    font-size: 0.9rem;
  }

  /* Footer */
  .footer-grid {
    grid-template-columns: 1.5fr 1fr 1fr 1.15fr;
    gap: 20px;
    margin-bottom: 2.5rem;
  }
  .footer-brand-title {
    font-size: 1.45rem;
  }
  .footer-brand-tagline {
    font-size: 0.85rem;
  }
  .footer-col-title {
    font-size: 1.05rem;
    margin-bottom: 12px;
  }
  .footer-link {
    font-size: 0.85rem;
  }
  .footer-links-list {
    gap: 8px;
  }

  /* Regional Hubs & Villa Detail Pages */
  .snapshot-stats-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 1.75rem;
  }
  .stat-card {
    padding: 10px 8px;
    gap: 8px;
  }
  .stat-icon {
    width: 34px;
    height: 34px;
    font-size: 1rem;
  }
  .stat-label {
    font-size: 0.66rem;
  }
  .stat-val {
    font-size: 0.95rem;
  }
  .amenities-8-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .amenity-lux-card {
    padding: 14px 12px;
    gap: 10px;
  }
  .amenity-lux-icon {
    width: 38px;
    height: 38px;
    font-size: 1.15rem;
  }
  .amenity-lux-body h4 {
    font-size: 0.98rem;
  }
  .amenity-lux-body p {
    font-size: 0.82rem;
  }
  .meal-plans-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
  }
  .meal-plan-card {
    padding: 18px;
  }
  .meal-plan-price {
    font-size: 1.65rem;
  }
  .location-distances-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
  }
  .transit-card {
    padding: 12px 10px;
    gap: 8px;
  }
  .transit-icon-wrap {
    width: 38px;
    height: 38px;
  }
  .transit-time {
    font-size: 1.25rem;
  }
  .transit-title {
    font-size: 0.88rem;
  }
  .transit-desc {
    font-size: 0.78rem;
  }

  /* Travel Guide Pillar Pages & Blog Layout */
  .guide-layout-grid {
    grid-template-columns: 1fr 310px;
    gap: 22px;
  }
  .guide-sidebar {
    width: 310px;
  }
  .proximity-grid-3x2 {
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
  }
  .proximity-card {
    padding: 12px 8px;
  }
  .proximity-name {
    font-size: 0.86rem;
  }
  .proximity-dist {
    font-size: 0.74rem;
  }
  .blog-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
  }
}

/* ==========================================================================
   COMPARE HUB & COMPETITOR COMPARISON LANDING PAGES
   ========================================================================== */
.compare-hero {
  background: linear-gradient(145deg, #0A1F15 0%, #0F2B1D 60%, #163E2B 100%);
  color: #FAF8F4;
  padding-top: calc(var(--header-height) + 2.5rem);
  padding-bottom: 3.5rem;
  position: relative;
  overflow: hidden;
}
.compare-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(200, 150, 62, 0.12) 0%, transparent 60%);
  pointer-events: none;
}
.compare-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 920px;
}
.compare-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: rgba(200, 150, 62, 0.18);
  border: 1px solid var(--gold-500);
  color: var(--gold-400);
  padding: 6px 14px;
  border-radius: 9999px;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  margin-bottom: var(--space-3);
}
.compare-hero h1 {
  font-family: var(--font-serif);
  font-size: clamp(1.85rem, 3.4vw, 2.65rem);
  font-weight: 800;
  line-height: 1.25;
  color: #FFFFFF;
  margin-bottom: var(--space-3);
}
.compare-hero-desc {
  font-size: 1.05rem;
  line-height: 1.65;
  color: #D6E4DC;
  margin-bottom: var(--space-4);
}
.compare-trust-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: var(--space-4);
}
.compare-trust-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(200, 150, 62, 0.35);
  padding: 8px 14px;
  border-radius: 8px;
  font-size: 0.84rem;
  font-weight: 600;
  color: #FAF8F4;
}
.compare-trust-item span.icon {
  color: var(--gold-400);
  font-size: 1rem;
}

/* Legal Disclaimer Box */
.compare-disclaimer-box {
  background: #F4F6F4;
  border-left: 3px solid var(--emerald-600);
  border-radius: 0 8px 8px 0;
  padding: 14px 18px;
  margin: var(--space-4) 0 var(--space-5);
  font-size: 0.8rem;
  line-height: 1.55;
  color: #4A5B52;
}
.compare-disclaimer-box strong {
  color: var(--emerald-950);
}

/* Comparison Tables */
.compare-table-wrap {
  width: 100%;
  overflow-x: auto;
  border-radius: 12px;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--sand-300);
  background: #FFFFFF;
  margin: var(--space-4) 0 var(--space-5);
}
.compare-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
  text-align: left;
  font-size: 0.92rem;
}
.compare-table th {
  background: linear-gradient(145deg, #0F2B1D 0%, #163E2B 100%);
  color: #FFFFFF;
  padding: 16px 18px;
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  border-bottom: 2px solid var(--gold-500);
}
.compare-table th.highlight-col {
  background: linear-gradient(145deg, #163E2B 0%, #1F523B 100%);
  color: var(--gold-300);
  position: relative;
}
.compare-table td {
  padding: 14px 18px;
  border-bottom: 1px solid var(--sand-200);
  vertical-align: middle;
  color: var(--text-dark);
}
.compare-table tr:nth-child(even) td {
  background: #FAF9F6;
}
.compare-table tr:hover td {
  background: #F3F7F4;
}
.compare-table td.highlight-col {
  background: #FAF8F2 !important;
  font-weight: 600;
  color: var(--emerald-950);
  border-left: 1px solid rgba(200, 150, 62, 0.25);
  border-right: 1px solid rgba(200, 150, 62, 0.25);
}
.badge-check {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #0F5B34;
  font-weight: 700;
}
.badge-cross {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #A32828;
  font-weight: 600;
}
.badge-warn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #B46200;
  font-weight: 600;
}

/* Savings Breakdown Card */
.savings-calc-card {
  background: linear-gradient(135deg, #FAF8F2 0%, #FFFFFF 100%);
  border: 1px solid rgba(200, 150, 62, 0.35);
  border-radius: 12px;
  padding: 24px;
  margin: var(--space-4) 0 var(--space-5);
  box-shadow: var(--shadow-sm);
}
.savings-calc-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
  border-bottom: 1px dashed var(--sand-300);
  padding-bottom: 14px;
  margin-bottom: 16px;
}
.savings-amount-badge {
  background: var(--emerald-900);
  color: var(--gold-300);
  font-size: 1.15rem;
  font-weight: 800;
  padding: 6px 16px;
  border-radius: 9999px;
}

/* Dual Choice (When to choose) Cards */
.dual-choice-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: var(--space-4) 0 var(--space-5);
}
.dual-choice-card {
  border-radius: 12px;
  padding: 22px;
  background: #FFFFFF;
  border: 1px solid var(--sand-300);
  box-shadow: var(--shadow-sm);
}
.dual-choice-card.avenor-card {
  background: #FAF8F2;
  border: 1px solid var(--gold-400);
}
.dual-choice-card h3 {
  font-size: 1.1rem;
  font-weight: 700;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.dual-choice-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--text-dark);
}
.dual-choice-list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

/* Compare Hub Cards Grid */
.compare-hub-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
  margin: var(--space-5) 0;
}
.compare-card {
  background: #FFFFFF;
  border-radius: 14px;
  border: 1px solid var(--sand-300);
  box-shadow: var(--shadow-sm);
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  position: relative;
  overflow: hidden;
}
.compare-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lg);
  border-color: var(--gold-400);
}
.compare-card-badge {
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 4px 10px;
  border-radius: 9999px;
  background: var(--sand-200);
  color: var(--emerald-900);
  align-self: flex-start;
  margin-bottom: 12px;
}
.compare-card-title {
  font-family: var(--font-serif);
  font-size: 1.22rem;
  font-weight: 700;
  color: var(--emerald-950);
  margin-bottom: 10px;
  line-height: 1.35;
}
.compare-card-desc {
  font-size: 0.88rem;
  line-height: 1.55;
  color: var(--text-muted);
  margin-bottom: 18px;
  flex-grow: 1;
}
.compare-card-points {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 18px;
  padding-top: 12px;
  border-top: 1px dashed var(--sand-200);
  font-size: 0.82rem;
  color: var(--text-dark);
}
.compare-card-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 10px 18px;
  border-radius: 8px;
  background: var(--emerald-900);
  color: var(--gold-300);
  font-weight: 700;
  font-size: 0.88rem;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}
.compare-card-cta:hover {
  background: var(--emerald-950);
  color: #FFFFFF;
}

@media (max-width: 768px) {
  .dual-choice-grid {
    grid-template-columns: 1fr;
  }
  .compare-trust-strip {
    flex-direction: column;
    align-items: stretch;
  }
  .compare-trust-item {
    justify-content: flex-start;
  }
  .compare-hub-grid {
    grid-template-columns: 1fr;
  }
}
