:root{--primary: #1a1a1a;--accent: #d4af37;--text: #e0e0e0;--bg: #0b0b0b;--font-head: "Cormorant Garamond", serif;--font-body: "Montserrat", sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg);color:var(--text);font-family:var(--font-body);overflow-x:hidden;-webkit-font-smoothing:antialiased}body.loading{overflow:hidden;height:100vh}h1,h2,h3,h4{font-family:var(--font-head);font-weight:400}a{text-decoration:none;color:inherit}input,textarea,button,select{font-family:inherit;outline:none}ul{list-style:none}.loader-wrapper{position:fixed;top:0;left:0;width:100%;height:100%;background-color:var(--bg);z-index:9999;display:flex;justify-content:center;align-items:center;flex-direction:column}.loader-container{text-align:center;width:300px;height:300px;display:flex;flex-direction:column;justify-content:center;align-items:center}svg.hotel-svg{width:150px;height:auto;overflow:visible}.building-path{fill:none;stroke:var(--accent);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:400;stroke-dashoffset:400}.window{fill:var(--accent);opacity:0}.loading-text{margin-top:25px;color:var(--accent);font-family:var(--font-head);font-size:14px;letter-spacing:4px;text-transform:uppercase;opacity:0}nav{position:fixed;top:0;width:100%;padding:1.5rem 3rem;display:flex;justify-content:space-between;align-items:center;z-index:1000;transition:all .4s ease}nav.scrolled{background:#0b0b0bd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:1rem 3rem;border-bottom:1px solid rgba(255,255,255,.05)}.logo{font-size:1.5rem;letter-spacing:2px;font-weight:600;color:var(--text);z-index:1001}.nav-links{display:flex;gap:2.5rem}.nav-links li{opacity:0;transform:translateY(-10px)}.nav-links a{font-size:.85rem;text-transform:uppercase;letter-spacing:1px;color:#ccc;position:relative;transition:color .3s}.nav-links a:hover{color:var(--accent)}.nav-links a:after{content:"";position:absolute;width:0;height:1px;bottom:-5px;left:0;background:var(--accent);transition:width .3s}.nav-links a:hover:after{width:100%}.hamburger{display:none;cursor:pointer;z-index:1002;width:30px;height:20px;position:relative}.hamburger span{display:block;position:absolute;height:2px;width:100%;background:var(--text);border-radius:2px;opacity:1;left:0;transform-origin:center;transition:.3s ease-in-out}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:9px}.hamburger span:nth-child(3){top:18px}.hamburger.open span:nth-child(1){top:9px;transform:rotate(135deg);background:var(--accent)}.hamburger.open span:nth-child(2){opacity:0;left:-60px}.hamburger.open span:nth-child(3){top:9px;transform:rotate(-135deg);background:var(--accent)}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background:#0f0f0f;z-index:1001;display:flex;flex-direction:column;justify-content:center;align-items:center;opacity:0;visibility:hidden;pointer-events:none}.mobile-menu a{font-family:var(--font-head);font-size:3rem;margin:1rem 0;color:var(--text);opacity:0;transform:translateY(20px);transition:color .3s}.mobile-menu a:hover{color:var(--accent)}.cta-btn{border:1px solid var(--accent);padding:.6rem 1.8rem;color:var(--accent);background:transparent;text-transform:uppercase;font-size:.75rem;letter-spacing:1.5px;font-weight:500;cursor:pointer;position:relative;overflow:hidden;z-index:1;transition:color .4s ease}.cta-btn:before{content:"";position:absolute;top:0;left:0;width:0;height:100%;background:var(--accent);z-index:-1;transition:width .4s cubic-bezier(.19,1,.22,1)}.cta-btn:hover:before{width:100%}.cta-btn:hover{color:var(--primary);box-shadow:0 0 20px #d4af3766}.hero{height:100vh;width:100%;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;overflow:hidden}.hero-bg-container{position:absolute;top:0;left:0;width:100%;height:120%;z-index:-1;overflow:hidden}.hero-bg{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}.hero-content{z-index:2;padding:0 2rem}.hero-content h1{font-size:clamp(3rem,6vw,6rem);line-height:1.25;margin-bottom:1.5rem}.reveal-text{overflow:hidden;display:block;padding-bottom:10px}.reveal-text span{display:block;transform:translateY(100%)}.hero-content p{font-size:clamp(.9rem,1.5vw,1.2rem);letter-spacing:4px;text-transform:uppercase;opacity:0;transform:translateY(20px);color:#bbb}.concept{height:100vh;display:flex;justify-content:center;align-items:center;position:relative;padding:2rem;overflow:hidden;background-color:var(--bg)}.concept-bg-wrapper{position:absolute;top:0;left:0;width:100%;height:100%;z-index:-1}.concept-bg{width:100%;height:100%;object-fit:cover;filter:grayscale(100%) brightness(.4);transform:scale(1.1);opacity:0}.concept-text{max-width:700px;text-align:center;z-index:2;opacity:0}.concept-text h2{font-size:3rem;margin-bottom:1.5rem;color:var(--accent)}.concept-text p{font-size:1.5rem;line-height:1.6;font-family:var(--font-head);color:#ddd}.accommodations-wrapper{width:100%;height:100vh;overflow:hidden;position:relative}.horizontal-container{display:flex;width:300%;height:100%}.room-card{width:100vw;height:100vh;display:flex;position:relative;border-right:1px solid rgba(255,255,255,.05);flex-shrink:0}.room-img{width:60%;height:100%;overflow:hidden}.room-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.room-card:hover .room-img img{transform:scale(1.05)}.room-info{width:40%;display:flex;flex-direction:column;justify-content:center;padding:5rem;background:#111;z-index:2;position:relative}.room-info h3{font-size:3.5rem;margin-bottom:1.5rem;color:var(--text);line-height:1}.room-info h4{font-family:var(--font-body);font-size:.9rem;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin-bottom:1rem}.room-features li{margin-bottom:.8rem;display:flex;align-items:center;font-size:1rem;color:#888}.room-features li:before{content:"";width:6px;height:6px;background:var(--accent);border-radius:50%;margin-right:15px;display:inline-block}.amenities{padding:8rem 4rem;background:#0a0a0a;position:relative;z-index:2}.section-header{text-align:center;margin-bottom:5rem}.section-header h2{font-size:3rem;color:var(--accent);margin-bottom:1rem}.amenities-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4rem;max-width:1200px;margin:0 auto}.amenity-item{opacity:0;transform:translateY(30px);padding:2rem;border:1px solid rgba(255,255,255,.05);transition:border-color .3s}.amenity-item:hover{border-color:#d4af374d}.amenity-icon{font-size:2rem;color:var(--accent);margin-bottom:1.5rem;display:inline-block}.culinary{height:80vh;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.culinary-bg{position:absolute;width:100%;height:140%;top:-20%;object-fit:cover;z-index:-1;filter:brightness(.6)}.culinary-content{background:#0009;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:4rem 6rem;border:1px solid rgba(212,175,55,.3);text-align:center}.culinary-content h2{font-size:4rem;margin-bottom:2rem}.gallery-section{padding:8rem 4rem;background:#0f0f0f;position:relative;z-index:2}.gallery-grid{column-count:3;column-gap:2rem;max-width:1400px;margin:0 auto}.gallery-item{break-inside:avoid;margin-bottom:2rem;position:relative;cursor:pointer;overflow:hidden}.gallery-item img{width:100%;height:auto;display:block;transition:transform .5s ease;border-radius:2px}.gallery-item:hover img{transform:scale(1.05)}.gallery-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;opacity:0;transition:opacity .3s;display:flex;align-items:center;justify-content:center}.gallery-item:hover .gallery-overlay{opacity:1}.gallery-overlay span{color:#fff;font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase;font-size:.8rem;border:1px solid #fff;padding:.5rem 1rem}.lightbox{position:fixed;top:0;left:0;width:100%;height:100vh;background:#000000f2;z-index:2000;display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:.3s}.lightbox.active{opacity:1;visibility:visible;pointer-events:all}.lightbox img{max-width:90%;max-height:90vh;box-shadow:0 0 50px #00000080}.lightbox-close{position:absolute;top:2rem;right:2rem;color:#fff;font-size:2rem;cursor:pointer}.testimonials{padding:8rem 0;background:#080808;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.05);position:relative;z-index:2}.marquee-track{display:flex;white-space:nowrap;width:fit-content}.marquee-text{font-family:var(--font-head);font-size:clamp(3rem,5vw,5rem);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.2);padding-right:4rem;font-style:italic}.marquee-text span{color:var(--accent);-webkit-text-stroke:0px;font-size:.5em;vertical-align:middle;font-family:var(--font-body);letter-spacing:2px;text-transform:uppercase}.contact-section{padding:6rem 4rem;display:flex;gap:5rem;background:#0f0f0f;position:relative;z-index:2;min-height:90vh}.contact-details{flex:1}.contact-details h2{font-size:3rem;color:var(--accent);margin-bottom:2rem}.contact-info-block{margin-bottom:2rem}.contact-info-block h4{color:#666;text-transform:uppercase;font-size:.8rem;letter-spacing:2px;margin-bottom:.5rem}.contact-info-block p{font-size:1.2rem}.social-icons{display:flex;gap:1.5rem;margin-top:1rem;margin-bottom:2rem}.social-icon{width:24px;height:24px;fill:#666;transition:fill .3s;cursor:pointer}.social-icon:hover{fill:var(--accent)}.contact-form{margin-top:1rem;display:flex;flex-direction:column;gap:2rem}.form-group{position:relative}.form-input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(255,255,255,.2);padding:10px 0;color:#fff;font-size:1rem;transition:border-color .3s}.form-input:focus{border-bottom-color:var(--accent)}.map-wrapper{flex:1;height:500px;border:1px solid rgba(255,255,255,.1);padding:2rem;align-self:center}.map-svg{width:100%;height:100%}path.route-line{stroke-dasharray:1000;stroke-dashoffset:1000}.main-content-wrapper{position:relative;z-index:2;margin-bottom:50vh;background:var(--bg);box-shadow:0 50px 50px #000}footer{position:fixed;bottom:0;left:0;width:100%;height:50vh;background:#050505;z-index:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:2rem}.footer-logo{font-family:var(--font-head);font-size:3rem;color:var(--accent);margin-bottom:2rem}.footer-links a{margin:0 1.5rem;color:#666;text-transform:uppercase;letter-spacing:1px;font-size:.8rem;transition:.3s}.footer-links a:hover{color:var(--accent)}.footer-bottom{margin-top:4rem;font-size:.8rem;color:#333}.booking-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:3000;display:flex;justify-content:center;align-items:center;opacity:0;visibility:hidden;pointer-events:none;transition:.4s ease}.booking-modal.active{opacity:1;visibility:visible;pointer-events:all}.modal-content{background:#111;border:1px solid var(--accent);padding:3rem;width:90%;max-width:500px;position:relative;transform:scale(.9);transition:.4s ease}.booking-modal.active .modal-content{transform:scale(1)}.close-modal{position:absolute;top:1rem;right:1rem;color:#fff;font-size:1.5rem;cursor:pointer}.modal-title{font-family:var(--font-head);font-size:2.5rem;color:var(--accent);text-align:center;margin-bottom:2rem}.booking-form{display:flex;flex-direction:column;gap:1.5rem}.date-group{display:flex;gap:1rem}.booking-input{width:100%;background:#222;border:1px solid #333;color:#fff;padding:1rem;border-radius:4px;font-size:.9rem}.booking-input:focus{border-color:var(--accent)}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);cursor:pointer}@media(max-width:1024px){.horizontal-container{width:100%;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.room-card{min-width:100vw;height:100vh;flex-direction:column;border-right:none;scroll-snap-align:start}.amenities-grid{grid-template-columns:1fr}.accommodations-wrapper{height:100vh;width:100%;overflow:hidden}.horizontal-container{width:100%;display:flex;flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}.room-card{min-width:100vw;width:100vw;height:100vh;flex-shrink:0;flex-direction:column;border-right:none;scroll-snap-align:start}.room-img{width:100%;height:50vh}.room-info{width:100%;height:50vh;padding:2rem}.room-info h3{font-size:2.5rem;margin-bottom:.5rem}.room-features li{margin-bottom:.5rem;font-size:.9rem}.room-info h4{margin-bottom:.5rem}.contact-section{flex-direction:column;gap:3rem}.map-wrapper{width:100%;height:350px}.gallery-grid{column-count:2}.nav-links{display:none}.hamburger{display:block}@media(max-width:768px){nav{padding:1rem}.hero-content h1{font-size:3rem}.contact-section,.gallery-section,.amenities{padding:4rem 1.5rem}.main-content-wrapper{margin-bottom:0}footer{position:relative;height:auto;padding:4rem 1rem;z-index:2}.marquee-text{font-size:2.5rem}.gallery-grid{column-count:1}.modal-content{padding:2rem;width:95%}.date-group{flex-direction:column}}}
