:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-heading: "Cormorant Garamond", serif;--font-body: "Montserrat", sans-serif;--color-bg-light: #e5e5e5;--color-bg-dark: #24242a;--color-primary: #7c4d6a;--color-accent: #bfa2c7;--color-text-light: #222;--color-text-dark: #fff}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{font-family:var(--font-body);background-color:var(--color-bg-light);color:var(--color-text-light);margin:0;min-width:320px;min-height:100vh;transition:background .3s,color .3s}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);margin:0}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}[data-theme=dark]{background-color:var(--color-bg-dark);color:var(--color-text-dark)}#root{max-width:100%;margin:0;padding:0;text-align:center;overflow-x:hidden}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.section-content{max-width:100%;margin:0 auto;padding:0 32px;box-sizing:border-box;display:flex;flex-direction:column;align-items:center;width:100%}.rooms-section,.amenities-section,.location-section,.reviews-section{width:100%;padding:70px 0;position:relative;margin:0}.header-section{background:linear-gradient(#7c4d6ab3,#bfa2c780),url(https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=1200&q=80) center/cover no-repeat;color:var(--color-text-dark);padding:4rem 0 2rem;text-align:center;border-radius:0 0 2rem 2rem;position:relative}.header-section h1{font-size:3.5rem;letter-spacing:.1em;color:#fff}.header-section .tagline{font-size:1.5rem;color:var(--color-accent);margin-bottom:.5rem}.header-section .location{font-size:1.1rem;color:#fff;margin-bottom:1.5rem}.theme-toggle{position:absolute;top:1.5rem;right:2rem;background:var(--color-primary);color:#fff;border:none;padding:.5rem 1.2rem;border-radius:2rem;cursor:pointer;font-size:1rem;transition:background .2s}.theme-toggle:hover{background:var(--color-accent);color:var(--color-primary)}.rooms-section{width:100%;background:#ede7de;padding:4rem 0;text-align:center;margin:0;position:relative}.section-title{font-family:var(--font-heading),serif;color:#6b4c2b;font-size:3rem;margin-bottom:3rem;letter-spacing:.04em;text-align:center;font-weight:400}.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;justify-content:center;align-items:stretch;width:100%;max-width:1200px;margin:0 auto;padding:0 2vw;justify-items:center;box-sizing:border-box}.room-card{background:#fff;border:none;border-radius:.3rem;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 32px #6b4c2b1a;transition:transform .2s,box-shadow .2s;cursor:pointer}.room-card:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 16px 48px #6b4c2b29}.room-card img{width:100%;height:180px;object-fit:cover;border-bottom:1.5px solid #6b4c2b}.room-details{padding:1.5rem 1.2rem 1.2rem;display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;background:#fff}.room-info-row{font-family:var(--font-body),sans-serif;font-size:.95rem;color:#6b4c2b;margin-bottom:.5rem;letter-spacing:.01em}.room-name{font-family:var(--font-heading),serif;color:#6b4c2b;font-size:1.35rem;margin-bottom:.3rem;letter-spacing:.04em;font-weight:400}.room-price-row{font-family:var(--font-body),sans-serif;font-size:1rem;color:#6b4c2b;margin-top:.2rem}.room-price{color:#7c4d6a;font-family:var(--font-body);font-size:1.15rem;font-weight:700;letter-spacing:.03em}.room-info{padding:1.2rem;text-align:left;position:relative}.room-info h3{color:var(--color-primary);font-size:1.3rem;margin-bottom:.3rem}.room-info p{font-size:1rem;margin-bottom:.5rem}.room-info span{font-weight:700;color:var(--color-primary)}.book-arrow{position:absolute;right:1.2rem;bottom:1.2rem;font-size:2rem;color:var(--color-accent);text-decoration:none;transition:color .2s,transform .2s}.book-arrow:hover{color:var(--color-primary);transform:translate(6px) scale(1.2)}.amenities-section{background:#ede7de;padding:4rem 0;text-align:center;position:relative}.amenities-section:before{display:none}.amenities-section .section-title{font-family:var(--font-heading),serif;color:#6b4c2b;font-size:3rem;margin-bottom:3rem;letter-spacing:.04em;text-align:center;font-weight:400}.amenities-bg{position:relative;z-index:2}.amenities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;max-width:1200px;margin:0 auto;margin-top:2.5rem;padding:0 2vw}.amenities-grid div{background:#fff;border:none;border-radius:.3rem;padding:2.2rem 1.2rem;color:#6b4c2b;font-family:var(--font-body),sans-serif;font-size:1.15rem;font-weight:600;letter-spacing:.02em;text-align:center;box-shadow:0 8px 32px #6b4c2b1a;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:box-shadow .2s,background .2s,border .2s,transform .15s;cursor:pointer}.amenities-grid div:hover,.amenities-grid div:focus{background:#f8f6f3;border:none;box-shadow:0 16px 48px #6b4c2b29;transform:scale(1.03)}.amenity-icon{margin-bottom:1.2rem}@media(max-width:900px){.amenities-grid{grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.2rem;padding:0 1vw}}@media(max-width:600px){.amenities-grid{grid-template-columns:1fr;gap:1rem;margin-top:.7rem;padding:0 .5vw}.amenities-section .section-title{font-size:2rem;margin-bottom:1.5rem}}.location-section{background:#f3f3f3;padding:4rem 0;text-align:center;position:relative}.location-section:before{display:none}.location-section .section-title{font-family:var(--font-heading),serif;color:#6b4c2b;font-size:3rem;margin-bottom:3rem;letter-spacing:.04em;text-align:center;font-weight:400}.location-content{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;max-width:1200px;margin:0 auto;margin-bottom:2.5rem;padding:0 2vw}.map-container,.location-info-stack{background:#fff;border:none;border-radius:.3rem;box-shadow:0 8px 32px #6b4c2b1a;padding:2rem 1.2rem;display:flex;flex-direction:column;align-items:center;justify-content:center}.map-container iframe{width:100%;height:260px;border-radius:.3rem;border:none;display:block}.address-box,.address-box *,.address-meta,.meta-item,.meta-text{color:#3a2a13!important}.address-title{font-family:var(--font-heading),serif;font-size:1.5rem;color:#3a2a13;margin-bottom:.7rem;letter-spacing:.04em}.address-details{font-size:1.1rem;color:#3a2a13;margin-bottom:1.1rem;opacity:.9}.address-meta{display:flex;gap:1.2rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid #e0d6c3;justify-content:center;align-items:center;text-align:center}.meta-item{display:flex;align-items:center;gap:.7rem;color:#3a2a13}.meta-icon{font-size:1.3rem;color:#3a2a13}.meta-item svg{stroke:#3a2a13}.address-box .waze-link{color:#3a2a13;background:#fff;border:1.5px solid #3a2a13;border-radius:0;font-weight:600;font-size:1rem;font-family:var(--font-body),sans-serif;padding:.5em 1.2em;margin:.5rem 0;box-shadow:none;text-decoration:none;transition:background .2s,color .2s,box-shadow .2s,transform .15s;display:inline-block}.address-box .waze-link:hover,.address-box .waze-link:focus{background:#ede7de;color:#3a2a13;box-shadow:0 4px 16px #6b4c2b14;transform:scale(1.04)}.nearby-attractions{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;max-width:1200px;margin-left:auto;margin-right:auto;margin-top:2.5rem;margin-bottom:0;padding:0;width:100%;box-sizing:border-box}.nearby-attractions h3{font-family:var(--font-heading),serif;font-size:2rem;color:#3a2a13;margin-bottom:0;text-align:center;width:100%}.nearby-attractions-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;width:100%;max-width:1000px;margin-left:auto;margin-right:auto;padding:0;box-sizing:border-box;justify-items:stretch}.attraction-item{background:#fff;border:none;border-radius:.3rem;padding:1.5rem 1.2rem;color:#3a2a13;box-shadow:0 8px 32px #6b4c2b1a;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;font-family:var(--font-body),sans-serif;font-size:1rem;font-weight:500;letter-spacing:.01em;text-align:left;transition:box-shadow .2s,background .2s,border .2s,transform .15s}.attraction-item:hover,.attraction-item:focus{background:#ede7de;border:none;box-shadow:0 16px 48px #6b4c2b29;transform:scale(1.03)}.attraction-icon{margin-bottom:.7rem;color:#3a2a13}.attraction-item svg{stroke:#3a2a13}.attraction-name{font-size:1.08rem;font-weight:600;color:#3a2a13;margin-bottom:.3rem;text-align:center}.attraction-distance{font-size:.95rem;opacity:.85;color:#3a2a13;text-align:center}@media(max-width:900px){.nearby-attractions{padding:0;width:100%}.nearby-attractions-grid{grid-template-columns:1fr 1fr;gap:1.5rem;max-width:100%;padding:0}}@media(max-width:600px){.nearby-attractions-grid{grid-template-columns:1fr;gap:1.5rem}}.reviews-section{background:#e5e5e5;padding:5rem 0;text-align:center}.reviews-header-row{display:flex;flex-direction:column;align-items:center;justify-content:center;margin-bottom:3rem}.reviews-section .section-title{color:#222;font-size:3.2rem;text-align:center;margin-bottom:.7rem;letter-spacing:.04em}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 2.5rem;justify-content:center;align-items:stretch;max-width:1100px;margin:0 auto}.review-card{background:#fff;border-radius:1.2rem;padding:2.2rem;color:var(--color-primary);box-shadow:0 2px 12px #7c4d6a0f;min-width:220px;max-width:350px;font-size:1.15rem;font-style:italic;display:flex;flex-direction:column;align-items:flex-start;border:1.5px solid #ddd;margin:0 auto}.review-card span{font-size:1rem;font-style:normal;font-weight:700;margin-top:1.2rem;color:#7c4d6a}@media(max-width:1100px){.reviews-grid{grid-template-columns:1fr 1fr;gap:1.5rem 1.5rem}}@media(max-width:700px){.reviews-section{padding:2.5rem 0}.reviews-grid{grid-template-columns:1fr;gap:1rem 0;max-width:98vw}.review-card{padding:1.2rem 1rem;min-width:0;max-width:100vw}}[data-theme=dark] .header-section{background:linear-gradient(#7c4d6acc,#24242acc),url(https://images.unsplash.com/photo-1506744038136-46273834b3fb?auto=format&fit=crop&w=1200&q=80) center/cover no-repeat;color:#fff}[data-theme=dark] .room-card,[data-theme=dark] .amenities-grid div,[data-theme=dark] .address-box,[data-theme=dark] .review-card,[data-theme=dark] .host-info{background:#2d2d34;color:var(--color-accent)}[data-theme=dark] .room-info h3,[data-theme=dark] .reviews-section h2,[data-theme=dark] .rooms-section h2,[data-theme=dark] .amenities-section h2,[data-theme=dark] .location-section h2,[data-theme=dark] .book-arrow{color:var(--color-accent)}[data-theme=dark] .book-arrow:hover{color:#fff}@media(max-width:1200px){.rooms-grid{gap:2rem;padding:0 2rem;max-width:100%}.room-card{width:100%;max-width:420px;min-height:420px}.section-title{font-size:2.5rem;text-align:center;margin-bottom:2.5rem}.section-content{padding:0 2rem}}@media(max-width:900px){.rooms-grid{grid-template-columns:1fr;gap:2rem;padding:0 1.5rem;max-width:600px;margin:0 auto}.room-card{max-width:100%;width:100%;margin:0 auto}.section-title{font-size:2.2rem;margin-bottom:2rem;text-align:center}.section-content{padding:0 1.5rem}}@media(max-width:700px){.rooms-grid{grid-template-columns:1fr;gap:2rem;padding:0 1rem;max-width:100%}.room-card{max-width:100%;margin:0 auto;width:100%}.section-title{font-size:2rem;margin-bottom:2rem;text-align:center}.section-content{padding:0 1rem}.location-content{grid-template-columns:1fr;gap:2rem;display:flex;flex-direction:column;align-items:center}.map-container,.location-info-stack{width:100%;max-width:400px}.nearby-attractions-grid{grid-template-columns:1fr!important;gap:1.5rem;width:100%}.attraction-item{padding:1.5rem;width:100%}}@media(max-width:600px){.header-section{padding:2rem 0 1rem}.rooms-grid{gap:1.5rem;padding:0 1rem}.room-card{max-width:100%;width:100%}.section-content{padding:0 1rem}.rooms-section,.amenities-section,.location-section,.reviews-section{padding:3rem 0}.nearby-attractions{padding:0;width:100%;margin:2rem auto 0}.nearby-attractions-grid{grid-template-columns:1fr!important;gap:1.5rem;width:100%;padding:0}.attraction-item{padding:1.5rem;width:100%}.map-container,.location-info-stack{width:100%}}body,#root{margin:0;padding:0;width:100%;max-width:100%;background:none;box-sizing:border-box;overflow-x:hidden}body.sticky-header-visible .main-content{margin-top:0}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hero-section{width:100%;min-height:100vh;background:url("/Arte-Plus-Klcc-By-Dreamscape-Apartment-Kuala-Lumpur-Exterior%20(1).jpg") center/cover no-repeat;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow-x:hidden;animation:fadeIn 1.5s ease-out}.hero-overlay{width:100%;min-height:unset;height:100%;background:#24242a8c;display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;inset:0;padding:0;text-align:center}.hero-welcome{font-family:var(--font-body),sans-serif;font-size:1.2rem;letter-spacing:.25em;margin-bottom:.8rem;font-weight:600;color:#fff;text-transform:uppercase;animation:fadeInUp 1s ease-out .3s both}.hero-main-title{font-family:var(--font-heading),serif;font-size:6.5rem;letter-spacing:.05em;line-height:1.1;margin:.8rem 0;font-weight:600;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3);text-align:center;animation:fadeInUp 1s ease-out .6s both}.hero-subtitle{font-family:var(--font-heading),serif;font-size:2.5rem;letter-spacing:.1em;margin-bottom:2rem;font-weight:500;color:#fff;animation:fadeInUp 1s ease-out .9s both}.hero-book-link-container{display:block;text-align:center;margin-top:2rem;animation:fadeInUp 1s ease-out 1.2s both}.hero-book-link{display:inline-block;background:#fff;color:#000!important;border:none;border-radius:0;padding:.9rem 2.5rem;font-size:1.2rem;font-family:var(--font-body),sans-serif;font-weight:700;letter-spacing:.15em;text-decoration:none;text-transform:uppercase;transition:background .2s,color .2s;margin:0 auto;width:auto;min-width:unset;max-width:unset;box-shadow:none;text-align:center;vertical-align:middle}.hero-book-link:hover{background:#f7f7f7;color:#7c4d6a!important}@media(max-width:768px){.hero-section{min-height:70vh}.hero-main-title{font-size:4rem}.hero-subtitle{font-size:1.8rem}.hero-welcome{font-size:1.1rem}}@media(max-width:480px){.hero-main-title{font-size:3rem}.hero-subtitle{font-size:1.5rem}.hero-welcome{font-size:1rem}}.hero-header{width:100%;max-width:1200px;margin:0 auto;position:relative;padding:0 32px;box-sizing:border-box}.hero-header-row{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:1800px;margin:0 auto;color:#fff;font-family:var(--font-body);font-size:1.5rem;margin-bottom:3.5rem;padding-bottom:2.5rem;padding-left:4vw;padding-right:4vw;box-sizing:border-box}.hero-title{font-family:var(--font-heading);font-size:2.7rem;letter-spacing:.08em;text-align:center;flex:1}.hero-location{flex:1;text-align:left}.hero-tagline{flex:1;text-align:center}.hero-book-link{flex:1;text-align:right;color:#fff;font-weight:500;text-decoration:none;font-size:1.3rem;letter-spacing:.04em;transition:color .2s}.hero-book-link .arrow{font-size:1.3em;margin-left:.2em}.hero-book-link:hover{color:#bfa2c7}.hero-book-link.hero-book-link-bottom{position:absolute;bottom:2.5rem;right:4vw;z-index:2}.hero-title{display:none}.sticky-header{position:fixed;bottom:2.5rem;left:50%;transform:translate(-50%);width:600px;max-width:95%;height:64px;background:#ffffffa6;backdrop-filter:blur(12px);border-radius:2rem;display:flex;align-items:center;justify-content:center;z-index:2000;box-shadow:0 8px 32px #24242a1f;border:1.5px solid rgba(124,77,106,.12);animation:fadeInStickyHeader .5s ease;pointer-events:auto;padding:0 2rem;box-sizing:border-box}@media(max-width:600px){.sticky-header{width:95%;min-width:0;max-width:95%;left:50%;transform:translate(-50%);top:1rem;border-radius:1.2rem;padding:0 .5rem;box-sizing:border-box}}.sticky-header+.hero-section{margin-top:0}@keyframes fadeInStickyHeader{0%{opacity:0;transform:translate(-50%) translateY(-20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.sticky-title{flex:1;text-align:center;font-family:var(--font-heading);font-size:1.7rem;color:#7c4d6a;font-weight:700;letter-spacing:.08em}.sticky-book-link{color:#fff;background:linear-gradient(90deg,#7c4d6a 60%,#bfa2c7);font-weight:600;text-decoration:none;font-size:1.1rem;letter-spacing:.04em;padding:.5em 1.4em;border-radius:2em;box-shadow:0 2px 8px #7c4d6a1a;transition:background .2s,color .2s,box-shadow .2s;border:none;display:flex;align-items:center;gap:.3em;margin-left:auto}.sticky-book-link .arrow{font-size:1.2em;margin-left:.2em}.sticky-book-link:hover{background:linear-gradient(90deg,#bfa2c7,#7c4d6a);color:#fff;box-shadow:0 4px 16px #7c4d6a2e}.sticky-spacer{display:none}body.sticky-header-visible .main-content,body.sticky-header-visible .hero-section{margin-top:0}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#24242aa6;z-index:1500;display:flex;align-items:center;justify-content:center;transition:background .3s}.modal-bubbles-center{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:2.5rem;z-index:1600}@media(max-width:900px){.modal-bubbles-center{flex-direction:column;gap:1.2rem}}.modal-float-card,.modal-float-row{display:none!important}.modal-bubbles{display:flex;flex-direction:column;gap:1.2rem;margin-top:1.2rem}.modal-bubble{background:#fffffff2;border-radius:1.5rem;box-shadow:0 4px 16px #7c4d6a1a;padding:1.1rem 2rem 1.1rem 1.5rem;display:flex;align-items:center;justify-content:space-between;min-width:220px;max-width:260px;font-family:var(--font-body);font-size:1.1rem;color:#7c4d6a;font-weight:600;letter-spacing:.01em;transition:box-shadow .2s,background .2s,transform .15s;cursor:pointer;text-decoration:none;outline:none;border:none}.modal-bubble:hover,.modal-bubble:focus{box-shadow:0 8px 32px #7c4d6a2e;background:#f7f2fa;color:#7c4d6a;transform:scale(1.04)}.bubble-name{flex:1}.bubble-arrow{color:#7c4d6a;font-size:1.5rem;text-decoration:none;margin-left:1.2rem;transition:color .2s,transform .2s}.bubble-arrow:hover{color:#bfa2c7;transform:translate(6px) scale(1.2)}@media(max-width:900px){.modal-bubbles{flex-direction:row;gap:1rem;margin-top:0}}@media(max-width:600px){.modal-bubble{min-width:0;max-width:98vw;padding:1rem;font-size:1rem}}.nearby-attractions{margin-top:1.2rem;max-width:1100px;width:100%;position:relative;z-index:2}.intro-suite-section{width:100%;background:#f8f6f3;padding:4rem 0 3rem;display:flex;justify-content:center}.intro-suite-container{display:flex;flex-direction:row;align-items:center;justify-content:center;max-width:1100px;width:100%;gap:3rem;margin:0 auto;padding:0 2rem}.intro-suite-text{flex:1 1 0;text-align:left}.intro-suite-title{font-family:var(--font-heading),serif;font-size:2.7rem;color:#6b4c2b;font-weight:400;margin-bottom:2rem;line-height:1.1}.intro-suite-desc{font-family:var(--font-body),sans-serif;font-size:1rem;color:#222;margin-bottom:0;line-height:1.6}.intro-suite-image-wrapper{flex:1 1 0;display:flex;align-items:center;justify-content:center}.intro-suite-image{width:480px;height:480px;object-fit:cover;border-radius:.5rem;background:#fff;box-sizing:border-box}@media(max-width:900px){.intro-suite-container{flex-direction:column;gap:2rem;padding:0 1rem}.intro-suite-image{width:100%;max-width:480px;height:auto;aspect-ratio:1/1}.intro-suite-title{font-size:2rem}}@keyframes fadeInModal{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-fade-in{animation:fadeInModal .35s cubic-bezier(.4,0,.2,1) both}@keyframes fadeInAmenity{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-in-amenity{opacity:0;animation:fadeInAmenity .7s cubic-bezier(.4,0,.2,1) forwards}.waze-icon{display:inline-flex;align-items:center;vertical-align:middle;margin-right:.5em}.waze-icon svg{display:inline-block;vertical-align:middle;margin-right:.3em;margin-bottom:2px}
