*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --forest:#182318;
  --forest-mid:#243324;
  --cream:#F7F3EB;
  --ivory:#FDFAF5;
  --gold:#C5A872;
  --gold-light:#D9C090;
  --gold-dim:#8A7150;
  --stone:#9A8C7C;
  --stone-light:#C8C0B4;
  --border:rgba(197,168,114,0.22);
  --serif:'Cormorant Garamond',Georgia,serif;
  --sans:'DM Sans',sans-serif;
  --ease:cubic-bezier(0.16,1,0.3,1);
}

html{scroll-behavior:smooth;cursor:none}
body{background:var(--ivory);color:var(--forest);font-family:var(--sans);font-weight:300;overflow-x:hidden;cursor:none}

/* ─── CUSTOM CURSOR ─── */
#cursor{position:fixed;top:0;left:0;width:10px;height:10px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform 0.1s,background 0.3s,width 0.4s var(--ease),height 0.4s var(--ease)}
#cursor-ring{position:fixed;top:0;left:0;width:38px;height:38px;border:1px solid rgba(197,168,114,0.5);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform 0.18s,width 0.4s var(--ease),height 0.4s var(--ease),border-color 0.3s;will-change:transform}
body.cursor-expand #cursor{width:64px;height:64px;background:rgba(197,168,114,0.15)}
body.cursor-expand #cursor-ring{width:64px;height:64px;border-color:var(--gold)}

/* ─── LOADER ─── */
#loader{position:fixed;inset:0;background:var(--forest);z-index:10000;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:20px}
.loader-word{font-family:var(--serif);font-size:clamp(2.5rem,6vw,5rem);font-weight:300;color:var(--cream);letter-spacing:0.18em;clip-path:polygon(0 0,0 0,0 100%,0 100%);animation:wordReveal 1s var(--ease) 0.3s forwards}
.loader-sub{font-size:0.62rem;letter-spacing:0.4em;text-transform:uppercase;color:var(--gold);clip-path:polygon(0 0,0 0,0 100%,0 100%);animation:wordReveal 0.8s var(--ease) 0.7s forwards}
@keyframes wordReveal{to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}
.loader-line{width:0;height:1px;background:var(--gold);animation:lineGrow 1.2s var(--ease) 0.9s forwards;opacity:0.5}
@keyframes lineGrow{to{width:180px}}
#loader.hide{animation:loaderOut 0.8s var(--ease) forwards}
@keyframes loaderOut{to{opacity:0;transform:translateY(-100%)}}

/* ─── NAV ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:0 60px;height:88px;display:flex;align-items:center;justify-content:space-between;transition:background 0.5s,backdrop-filter 0.5s,box-shadow 0.5s}
nav.solid{background:rgba(24,35,24,0.97);backdrop-filter:blur(20px);box-shadow:0 1px 0 rgba(197,168,114,0.15)}
.nav-logo{text-decoration:none;display:flex;flex-direction:column;gap:3px}
.nav-logo-name{font-family:var(--serif);font-size:1.55rem;color:#fff;letter-spacing:0.14em;font-weight:400;line-height:1}
.nav-logo-tag{font-size:0.52rem;letter-spacing:0.38em;text-transform:uppercase;color:var(--gold);font-weight:500}
.nav-links{display:flex;gap:40px;list-style:none;align-items:center}
.nav-links a{font-size:0.68rem;letter-spacing:0.16em;text-transform:uppercase;color:rgba(255,255,255,0.7);text-decoration:none;font-weight:400;position:relative;padding-bottom:3px;transition:color 0.3s}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width 0.35s var(--ease)}
.nav-links a:hover{color:#fff}
.nav-links a:hover::after{width:100%}
.nav-book-btn{background:var(--gold);color:var(--forest)!important;padding:11px 28px;font-weight:500!important;letter-spacing:0.14em!important;transition:background 0.3s!important}
.nav-book-btn::after{display:none!important}
.nav-book-btn:hover{background:var(--gold-light)!important;color:var(--forest)!important}

/* ─── HERO ─── */
.hero{height:100vh;min-height:700px;position:relative;overflow:hidden;display:flex;align-items:flex-end}
.hero-parallax{position:absolute;inset:-10% 0;background:url('https://images.unsplash.com/photo-1600210492486-724fe5c67fb0?w=2000&q=88&auto=format') center/cover no-repeat;will-change:transform}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(130deg,rgba(18,28,18,0.72) 0%,rgba(18,28,18,0.3) 55%,rgba(18,28,18,0.55) 100%)}
.hero-grain{position:absolute;inset:0;opacity:0.04;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");background-size:200px}
.hero-content{position:relative;z-index:2;padding:0 72px 80px;max-width:860px}
.hero-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:28px;opacity:0;transform:translateY(20px);animation:fadeUp 1s var(--ease) 1.6s forwards}
.hero-eyebrow-line{width:48px;height:1px;background:var(--gold)}
.hero-eyebrow-text{font-size:0.62rem;letter-spacing:0.38em;text-transform:uppercase;color:var(--gold);font-weight:500}
.hero-title{font-family:var(--serif);font-size:clamp(3.2rem,6.5vw,5.8rem);font-weight:300;color:#fff;line-height:1.06;letter-spacing:0.01em;opacity:0;transform:translateY(30px);animation:fadeUp 1.1s var(--ease) 1.8s forwards}
.hero-title em{font-style:italic;color:var(--gold-light)}
.hero-title .hero-title-line{display:block;overflow:hidden}
.hero-subtitle{font-size:0.92rem;color:rgba(255,255,255,0.65);line-height:1.85;max-width:480px;margin:28px 0 44px;opacity:0;transform:translateY(20px);animation:fadeUp 1s var(--ease) 2s forwards}
.hero-actions{display:flex;gap:20px;align-items:center;opacity:0;transform:translateY(20px);animation:fadeUp 1s var(--ease) 2.2s forwards}
@keyframes fadeUp{to{opacity:1;transform:none}}
.btn-primary{background:var(--gold);color:var(--forest);text-decoration:none;padding:16px 40px;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;font-weight:500;display:inline-block;transition:background 0.35s,transform 0.2s;font-family:var(--sans)}
.btn-primary:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-outline{border:1px solid rgba(255,255,255,0.45);color:#fff;text-decoration:none;padding:16px 40px;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;font-weight:400;display:inline-block;transition:border-color 0.3s,background 0.3s;font-family:var(--sans)}
.btn-outline:hover{border-color:#fff;background:rgba(255,255,255,0.07)}
.hero-scroll{position:absolute;right:60px;bottom:64px;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;opacity:0;animation:fadeUp 1s var(--ease) 2.5s forwards}
.hero-scroll-text{font-size:0.55rem;letter-spacing:0.32em;text-transform:uppercase;color:rgba(255,255,255,0.5);writing-mode:vertical-lr}
.hero-scroll-line{width:1px;height:56px;background:linear-gradient(to bottom,rgba(197,168,114,0.8),transparent);animation:scrollPulse 2s ease-in-out infinite}
@keyframes scrollPulse{0%,100%{opacity:0.5;transform:scaleY(1)}50%{opacity:1;transform:scaleY(1.1)}}
.hero-counter-strip{position:absolute;bottom:0;left:0;right:0;z-index:3;background:rgba(24,35,24,0.85);backdrop-filter:blur(16px);border-top:1px solid rgba(197,168,114,0.2);display:flex;padding:0 72px}
.hcs-item{flex:1;padding:24px 0;border-right:1px solid rgba(197,168,114,0.15);padding-right:40px;padding-left:40px}
.hcs-item:first-child{padding-left:0}
.hcs-item:last-child{border-right:none}
.hcs-num{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--gold);line-height:1}
.hcs-label{font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.45);margin-top:4px}

/* ─── MARQUEE ─── */
.marquee-strip{background:var(--forest);overflow:hidden;padding:18px 0;border-top:1px solid rgba(197,168,114,0.15);border-bottom:1px solid rgba(197,168,114,0.15)}
.marquee-track{display:flex;gap:0;white-space:nowrap;animation:marqueeScroll 28s linear infinite}
.marquee-item{display:inline-flex;align-items:center;gap:32px;padding:0 32px;font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:rgba(255,255,255,0.45);font-weight:400}
.marquee-dot{width:4px;height:4px;border-radius:50%;background:var(--gold);opacity:0.7;flex-shrink:0}
@keyframes marqueeScroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ─── SECTIONS ─── */
section{padding:120px 72px}
.sec-tag{display:flex;align-items:center;gap:16px;margin-bottom:20px;font-size:0.6rem;letter-spacing:0.34em;text-transform:uppercase;color:var(--gold);font-weight:500}
.sec-tag::before{content:'';width:32px;height:1px;background:var(--gold);flex-shrink:0}
.sec-title{font-family:var(--serif);font-size:clamp(2.2rem,4vw,3.4rem);font-weight:400;line-height:1.15;color:var(--forest);letter-spacing:0.02em}
.sec-title em{font-style:italic;color:var(--gold-dim)}
.sec-lead{font-size:0.92rem;line-height:1.95;color:var(--stone);max-width:540px;margin-top:20px}
.gold-divider{width:48px;height:1px;background:var(--gold);margin:28px 0}

/* ─── ABOUT ─── */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}
.about-visual{position:relative}
.about-img-main{width:100%;height:580px;object-fit:cover;display:block}
.about-img-inset{position:absolute;bottom:-40px;right:-40px;width:220px;height:280px;object-fit:cover;border:6px solid var(--ivory);box-shadow:0 16px 48px rgba(18,28,18,0.18)}
.about-badge{position:absolute;top:40px;left:-36px;background:var(--forest);color:#fff;padding:28px 22px;text-align:center;width:130px;box-shadow:0 8px 32px rgba(18,28,18,0.3)}
.badge-num{font-family:var(--serif);font-size:2.4rem;font-weight:300;color:var(--gold);line-height:1}
.badge-label{font-size:0.55rem;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.55);margin-top:5px}
.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:48px;border-top:1px solid var(--border)}
.stat-item{padding:28px 0;border-right:1px solid var(--border)}
.stat-item:last-child{border-right:none}
.stat-num{font-family:var(--serif);font-size:2.2rem;font-weight:400;color:var(--forest)}
.stat-suffix{font-family:var(--serif);font-size:1.4rem;color:var(--gold)}
.stat-label{font-size:0.68rem;color:var(--stone);letter-spacing:0.1em;margin-top:4px}
.perks-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:40px}
.perk{display:flex;gap:16px;align-items:flex-start}
.perk-icon{width:40px;height:40px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1rem;color:var(--gold);flex-shrink:0;transition:background 0.3s,border-color 0.3s}
.perk:hover .perk-icon{background:var(--forest);border-color:var(--forest);color:var(--gold)}
.perk-body strong{display:block;font-size:0.72rem;font-weight:500;letter-spacing:0.08em;text-transform:uppercase;color:var(--forest);margin-bottom:3px}
.perk-body span{font-size:0.78rem;color:var(--stone);line-height:1.6}

/* ─── APARTMENTS ─── */
.apts-section{background:var(--cream);padding:120px 0}
.apts-header{padding:0 72px;display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px}
.apts-scroll-hint{display:flex;align-items:center;gap:10px;font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--stone)}
.apts-scroll-hint svg{opacity:0.5}
.apts-track-wrap{overflow-x:auto;padding:0 72px 40px;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;cursor:grab}
.apts-track-wrap:active{cursor:grabbing}
.apts-track-wrap::-webkit-scrollbar{display:none}
.apts-track{display:flex;gap:24px;width:max-content}
.apt-card{width:420px;flex-shrink:0;scroll-snap-align:start;position:relative;background:var(--forest);overflow:hidden;cursor:none}
.apt-card-img{width:100%;height:340px;object-fit:cover;display:block;transition:transform 0.8s var(--ease),opacity 0.5s}
.apt-card:hover .apt-card-img{transform:scale(1.06);opacity:0.75}
.apt-card-body{padding:32px 28px 28px;position:relative}
.apt-card-body::before{content:'';position:absolute;top:0;left:28px;right:28px;height:1px;background:rgba(197,168,114,0.2)}
.apt-type{font-size:0.58rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.apt-name{font-family:var(--serif);font-size:1.5rem;font-weight:400;color:#fff;margin-bottom:16px;letter-spacing:0.03em}
.apt-feats{display:flex;flex-wrap:wrap;gap:8px 20px;margin-bottom:24px}
.apt-feat{font-size:0.68rem;color:rgba(255,255,255,0.5);display:flex;align-items:center;gap:5px}
.apt-feat::before{content:'';width:4px;height:4px;background:var(--gold);border-radius:50%;opacity:0.7}
.apt-footer{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,0.08);padding-top:20px}
.apt-price{font-family:var(--serif);font-size:1.1rem;color:rgba(255,255,255,0.5)}
.apt-link{font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);text-decoration:none;display:flex;align-items:center;gap:8px;transition:gap 0.3s}
.apt-link:hover{gap:14px}
.apts-scrollbar{padding:0 72px;margin-top:8px}
.apts-sb-track{height:1px;background:rgba(24,35,24,0.15);position:relative}
.apts-sb-thumb{height:1px;background:var(--gold);position:absolute;top:0;left:0;transition:width 0.1s}

/* ─── PULL QUOTE ─── */
.pull-section{padding:0;position:relative;height:520px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pull-bg{position:absolute;inset:-8%;background:url('https://images.unsplash.com/photo-1582719508461-905c673771fd?w=1800&q=80&auto=format') center/cover no-repeat;will-change:transform}
.pull-overlay{position:absolute;inset:0;background:rgba(18,28,18,0.78)}
.pull-content{position:relative;z-index:2;text-align:center;padding:0 100px;max-width:900px}
.pull-quote{font-family:var(--serif);font-size:clamp(1.8rem,3.5vw,3rem);font-weight:300;color:#fff;line-height:1.3;letter-spacing:0.03em;font-style:italic}
.pull-quote em{color:var(--gold-light);font-style:normal}
.pull-attr{font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:rgba(255,255,255,0.4);margin-top:28px;display:flex;align-items:center;gap:16px;justify-content:center}
.pull-attr::before,.pull-attr::after{content:'';width:32px;height:1px;background:rgba(197,168,114,0.4)}

/* ─── AMENITIES ─── */
.amenities-inner{display:grid;grid-template-columns:5fr 7fr;gap:100px;align-items:start}
.amenity-img{width:100%;height:520px;object-fit:cover;display:block}
.amenities-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.am-item{padding:28px 24px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);transition:background 0.3s}
.am-item:hover{background:rgba(197,168,114,0.06)}
.am-item:nth-child(2n){border-right:none}
.am-item:nth-last-child(-n+2){border-bottom:none}
.am-icon{font-size:1.2rem;color:var(--gold);margin-bottom:12px;display:block}
.am-name{font-size:0.72rem;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:var(--forest);margin-bottom:4px}
.am-desc{font-size:0.75rem;color:var(--stone);line-height:1.6}

/* ─── GALLERY ─── */
.gallery-section{background:var(--forest);padding:100px 72px}
.gallery-section .sec-tag{color:var(--gold-light)}
.gallery-section .sec-tag::before{background:var(--gold-light)}
.gallery-section .sec-title{color:#fff}
.gallery-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:240px 240px;gap:4px}
.gallery-cell{overflow:hidden;position:relative;cursor:none}
.gallery-cell:nth-child(1){grid-column:span 2;grid-row:span 2}
.gallery-cell img{width:100%;height:100%;object-fit:cover;transition:transform 0.8s var(--ease),filter 0.5s}
.gallery-cell:hover img{transform:scale(1.08);filter:brightness(0.8)}
.gallery-cell-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 0.4s;background:rgba(18,28,18,0.35)}
.gallery-cell:hover .gallery-cell-overlay{opacity:1}
.gallery-zoom{width:44px;height:44px;border:1px solid rgba(255,255,255,0.6);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;transition:transform 0.3s}
.gallery-cell:hover .gallery-zoom{transform:scale(1.15)}

/* ─── LIGHTBOX ─── */
#lightbox{position:fixed;inset:0;background:rgba(18,28,18,0.95);z-index:9000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.4s;backdrop-filter:blur(8px)}
#lightbox.open{opacity:1;pointer-events:all}
#lightbox img{max-width:88vw;max-height:88vh;object-fit:contain;transform:scale(0.93);transition:transform 0.45s var(--ease)}
#lightbox.open img{transform:scale(1)}
.lb-close{position:absolute;top:32px;right:40px;font-size:1.5rem;color:rgba(255,255,255,0.6);cursor:none;background:none;border:none;font-family:var(--sans);transition:color 0.3s;letter-spacing:0}
.lb-close:hover{color:#fff}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);background:none;border:none;color:rgba(255,255,255,0.5);font-size:1.8rem;cursor:none;padding:24px;transition:color 0.3s}
.lb-prev{left:16px}
.lb-next{right:16px}
.lb-prev:hover,.lb-next:hover{color:var(--gold)}
.lb-caption{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);font-size:0.65rem;letter-spacing:0.22em;text-transform:uppercase;color:rgba(255,255,255,0.4)}

/* ─── TESTIMONIALS ─── */
.testi-section{background:var(--cream)}
.testi-slider{position:relative;overflow:hidden;margin-top:60px}
.testi-track{display:flex;transition:transform 0.7s var(--ease)}
.testi-slide{width:100%;flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}
.testi-img{width:100%;height:420px;object-fit:cover;display:block}
.testi-content{padding:0 40px 0 0}
.testi-stars{display:flex;gap:4px;margin-bottom:24px}
.testi-star{color:var(--gold);font-size:0.85rem}
.testi-quote{font-family:var(--serif);font-size:clamp(1.3rem,2vw,1.8rem);font-weight:400;color:var(--forest);line-height:1.5;font-style:italic;position:relative;padding-left:24px;border-left:2px solid var(--gold)}
.testi-meta{margin-top:32px}
.testi-name{font-size:0.75rem;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;color:var(--forest)}
.testi-stay{font-size:0.7rem;color:var(--stone);margin-top:4px;letter-spacing:0.06em}
.testi-nav{display:flex;gap:12px;margin-top:40px}
.testi-btn{width:46px;height:46px;border:1px solid var(--border);background:none;display:flex;align-items:center;justify-content:center;cursor:none;transition:background 0.3s,border-color 0.3s;color:var(--forest);font-size:1rem}
.testi-btn:hover{background:var(--forest);border-color:var(--forest);color:#fff}
.testi-count{font-family:var(--serif);font-size:1rem;color:var(--stone);align-self:center;margin-left:8px}

/* ─── LOCATION ─── */
.location-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.loc-map{width:100%;height:400px;border:none;filter:saturate(0.2) contrast(1.2) brightness(1.05)}
.nearby{margin-top:0}
.nearby-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--border)}
.nearby-name{font-size:0.82rem;color:var(--forest)}
.nearby-meta{display:flex;align-items:center;gap:10px}
.nearby-dist{font-size:0.72rem;color:var(--gold-dim);font-weight:500;letter-spacing:0.06em}
.loc-cta-box{margin-top:40px;background:var(--forest);padding:36px;position:relative;overflow:hidden}
.loc-cta-box::before{content:'"';font-family:var(--serif);font-size:6rem;color:rgba(197,168,114,0.08);position:absolute;top:-10px;left:16px;line-height:1}
.loc-cta-title{font-family:var(--serif);font-size:1.3rem;color:#fff;margin-bottom:8px;font-weight:400}
.loc-cta-sub{font-size:0.75rem;color:rgba(255,255,255,0.45);line-height:1.7;margin-bottom:24px}
.loc-hours{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.loc-hour{font-size:0.68rem;color:rgba(255,255,255,0.4);line-height:1.5}
.loc-hour strong{display:block;color:rgba(255,255,255,0.7);font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase}

/* ─── BOOK CTA ─── */
.book-section{position:relative;height:600px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.book-bg{position:absolute;inset:-10%;background:url('https://images.unsplash.com/photo-1505693416388-ac5ce068fe85?w=1800&q=80&auto=format') center/cover no-repeat;will-change:transform}
.book-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(18,28,18,0.92) 0%,rgba(18,28,18,0.6) 100%)}
.book-content{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;width:100%;max-width:1200px;padding:0 72px}
.book-left .sec-tag{color:var(--gold-light)}
.book-left .sec-tag::before{background:var(--gold-light)}
.book-title{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3.2rem);font-weight:300;color:#fff;line-height:1.15}
.book-title em{color:var(--gold-light);font-style:italic}
.book-sub{font-size:0.85rem;color:rgba(255,255,255,0.5);margin-top:20px;line-height:1.8}
.book-form{background:rgba(253,250,245,0.05);border:1px solid rgba(197,168,114,0.2);padding:40px;backdrop-filter:blur(12px)}
.book-field{margin-bottom:20px}
.book-field label{display:block;font-size:0.58rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;font-weight:500}
.book-field input,.book-field select{width:100%;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);color:#fff;font-family:var(--sans);font-size:0.85rem;padding:12px 14px;outline:none;transition:border-color 0.3s;font-weight:300}
.book-field input:focus,.book-field select:focus{border-color:rgba(197,168,114,0.5)}
.book-field select option{background:var(--forest);color:#fff}
.book-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.book-submit{width:100%;background:var(--gold);border:none;color:var(--forest);font-family:var(--sans);font-size:0.7rem;letter-spacing:0.22em;text-transform:uppercase;font-weight:500;padding:16px;cursor:pointer;transition:background 0.3s;margin-top:8px}
.book-submit:hover{background:var(--gold-light)}

/* ─── FOOTER ─── */
footer{background:#0F1810;color:rgba(255,255,255,0.45);padding:80px 72px 40px}
.footer-top{display:grid;grid-template-columns:2.5fr 1fr 1fr 1.2fr;gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(255,255,255,0.06);margin-bottom:40px}
.footer-brand{font-family:var(--serif);font-size:1.7rem;color:#fff;letter-spacing:0.12em;margin-bottom:4px}
.footer-brand-sub{font-size:0.52rem;letter-spacing:0.34em;text-transform:uppercase;color:var(--gold);margin-bottom:20px}
.footer-desc{font-size:0.75rem;line-height:1.85;max-width:300px}
.footer-social{display:flex;gap:10px;margin-top:24px}
.soc{width:34px;height:34px;border:1px solid rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.4);text-decoration:none;font-size:0.7rem;letter-spacing:0;transition:border-color 0.3s,color 0.3s}
.soc:hover{border-color:var(--gold);color:var(--gold)}
.footer-col-title{font-size:0.58rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:20px;font-weight:500}
.footer-links{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:0.75rem;color:rgba(255,255,255,0.4);text-decoration:none;transition:color 0.3s;letter-spacing:0.04em}
.footer-links a:hover{color:var(--gold-light)}
.footer-contact{font-size:0.75rem;line-height:1.7}
.footer-contact a{color:var(--gold-light);text-decoration:none}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;font-size:0.65rem;color:rgba(255,255,255,0.2);letter-spacing:0.06em}
.footer-bottom a{color:rgba(255,255,255,0.25);text-decoration:none}

/* ─── REVEAL ─── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.9s var(--ease),transform 0.9s var(--ease)}
.reveal.in{opacity:1;transform:none}
.reveal-delay-1{transition-delay:0.12s}
.reveal-delay-2{transition-delay:0.24s}
.reveal-delay-3{transition-delay:0.36s}

/* ─── TOPBAR ─── */
.topbar{background:var(--forest-mid);color:rgba(255,255,255,0.55);font-size:0.65rem;letter-spacing:0.14em;text-transform:uppercase;padding:10px 72px;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:999}
.topbar a{color:var(--gold-light);text-decoration:none}

/* ─── RESPONSIVE ─── */
@media(max-width:1100px){
  section{padding:80px 40px}
  nav{padding:0 40px}
  .about-grid,.amenities-inner,.location-inner,.book-content{grid-template-columns:1fr;gap:48px}
  .about-img-inset,.about-badge{display:none}
  .testi-slide{grid-template-columns:1fr}
  .testi-img{height:300px}
  .footer-top{grid-template-columns:1fr 1fr;gap:40px}
  .apts-header,.apts-scrollbar,.apts-track-wrap{padding-left:40px;padding-right:40px}
  .gallery-section{padding:80px 40px}
  .book-section{height:auto}
  .book-content{padding:80px 40px}
}
@media(max-width:720px){
  .topbar{display:none}
  .nav-links{display:none}
  nav{padding:0 24px}
  section{padding:60px 24px}
  .hero-content{padding:0 28px 80px}
  .hero-counter-strip{display:none}
  .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:200px 200px 200px}
  .gallery-cell:nth-child(1){grid-column:span 1;grid-row:span 1}
  .footer-top{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
  .pull-content{padding:0 32px}
  .apts-track-wrap{padding:0 24px 32px}
  .apts-header{padding:0 24px;flex-direction:column;align-items:flex-start;gap:16px}
}

/* ─── WP ADMIN BAR OFFSET ─── */
.admin-bar nav { top: 32px; }
@media screen and (max-width: 782px) {
  .admin-bar nav { top: 46px; }
}
