:root{--primary-bronze:#b07a42;--primary-charcoal:#2b2b2b;--primary-green:#234236;--primary-white:#fff;--secondary-sand:#e7ddcf;--secondary-grey:#777;--secondary-cream:#f9f6f2;--secondary-orange:#d77a32;--status-success:#3ba55d;--status-warning:#f4a261;--status-danger:#d9534f;--font-heading:"Poppins", sans-serif;--font-body:"Inter", sans-serif;--transition-fast:.2s ease;--transition-normal:.3s ease;--border-radius-card:16px;--border-radius-button:8px;--text-xs:clamp(.75rem, .7rem + .25vw, .875rem);--text-sm:clamp(.875rem, .82rem + .28vw, 1rem);--text-base:clamp(1rem, .96rem + .2vw, 1.125rem);--text-lg:clamp(1.125rem, 1.08rem + .23vw, 1.25rem);--text-xl:clamp(1.25rem, 1.18rem + .35vw, 1.5rem);--text-2xl:clamp(1.5rem, 1.35rem + .75vw, 2rem);--text-3xl:clamp(1.75rem, 1.53rem + 1.1vw, 2.5rem);--text-4xl:clamp(2rem, 1.63rem + 1.85vw, 3.25rem);--text-5xl:clamp(2.5rem, 1.93rem + 2.85vw, 4.5rem);--space-xs:clamp(.25rem, .23rem + .1vw, .5rem);--space-sm:clamp(.5rem, .45rem + .25vw, .75rem);--space-md:clamp(1rem, .9rem + .5vw, 1.5rem);--space-lg:clamp(1.5rem, 1.3rem + 1vw, 2.5rem);--space-xl:clamp(2rem, 1.7rem + 1.5vw, 3.5rem);--space-2xl:clamp(3rem, 2.5rem + 2.5vw, 5rem);--space-section:clamp(4rem, 3.2rem + 4vw, 8rem)}html{scroll-behavior:smooth}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--primary-charcoal);background-color:var(--primary-white);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.section{padding:var(--space-section) 0}.section-title{text-align:center;font-size:var(--text-4xl);margin-bottom:var(--space-2xl);color:var(--primary-charcoal)}.btn{letter-spacing:.5px;border-radius:4px;justify-content:center;align-items:center;padding:14px 28px;font-weight:600;transition:all .4s cubic-bezier(.165,.84,.44,1);display:inline-flex;position:relative;overflow:hidden}.btn-primary{background-color:var(--primary-charcoal);color:var(--primary-white);border:1px solid var(--primary-charcoal)}.btn-primary:hover{color:var(--primary-charcoal);background-color:#0000}.btn-secondary{color:var(--primary-charcoal);border:1px solid var(--primary-charcoal);background-color:#0000}.btn-secondary:hover{background-color:var(--primary-charcoal);color:var(--primary-white)}.btn-bronze{background-color:var(--primary-bronze);color:var(--primary-white);border:1px solid var(--primary-bronze)}.btn-bronze:hover{color:var(--primary-bronze);background-color:#0000}.btn-outline-light{color:var(--primary-white);border:1px solid var(--primary-white);-webkit-backdrop-filter:blur(4px);background-color:#ffffff1a}.btn-outline-light:hover{background-color:var(--primary-white);color:var(--primary-charcoal)}.glass{-webkit-backdrop-filter:blur(10px);background:#fffc}.reveal{opacity:0;will-change:opacity, transform;transition:opacity .8s cubic-bezier(.165,.84,.44,1),transform .8s cubic-bezier(.165,.84,.44,1);transform:translateY(40px)}.reveal.active{opacity:1;transform:translateY(0)}.icon-sm{flex-shrink:0;width:16px;height:16px}.icon-md{flex-shrink:0;width:24px;height:24px}.icon-lg{flex-shrink:0;width:32px;height:32px}.search-overlay{z-index:9999;justify-content:center;align-items:flex-start;width:100%;height:100vh;padding-top:80px;display:flex;position:fixed;top:0;left:0}.search-overlay-backdrop{-webkit-backdrop-filter:blur(12px);width:100%;height:100%;animation:fadeIn var(--transition-normal) forwards;background-color:#2b2b2b66;position:absolute;top:0;left:0}.search-modal{background:var(--primary-white);border-radius:var(--border-radius-card);z-index:10000;width:90%;max-width:800px;max-height:80vh;animation:slideUp var(--transition-normal) forwards;flex-direction:column;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 48px #00000026}.search-close{width:40px;height:40px;color:var(--primary-charcoal);cursor:pointer;transition:all var(--transition-fast);background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:24px;right:24px}.search-close:hover{background:#0000001a;transform:rotate(90deg)}.search-header{border-bottom:1px solid #00000014;padding:40px 40px 20px}.search-input-wrapper{align-items:center;display:flex}.search-icon-large{width:36px;height:36px;color:var(--primary-bronze);margin-right:20px}.search-input{font-size:var(--text-3xl);color:var(--primary-charcoal);background:0 0;border:none;outline:none;flex:1;font-weight:600}.search-input::placeholder{color:var(--secondary-grey);opacity:.5}.search-filters{background:var(--secondary-cream);border-bottom:1px solid #00000014;gap:40px;padding:20px 40px;display:flex}.filter-group h4{font-size:var(--text-sm);color:var(--secondary-grey);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:8px;margin-bottom:12px;display:flex}.chip-list{flex-wrap:wrap;gap:10px;display:flex}.chip{background:var(--primary-white);font-size:var(--text-sm);color:var(--primary-charcoal);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000001a;border-radius:30px;padding:8px 16px;font-weight:500}.chip:hover{border-color:var(--primary-bronze);color:var(--primary-bronze)}.chip.active{background:var(--primary-bronze);border-color:var(--primary-bronze);color:var(--primary-white)}.search-results-container{flex:1;padding:30px 40px 40px;overflow-y:auto}.search-suggestions h3{font-size:var(--text-lg);color:var(--primary-charcoal);margin-bottom:16px}.suggestion-list{flex-direction:column;gap:12px;display:flex}.suggestion-list button{text-align:left;font-size:var(--text-base);color:var(--secondary-grey);transition:color var(--transition-fast);cursor:pointer;background:0 0;border:none;padding:8px 0}.suggestion-list button:hover{color:var(--primary-bronze)}.results-count{font-size:var(--text-sm);color:var(--secondary-grey);text-transform:uppercase;letter-spacing:1px;margin-bottom:24px;font-weight:600}.search-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.search-result-card{background:var(--primary-white);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000000d;border-radius:12px;align-items:center;padding:12px;display:flex}.search-result-card:hover{background:var(--secondary-cream);border-color:#0000001a;transform:translateY(-2px)}.result-img{border-radius:8px;flex-shrink:0;width:72px;height:72px;margin-right:16px;overflow:hidden}.result-img img{object-fit:cover;width:100%;height:100%}.result-type{font-size:var(--text-xs);color:var(--status-success);margin-bottom:4px;font-weight:700;display:block}.result-title{font-size:var(--text-base);color:var(--primary-charcoal);margin-bottom:2px}.result-location{font-size:var(--text-sm);color:var(--secondary-grey)}.no-results{text-align:center;color:var(--secondary-grey);padding:40px 0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.search-overlay{padding-top:0}.search-modal{border-radius:0;width:100%;max-width:100%;height:100vh;max-height:100vh}.search-header,.search-filters,.search-results-container{padding-left:20px;padding-right:20px}.search-header{padding-top:60px}.search-filters{flex-direction:column;gap:24px}.search-input{font-size:var(--text-2xl)}.search-grid{grid-template-columns:1fr}.search-close{top:16px;right:16px}}.auth-overlay{z-index:10000;justify-content:center;align-items:center;width:100%;height:100vh;padding:20px;display:flex;position:fixed;top:0;left:0}.auth-overlay-backdrop{-webkit-backdrop-filter:blur(12px);width:100%;height:100%;animation:fadeIn var(--transition-normal) forwards;background-color:#0009;position:absolute;top:0;left:0}.auth-modal{background:var(--primary-white);z-index:10001;width:100%;max-width:850px;animation:slideUp var(--transition-normal) forwards;border-radius:20px;flex-direction:row;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 60px #00000040}.auth-image-panel{background:url(https://images.unsplash.com/photo-1469854523086-cc02fe5d8800?q=80&w=800&auto=format&fit=crop) 50%/cover no-repeat;flex-direction:column;justify-content:flex-end;width:45%;display:flex;position:relative}.auth-image-overlay{color:var(--primary-white);background:linear-gradient(#0000 0%,#000000e6 100%);padding:40px 30px}.auth-image-overlay h3{font-size:var(--text-2xl);font-family:var(--font-heading);margin-bottom:8px}.auth-image-overlay p{font-size:var(--text-sm);color:#fffc;line-height:1.5}.auth-content{width:55%;padding:50px 40px;position:relative}.auth-close{width:36px;height:36px;color:var(--primary-charcoal);cursor:pointer;transition:all var(--transition-fast);background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.auth-close:hover{background:#0000001a;transform:rotate(90deg)}.auth-header{text-align:left;margin-bottom:32px}.auth-logo{height:40px;margin-bottom:24px}.auth-header h2{font-size:var(--text-3xl);color:var(--primary-charcoal);font-family:var(--font-heading);margin-bottom:8px}.auth-header p{color:var(--secondary-grey);font-size:var(--text-base)}.auth-error{color:var(--status-danger);font-size:var(--text-sm);text-align:center;background-color:#d9534f1a;border-radius:12px;margin-bottom:24px;padding:12px;font-weight:500}.auth-success{color:var(--status-success);font-size:var(--text-sm);text-align:center;background-color:#3ba55d1a;border-radius:12px;margin-bottom:24px;padding:12px;font-weight:500}.premium-input-group{margin-bottom:16px}.premium-input{background:var(--secondary-cream);width:100%;font-family:var(--font-body);font-size:var(--text-base);color:var(--primary-charcoal);transition:all var(--transition-fast);border:1px solid #0000;border-radius:12px;outline:none;padding:16px 20px}.premium-input:focus{background:var(--primary-white);border-color:var(--primary-bronze);box-shadow:0 4px 12px #b07a4226}.premium-input::placeholder{color:var(--secondary-grey);opacity:.7}.btn-premium-submit{background:var(--primary-bronze);width:100%;color:var(--primary-white);font-size:var(--text-lg);cursor:pointer;transition:all var(--transition-fast);border:none;border-radius:12px;justify-content:center;align-items:center;gap:12px;margin-top:16px;padding:16px;font-weight:600;display:flex}.btn-premium-submit:hover:not(:disabled){background:var(--primary-charcoal);transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.btn-premium-submit:disabled{opacity:.7;cursor:not-allowed}.auth-footer{text-align:center;font-size:var(--text-base);color:var(--secondary-grey);margin-top:32px}.auth-toggle-btn{color:var(--primary-bronze);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600;text-decoration:underline}.auth-toggle-btn:hover{color:var(--primary-charcoal)}@media (width<=768px){.auth-modal{flex-direction:column;max-width:420px}.auth-image-panel{width:100%;height:180px}.auth-content{width:100%;padding:30px 20px}.auth-header h2{font-size:var(--text-2xl)}}.navbar{z-index:1000;background:var(--primary-white);border-radius:50px;width:95%;max-width:1200px;padding:15px 30px;transition:all .4s cubic-bezier(.4,0,.2,1);animation:.6s cubic-bezier(.16,1,.3,1) forwards navSlideDown;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000014}@keyframes navSlideDown{0%{opacity:0;top:-100px}to{opacity:1;top:20px}}.navbar.scrolled{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;padding:10px 30px;top:10px;box-shadow:0 15px 40px #0000001f}.navbar-container{justify-content:space-between;align-items:center;display:flex}.navbar-logo img{width:auto;height:50px;margin:0}.navbar-links{align-items:center;gap:32px;display:flex}.nav-link{font-family:var(--font-body);color:var(--primary-charcoal);transition:color var(--transition-fast);padding-bottom:4px;font-size:15px;font-weight:500;position:relative}.nav-link:after{content:"";background-color:var(--primary-bronze);border-radius:2px;width:0;height:2px;transition:width .3s;position:absolute;bottom:0;left:0}.nav-link:hover,.nav-link.active{color:var(--primary-bronze)}.nav-link:hover:after,.nav-link.active:after{width:100%}.navbar-actions{align-items:center;gap:16px;display:flex}.btn-search-pill{font-family:var(--font-body);color:var(--primary-charcoal);cursor:pointer;background:0 0;border:1px solid #ddd;border-radius:20px;align-items:center;gap:6px;padding:8px 14px;font-size:14px;font-weight:500;transition:all .3s;display:flex}.btn-search-pill:hover{border-color:var(--primary-bronze);color:var(--primary-bronze);background:#00000008}.btn-search-pill .icon-sm{width:16px;height:16px;margin-top:-2px}.icon-btn{color:var(--primary-charcoal);transition:background var(--transition-fast);border-radius:50%;justify-content:center;align-items:center;padding:8px;display:flex}.icon-btn:hover{background:#0000000d}.icon{width:20px;height:20px}.book-btn{border-radius:30px;padding:10px 24px;font-weight:600}.mobile-toggle,.mobile-only-actions{display:none}@media (width<=992px){.navbar-links{background:var(--primary-charcoal);width:300px;height:100dvh;transition:right var(--transition-normal);flex-direction:column;align-items:flex-start;padding:80px 30px 100px;position:fixed;top:0;right:-100%;overflow-y:auto;box-shadow:-5px 0 20px #0000001a}.navbar-links.active{right:0}.navbar-links .nav-link{color:var(--primary-white);margin-bottom:10px;font-size:18px}.mobile-toggle{z-index:1001;display:flex;position:relative}.mobile-toggle.menu-open{color:var(--primary-white)}.book-btn{display:none}.mobile-only-actions{flex-direction:column;width:100%;margin-top:auto;display:flex}.mobile-only-actions .btn{width:100%}}@media (width<=576px){.navbar{width:90%;padding:10px 15px;top:10px}.navbar-logo img{height:40px}.navbar-actions{gap:10px}.icon-btn{padding:6px}}.desktop-only-auth{display:block}.desktop-user-links{align-items:center;gap:14px;display:flex}.desktop-user-link{font-size:14px}.user-profile-btn{cursor:pointer;border:2px solid var(--primary-bronze);width:32px;height:32px;transition:transform var(--transition-fast);background:0 0;border-radius:50%;padding:0;overflow:hidden}.user-profile-btn:hover{transform:scale(1.05)}.user-avatar{object-fit:cover;width:100%;height:100%}.mobile-user-profile{width:100%;color:var(--primary-white);text-align:left;background:0 0;border:none;align-items:center;gap:12px;margin-bottom:15px;padding:15px 0;display:flex}.user-avatar-mobile{border:2px solid var(--primary-bronze);border-radius:50%;width:40px;height:40px}@media (width<=992px){.desktop-only-auth{display:none}}.profile-menu-wrapper{position:relative}.profile-dropdown{z-index:1002;border:1px solid #00000014;border-radius:16px;overflow:hidden;box-shadow:0 18px 45px #00000029}.profile-dropdown-desktop{background:var(--primary-white);flex-direction:column;gap:4px;width:240px;padding:8px;display:flex;position:absolute;top:calc(100% + 12px);right:0}.profile-dropdown-mobile{background:#0000001f;flex-direction:column;gap:4px;width:100%;padding:8px;display:flex;position:static}.profile-dropdown-item{width:100%;color:var(--primary-charcoal);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:block}.profile-dropdown-item:hover{color:var(--primary-bronze);background:#b07a421f}.profile-dropdown-logout{margin-top:4px}@media (width<=992px){.profile-dropdown-desktop{display:none}.profile-dropdown-mobile .profile-dropdown-item{color:var(--primary-white)}.profile-dropdown-mobile .profile-dropdown-item:hover{color:var(--primary-bronze)}}@media (width>=993px){.profile-dropdown-mobile{display:none}}.footer{color:var(--primary-white);background-color:#1a1a1a;padding:80px 0 40px}.footer-grid{grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:40px;display:grid}.footer-logo{height:50px;margin-bottom:16px}.tagline{color:var(--primary-bronze);margin-bottom:12px;font-size:14px;font-weight:600}.company-desc{color:#aaa;margin-bottom:24px;font-size:14px;line-height:1.6}.social-icons{gap:12px;display:flex}.social-icon{width:36px;height:36px;transition:all var(--transition-fast);background:#ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.social-icon:hover{background:var(--primary-bronze);color:var(--primary-white)}.footer h3{color:var(--primary-white);margin-bottom:24px;font-size:16px}.footer-links-group ul,.footer-contact ul{margin:0;padding:0;list-style:none}.footer-links-group li{margin-bottom:12px}.footer-links-group a{color:#aaa;transition:color var(--transition-fast);font-size:14px}.footer-links-group a:hover{color:var(--secondary-orange)}.footer-contact li{color:#aaa;align-items:center;gap:12px;margin-bottom:16px;font-size:14px;display:flex}.footer-contact .icon-sm{color:var(--primary-bronze)}@media (width<=992px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (width<=576px){.footer-grid{grid-template-columns:1fr}}.floating-whatsapp{color:#fff;z-index:1000;background-color:#25d366;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;transition:transform .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:fixed;bottom:30px;right:30px;box-shadow:0 4px 15px #25d36666}.floating-whatsapp:hover{color:#fff;transform:scale(1.1)}.whatsapp-icon{width:35px;height:35px}@media (width<=768px){.floating-whatsapp{width:50px;height:50px;bottom:20px;right:20px}.whatsapp-icon{width:28px;height:28px}}.loader-overlay{background-color:var(--primary-charcoal);z-index:99999;will-change:opacity;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.8s ease-in-out forwards slowFadeOut;display:flex;position:fixed;top:0;left:0}.loader-content{flex-direction:column;justify-content:center;align-items:center;display:flex}.loader-logo{opacity:0;will-change:transform, opacity;width:auto;height:80px;animation:1.2s ease-in-out forwards logoPulse}@keyframes slowFadeOut{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0;pointer-events:none}}@keyframes logoPulse{0%{opacity:0;transform:scale(.95)}50%{opacity:1;transform:scale(1.02)}to{opacity:.8;transform:scale(1)}}.app-container{flex-direction:column;min-height:100vh;display:flex}main{flex:1}.skip-to-content{z-index:10000;background:var(--primary-green);color:var(--primary-white);border-radius:0 0 8px;padding:.75rem 1.25rem;text-decoration:none;position:absolute;top:0;left:-9999px}.skip-to-content:focus{left:0}
