/* ═══════════════════════════════════════════════════════
   Walnut Village Resort — Light Luxury Theme
   Palette drawn from WVR logo: walnut, honey, mid-brown
═══════════════════════════════════════════════════════ */

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

:root {
  /* WVR brand colors from logo */
  --walnut:      #3C1400;   /* deep walnut — primary */
  --walnut-mid:  #7A5230;   /* medium brown */
  --honey:       #C8936A;   /* warm honey accent */
  --honey-light: #E6C9A0;   /* pale honey */

  /* Page palette */
  --bg:          #F5F0E8;   /* warm cream — page bg */
  --bg-2:        #FDFAF6;   /* near-white — cards/alt sections */
  --bg-3:        #EDE8DE;   /* slightly deeper cream */
  --bg-dark:     #3C1400;   /* walnut dark for footer/accents */
  --text:        #1E0E02;   /* primary text */
  --muted:       #4A3828;   /* secondary text — darkened for contrast */
  --muted-2:     #7A6A58;   /* faint text */
  --rule:        rgba(60,20,0,0.1);
  --ink:         #3C1400;

  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans:  'Jost', system-ui, sans-serif;
  --ease:  cubic-bezier(0.4, 0, 0.2, 1);
}

html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--sans); background: var(--bg);
  color: var(--text); line-height: 1.7; overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  opacity: 0; transition: opacity 0.4s;
}
body.page-loaded { opacity: 1; }
img { display: block; width: 100%; height: auto; }
a   { color: inherit; text-decoration: none; }
ul  { list-style: none; }
h1,h2,h3,h4 { font-family: var(--serif); font-weight: 400; line-height: 1.1; }

/* ── Layout ─────────────────────────────────────────── */
.container      { width: min(1200px, 92vw); margin-inline: auto; }
.section-pad    { padding: 120px 0; }
.section-pad-sm { padding: 80px 0; }
.text-center    { text-align: center; }

/* ── Labels & Titles ────────────────────────────────── */
.section-label, .eyebrow {
  display: inline-block; font-family: var(--sans);
  font-size: 11px; font-weight: 500;
  letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--honey); margin-bottom: 16px;
}
.section-title {
  font-family: var(--serif);
  font-size: clamp(32px, 4vw, 60px);
  font-weight: 400; line-height: 1.1;
  color: var(--walnut); margin-bottom: 20px;
}
.section-title em { font-style: italic; color: var(--walnut-mid); }
.section-title.light { color: var(--bg); }
.section-desc {
  font-size: 15px; font-weight: 300;
  color: var(--muted); line-height: 1.85; max-width: 540px;
}
.section-desc.center { text-align: center; margin-inline: auto; }

/* ── Reveal ─────────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(24px); transition:opacity 0.85s var(--ease),transform 0.85s var(--ease); }
.reveal.revealed { opacity:1; transform:none; }

/* ── Buttons ────────────────────────────────────────── */
.btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 13px 30px; font-family: var(--sans);
  font-size: 11px; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase;
  border: none; cursor: pointer; transition: all 0.3s var(--ease); white-space: nowrap;
}
.btn-gold { background: var(--walnut); color: var(--bg-2); }
.btn-gold:hover { background: var(--walnut-mid); }
.btn-outline { background:transparent; color:var(--bg-2); border:1px solid rgba(253,250,246,0.4); }
.btn-outline:hover { background:rgba(253,250,246,0.1); border-color:rgba(253,250,246,0.8); }
.btn-outline-dark { background:transparent; color:var(--walnut); border:1px solid rgba(60,20,0,0.3); }
.btn-outline-dark:hover { background:rgba(60,20,0,0.06); border-color:var(--walnut); }

/* ── Scroll Progress ────────────────────────────────── */
#scrollProgress { position:fixed;top:0;left:0;height:2px;background:var(--honey);z-index:9999;transition:width 0.1s linear; }

/* ═══════════════════════════════════════════════════════
   NAV
═══════════════════════════════════════════════════════ */
.nav {
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:0 48px;height:80px;display:flex;align-items:center;
  transition:background 0.5s var(--ease),height 0.3s,box-shadow 0.5s;
}
.nav.scrolled {
  background:rgba(253,250,246,0.97);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
  box-shadow:0 1px 0 var(--rule);height:66px;
}
.nav-inner { width:100%;display:flex;align-items:center;justify-content:space-between; }
.nav-logo img { height:58px;width:auto;filter:none;transition:height 0.3s;filter:drop-shadow(0 2px 10px rgba(0,0,0,0.45)); }
.nav.scrolled .nav-logo img { height:50px;filter:none; }
.nav-links { display:flex;align-items:center;gap:34px; }
.nav-links a {
  font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(253,250,246,0.85);transition:color 0.3s;
}
.nav.scrolled .nav-links a { color:var(--muted); }
.nav-links a:hover,.nav-links a.active { color:var(--bg-2); }
.nav.scrolled .nav-links a:hover,.nav.scrolled .nav-links a.active { color:var(--walnut); }
.nav-book {
  padding:9px 22px !important;border:1px solid rgba(253,250,246,0.5) !important;
  color:var(--bg-2) !important;transition:all 0.3s !important;
}
.nav.scrolled .nav-book { border-color:rgba(60,20,0,0.3) !important;color:var(--walnut) !important; }
.nav-book:hover { background:var(--bg-2) !important;color:var(--walnut) !important;border-color:var(--bg-2) !important; }
.nav.scrolled .nav-book:hover { background:var(--walnut) !important;color:var(--bg-2) !important;border-color:var(--walnut) !important; }

.nav-hamburger { display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px; }
.nav-hamburger span { display:block;width:24px;height:1.5px;background:var(--bg-2);transition:all 0.3s; }
.nav.scrolled .nav-hamburger span { background:var(--walnut); }
.nav-overlay { position:fixed;inset:0;background:rgba(60,20,0,0.5);z-index:1100;opacity:0;pointer-events:none;transition:opacity 0.3s; }
.nav-overlay.open { opacity:1;pointer-events:all; }
.nav-drawer {
  position:fixed;top:0;right:0;width:290px;height:100vh;background:var(--bg-2);
  z-index:1200;padding:80px 40px 40px;display:flex;flex-direction:column;gap:2px;
  transform:translateX(100%);transition:transform 0.4s var(--ease);
  border-left:1px solid var(--rule);
}
.nav-drawer.open { transform:translateX(0); }
.nav-drawer a { font-size:12px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);padding:14px 0;border-bottom:1px solid var(--rule);transition:color 0.3s; }
.nav-drawer a:hover { color:var(--walnut); }
.nav-drawer-close { position:absolute;top:28px;right:28px;background:none;border:none;color:var(--muted-2);font-size:20px;cursor:pointer;transition:color 0.2s; }
.nav-drawer-close:hover { color:var(--walnut); }

/* ═══════════════════════════════════════════════════════
   HERO
═══════════════════════════════════════════════════════ */
.hero {
  position:relative;height:100vh;min-height:620px;overflow:hidden;
  display:flex;align-items:flex-end;padding-bottom:100px;
}
.hero-slider { position:absolute;inset:0;z-index:0; }
.hero-slide {
  position:absolute;inset:0;background-size:cover;
  background-position:center;background-repeat:no-repeat;
  opacity:0;transition:opacity 1.4s ease-in-out;
}
.hero-slide.active { opacity:1; }
.hero-slide:nth-child(5n+1) { animation:kb1 9s ease-in-out infinite alternate; }
.hero-slide:nth-child(5n+2) { animation:kb2 9s ease-in-out infinite alternate; }
.hero-slide:nth-child(5n+3) { animation:kb3 9s ease-in-out infinite alternate; }
.hero-slide:nth-child(5n+4) { animation:kb4 9s ease-in-out infinite alternate; }
.hero-slide:nth-child(5n+5) { animation:kb5 9s ease-in-out infinite alternate; }
@keyframes kb1 { 0%{transform:scale(1)    translate(0%,0%);}    100%{transform:scale(1.12) translate(-1.5%,1%);} }
@keyframes kb2 { 0%{transform:scale(1.08) translate(1%,.5%);}   100%{transform:scale(1)    translate(-1%,-1%);} }
@keyframes kb3 { 0%{transform:scale(1)    translate(-1%,1%);}   100%{transform:scale(1.1)  translate(1.5%,0%);} }
@keyframes kb4 { 0%{transform:scale(1.1)  translate(0%,-1%);}   100%{transform:scale(1)    translate(-1.5%,1%);} }
@keyframes kb5 { 0%{transform:scale(1)    translate(1%,.5%);}   100%{transform:scale(1.12) translate(0%,-1.5%);} }
.hero-overlay {
  position:absolute;inset:0;z-index:1;
  background:linear-gradient(160deg,rgba(60,20,0,0.15) 0%,rgba(60,20,0,0.05) 40%,rgba(60,20,0,0.68) 100%);
}
.hero-content {
  position:relative;z-index:2;
  padding-left:max(48px,calc((100vw - 1200px) / 2));
  max-width:min(820px,92vw);
}
.hero-logo { width:110px;filter:brightness(0) invert(1);opacity:0.92;margin-bottom:28px; }
.hero-eyebrow { display:block;font-size:10px;font-weight:500;letter-spacing:0.28em;text-transform:uppercase;color:var(--honey-light);margin-bottom:16px; }
.hero-title { font-family:var(--serif);font-size:clamp(52px,7vw,108px);font-weight:300;line-height:0.97;color:var(--bg-2);margin-bottom:22px;letter-spacing:-0.01em; }
.hero-title em { font-style:italic; }
.hero-sub { font-size:11px;letter-spacing:0.22em;text-transform:uppercase;color:rgba(253,250,246,0.5);margin-bottom:48px; }
.hero-actions { display:flex;gap:14px;flex-wrap:wrap; }

/* ═══════════════════════════════════════════════════════
   MARQUEE
═══════════════════════════════════════════════════════ */
.marquee-band {
  background:var(--walnut);
  padding:16px 0;overflow:hidden;white-space:nowrap;
  border-top:1.5px solid rgba(200,147,106,0.45);
  border-bottom:1.5px solid rgba(200,147,106,0.12);
}
.marquee-track { display:inline-block;animation:marquee 30s linear infinite; }
.marquee-band:hover .marquee-track { animation-play-state:paused; }
.marquee-track span { font-size:10px;font-weight:500;letter-spacing:0.24em;text-transform:uppercase;color:rgba(245,240,232,0.6);padding:0 28px; }
.marquee-track .dot { color:var(--honey);padding:0; }
@keyframes marquee { from{transform:translateX(0);} to{transform:translateX(-50%);} }

/* ═══════════════════════════════════════════════════════
   STORY FEATURE
═══════════════════════════════════════════════════════ */
.story-feature { background:var(--bg-2);padding:120px 0; }
.story-feat-inner { display:grid;grid-template-columns:1fr 400px;gap:96px;align-items:start;width:min(1280px,92vw);margin-inline:auto; }
.story-feat-text { display:flex;flex-direction:column; }
.story-feat-quote { font-family:var(--serif);font-size:clamp(24px,2.8vw,40px);font-style:italic;font-weight:300;color:var(--walnut);line-height:1.38;margin:20px 0 40px;letter-spacing:-0.01em; }
.story-feat-rule { width:56px;height:1.5px;background:var(--honey);margin-bottom:40px; }
.story-feat-body { display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-bottom:52px; }
.story-feat-body p { font-size:15px;font-weight:300;color:var(--muted);line-height:1.9; }
.story-feat-footer { display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:40px;border-top:1px solid var(--rule); }
.story-feat-name { display:block;font-family:var(--serif);font-size:16px;font-style:italic;color:var(--walnut);margin-bottom:5px; }
.story-feat-role { font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted-2); }
.story-feat-photo { position:sticky;top:120px;height:580px;overflow:hidden; }
.story-feat-photo img { width:100%;height:100%;object-fit:cover;object-position:center;transition:transform 1.2s var(--ease); }
.story-feat-photo:hover img { transform:scale(1.04); }

/* ═══════════════════════════════════════════════════════
   ROOMS EDITORIAL
═══════════════════════════════════════════════════════ */
.rooms-editorial { padding:120px 0;background:var(--bg); }
.rooms-editorial-header {
  display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:64px;
  padding:0 max(48px,calc((100vw - 1200px) / 2));
}
.rooms-editorial-entry {
  display:grid;grid-template-columns:72px 1fr 340px;align-items:center;
  padding:0 max(48px,calc((100vw - 1200px) / 2));
  transition:background 0.4s;cursor:pointer;color:inherit;text-decoration:none;
  border-top:1px solid rgba(60,20,0,0.07);
}
.rooms-editorial-entry:last-child { border-bottom:1px solid rgba(60,20,0,0.07); }
.rooms-editorial-entry:hover { background:rgba(60,20,0,0.03); }
.room-entry-num { font-family:var(--serif);font-size:13px;color:var(--muted-2);padding:40px 0; }
.room-entry-body { padding:40px 48px 40px 0;display:flex;flex-direction:column;gap:10px; }
.room-entry-name { font-family:var(--serif);font-size:clamp(26px,2.8vw,42px);font-weight:400;color:var(--walnut);transition:color 0.3s; }
.rooms-editorial-entry:hover .room-entry-name { color:var(--walnut-mid); }
.room-entry-desc { font-size:14px;font-weight:300;color:var(--muted);max-width:460px;line-height:1.72; }
.room-entry-meta { display:flex;align-items:center;gap:20px;margin-top:6px; }
.room-entry-price { font-size:13px;color:var(--honey);letter-spacing:0.04em; }
.room-entry-tags { display:flex;gap:8px; }
.room-entry-tag { font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted-2);padding:4px 10px;border:1px solid var(--rule); }
.room-entry-img { width:340px;height:220px;overflow:hidden;align-self:center;margin:24px 0; }
.room-entry-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.7s var(--ease); }
.rooms-editorial-entry:hover .room-entry-img img { transform:scale(1.06); }

/* ═══════════════════════════════════════════════════════
   STAT BAND
═══════════════════════════════════════════════════════ */
.stat-band { background:var(--walnut);padding:72px 0; }
.stat-band-grid { display:grid;grid-template-columns:repeat(4,1fr); }
.stat-item { text-align:center;padding:0 32px;border-right:1px solid rgba(245,240,232,0.12); }
.stat-item:last-child { border-right:none; }
.stat-num { font-family:var(--serif);font-size:clamp(48px,5.5vw,80px);font-weight:300;color:var(--bg-2);line-height:1;margin-bottom:10px; }
.stat-label { font-size:10px;font-weight:400;letter-spacing:0.22em;text-transform:uppercase;color:rgba(245,240,232,0.5); }

/* ═══════════════════════════════════════════════════════
   DINING FULL BLEED
═══════════════════════════════════════════════════════ */
.dining-fullbleed { position:relative;height:78vh;min-height:500px;overflow:hidden;display:flex;align-items:center; }
.dining-fullbleed-img { position:absolute;inset:0; }
.dining-fullbleed-img img { width:100%;height:100%;object-fit:cover;filter:brightness(0.45);transition:transform 12s var(--ease); }
.dining-fullbleed:hover .dining-fullbleed-img img { transform:scale(1.05); }
.dining-fullbleed-content { position:relative;z-index:2;padding:0 max(48px,calc((100vw - 1200px) / 2));max-width:660px; }

/* ═══════════════════════════════════════════════════════
   GALLERY MOSAIC
═══════════════════════════════════════════════════════ */
.gallery-mosaic { display:grid;grid-template-columns:repeat(12,1fr);grid-template-rows:repeat(2,270px);gap:3px; }
.gallery-mosaic-item { overflow:hidden;cursor:pointer;position:relative; }
.gallery-mosaic-item:nth-child(1){grid-column:1/6;grid-row:1;}
.gallery-mosaic-item:nth-child(2){grid-column:6/9;grid-row:1;}
.gallery-mosaic-item:nth-child(3){grid-column:9/13;grid-row:1;}
.gallery-mosaic-item:nth-child(4){grid-column:1/5;grid-row:2;}
.gallery-mosaic-item:nth-child(5){grid-column:5/9;grid-row:2;}
.gallery-mosaic-item:nth-child(6){grid-column:9/13;grid-row:2;}
.gallery-mosaic-item img { width:100%;height:100%;object-fit:cover;transition:transform 0.8s var(--ease); }
.gallery-mosaic-item:hover img { transform:scale(1.07); }
.gallery-mosaic-item::after { content:'';position:absolute;inset:0;background:rgba(60,20,0,0);transition:background 0.4s; }
.gallery-mosaic-item:hover::after { background:rgba(60,20,0,0.2); }

/* ═══════════════════════════════════════════════════════
   EXPERIENCES
═══════════════════════════════════════════════════════ */
.experiences { padding:120px 0;background:var(--bg-3); }
.experiences-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:64px; }
.exp-card { position:relative;overflow:hidden;height:460px;cursor:pointer; }
.exp-card-img { position:absolute;inset:0; }
.exp-card-img img { width:100%;height:100%;object-fit:cover;filter:brightness(0.55);transition:transform 0.8s var(--ease),filter 0.8s; }
.exp-card:hover .exp-card-img img { transform:scale(1.07);filter:brightness(0.42); }
.exp-card-content { position:absolute;bottom:0;left:0;right:0;padding:44px 36px;background:linear-gradient(to top,rgba(60,20,0,0.85) 0%,transparent 100%); }
.exp-card-eyebrow { font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--honey-light);display:block;margin-bottom:10px; }
.exp-card-name { font-family:var(--serif);font-size:28px;font-weight:400;color:var(--bg-2);margin-bottom:6px; }
.exp-card-price { font-size:13px;color:rgba(245,240,232,0.6); }

/* ═══════════════════════════════════════════════════════
   REVIEWS / CTA
═══════════════════════════════════════════════════════ */
/* ── Live Reviews ───────────────────────────────────── */
.live-reviews { background:var(--walnut);padding:96px 0; }
.live-reviews-header { text-align:center;margin-bottom:56px; }
.live-badge { display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.11);padding:7px 18px;margin-bottom:22px; }
.live-badge-dot { width:7px;height:7px;background:#22c55e;border-radius:50%;animation:livePulse 2s ease-in-out infinite;flex-shrink:0; }
.live-badge-text { font-size:10px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:rgba(245,240,232,0.6); }
@keyframes livePulse { 0%,100%{box-shadow:0 0 0 0 rgba(34,197,94,0.5);} 60%{box-shadow:0 0 0 6px rgba(34,197,94,0);} }
.live-reviews-score { display:flex;align-items:baseline;justify-content:center;gap:12px;margin-bottom:8px; }
.live-reviews-num { font-family:var(--serif);font-size:60px;font-weight:300;color:var(--bg-2);line-height:1; }
.live-reviews-stars { color:var(--honey);font-size:19px;letter-spacing:3px;align-self:center; }
.live-reviews-sub { font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(245,240,232,0.28); }
.live-reviews-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:2px; }
.review-card { background:rgba(255,255,255,0.04);padding:40px 34px;transition:opacity 0.52s ease,transform 0.52s ease; }
.review-card.fading { opacity:0;transform:translateY(12px); }
.review-card-stars { color:var(--honey);font-size:12px;letter-spacing:2.5px;margin-bottom:18px;opacity:0.85; }
.review-card-text { font-family:var(--serif);font-size:clamp(15px,1.3vw,17px);font-weight:300;font-style:italic;color:rgba(245,240,232,0.7);line-height:1.78;margin-bottom:28px; }
.review-card-author { display:flex;align-items:center;gap:13px;border-top:1px solid rgba(245,240,232,0.07);padding-top:20px; }
.review-card-avatar { width:38px;height:38px;border-radius:50%;background:rgba(200,147,106,0.2);border:1px solid rgba(200,147,106,0.35);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px;color:var(--honey);flex-shrink:0; }
.review-card-name { font-size:13px;font-weight:500;color:rgba(245,240,232,0.72);letter-spacing:0.04em; }
.review-card-date { font-size:11px;color:rgba(245,240,232,0.28);letter-spacing:0.04em;margin-top:2px; }
.live-reviews-footer { text-align:center;margin-top:48px;display:flex;align-items:center;justify-content:center;gap:22px; }
.live-updated { font-size:11px;color:rgba(245,240,232,0.22);letter-spacing:0.1em;text-transform:uppercase; }
.live-google-link { font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:rgba(245,240,232,0.4);border-bottom:1px solid rgba(245,240,232,0.15);padding-bottom:1px;transition:color 0.3s,border-color 0.3s; }
.live-google-link:hover { color:var(--honey-light);border-color:var(--honey); }

.cta-band { background:var(--walnut);padding:128px 0;text-align:center; }
.cta-band .section-title { font-size:clamp(38px,5.5vw,82px);margin-bottom:14px;color:var(--bg-2); }
.cta-band .section-label { color:var(--honey); }
.cta-band .section-desc { margin-inline:auto;margin-bottom:52px;text-align:center;color:rgba(245,240,232,0.6); }
.cta-band-actions { display:flex;justify-content:center;gap:16px;flex-wrap:wrap; }

/* ═══════════════════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════════════════ */
.footer { background:var(--walnut);border-top:1px solid rgba(245,240,232,0.08);padding:96px 0 0; }
.footer-grid { display:grid;grid-template-columns:1.5fr 1fr 1fr 1.4fr;gap:60px;padding-bottom:72px;border-bottom:1px solid rgba(245,240,232,0.08); }
.footer-logo { width:150px;filter:brightness(0) invert(1);opacity:0.65;margin-bottom:22px; }
.footer-tagline { font-size:14px;font-weight:300;color:rgba(245,240,232,0.55);line-height:1.8;margin-bottom:26px;max-width:250px; }
.footer-social { display:flex;gap:12px; }
.footer-social a { width:36px;height:36px;border:1px solid rgba(245,240,232,0.18);display:flex;align-items:center;justify-content:center;color:rgba(245,240,232,0.5);transition:all 0.3s; }
.footer-social a:hover { border-color:var(--honey);color:var(--honey); }
.footer-col h4 { font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--bg-2);margin-bottom:22px; }
.footer-col ul { display:flex;flex-direction:column;gap:10px; }
.footer-col ul a { font-size:14px;font-weight:300;color:rgba(245,240,232,0.5);transition:color 0.3s; }
.footer-col ul a:hover { color:var(--honey-light); }
.footer-contact-item { display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;color:rgba(245,240,232,0.5);font-size:14px;font-weight:300;line-height:1.65; }
.footer-contact-item a { color:rgba(245,240,232,0.5);transition:color 0.3s; }
.footer-contact-item a:hover { color:var(--honey-light); }
.footer-bottom { padding:26px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px; }
.footer-copy,.footer-credit { font-size:12px;font-weight:300;color:rgba(245,240,232,0.3);letter-spacing:0.04em; }
.footer-legal { display:flex;gap:22px; }
.footer-legal a { font-size:12px;font-weight:300;color:rgba(245,240,232,0.3);transition:color 0.3s; }
.footer-legal a:hover { color:rgba(245,240,232,0.6); }

/* ═══════════════════════════════════════════════════════
   WHATSAPP / CURSOR / BACK TO TOP
═══════════════════════════════════════════════════════ */
.wa-float { position:fixed;bottom:28px;right:28px;width:52px;height:52px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,0.35);z-index:900;transition:transform 0.3s,box-shadow 0.3s; }
.wa-float:hover { transform:scale(1.1);box-shadow:0 6px 28px rgba(37,211,102,0.5); }
.wa-float svg { width:26px;height:26px;fill:#fff; }
#backToTop { position:fixed;bottom:92px;right:28px;width:44px;height:44px;background:var(--bg-2);border:1px solid var(--rule);color:var(--muted);display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;pointer-events:none;transition:all 0.3s;z-index:800; }
#backToTop.visible { opacity:1;pointer-events:all; }
#backToTop:hover { background:var(--walnut);color:var(--bg-2);border-color:var(--walnut); }
#customCursor { position:fixed;width:36px;height:36px;border:1px solid rgba(60,20,0,0.3);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:9999;transition:width 0.3s,height 0.3s,background 0.3s,border-color 0.3s; }
#customCursor.hover { width:56px;height:56px;background:rgba(60,20,0,0.07);border-color:var(--walnut); }
#cursorDot { position:fixed;width:5px;height:5px;background:var(--honey);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:9999; }

/* ═══════════════════════════════════════════════════════
   INNER PAGES — PAGE HEADER / PAGE HERO
═══════════════════════════════════════════════════════ */
.page-header { position:relative;height:55vh;min-height:360px;overflow:hidden;display:flex;align-items:center;padding-top:66px; }
.page-header-bg { position:absolute;inset:0; }
.page-header-bg img { width:100%;height:100%;object-fit:cover;filter:brightness(0.45); }
.page-header-overlay { position:absolute;inset:0;background:linear-gradient(to bottom,rgba(60,20,0,0.3),rgba(60,20,0,0.6)); }
.page-header-content { position:relative;z-index:2;padding:0 max(48px,calc((100vw - 1200px) / 2)); }

.page-hero { position:relative;height:55vh;min-height:380px;overflow:hidden;display:flex;align-items:center;padding-top:66px; }
.page-hero-bg { position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(0.52); }
.page-hero::after { content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(30,10,0,0.25) 0%,rgba(30,10,0,0.65) 100%);z-index:1; }
.page-hero-content { position:relative;z-index:2;padding:0 max(48px,calc((100vw - 1200px) / 2)); }
.page-hero-content h1 { font-family:var(--serif);font-size:clamp(36px,5vw,68px);font-weight:400;color:var(--bg-2);line-height:1.05;margin-bottom:12px; }
.page-hero-content p { font-size:14px;font-weight:300;color:rgba(245,240,232,0.6);letter-spacing:0.06em; }

/* Nav solid state — inner pages (no hero image behind nav) */
.nav.nav-solid { background:rgba(253,250,246,0.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 1px 0 var(--rule);height:66px; }
.nav.nav-solid .nav-links a { color:var(--muted); }
.nav.nav-solid .nav-links a:hover,.nav.nav-solid .nav-links a.active { color:var(--walnut); }
.nav.nav-solid .nav-book { border-color:rgba(60,20,0,0.3) !important;color:var(--walnut) !important; }
.nav.nav-solid .nav-book:hover { background:var(--walnut) !important;color:var(--bg-2) !important;border-color:var(--walnut) !important; }
.nav.nav-solid .nav-hamburger span { background:var(--walnut); }
.nav.nav-solid .nav-logo img { filter:none; }

/* ── Rooms Grid & Cards ─────────────────────────────── */
.rooms-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:3px; }
.room-card { background:var(--bg-2);overflow:hidden;cursor:pointer;border:1px solid var(--rule);transition:border-color 0.4s,box-shadow 0.4s; }
.room-card:hover { border-color:rgba(60,20,0,0.2);box-shadow:0 8px 32px rgba(60,20,0,0.08); }
.room-card-img { overflow:hidden;height:260px; }
.room-card-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.7s var(--ease); }
.room-card:hover .room-card-img img { transform:scale(1.07); }
.room-card-body { padding:30px 26px 34px; }
.room-card-body h3 { font-family:var(--serif);font-size:24px;font-weight:400;color:var(--walnut);margin-bottom:10px; }
.room-card-body p { font-size:14px;font-weight:300;color:var(--muted);line-height:1.72;margin-bottom:18px; }
.room-card-price { font-size:13px;color:var(--muted);margin-bottom:20px; }
.room-card-price strong { color:var(--honey);font-weight:500; }
.room-card-link { font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:var(--walnut);border-bottom:1px solid rgba(60,20,0,0.25);padding-bottom:2px;transition:all 0.3s; }
.room-card:hover .room-card-link { color:var(--walnut-mid);border-color:var(--walnut-mid); }

/* Room Detail */
.room-detail-hero { position:relative;height:70vh;min-height:480px;overflow:hidden; }
.room-detail-hero-main { position:absolute;inset:0; }
.room-detail-hero-main img { width:100%;height:100%;object-fit:cover;filter:brightness(0.78);transition:opacity 0.3s; }
.room-detail-thumbs { display:flex;gap:8px;margin-top:12px; }
.room-detail-thumb { width:90px;height:64px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color 0.3s;flex-shrink:0; }
.room-detail-thumb img { width:100%;height:100%;object-fit:cover; }
.room-detail-thumb.active-thumb { border-color:var(--honey); }
.room-detail-thumb:hover { border-color:rgba(60,20,0,0.3); }
.room-detail-layout { display:grid;grid-template-columns:1fr 360px;gap:64px;padding:80px 0;align-items:start; }
.room-detail-info h1 { font-family:var(--serif);font-size:clamp(32px,4vw,56px);font-weight:400;color:var(--walnut);margin-bottom:8px; }
.room-detail-info .room-subtitle { font-size:14px;font-weight:300;color:var(--muted);letter-spacing:0.06em;margin-bottom:32px; }
.room-detail-info p { font-size:15px;font-weight:300;color:var(--muted);line-height:1.88;margin-bottom:16px; }
.room-amenity-tags { display:flex;flex-wrap:wrap;gap:8px;margin-top:32px; }
.room-amenities-grid { display:flex;flex-direction:column;margin-top:24px;border-top:1px solid var(--rule); }
.room-amenity-tag { display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);padding:14px 0;border-bottom:1px solid var(--rule);border-left:none;border-right:none;border-top:none;background:none; }
.room-amenity-tag svg { flex-shrink:0;color:var(--walnut-mid);opacity:0.7; }

/* Booking card */
.room-booking-card { background:var(--bg-dark);color:var(--bg);padding:40px 32px;position:sticky;top:100px; }
.room-booking-card h3 { font-family:var(--serif);font-size:13px;letter-spacing:0.18em;text-transform:uppercase;color:rgba(255,255,255,0.5);font-weight:400;margin:0 0 20px; }
.booking-price { font-family:var(--serif);font-size:48px;color:var(--bg);line-height:1;margin-bottom:4px; }
.booking-price-note { font-size:11px;color:rgba(255,255,255,0.4);letter-spacing:0.1em;text-transform:uppercase;margin-bottom:32px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,0.1); }
.booking-specs { display:flex;flex-direction:column;gap:0;margin-bottom:24px; }
.booking-spec { display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,0.08); }
.booking-spec-key { font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.4); }
.booking-spec-val { font-size:13px;color:rgba(255,255,255,0.85);font-weight:500; }
.booking-addon { font-size:11px;color:rgba(255,255,255,0.35);letter-spacing:0.06em;margin-bottom:28px;padding:12px 16px;background:rgba(255,255,255,0.05);border-left:2px solid rgba(255,255,255,0.15); }

/* Gallery */
.gallery-grid { display:grid;gap:3px;grid-template-columns:repeat(4,1fr); }
.gallery-item { position:relative;overflow:hidden;aspect-ratio:1;cursor:pointer; }
.gallery-item img { width:100%;height:100%;object-fit:cover;display:block;transition:transform 0.6s var(--ease); }
.gallery-item:hover img { transform:scale(1.09); }
.gallery-item-overlay { position:absolute;inset:0;background:rgba(60,20,0,0);display:flex;align-items:center;justify-content:center;transition:background 0.4s; }
.gallery-item:hover .gallery-item-overlay { background:rgba(60,20,0,0.35); }
.gallery-item-overlay svg { width:28px;height:28px;color:var(--bg-2);opacity:0;transition:opacity 0.4s; }
.gallery-item:hover .gallery-item-overlay svg { opacity:1; }
#lightbox { position:fixed;inset:0;background:rgba(30,10,0,0.97);z-index:9000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.3s; }
#lightbox.active { opacity:1;pointer-events:all; }
#lightbox img { max-width:90vw;max-height:88vh;object-fit:contain; }
#lightboxClose,#lightboxPrev,#lightboxNext { position:absolute;background:rgba(60,20,0,0.3);border:1px solid rgba(245,240,232,0.3);color:var(--bg-2);cursor:pointer;transition:all 0.3s;display:flex;align-items:center;justify-content:center; }
#lightboxClose { top:24px;right:24px;width:44px;height:44px;font-size:20px; }
#lightboxPrev  { left:24px;top:50%;transform:translateY(-50%);padding:14px 18px; }
#lightboxNext  { right:24px;top:50%;transform:translateY(-50%);padding:14px 18px; }
#lightboxClose:hover,#lightboxPrev:hover,#lightboxNext:hover { background:var(--walnut);border-color:var(--walnut); }
.filter-btns { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px; }
.filter-btn { padding:9px 22px;font-size:11px;font-weight:500;letter-spacing:0.12em;text-transform:uppercase;background:transparent;border:1px solid var(--rule);color:var(--muted);cursor:pointer;transition:all 0.3s; }
.filter-btn:hover,.filter-btn.active { background:var(--walnut);color:var(--bg-2);border-color:var(--walnut); }

/* Dining */
.menu-category { margin-bottom:52px; }
.menu-category h3 { font-family:var(--serif);font-size:28px;font-weight:400;color:var(--walnut);margin-bottom:22px;border-bottom:1px solid var(--rule);padding-bottom:14px; }
.menu-item { display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:13px 0;border-bottom:1px dotted var(--rule); }
.menu-item-name { font-size:15px;font-weight:400;color:var(--text); }
.menu-item-desc { font-size:13px;font-weight:300;color:var(--muted);margin-top:3px; }
.menu-item-price { font-size:14px;color:var(--honey);white-space:nowrap;font-weight:500; }
.dining-grid-img { overflow:hidden; }
.dining-grid-img img { transition:transform 0.7s var(--ease); }
.dining-grid-img:hover img { transform:scale(1.05); }

/* Amenities */
.amenities-grid-big { display:grid;grid-template-columns:repeat(3,1fr);gap:3px; }
.amenity-card { background:var(--bg-2);padding:48px 36px;border:1px solid var(--rule);transition:border-color 0.3s,box-shadow 0.3s; }
.amenity-card:hover { border-color:rgba(60,20,0,0.18);box-shadow:0 6px 24px rgba(60,20,0,0.06); }
.amenity-card-icon { width:38px;height:38px;color:var(--honey);margin-bottom:22px; }
.amenity-card-icon svg { width:100%;height:100%; }
.amenity-card h3 { font-family:var(--serif);font-size:22px;font-weight:400;color:var(--walnut);margin-bottom:12px; }
.amenity-card p { font-size:14px;font-weight:300;color:var(--muted);line-height:1.72; }
.amenities-list { display:flex;flex-direction:column; }
.amenity-item { display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid var(--rule);font-size:14px;font-weight:300;color:var(--muted); }
.amenity-icon { width:20px;height:20px;color:var(--honey);flex-shrink:0; }
.amenity-icon svg { width:100%;height:100%; }
.services-strip { background:var(--bg-3);padding:40px 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule); }
.services-grid { display:grid;grid-template-columns:repeat(4,1fr); }
.service-item { display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:0 20px;border-right:1px solid var(--rule);font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted); }
.service-item:last-child { border-right:none; }
.service-icon { width:22px;height:22px;color:var(--honey); }
.service-icon svg { width:100%;height:100%; }
.services-link { display:block;text-align:right;margin-top:20px;font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--walnut); }

/* Trips */
.testimonial-card,.package-card,.addon-item { background:var(--bg-2);border:1px solid var(--rule);padding:36px;transition:border-color 0.4s,box-shadow 0.4s; }
.testimonial-card:hover,.package-card:hover { border-color:rgba(60,20,0,0.2);box-shadow:0 6px 24px rgba(60,20,0,0.06); }
.philosophy-item { padding:30px 0;border-bottom:1px solid var(--rule);display:flex;gap:30px;align-items:flex-start; }
.philosophy-num { font-family:var(--serif);font-size:52px;font-weight:300;color:rgba(60,20,0,0.12);line-height:1;flex-shrink:0;width:60px; }
.philosophy-item h3 { font-family:var(--serif);font-size:22px;font-weight:400;color:var(--walnut);margin-bottom:10px; }
.philosophy-item p { font-size:14px;font-weight:300;color:var(--muted);line-height:1.75; }

/* Contact */
.contact-info-item { display:flex;align-items:flex-start;gap:16px;padding:22px 0;border-bottom:1px solid var(--rule);color:var(--muted);font-size:15px;font-weight:300;line-height:1.7; }
.contact-info-item a { color:var(--muted);transition:color 0.3s; }
.contact-info-item a:hover { color:var(--walnut); }

/* Forms */
.form-group { margin-bottom:20px; }
.form-group label { display:block;font-size:10px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px; }
.form-group input,.form-group textarea,.form-group select { width:100%;background:var(--bg-2);border:1px solid var(--rule);color:var(--text);padding:14px 18px;font-family:var(--sans);font-size:14px;font-weight:300;transition:border-color 0.3s;outline:none;appearance:none; }
.form-group input::placeholder,.form-group textarea::placeholder { color:var(--muted-2); }
.form-group.focused input,.form-group.focused textarea,.form-group.focused select { border-color:var(--honey); }
.form-group textarea { resize:vertical;min-height:120px; }

/* FAQ */
.faq-item { border-bottom:1px solid var(--rule); }
.faq-question { width:100%;background:none;border:none;text-align:left;padding:24px 0;font-family:var(--serif);font-size:20px;font-weight:400;color:var(--walnut);cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px; }
.faq-question::after { content:'+';font-family:var(--sans);font-size:22px;font-weight:300;color:var(--honey);flex-shrink:0;transition:transform 0.3s; }
.faq-item.open .faq-question::after { transform:rotate(45deg); }
.faq-answer { max-height:0;overflow:hidden;transition:max-height 0.4s var(--ease); }
.faq-item.open .faq-answer { max-height:400px; }
.faq-answer p { font-size:14px;font-weight:300;color:var(--muted);line-height:1.8;padding-bottom:24px; }

/* Story page */
.story-body { max-width:720px; }
.story-body p { font-size:16px;font-weight:300;color:var(--muted);line-height:1.9;margin-bottom:20px; }
.story-body h2 { font-family:var(--serif);font-size:32px;font-weight:400;color:var(--walnut);margin:48px 0 20px; }
.story-attractions { display:grid;grid-template-columns:repeat(3,1fr);gap:3px;margin-top:48px; }
.attraction-item { background:var(--bg-2);padding:28px 24px;border:1px solid var(--rule); }
.attraction-item h4 { font-family:var(--serif);font-size:18px;font-weight:400;color:var(--walnut);margin-bottom:8px; }
.attraction-item p { font-size:13px;font-weight:300;color:var(--muted);line-height:1.62; }

/* ── Journal ────────────────────────────────────────── */
.journal-featured { display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:72px;text-decoration:none;color:inherit;overflow:hidden;border:1px solid var(--rule);transition:box-shadow 0.4s; }
.journal-featured:hover { box-shadow:0 12px 48px rgba(60,20,0,0.1); }
.journal-featured-img { overflow:hidden;min-height:480px; }
.journal-featured-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.9s var(--ease); }
.journal-featured:hover .journal-featured-img img { transform:scale(1.04); }
.journal-featured-body { background:var(--bg-2);padding:56px 52px;display:flex;flex-direction:column;justify-content:center; }
.journal-featured-title { font-family:var(--serif);font-size:clamp(28px,3vw,44px);font-weight:400;color:var(--walnut);line-height:1.15;margin:10px 0 14px; }
.journal-featured-sub { font-size:14px;font-weight:300;color:var(--muted-2);margin-bottom:20px;letter-spacing:0.03em; }
.journal-featured-excerpt { font-size:15px;font-weight:300;color:var(--muted);line-height:1.85;margin-bottom:28px; }
.journal-cat { font-size:10px;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--honey); }
.journal-meta { display:flex;align-items:center;gap:8px;font-size:12px;font-weight:300;color:var(--muted-2);margin-top:4px; }
.journal-meta-dot { color:var(--honey); }
.journal-read-link { display:inline-block;margin-top:20px;font-size:11px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;color:var(--walnut);border-bottom:1px solid rgba(60,20,0,0.25);padding-bottom:2px;transition:border-color 0.3s; }
.journal-featured:hover .journal-read-link { border-color:var(--walnut); }
.journal-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:3px; }
.journal-card { background:var(--bg-2);overflow:hidden;color:inherit;text-decoration:none;border:1px solid var(--rule);transition:box-shadow 0.4s; }
.journal-card:hover { box-shadow:0 8px 32px rgba(60,20,0,0.08); }
.journal-card-img { overflow:hidden;height:240px; }
.journal-card-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.7s var(--ease); }
.journal-card:hover .journal-card-img img { transform:scale(1.06); }
.journal-card-body { padding:28px 26px 32px; }
.journal-card-title { font-family:var(--serif);font-size:22px;font-weight:400;color:var(--walnut);line-height:1.25;margin:8px 0 12px; }
.journal-card-excerpt { font-size:13px;font-weight:300;color:var(--muted);line-height:1.75;margin-bottom:16px; }
.journal-post-layout { display:grid;grid-template-columns:1fr 320px;gap:80px;align-items:start; }
.journal-post-body { max-width:100%; }
.journal-post-figure { margin:52px 0;overflow:hidden; }
.journal-post-figure img { width:100%;height:460px;object-fit:cover;display:block; }
.journal-post-figure figcaption { font-size:12px;font-weight:400;color:var(--muted-2);letter-spacing:0.04em;margin-top:12px;font-style:italic;line-height:1.6; }
.journal-post-lead { font-family:var(--serif);font-size:clamp(18px,1.8vw,22px);font-weight:300;font-style:italic;color:var(--walnut-mid);line-height:1.65;margin-bottom:36px;padding-bottom:36px;border-bottom:1px solid var(--rule); }
.journal-post-body p { font-size:16px;font-weight:300;color:var(--muted);line-height:1.95;margin-bottom:22px; }
.journal-post-body h2 { font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);font-weight:400;color:var(--walnut);margin:48px 0 18px; }
.journal-sidebar-card { background:var(--bg-2);border:1px solid var(--rule);padding:32px 28px;margin-bottom:32px;position:sticky;top:100px; }
.journal-sidebar-related h4 { font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--walnut);margin-bottom:20px; }
.journal-related-item { display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--rule);color:inherit;text-decoration:none;transition:opacity 0.3s; }
.journal-related-item:hover { opacity:0.75; }
.journal-related-img { width:68px;height:52px;flex-shrink:0;overflow:hidden; }
.journal-related-img img { width:100%;height:100%;object-fit:cover; }
.journal-related-title { font-family:var(--serif);font-size:14px;font-weight:400;color:var(--walnut);line-height:1.35;margin-top:4px; }

/* ── Home Journal Preview ───────────────────────────── */
.home-journal { background:var(--bg-2);padding:120px 0; }
.home-journal-header { display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:56px; }
.home-journal-grid { display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2px; }
.home-journal-card { display:block;text-decoration:none;color:inherit;overflow:hidden;background:var(--bg);transition:box-shadow 0.4s; }
.home-journal-card:hover { box-shadow:0 12px 40px rgba(60,20,0,0.1); }
.home-journal-card-img { overflow:hidden;height:300px; }
.home-journal-card--featured .home-journal-card-img { height:420px; }
.home-journal-card-img img { width:100%;height:100%;object-fit:cover;transition:transform 0.8s var(--ease); }
.home-journal-card:hover .home-journal-card-img img { transform:scale(1.05); }
.home-journal-card-body { padding:28px 28px 32px; }
.home-journal-card--featured .home-journal-card-body { padding:32px 36px 40px; }
.home-journal-card-title { font-family:var(--serif);font-size:22px;font-weight:400;color:var(--walnut);line-height:1.2;margin:8px 0 12px; }
.home-journal-card--featured .home-journal-card-title { font-size:clamp(24px,2.2vw,32px); }
.home-journal-card-excerpt { font-size:13px;font-weight:300;color:var(--muted);line-height:1.8; }

/* Legal */
.legal-body h2 { font-family:var(--serif);font-size:28px;font-weight:400;color:var(--walnut);margin:40px 0 16px; }
.legal-body p,.legal-body ul li { font-size:15px;font-weight:300;color:var(--muted);line-height:1.85;margin-bottom:14px; }
.legal-body ul { padding-left:20px; }
.legal-body ul li { list-style:disc; }

/* Split */
.split-section { display:grid;grid-template-columns:1fr 1fr; }
.split-img { overflow:hidden;min-height:480px;position:relative; }
.split-img img { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 0.8s var(--ease); }
.split-section:hover .split-img img { transform:scale(1.04); }
.split-content { padding:80px 64px;display:flex;flex-direction:column;justify-content:center;background:var(--bg-3); }
.split-content.dark { background:var(--walnut); }

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════ */
@media (max-width:1024px) {
  .rooms-editorial-entry { grid-template-columns:56px 1fr 260px; }
  .room-entry-img { width:260px;height:170px; }
  .footer-grid { grid-template-columns:1fr 1fr;gap:48px; }
  .stat-item { padding:32px; }
  .stat-item:nth-child(2) { border-right:none; }
  .stat-item:nth-child(3) { border-right:1px solid rgba(245,240,232,0.12);border-top:1px solid rgba(245,240,232,0.12); }
  .stat-item:nth-child(4) { border-top:1px solid rgba(245,240,232,0.12); }
  .stat-band-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-mosaic { grid-template-rows:repeat(2,200px); }
  .experiences-grid { grid-template-columns:1fr 1fr; }
  .exp-card { height:360px; }
}
@media (max-width:768px) {
  .nav { padding:0 24px; }
  .nav-links { display:none; }
  .nav-hamburger { display:flex; }
  .hero-content { padding-left:24px;padding-right:24px; }
  .hero-title { font-size:clamp(42px,10vw,68px); }
  .hero-actions .btn { flex:1;justify-content:center; }
  .story-feature { padding:64px 0; }
  .story-feat-inner { grid-template-columns:1fr;gap:40px; }
  .story-feat-photo { position:static;height:300px; }
  .story-feat-body { grid-template-columns:1fr; }
  .story-feat-footer { flex-direction:column;align-items:flex-start;gap:20px; }
  .rooms-editorial-entry { grid-template-columns:1fr;padding:0 24px; }
  .room-entry-num { padding:28px 0 0; }
  .room-entry-body { padding:16px 0 0; }
  .room-entry-img { width:100%;height:210px;margin:20px 0; }
  .rooms-editorial-header { padding:0 24px;flex-direction:column;align-items:flex-start;gap:20px; }
  .dining-fullbleed-content { padding:0 24px; }
  .dining-fullbleed { height:60vh; }
  .gallery-mosaic { grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(3,180px); }
  .gallery-mosaic-item:nth-child(1){grid-column:1/2;grid-row:1;}
  .gallery-mosaic-item:nth-child(2){grid-column:2/3;grid-row:1;}
  .gallery-mosaic-item:nth-child(3){grid-column:1/2;grid-row:2;}
  .gallery-mosaic-item:nth-child(4){grid-column:2/3;grid-row:2;}
  .gallery-mosaic-item:nth-child(5){grid-column:1/2;grid-row:3;}
  .gallery-mosaic-item:nth-child(6){grid-column:2/3;grid-row:3;}
  .experiences-grid { grid-template-columns:1fr; }
  .exp-card { height:300px; }
  .cta-band { padding:80px 0; }
  .footer-grid { grid-template-columns:1fr;gap:40px; }
  .footer-bottom { flex-direction:column;align-items:flex-start; }
  .split-section { grid-template-columns:1fr; }
  .split-img { min-height:300px; }
  .split-content { padding:60px 32px; }
  .rooms-grid { grid-template-columns:1fr; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .amenities-grid-big { grid-template-columns:1fr; }
  .section-pad { padding:80px 0; }
  .room-detail-layout { grid-template-columns:1fr; }
  .room-booking-card { position:static; }
  .story-attractions { grid-template-columns:1fr;gap:3px; }
  .live-reviews-grid { grid-template-columns:1fr; }
  .live-reviews { padding:64px 0; }
  .journal-featured { grid-template-columns:1fr; }
  .journal-featured-img { min-height:260px; }
  .journal-featured-body { padding:36px 28px; }
  .journal-grid { grid-template-columns:1fr; }
  .journal-post-layout { grid-template-columns:1fr; }
  .journal-sidebar-card { position:static; }
  .journal-post-figure img { height:260px; }
  .home-journal-grid { grid-template-columns:1fr; }
  .home-journal-card-img,.home-journal-card--featured .home-journal-card-img { height:240px; }
  .services-grid { grid-template-columns:repeat(2,1fr);gap:24px; }
  .service-item { border-right:none;padding:0; }
}
@media (max-width:480px) {
  .stat-band-grid { grid-template-columns:1fr 1fr; }
  .stat-item { border-right:none !important;border-top:none !important;padding:20px 12px; }
  .stat-item:nth-child(odd) { border-right:1px solid rgba(245,240,232,0.12) !important; }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
  .footer-legal { flex-wrap:wrap;gap:12px; }
}
