.app-root{background-color:var(--color-bg);flex-direction:column;min-height:100vh;display:flex}.home-view{flex-grow:1}.booking-view-container{flex-grow:1;padding-top:5rem;padding-bottom:5rem}.booking-header-offset{height:20px}.back-link-btn{font-family:var(--font-sans);color:var(--color-gold-deep);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;align-items:center;margin-bottom:1.5rem;padding:0;font-size:.85rem;font-weight:500;display:flex}.back-link-btn:hover{color:var(--color-dark);transform:translate(-3px)}.booking-page-title{border-bottom:1px solid var(--color-border);margin-bottom:3rem;padding-bottom:1rem;font-size:3rem;font-weight:400}.booking-grid{grid-template-columns:7fr 4fr;align-items:start;gap:3rem;display:grid}@media (max-width:1024px){.booking-grid{grid-template-columns:minmax(0,1fr);gap:1.5rem}}@media (max-width:768px){.booking-page-title{margin-bottom:1rem;padding-bottom:.5rem;font-size:1.6rem}.booking-view-container{padding-top:3.5rem;padding-bottom:2rem}.back-link-btn{margin-bottom:.8rem}}.guest-session-bar{color:#5a4d3a;background:linear-gradient(135deg,#b8975a14,#b8975a0a);border:1px solid #b8975a33;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:1.2rem;padding:.7rem 1.2rem;font-size:.85rem;display:flex}.guest-session-bar strong{color:#b8975a}.guest-session-bar button{color:#b8975a;cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:.8rem;font-weight:600;text-decoration:underline;transition:color .2s}.guest-session-bar button:hover{color:#8b6d32}.guest-prompt-bar{color:#8a7e6e;background:#b8975a0d;border:1px dashed #b8975a40;border-radius:12px;justify-content:center;align-items:center;margin-bottom:1.2rem;padding:.6rem 1rem;font-size:.83rem;display:flex}.guest-prompt-bar button{color:#b8975a;cursor:pointer;background:0 0;border:none;margin:0 .3rem;font-family:inherit;font-size:.83rem;font-weight:600;text-decoration:underline;transition:color .2s}.guest-prompt-bar button:hover{color:#8b6d32}@media screen and (min-width:1025px) and (max-width:1440px),screen and (max-height:880px) and (min-width:1025px){.booking-view-container{padding-top:3.5rem;padding-bottom:3.5rem}.booking-page-title{margin-bottom:1.75rem;font-size:2.2rem}.booking-grid{gap:1.75rem}}.hero-section{z-index:1;height:100vh;min-height:700px;color:var(--color-white);flex-direction:column;justify-content:center;align-items:center;padding-top:5rem;display:flex;position:relative}.hero-carousel-container{z-index:-2;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.hero-slide{opacity:0;z-index:0;background-position:50%;background-size:cover;width:100%;height:100%;transition:opacity 1.5s ease-in-out;animation:30s infinite alternate slowZoom;position:absolute;top:0;left:0;transform:scale(1.05)}.hero-slide.active{opacity:1;z-index:1}@keyframes slowZoom{0%{transform:scale(1.05)}to{transform:scale(1.15)}}.hero-content{text-align:center;width:100%;max-width:1100px;margin-top:auto;margin-bottom:2rem}.hero-tagline{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.3em;color:var(--color-gold-bright);margin-bottom:1.5rem;font-size:.85rem;font-weight:600;display:inline-block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hero-title{font-family:"Cormorant Garamond", var(--font-serif);color:#fff;letter-spacing:.02em;text-shadow:0 2px 20px #000000a6,0 1px 4px #000000d9;min-height:2.3em;margin-bottom:1.25rem;font-size:clamp(2.3rem,4.4vw,4.2rem);font-weight:400;line-height:1.15;position:relative}.hero-title-line1{display:inline-block}.hero-title .hero-title-accent,.hero-title span.hero-title-accent{font-family:"Cormorant Garamond", var(--font-serif);color:#e8c15a;letter-spacing:.02em;text-shadow:0 2px 20px #000000a6,0 1px 4px #000000d9;font-style:italic;font-weight:400;display:inline-block}.hero-typewriter-cursor{vertical-align:-.04em;background-color:#e8c15a;border-radius:1px;width:3px;height:.85em;margin-left:6px;animation:.75s infinite heroCursorBlink;display:inline-block;box-shadow:0 0 12px #e8c15acc}.hero-typewriter-cursor.fade{opacity:0;transition:opacity .5s ease-out}@keyframes heroCursorBlink{0%,to{opacity:1}50%{opacity:0}}.hero-description{color:#fff;opacity:.95;max-width:600px;margin:0 auto;font-size:1.2rem;font-weight:400}.hero-filter-container{flex-direction:column;align-items:center;width:100%;max-width:900px;margin-bottom:auto;display:flex}.hero-filter-bar{width:100%;color:var(--color-white);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#d4af371f;border:1px solid #ffffff26;border-radius:10px;grid-template-columns:1fr auto 1fr auto;align-items:center;padding:1rem 1.5rem;display:grid}.filter-input-group{flex-direction:column;padding:.5rem 1rem;display:flex}.filter-label{text-transform:uppercase;letter-spacing:.1em;color:var(--color-white);align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.9rem;font-weight:600;display:flex}.filter-icon{color:var(--color-gold-bright);stroke:var(--color-gold-bright)}.filter-input{color:var(--color-white);font-family:var(--font-sans);cursor:pointer;background:0 0;border:none;outline:none;width:100%;font-size:1rem;font-weight:600}.filter-input::placeholder{color:var(--color-white)}.filter-input::-webkit-calendar-picker-indicator{filter:invert()sepia(50%)saturate(1000%)hue-rotate(5deg);cursor:pointer}.filter-divider{background-color:#ffffff26;width:1px;height:40px;padding:5px 10px}.hero-reserve-btn{background-color:var(--color-gold-deep);color:var(--color-white);font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:var(--transition-smooth);border:none;border-radius:20px;align-items:center;gap:.5rem;height:100%;margin-left:2rem;padding:1.1rem 2.2rem;font-size:.8rem;font-weight:600;display:flex}.hero-reserve-btn:hover{background-color:var(--color-gold-bright);color:var(--color-dark);box-shadow:0 5px 15px #eecd5c80}.filter-error-msg{color:#ff6b6b;text-shadow:0 2px 4px #0006;margin-top:.75rem;font-size:.85rem;font-weight:500}.filter-input-group.floating-glass{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffff08;border:1px solid #fff3;border-radius:8px}@media (max-width:800px){.hero-title{min-height:2.3em;font-size:2.2rem}.hero-typewriter-cursor{width:2.5px;margin-left:4px}.hero-description{font-size:1rem}.hero-filter-bar{grid-template-columns:1fr;gap:1rem;padding:1.5rem}.filter-divider{display:none}.hero-reserve-btn{justify-content:center;width:100%;margin-left:0;padding:1rem}.hero-section{height:auto;padding:5rem 0 2.5rem!important}}@media (max-width:480px){.hero-title{min-height:2.5em;font-size:1.65rem;line-height:1.25}.hero-typewriter-cursor{width:2px;margin-left:3px}.hero-tagline{letter-spacing:.2em;font-size:.75rem}}@media screen and (min-width:801px) and (max-width:1440px),screen and (max-height:880px) and (min-width:801px){.hero-section{height:100vh;min-height:540px;padding-top:3.8rem}.hero-content{max-width:720px;margin-top:auto;margin-bottom:1.25rem}.hero-tagline{letter-spacing:.25em;margin-bottom:.75rem;font-size:.78rem}.hero-title{margin-bottom:.75rem;font-size:2.8rem;line-height:1.15}.hero-description{max-width:540px;font-size:1.05rem;line-height:1.45}.hero-filter-container{max-width:820px;margin-bottom:auto}.hero-filter-bar{padding:.65rem 1.25rem}.filter-input-group{padding:.35rem .75rem}.filter-label{margin-bottom:.25rem;font-size:.72rem}.filter-value{font-size:.95rem}.hero-reserve-btn{padding:.75rem 1.75rem;font-size:.82rem}}.about-section{background-color:var(--color-bg);max-width:85%;margin:0 auto;padding:4rem 0}.about-top-row{grid-template-columns:1fr 1fr;align-items:end;gap:4rem;margin-bottom:4rem;display:grid}.about-label{font-family:var(--font-sans);color:var(--color-dark);letter-spacing:2.5px;margin-bottom:.8rem;font-size:.85rem;font-weight:700;display:block}.about-main-title{font-family:var(--font-serif);color:var(--color-gold-deep);text-transform:capitalize;font-size:4rem;font-weight:400;line-height:1.1}.about-title-span{color:var(--color-dark)}.about-desc-col p{font-family:var(--font-sans);color:var(--color-dark);font-size:1.05rem;line-height:1.85}.about-bottom-grid{grid-template-columns:1fr 1.6fr;align-items:center;gap:5rem;display:grid}.about-info-col{flex-direction:column;display:flex}.about-sub-title{font-family:var(--font-serif);color:var(--color-dark);letter-spacing:1px;font-size:2.2rem;font-weight:400}.about-book-stay-line{align-items:center;gap:1rem;width:100%;margin:.8rem 0 2rem;display:flex}.about-book-stay-text{font-family:var(--font-sans);color:var(--color-gold-deep);letter-spacing:1.5px;white-space:nowrap;font-size:.8rem;font-weight:700}.gold-horizontal-line{background-color:var(--color-gold-deep);opacity:.6;flex-grow:1;height:1px}.about-info-desc{font-family:var(--font-sans);color:var(--color-dark);margin-bottom:2.5rem;font-size:1rem;line-height:1.75}.btn-explore-suites{color:var(--color-dark);border:1px solid var(--color-dark);font-family:var(--font-sans);text-transform:uppercase;cursor:pointer;transition:var(--transition-smooth);background-color:#0000;border-radius:24px;width:-moz-fit-content;width:fit-content;padding:.8rem 2rem;font-size:.8rem;font-weight:600}.btn-explore-suites:hover{background-color:var(--color-dark);color:var(--color-bg)}.about-gallery{grid-template-rows:1fr 1fr;grid-template-columns:1.2fr 1fr;gap:1.2rem;width:100%;height:480px;display:grid}.about-gallery-left{border-radius:12px;grid-row:span 2;overflow:hidden}.about-gallery-right-top{border-radius:12px;grid-row:1;overflow:hidden}.about-gallery-right-bottom{border-radius:12px;grid-row:2;overflow:hidden}.about-gallery-img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:var(--transition-smooth);border-radius:12px}.about-gallery-img:hover{transform:scale(1.04)}@media (max-width:1100px){.about-bottom-grid{gap:3rem}.about-gallery{height:420px}}@media (max-width:991px){.about-top-row{gap:2rem;margin-bottom:3rem}.about-bottom-grid{grid-template-columns:1fr;gap:3rem}.about-info-col{max-width:600px}.about-gallery{height:450px}}@media (max-width:768px){.about-section{max-width:90%!important;padding:2.5rem 0!important}.about-top-row{grid-template-columns:1fr;gap:1.5rem;margin-bottom:2rem}.about-main-title{font-size:2.2rem}.about-gallery{grid-template-rows:280px 180px;grid-template-columns:1fr 1fr;gap:.8rem;height:auto}.about-gallery-left{grid-area:1/1/auto/span 2;height:100%}.about-gallery-right-top{grid-area:2/1;height:100%}.about-gallery-right-bottom{grid-area:2/2;height:100%}}.tedy-reveal .tedy-item,.tedy-reveal .about-info-col,.tedy-reveal .about-gallery-left,.tedy-reveal .about-gallery-right-top,.tedy-reveal .about-gallery-right-bottom{opacity:0;transition:opacity 1.4s cubic-bezier(.22,1,.36,1),transform 1.4s cubic-bezier(.22,1,.36,1);transform:translateY(100px)scale(.92)}.tedy-visible .tedy-item,.tedy-visible .about-info-col,.tedy-visible .about-gallery-left,.tedy-visible .about-gallery-right-top,.tedy-visible .about-gallery-right-bottom{opacity:1;transform:translateY(0)scale(1)}.tedy-reveal.tedy-visible .about-info-col{transition-delay:.15s}.tedy-reveal.tedy-visible .about-gallery-left{transition-delay:.3s}.tedy-reveal.tedy-visible .about-gallery-right-top{transition-delay:.45s}.tedy-reveal.tedy-visible .about-gallery-right-bottom{transition-delay:.6s}*{box-sizing:border-box}.listings-section{margin-top:3%;margin-bottom:5%;padding-top:2%;padding-bottom:3%}.bnb-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.bnb-card{color:inherit;cursor:pointer;flex-direction:column;text-decoration:none;transition:opacity .2s;display:flex}.bnb-card:hover{opacity:.95}.bnb-card-image-wrap{aspect-ratio:4/3;background-color:#f0f0e4;border-radius:16px;position:relative;overflow:hidden}.bnb-carousel{scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;width:100%;height:100%;display:flex;overflow-x:auto}.bnb-carousel::-webkit-scrollbar{display:none}.bnb-carousel-slide{scroll-snap-align:start;flex:0 0 100%;height:100%}.bnb-carousel-slide img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.bnb-arrow{z-index:10;cursor:pointer;width:30px;height:30px;color:var(--color-dark);opacity:0;background:#ffffffeb;border:1px solid #0000000f;border-radius:50%;justify-content:center;align-items:center;transition:all .15s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 2px 6px #0000001f}.bnb-card-image-wrap:hover .bnb-arrow{opacity:1}.bnb-arrow:hover{background:#fff;transform:translateY(-50%)scale(1.08);box-shadow:0 3px 10px #0000002e}.bnb-arrow:active{transform:translateY(-50%)scale(.95)}.bnb-arrow:after{content:"";position:absolute;top:-10px;bottom:-10px;left:-10px;right:-10px}.bnb-arrow-prev{left:10px}.bnb-arrow-next{right:10px}.bnb-dots{z-index:10;pointer-events:none;gap:5px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.bnb-dot{background:#ffffff80;border-radius:50%;width:6px;height:6px;transition:all .25s}.bnb-dot.active{background:#fff;transform:scale(1.35)}.bnb-card-info{padding:10px 2px 4px}.bnb-card-header-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.bnb-card-name{font-family:var(--font-serif);margin:0;font-size:1.25rem;font-weight:500;line-height:1.3}.bnb-card-rating{font-family:var(--font-sans);color:var(--color-dark,#1d1912);background:#a3721d14;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.82rem;font-weight:600;display:inline-flex}.name-primary{color:var(--color-dark)}.name-secondary{color:var(--color-gold-deep)}.bnb-card-location,.bnb-card-specs{font-family:var(--font-sans);color:var(--color-muted);margin:2px 0 0;font-size:.88rem;line-height:1.4}.bnb-card-pricing-row{font-family:var(--font-sans);flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:6px;display:flex}.bnb-price-container{align-items:baseline;display:inline-flex}.bnb-price-val{color:var(--color-dark,#1d1912);font-size:1rem;font-weight:700}.bnb-price-unit{color:var(--color-muted,#64748b);font-size:.85rem}.bnb-price-total{color:#8c6014;font-size:.82rem;font-weight:600}.bnb-card-action{font-family:var(--font-sans);color:var(--color-gold-deep,#bb8525);letter-spacing:.2px;align-items:center;gap:6px;margin-top:8px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.bnb-card:hover .bnb-card-action{color:#93651b}.bnb-action-arrow{font-size:1rem;line-height:1;transition:transform .2s;display:inline-block}.bnb-card:hover .bnb-action-arrow{transform:translate(4px)}@media (max-width:1024px){.bnb-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.listings-section{margin-top:1rem!important;margin-bottom:1rem!important;padding-top:0!important;padding-bottom:0!important}.bnb-grid{grid-template-columns:1fr;gap:1.5rem}.bnb-card-image-wrap{aspect-ratio:4/3}.bnb-arrow{opacity:1;width:28px;height:28px}}@media (max-width:480px){.bnb-card-image-wrap{aspect-ratio:4/3;border-radius:12px}}.floating-whatsapp{background-color:var(--color-dark);border:1px solid var(--color-gold-bright);z-index:9999;cursor:pointer;width:60px;height:60px;transition:var(--transition-smooth);border-radius:50%;justify-content:center;align-items:center;display:flex;position:fixed;bottom:2rem;right:2rem;box-shadow:0 10px 25px #1d191240}.wa-svg{width:25px;height:25px;fill:var(--color-gold-bright);transition:var(--transition-smooth)}.floating-whatsapp:hover{background-color:#25d366;border-color:#25d366;transform:scale(1.1)translateY(-3px);box-shadow:0 15px 30px #25d36659}.floating-whatsapp:hover .wa-svg{fill:var(--color-white)}.pulse-ring{border:1px solid var(--color-gold-bright);pointer-events:none;border-radius:50%;width:100%;height:100%;animation:2s ease-out infinite pulse;position:absolute;top:0;left:0}.floating-whatsapp:hover .pulse-ring{border-color:#25d366}.wa-tooltip{background-color:var(--color-dark);color:var(--color-bg);border:1px solid var(--color-border);font-family:var(--font-sans);letter-spacing:.05em;white-space:nowrap;opacity:0;visibility:hidden;transition:var(--transition-smooth);border-radius:4px;padding:.5rem 1rem;font-size:.75rem;font-weight:500;position:absolute;right:80px;transform:translate(10px);box-shadow:0 5px 15px #0000001a}.wa-tooltip:after{content:"";background-color:var(--color-dark);border-right:1px solid var(--color-border);border-top:1px solid var(--color-border);width:8px;height:8px;position:absolute;top:50%;right:-5px;transform:translateY(-50%)rotate(45deg)}.floating-whatsapp:hover .wa-tooltip{opacity:1;visibility:visible;transform:translate(0)}.wa-chat-window{background-color:var(--color-white,#fff);z-index:99999;transform-origin:100% 100%;pointer-events:auto;border-radius:12px;flex-direction:column;width:320px;display:flex;position:fixed;bottom:calc(2rem + 70px);right:2rem;overflow:hidden;box-shadow:0 15px 40px #0003}.wa-chat-header{color:#fff;background-color:#00a884;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.wa-chat-title{font-size:1.1rem;font-weight:600;font-family:var(--font-sans);color:#fff;margin:0}.wa-chat-subtitle{opacity:.9;font-size:.8rem;font-family:var(--font-sans);color:#fff;margin:.25rem 0 0}.wa-close-btn{color:#fff;cursor:pointer;opacity:.8;background:0 0;border:none;padding:0;font-size:1.8rem;line-height:1;transition:opacity .2s}.wa-close-btn:hover{opacity:1}.wa-chat-body{background-color:#efeae2;background-image:url("data:image/svg+xml;utf8,<svg opacity=\"0.05\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 100 100\"><rect width=\"100\" height=\"100\" fill=\"none\"/></svg>");flex-grow:1;min-height:150px;padding:1.5rem 1.25rem}.wa-greeting{color:#111b21;font-size:.95rem;font-family:var(--font-sans);background:#fff;border-radius:0 8px 8px;margin:0;padding:10px 14px;display:inline-block;position:relative;box-shadow:0 1px 2px #0000001a}.wa-greeting:before{content:"";border-top:8px solid #fff;border-left:8px solid #0000;position:absolute;top:0;left:-8px}.wa-chat-footer{background:#f0f2f5;align-items:center;gap:10px;padding:12px;display:flex}.wa-textarea{resize:none;height:44px;font-family:var(--font-sans);box-sizing:border-box;color:#000;pointer-events:auto;background:#fff;border:none;border-radius:20px;outline:none;flex-grow:1;padding:12px 16px;font-size:.95rem;box-shadow:0 1px 1px #0000000d}.wa-textarea::placeholder{color:#8696a0}.wa-send-btn{color:#fff;cursor:pointer;background:#00a884;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;transition:transform .2s,background-color .2s;display:flex;box-shadow:0 1px 2px #0000001a}.wa-send-btn:hover{background:#008f6f;transform:scale(1.05)}.wa-send-btn svg{margin-left:-2px}.pl-overlay{z-index:99999;opacity:1;scrollbar-width:none;-ms-overflow-style:none;-webkit-user-select:none;user-select:none;pointer-events:auto;background-color:#f3f3e6;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .7s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.pl-overlay::-webkit-scrollbar{width:0;height:0;display:none}.pl-exit{opacity:0;pointer-events:none}.pl-brand{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.pl-wordmark{letter-spacing:.02em;justify-content:center;align-items:baseline;margin:0;padding:0;font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(2.4rem,6.5vw,4rem);font-weight:400;line-height:1.1;display:inline-flex}.pl-lulu{color:#1d1912;font-style:normal}.pl-space{display:inline}.pl-aurelian{color:#b8892a;font-style:italic}.pl-cursor{vertical-align:-.04em;background-color:#b8892a;border-radius:1px;width:2px;height:.88em;margin-left:3px;animation:.65s ease-in-out infinite pl-cursor-blink;display:inline-block}@keyframes pl-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.pl-cursor-done{animation:.65s ease-in-out 2 pl-cursor-blink,.35s .6s forwards pl-cursor-fade}@keyframes pl-cursor-fade{to{opacity:0}}.pl-tagline{letter-spacing:.18em;text-transform:uppercase;color:#1d1912;white-space:nowrap;margin-top:18px;margin-bottom:0;padding:0;font-family:Montserrat,Poppins,sans-serif;font-size:clamp(.84rem,2vw,1.12rem);font-weight:600;animation:.9s cubic-bezier(.22,1,.36,1) both pl-tagline-reveal}@keyframes pl-tagline-reveal{0%{opacity:0;letter-spacing:.26em;transform:translateY(10px)}to{opacity:1;letter-spacing:.18em;transform:translateY(0)}}
