/* Fork B pages: The home, Gallery, Location, Availability, Reviews */
.hero.short{height:640px}
.hero.short .hero-panel{max-width:620px;padding:30px 34px}
.hero.short .hero-panel h1{font-size:54px;line-height:1.04}
.page-hero{position:relative;min-height:560px;overflow:hidden;display:flex;align-items:flex-end;background:var(--forest-deep)}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.page-hero .glass{position:relative;margin:0 var(--gut) 48px;max-width:820px;background:rgba(15,42,31,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(243,238,227,.25);border-radius:22px;padding:36px 40px}
.page-hero h1{font:500 56px/1.04 var(--serif);letter-spacing:-.5px;margin:12px 0 12px}
.page-hero .lede{margin:0;color:var(--muted)}
.muted{color:var(--muted)}

/* The home body + sticky booking aside */
.home-body{max-width:1240px;margin:0 auto;padding:56px var(--gut) 80px;display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start}
.home-main{flex:999 1 560px;min-width:0}
.stats3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0}
.stats3 b{display:block;font:500 46px/1 var(--serif)}
.stats3 span{font-size:14px;color:var(--muted)}
.h2s{font:500 44px/1.1 var(--serif);margin:52px 0 20px;letter-spacing:-.3px}
.rooms3{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.room{background:var(--forest-2);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.room img{width:100%;height:210px;object-fit:cover}
.room .rb{padding:18px 22px 22px}
.room .rb p{margin:6px 0 2px;font:600 26px var(--serif)}
.room .rb small{display:block;font-size:14px;color:var(--muted);line-height:1.5}
.amen{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));column-gap:36px}
.am{display:flex;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:16px}
.am svg{flex:none}
.terms-card{margin-top:52px;background:var(--forest-2);border:1px solid var(--line);border-radius:22px;padding:30px 32px}
.terms-card h2{font:600 30px var(--serif);margin:0 0 12px}
.terms-list{margin:0 0 8px;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:6px 28px;font-size:15px;color:var(--muted)}
.terms-list b{color:var(--cream);font-weight:600}
.book-aside{flex:1 1 340px;position:sticky;top:calc(var(--hdr) + 20px);align-self:flex-start;background:rgba(23,58,44,.96);border:1px solid rgba(243,238,227,.25);border-radius:22px;padding:28px;display:flex;flex-direction:column;gap:16px}
.book-aside h2{font:600 30px var(--serif);margin:0 0 4px}
.book-aside .small{margin:0;font-size:14px;color:var(--muted)}
.quote-box{background:var(--forest);border-radius:14px;padding:16px 18px;font-size:14px;line-height:1.6}
.quote-box ul{margin:6px 0 0;padding-left:18px;color:var(--muted)}
.aside-foot{border-top:1px solid var(--line);padding-top:14px;font-size:14px}
.aside-foot a,.book-aside a.inl{font-weight:600}
.tlink.u{text-decoration:underline;text-underline-offset:6px}

/* Gallery */
.gal-wrap{max-width:1240px;margin:0 auto;padding:40px var(--gut) 80px}
.gal-group{margin-top:48px}
.gal-group h2{font:500 40px/1.1 var(--serif);margin:0 0 18px}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:18px}
.gal figure{margin:0}
.gal button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;border-radius:16px;overflow:hidden}
.gal img{width:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .4s ease}
.gal button:hover img{transform:scale(1.03)}
.gal figcaption{font-size:14px;color:var(--muted);margin-top:8px}
.lightbox{position:fixed;inset:0;z-index:300;background:rgba(7,18,13,.94);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) 16px}
.lightbox[hidden]{display:none!important}
.lightbox figure{margin:0;max-width:min(1400px,100%);display:flex;flex-direction:column;align-items:center;gap:12px}
.lightbox img{max-width:100%;max-height:78vh;object-fit:contain;border-radius:10px}
.lightbox figcaption{color:var(--cream);font-size:15px;text-align:center}
.lb-btn{position:absolute;width:52px;height:52px;border-radius:50%;border:1px solid var(--cream);background:rgba(15,42,31,.85);color:var(--cream);display:flex;align-items:center;justify-content:center;cursor:pointer}
.lb-btn:hover{background:var(--brass);color:var(--forest);border-color:var(--brass)}
.lb-close{top:calc(16px + env(safe-area-inset-top,0px));right:16px}
.lb-prev{left:16px;top:50%;transform:translateY(-50%)}
.lb-next{right:16px;top:50%;transform:translateY(-50%)}

/* Location */
.dist{list-style:none;margin:0;padding:0}
.dist li{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);font-size:17px}
.dist li span:last-child{font:600 24px var(--serif);color:var(--brass);white-space:nowrap}
.on-light .dist li{border-color:#cfc6b2}
.on-light .dist li span:last-child{color:var(--olive)}

/* Availability */
.avail-hero{position:relative;min-height:720px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--forest-deep);padding:60px var(--gut)}
.avail-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.avail-panel{position:relative;width:min(880px,100%);background:rgba(15,42,31,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(243,238,227,.25);border-radius:24px;padding:40px 44px}
.avail-panel h1{font:500 58px/1.02 var(--serif);margin:10px 0 12px}
.avail-panel .note{font-size:14px;color:var(--muted);margin:14px 0 0}
.info3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:22px}
.info{background:var(--forest-2);border:1px solid var(--line);border-radius:18px;padding:26px 28px}
.info h3{font:600 28px var(--serif);margin:6px 0 10px}
.info p,.info li{font-size:15px;color:var(--muted);margin:0 0 6px}
.info ul{margin:0;padding-left:18px}

/* Reviews */
.rev-head{max-width:1240px;margin:0 auto;padding:56px var(--gut) 24px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:24px}
.rev-head h1{font:500 58px/1.04 var(--serif);margin:0 0 10px}
.rev-grid{max-width:1240px;margin:0 auto;padding:16px var(--gut) 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:22px}
.rev{position:relative;min-height:460px;border-radius:22px;overflow:hidden;background:var(--forest-2);display:flex;align-items:flex-end}
.rev>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rev figure{position:relative;margin:14px;background:rgba(15,42,31,.94);border-radius:16px;padding:24px 26px}
.rev blockquote{margin:10px 0 12px;font:500 22px/1.45 var(--serif);font-style:italic}
.rev figcaption{font-size:14px;color:var(--muted)}
.book-band{background:var(--forest-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.book-band .inner{max-width:1240px;margin:0 auto;padding:64px var(--gut);display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:48px;align-items:center}
.book-band h2{font:500 48px/1.06 var(--serif);margin:10px 0 12px}
.book-form{background:var(--forest);border:1px solid rgba(243,238,227,.25);border-radius:22px;padding:26px}
.book-form .small{margin:12px 0 0;font-size:13px;color:var(--muted)}
.book-form .small a{font-weight:600}

@media (max-width:760px){
  .hero.short{height:auto}
  .hero.short .hero-panel h1{font-size:34px}
  .page-hero{min-height:420px}
  .page-hero .glass{margin:0 12px 16px;padding:22px}
  .page-hero h1{font-size:36px}
  .home-body{padding:32px 16px 48px;gap:32px}
  .stats3 b{font-size:36px}
  .h2s{font-size:32px;margin-top:40px}
  .room img{height:180px}
  .book-aside{position:static;padding:22px}
  .terms-card{padding:22px}
  .gal{grid-template-columns:1fr 1fr;gap:10px}
  .gal figcaption{font-size:12px}
  .gal-group h2{font-size:30px}
  .lb-prev,.lb-next{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px));transform:none}
  .avail-hero{min-height:auto;padding:32px 12px}
  .avail-panel{padding:24px 20px}
  .avail-panel h1{font-size:38px}
  .rev-head{padding:32px 16px 12px}
  .rev-head h1{font-size:40px}
  .rev{min-height:400px}
  .rev blockquote{font-size:19px}
  .book-band .inner{padding:40px 16px;gap:24px}
  .book-band h2{font-size:34px}
}
