:root{--gold:#b8976a;--gold-light:#d4b896;--dark:#0e0e0e;--dark2:#161616;--dark3:#1e1e1e;--off-white:#f5f0ea;--muted:#888;--light:#ccc;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}
body{background:var(--dark);color:var(--off-white);font-family:'Jost',sans-serif;font-weight:300;overflow-x:hidden;}
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:22px 48px;background:linear-gradient(to bottom,rgba(14,14,14,.95),transparent);transition:background .4s;}
nav.scrolled{background:rgba(14,14,14,.97);}
.nav-logo{font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:400;letter-spacing:.15em;color:var(--gold);text-decoration:none;}
.nav-links{display:flex;gap:32px;list-style:none;}
.nav-links a{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--light);text-decoration:none;transition:color .3s;}
.nav-links a:hover{color:var(--gold);}
.nav-cta{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--dark);background:var(--gold);padding:10px 22px;text-decoration:none;transition:background .3s;}
.nav-cta:hover{background:var(--gold-light);}
.hero{position:relative;height:100vh;min-height:700px;display:flex;align-items:flex-end;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center 40%;transform:scale(1.05);animation:hZoom 8s ease-out forwards;}
@keyframes hZoom{from{transform:scale(1.05);}to{transform:scale(1);}}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(14,14,14,.92) 0%,rgba(14,14,14,.3) 50%,rgba(14,14,14,.1) 100%);}
.hero-content{position:relative;z-index:2;padding:0 80px 80px;max-width:760px;animation:fadeUp 1.2s ease-out .3s both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.hero-tag{font-size:.68rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;display:flex;align-items:center;gap:12px;}
.hero-tag::before{content:'';width:40px;height:1px;background:var(--gold);display:block;}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(3.5rem,7vw,6rem);font-weight:300;line-height:1;margin-bottom:8px;}
.hero-title em{font-style:italic;color:var(--gold-light);}
.hero-sub{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:36px;}
.hero-stats{display:flex;gap:48px;border-top:1px solid rgba(184,151,106,.25);padding-top:28px;}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--gold);}
.stat-lbl{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:4px;}
.intro{background:var(--dark2);display:grid;grid-template-columns:1fr 1fr;}
.intro-text{padding:120px 80px;display:flex;flex-direction:column;justify-content:center;}
.intro-img{position:relative;overflow:hidden;min-height:600px;}
.intro-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s;}
.intro-img:hover img{transform:scale(1.04);}
.s-tag{font-size:.63rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.s-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:300;line-height:1.1;margin-bottom:22px;}
.s-title em{font-style:italic;color:var(--gold-light);}
.s-title.nm{margin-bottom:0;}
.s-body{font-size:.88rem;line-height:1.9;color:var(--light);max-width:520px;}
.s-body.mt{margin-top:14px;}
.gallery{background:var(--dark);padding:80px;}
.gallery-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px;}
.gallery-note{font-size:.74rem;color:var(--muted);max-width:240px;text-align:right;line-height:1.8;}
.gallery-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:auto;gap:10px;}
.gi{overflow:hidden;position:relative;cursor:pointer;}
.gi img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s;}
.gi:hover img{transform:scale(1.06);}
.gi .cap{position:absolute;bottom:0;left:0;right:0;padding:14px 18px;background:linear-gradient(to top,rgba(14,14,14,.85),transparent);font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-light);opacity:0;transition:opacity .3s;}
.gi:hover .cap{opacity:1;}
.g1{grid-column:span 8;grid-row:span 2;height:520px;}
.g2{grid-column:span 4;height:255px;}
.g3{grid-column:span 4;height:255px;}
.g4{grid-column:span 4;height:270px;}
.g5{grid-column:span 4;height:270px;}
.g6{grid-column:span 4;height:270px;}
.g7{grid-column:span 6;height:350px;}
.g8{grid-column:span 6;height:350px;}
.features{background:var(--dark3);display:grid;grid-template-columns:1fr 1fr;}
.features-img{overflow:hidden;min-height:680px;}
.features-img img{width:100%;height:100%;object-fit:cover;}
.features-content{padding:100px 80px;display:flex;flex-direction:column;justify-content:center;}
.feat-grid{display:grid;grid-template-columns:1fr 1fr;margin-top:44px;border-top:1px solid rgba(184,151,106,.2);}
.feat-item{padding:26px 20px 26px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.feat-item:nth-child(even){padding-left:20px;padding-right:0;border-left:1px solid rgba(255,255,255,.06);}
.feat-icon{font-size:1.3rem;margin-bottom:9px;display:block;}
.feat-name{font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.feat-desc{font-size:.74rem;color:var(--muted);line-height:1.6;}
.rooms{background:var(--dark);padding:120px 80px;}
.rooms-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:56px;}
.room-card{cursor:pointer;}
.room-img{height:420px;overflow:hidden;}
.room-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s;}
.room-card:hover .room-img img{transform:scale(1.08);}
.room-body{padding:18px 0;}
.room-num{font-family:'Cormorant Garamond',serif;font-size:.72rem;color:var(--gold);letter-spacing:.2em;margin-bottom:6px;}
.room-name{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:400;margin-bottom:5px;}
.room-desc{font-size:.74rem;color:var(--muted);line-height:1.6;}
.services{background:var(--dark2);display:grid;grid-template-columns:1fr 1fr;}
.services-img{overflow:hidden;min-height:580px;}
.services-img img{width:100%;height:100%;object-fit:cover;}
.services-cnt{padding:100px 80px;display:flex;flex-direction:column;justify-content:center;}
.svc-list{margin-top:36px;}
.svc-item{display:flex;gap:22px;align-items:flex-start;padding:20px 0;border-bottom:1px solid rgba(255,255,255,.07);}
.svc-num{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--gold);line-height:1;min-width:30px;}
.svc-ttl{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;}
.svc-dsc{font-size:.74rem;color:var(--muted);line-height:1.6;}
.location{background:var(--dark);padding:120px 80px;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.loc-map{border:1px solid rgba(184,151,106,.15);}
.loc-map iframe{width:100%;height:380px;border:0;filter:grayscale(.4) contrast(1.1);}
.loc-pts{margin-top:28px;}
.loc-pt{display:flex;gap:14px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06);}
.loc-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);margin-top:6px;flex-shrink:0;}
.loc-nm{font-size:.77rem;}
.loc-dt{font-size:.7rem;color:var(--muted);margin-top:2px;}
.quote-sec{background:var(--gold);padding:80px;text-align:center;}
.quote-txt{font-family:'Cormorant Garamond',serif;font-size:clamp(1.7rem,3.2vw,2.6rem);font-weight:300;font-style:italic;color:var(--dark);line-height:1.3;max-width:780px;margin:0 auto 18px;}
.quote-attr{font-size:.67rem;letter-spacing:.25em;text-transform:uppercase;color:rgba(14,14,14,.6);}
.contact{background:var(--dark2);padding:120px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;}
.contact-ttl{font-family:'Cormorant Garamond',serif;font-size:clamp(1.9rem,3.2vw,2.8rem);font-weight:300;margin-bottom:22px;}
.contact-ttl em{font-style:italic;color:var(--gold-light);}
.contact-intro{font-size:.84rem;color:var(--muted);line-height:1.8;max-width:380px;}
.c-info{margin-top:36px;}
.c-row{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.07);}
.c-lbl{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);min-width:110px;}
.c-val{font-size:.83rem;color:var(--light);}
.c-form{display:flex;flex-direction:column;gap:14px;}
.f-grp{display:flex;flex-direction:column;gap:7px;}
.f-lbl{font-size:.63rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.f-inp,.f-sel,.f-ta{background:var(--dark3);border:1px solid rgba(184,151,106,.2);color:var(--off-white);padding:13px 16px;font-family:'Jost',sans-serif;font-size:.83rem;font-weight:300;outline:none;transition:border-color .3s;-webkit-appearance:none;width:100%;}
.f-inp:focus,.f-sel:focus,.f-ta:focus{border-color:var(--gold);}
.f-ta{resize:vertical;min-height:96px;}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.btn-sub{background:var(--gold);color:var(--dark);border:none;padding:15px 38px;cursor:pointer;font-family:'Jost',sans-serif;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;transition:background .3s;align-self:flex-start;margin-top:6px;}
.btn-sub:hover{background:var(--gold-light);}
footer{background:var(--dark);border-top:1px solid rgba(184,151,106,.15);padding:44px 80px;display:flex;justify-content:space-between;align-items:center;}
.f-logo{font-family:'Cormorant Garamond',serif;font-size:.95rem;color:var(--gold);letter-spacing:.15em;}
.f-copy{font-size:.66rem;color:var(--muted);}
.f-links{display:flex;gap:22px;}
.f-links a{font-size:.66rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);text-decoration:none;transition:color .3s;}
.f-links a:hover{color:var(--gold);}
.lb{display:none;position:fixed;inset:0;z-index:999;background:rgba(14,14,14,.97);align-items:center;justify-content:center;}
.lb.active{display:flex;}
.lb img{max-width:90vw;max-height:88vh;object-fit:contain;}
.lb-close{position:absolute;top:24px;right:32px;font-size:2rem;color:var(--gold);cursor:pointer;background:none;border:none;font-family:'Jost',sans-serif;}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--gold);font-size:2.5rem;cursor:pointer;padding:16px;}
.lb-prev{left:16px;}.lb-next{right:16px;}
.reveal{opacity:0;transform:translateY(22px);transition:opacity .8s ease,transform .8s ease;}
.reveal.visible{opacity:1;transform:translateY(0);}