
/* ---------- TOP page ---------- */
.hero{position:relative}

/* shared hero copy bits */
.h-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.h-chip{display:inline-flex;align-items:center;gap:.55em;background:rgba(255,255,255,.7);
  border:1px solid var(--line);border-radius:999px;padding:.6em 1.1em;font-size:.84rem;color:#564537;
  backdrop-filter:blur(6px)}
.h-chip svg{width:1.1em;height:1.1em;stroke:var(--accent);fill:none;stroke-width:1.5}

/* HERO — full-bleed immersive */
.hero-b{padding-top:0}
.hb-stage{position:relative;height:100svh;min-height:600px;overflow:hidden;display:grid;place-items:center}
.hb-bg{position:absolute;inset:-8% 0;}
.hb-bg img{width:100%;height:116%;object-fit:cover}
.hb-stage::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(56,42,32,.28),rgba(56,42,32,.62))}
.hb-inner{position:relative;z-index:2;text-align:center;color:#fff;width:min(92%,1000px)}
.hb-inner .eyebrow{color:#f3e7d4}.hb-inner .eyebrow::before,.hb-inner .eyebrow::after{background:#fff}
.hb-inner h1{color:#fff;text-shadow:0 10px 40px rgba(0,0,0,.3);
  font-size:clamp(1rem,5.2vw,3.5rem);white-space:nowrap}
.hb-inner .lead{color:#f4ece0}
.hb-inner .h-chip{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.25)}
.hb-inner .h-chips{justify-content:center}
.hb-inner .btn-row{justify-content:center}
.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:3;color:#fff;
  font-family:var(--font-en);font-size:.66rem;letter-spacing:.3em;display:flex;flex-direction:column;align-items:center;gap:.6rem}
.scroll-cue i{width:1px;height:42px;background:rgba(255,255,255,.6);position:relative;overflow:hidden}
.scroll-cue i::after{content:"";position:absolute;top:-50%;left:0;width:1px;height:50%;background:#fff;animation:cue 1.8s var(--ease) infinite}
@keyframes cue{0%{top:-50%}60%,100%{top:100%}}

/* concept teaser */
.concept-figs{position:relative}
.cf-main{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow);aspect-ratio:4/3}
.cf-main img{width:100%;height:100%;object-fit:cover}
.cf-mini{position:absolute;right:-18px;bottom:-26px;width:46%;border-radius:22px;overflow:hidden;
  border:6px solid var(--bg);box-shadow:var(--shadow);aspect-ratio:4/3}
.cf-mini img{width:100%;height:100%;object-fit:cover}

/* section overview bento */
.ov-bento{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}
.ov{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:240px;display:flex;
  color:#fff;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.ov:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.ov img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.ov:hover img{transform:scale(1.07)}
.ov .scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(56,42,32,.05),rgba(56,42,32,.72))}
.ov .ov-body{position:relative;z-index:2;align-self:flex-end;padding:clamp(20px,2.4vw,30px);width:100%}
.ov .ov-en{font-family:var(--font-en);font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;opacity:.85}
.ov h3{color:#fff;font-size:clamp(1.3rem,2.4vw,1.7rem);margin:.2em 0 .3em}
.ov p{font-size:.86rem;color:#f0e6d6;font-weight:300;margin:0;line-height:1.7}
.ov .go{margin-top:.9rem;display:inline-flex;align-items:center;gap:.4em;font-size:.84rem;font-weight:500}
.ov .go svg{width:1em;height:1em;transition:transform .3s}
.ov:hover .go svg{transform:translateX(4px)}
.ov-rooms{grid-column:span 7}.ov-dining{grid-column:span 5}
.ov-act{grid-column:span 5}.ov-fac{grid-column:span 4}.ov-acc{grid-column:span 3}

/* glance numbers */
.glance{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.glance .num{font-family:var(--font-en);font-weight:600;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--accent);line-height:1}
.glance .gl-l{font-size:.86rem;color:#6d5b4c;margin-top:.5rem}

/* instagram slider */
.ig-slider{overflow:hidden;width:100%;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ig-track{display:flex;width:max-content;animation:igscroll 38s linear infinite;will-change:transform}
.ig-slider:hover .ig-track{animation-play-state:paused}
.ig-item{flex:none;width:clamp(220px,26vw,320px);aspect-ratio:1;margin-right:clamp(12px,1.6vw,20px);
  border-radius:var(--r);overflow:hidden;position:relative;box-shadow:var(--shadow-sm)}
.ig-item img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ig-item::after{content:"";position:absolute;inset:0;background:rgba(56,42,32,0);transition:background .4s}
.ig-item:hover img{transform:scale(1.07)}
.ig-item:hover::after{background:rgba(56,42,32,.18)}
@keyframes igscroll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .ig-track{animation:none}
  .ig-slider{overflow-x:auto;-webkit-mask-image:none;mask-image:none}
}

@media (max-width:980px){
  .ov-rooms,.ov-dining,.ov-act,.ov-fac,.ov-acc{grid-column:1/-1}
}
@media (max-width:680px){
  .glance{grid-template-columns:1fr 1fr;gap:32px 16px}
  .cf-mini{position:relative;right:auto;bottom:auto;width:100%;margin-top:14px}
}
