
:root {
  --cream:        #F9F6F0;
  --cream-dark:   #EDE8DF;
  --black:        #0C0B09;
  --black-soft:   #141210;
  --rust:         #B8451A;
  --rust-dark:    #8F3412;
  --gold:         #E09A1A;
  --gold-lt:      #F2BC4E;
  --gold-dim:     rgba(224,154,26,0.18);
  --gray-lt:      #9A9486;
  --glass:        rgba(249,246,240,0.06);
  --glass-border: rgba(224,154,26,0.22);
  --serif:        'Playfair Display', Georgia, serif;
  --sans:         'DM Sans', sans-serif;
  --ease:         cubic-bezier(0.4,0,0.2,1);
  --ease-out:     cubic-bezier(0,0,0.2,1);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body { font-family: var(--sans); background: var(--cream); color: var(--black); overflow-x: hidden; }
img { display: block; max-width: 100%; height: auto; }
/* Contained image contexts that need cover behaviour */
.slide img,
.gallery-card img,
.feature-img img,
.tour-bg img,
.tour-card img,
.artifact-img img { width:100%;height:100%;object-fit:cover; }
.artifact-img img,
.shop-card-img img,
.ep-card-img img,
.sng-hero img,
.sng-rel-card img,
.post-card-img img,
.cat-card img,
.cat-card-img img,
.team-img img,
.editorial-img img,
.masonry-card img,
.mood-img img,
.blog-grid .blog-img img,
.ip-hero img {
  width: 100%; height: 100%; object-fit: cover;
}
a { text-decoration: none; color: inherit; }
button { border: none; background: none; font-family: var(--sans); cursor: pointer; }

/* SCROLL REVEAL */
.reveal { opacity: 0; transform: translateY(40px); transition: opacity 0.85s cubic-bezier(0.4,0,0.2,1), transform 0.85s cubic-bezier(0.4,0,0.2,1); }
.reveal.active { opacity: 1; transform: translateY(0); }
.reveal-l { opacity: 0; transform: translateX(-50px); transition: opacity 0.85s cubic-bezier(0.4,0,0.2,1), transform 0.85s cubic-bezier(0.4,0,0.2,1); }
.reveal-l.active { opacity: 1; transform: translateX(0); }
.reveal-r { opacity: 0; transform: translateX(50px); transition: opacity 0.85s cubic-bezier(0.4,0,0.2,1), transform 0.85s cubic-bezier(0.4,0,0.2,1); }
.reveal-r.active { opacity: 1; transform: translateX(0); }
/* Safety: if JS fails, show everything after 3s */
@keyframes reveal-fallback { to { opacity:1; transform:none; } }
.reveal, .reveal-l, .reveal-r { animation: reveal-fallback 0s 3s forwards; }
.delay-1 { transition-delay: 0.1s; }
.delay-2 { transition-delay: 0.2s; }
.delay-3 { transition-delay: 0.3s; }
.delay-4 { transition-delay: 0.45s; }
.delay-5 { transition-delay: 0.6s; }

/* ══════════════════════════════
   NAVBAR
══════════════════════════════ */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 900;
  height: 78px; padding: 0 56px;
  display: flex; align-items: center; justify-content: space-between;
  backdrop-filter: blur(22px) saturate(1.6);
  -webkit-backdrop-filter: blur(22px) saturate(1.6);
  background: rgba(249,246,240,0.72);
  border-bottom: 1px solid var(--glass-border);
  transition: all 0.4s var(--ease);
}
nav.scrolled { height: 64px; background: rgba(249,246,240,0.92); }

.nav-logo {
  font-family: var(--serif);
  font-size: 20px; font-weight: 700;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--black);
  display: flex; align-items: center; gap: 12px;
}
.logo-mark {
  width: 34px; height: 34px;
  border: 1.5px solid var(--rust);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; color: var(--rust);
  font-weight: 700;
}
.logo-text em { color: var(--rust); font-style: normal; }

.nav-links { display: flex; align-items: center; gap: 34px; list-style: none; }
.nav-links a {
  font-size: 10.5px; font-weight: 500;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gray-lt);
  position: relative; transition: color 0.3s;
}
.nav-links a::after {
  content: ''; position: absolute; bottom: -3px; left: 0; right: 0;
  height: 1px; background: var(--rust);
  transform: scaleX(0); transform-origin: right;
  transition: transform 0.35s var(--ease);
}
.nav-links a:hover { color: var(--black); }
.nav-links a:hover::after { transform: scaleX(1); transform-origin: left; }

.nav-btn {
  padding: 10px 26px;
  border: 1.5px solid var(--rust);
  font-size: 10.5px; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--rust);
  transition: all 0.3s var(--ease);
}
.nav-btn:hover { background: var(--rust); color: var(--cream); }

.hamburger { display: none; flex-direction: column; gap: 5px; background: none; border: none; }
.hamburger span { display: block; width: 24px; height: 1.5px; background: var(--black); transition: all 0.3s; }

.mobile-menu {
  display: none; position: fixed; inset: 0; z-index: 800;
  background: var(--cream); flex-direction: column;
  align-items: center; justify-content: center; gap: 36px;
  padding-top: 80px;
}
.mobile-menu.open { display: flex; }
.mobile-menu a {
  font-family: var(--serif); font-size: 28px;
  color: var(--black); letter-spacing: 0.04em;
  transition: color 0.3s;
}
.mobile-menu a:hover { color: var(--rust); }

/* ══════════════════════════════
   HERO SLIDESHOW
══════════════════════════════ */
.hero,
.maison-hero {
  position: relative; width: 100%; height: 100vh;
  overflow: hidden; background: var(--black);
}
.slide {
  position: absolute; inset: 0;
  opacity: 0; transition: opacity 1.8s var(--ease);
  overflow: hidden;
}
.slide.active { opacity: 1; }
.slide img {
  width: 100%; height: 100%; object-fit: cover;
  transform: scale(1.08);
  transition: transform 9s linear;
}
.slide.active img { transform: scale(1); }
.slide-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(
    160deg,
    rgba(12,11,9,0.55) 0%,
    rgba(12,11,9,0.18) 40%,
    rgba(12,11,9,0.62) 75%,
    rgba(12,11,9,0.93) 100%
  );
}

.hero-content {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 0 72px 90px;
  z-index: 10;
  background: linear-gradient(
    to top,
    rgba(12,11,9,0.96) 0%,
    rgba(12,11,9,0.88) 25%,
    rgba(12,11,9,0.70) 50%,
    rgba(12,11,9,0.40) 75%,
    rgba(12,11,9,0.0) 100%
  );
  padding-top: 200px;
}
.hero-eyebrow {
  font-size: 10px; font-weight: 500;
  letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 20px;
  display: flex; align-items: center; gap: 14px;
}
.hero-eyebrow::before {
  content: ''; display: block; width: 40px; height: 1px; background: var(--gold);
}
.hero-title {
  font-family: var(--serif);
  font-size: clamp(44px, 7vw, 100px);
  font-weight: 700; line-height: 0.96;
  color: var(--cream); max-width: 800px;
  margin-bottom: 28px;
}
.hero-title em { color: var(--gold); font-style: italic; }
.hero-sub {
  font-size: 14px; font-weight: 300; line-height: 1.7;
  color: rgba(249,246,240,0.68); max-width: 460px;
  margin-bottom: 44px;
}
.hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.btn-primary {
  padding: 16px 40px;
  background: var(--rust);
  font-size: 11px; font-weight: 500;
  letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--cream); display: inline-block;
  border-radius: 999px;
  transition: all 0.35s var(--ease);
}
.btn-primary:hover { background: var(--rust-dark); transform: translateY(-2px); }
.btn-outline {
  padding: 15px 36px;
  border: 1px solid rgba(249,246,240,0.45);
  font-size: 11px; font-weight: 500;
  letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--cream); display: inline-block;
  border-radius: 999px;
  transition: all 0.35s var(--ease);
}
.btn-outline:hover { border-color: var(--cream); background: rgba(249,246,240,0.1); }

/* Slide controls */
.slide-dots {
  position: absolute; bottom: 42px; right: 72px;
  display: flex; gap: 10px; z-index: 10;
}
.dot {
  width: 28px; height: 2px; background: rgba(249,246,240,0.3);
  cursor: pointer; transition: all 0.4s var(--ease);
}
.dot.active { background: var(--gold); width: 48px; }

.slide-counter {
  position: absolute; top: 50%; right: 56px;
  transform: translateY(-50%);
  font-size: 11px; letter-spacing: 0.16em;
  color: rgba(249,246,240,0.5); z-index: 10;
  writing-mode: vertical-rl;
}
.slide-counter strong { color: var(--gold); font-size: 18px; font-family: var(--serif); }

/* Scroll cue */
.scroll-cue {
  position: absolute; bottom: 44px; left: 50%;
  transform: translateX(-50%); z-index: 10;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
}
.scroll-cue span { font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(249,246,240,0.5); }
.scroll-line { width: 1px; height: 52px; background: linear-gradient(to bottom, rgba(249,246,240,0.5), transparent); animation: scrollPulse 2s infinite; }
@keyframes scrollPulse { 0%,100%{opacity:0.4;transform:scaleY(0.6) translateY(-4px)} 50%{opacity:1;transform:scaleY(1) translateY(0)} }

/* ══════════════════════════════
   STATS BAR
══════════════════════════════ */
.stats-bar {
  background: var(--black);
  padding: 32px 72px;
  display: grid; grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(224,154,26,0.15);
  text-align: center;
}
.stat { text-align: center; padding: 12px; position: relative; }
.stat:not(:last-child)::after {
  content: ''; position: absolute; right: 0; top: 20%; bottom: 20%;
  width: 1px; background: rgba(224,154,26,0.2);
}
.stat-num {
  font-family: var(--serif); font-size: 38px; font-weight: 700;
  color: var(--gold); line-height: 1;
  margin-bottom: 8px;
}
.stat-label { font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gray-lt); }

/* ══════════════════════════════
   SECTION COMMONS
══════════════════════════════ */
.section { padding: 110px 72px; }
.section-dark { background: var(--black); color: var(--cream); }
.section-cream { background: var(--cream); color: var(--black); }
.section-cream-dark { background: var(--cream-dark); color: var(--black); }

.eyebrow {
  font-size: 10px; font-weight: 500;
  letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--rust); margin-bottom: 18px;
  display: flex; align-items: center; gap: 14px;
}
.eyebrow::before { content: ''; display: block; width: 32px; height: 1px; background: var(--rust); }

.eyebrow-gold { color: var(--gold); }
.eyebrow-gold::before { background: var(--gold); }

.section-title {
  font-family: var(--serif);
  font-size: clamp(34px, 4.5vw, 62px);
  font-weight: 700; line-height: 1.1;
  margin-bottom: 20px;
}
.section-sub {
  font-size: 15px; font-weight: 300; line-height: 1.75;
  color: var(--gray-lt); max-width: 520px;
}
.section-sub-dark { color: rgba(249,246,240,0.55); }

.section-header { margin-bottom: 64px; }
.section-header-flex {
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 32px; margin-bottom: 64px; flex-wrap: wrap;
}
.view-all {
  font-size: 11px; font-weight: 500; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--rust);
  display: flex; align-items: center; gap: 10px;
  border-bottom: 1px solid var(--rust);
  padding-bottom: 4px; white-space: nowrap;
  transition: gap 0.3s var(--ease);
}
.view-all:hover { gap: 16px; }
.view-all-gold { color: var(--gold); border-color: var(--gold); }

/* ══════════════════════════════
   GALLERY GRID (Categories)
══════════════════════════════ */
.gallery-grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr;
  grid-template-rows: 340px 260px;
  gap: 3px;
}
.gallery-card {
  position: relative; overflow: hidden;
  cursor: pointer; border-radius: 12px;
}
.gallery-card:first-child { grid-row: 1 / 3; }
.gallery-card img {
  transition: transform 0.9s var(--ease);
  filter: brightness(0.75);
}
.gallery-card:hover img { transform: scale(1.07); filter: brightness(0.6); }
.gallery-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(12,11,9,0.82) 0%, transparent 55%);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 28px 30px;
  transition: background 0.4s var(--ease);
}
.gallery-card:hover .gallery-overlay { background: linear-gradient(to top, rgba(184,69,26,0.45) 0%, transparent 60%); }
.gallery-tag {
  font-size: 9px; letter-spacing: 0.24em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 8px;
}
.gallery-name {
  font-family: var(--serif); font-size: 22px; font-weight: 600;
  color: var(--cream); line-height: 1.2; margin-bottom: 8px;
}
@media (max-width: 768px) {
  .gallery-name { font-size: 16px !important; margin-bottom: 4px !important; }
  .gallery-card:first-child .gallery-name { font-size: 20px !important; }
  .gallery-tag { font-size: 8px !important; }
  .gallery-overlay { padding: 16px !important; }
  .gallery-card { min-height: 220px !important; }
}
.gallery-card:first-child .gallery-name { font-size: 32px; }
.gallery-count { font-size: 11px; color: rgba(249,246,240,0.5); letter-spacing: 0.08em; }
.gallery-arrow {
  position: absolute; top: 24px; right: 24px;
  width: 36px; height: 36px; border: 1px solid rgba(249,246,240,0.4);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  color: var(--cream); font-size: 14px;
  opacity: 0; transform: translateY(-6px);
  transition: all 0.35s var(--ease);
}
.gallery-card:hover .gallery-arrow { opacity: 1; transform: translateY(0); border-color: var(--gold); color: var(--gold); }

/* ══════════════════════════════
   FEATURED ARTIFACT (Split)
══════════════════════════════ */
.feature-split {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  min-height: 640px;
}
.feature-img {
  position: relative; overflow: hidden;
}
.feature-img img { transition: transform 0.9s var(--ease); }
.feature-img:hover img { transform: scale(1.04); }
.feature-img-badge {
  position: absolute; bottom: 32px; left: 32px;
  background: var(--rust); color: var(--cream);
  font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase;
  padding: 8px 16px;
}
.feature-body {
  padding: 72px 64px;
  display: flex; flex-direction: column; justify-content: center;
}
.feature-meta {
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--gray-lt); margin-bottom: 26px;
  display: flex; gap: 20px;
}
.feature-meta span { display: flex; align-items: center; gap: 6px; }
.feature-title {
  font-family: var(--serif);
  font-size: clamp(28px, 3.5vw, 48px);
  font-weight: 700; line-height: 1.15;
  margin-bottom: 24px;
}
.feature-desc {
  font-size: 14.5px; font-weight: 300; line-height: 1.78;
  color: var(--gray-lt); margin-bottom: 40px;
}
.feature-detail-list { list-style: none; margin-bottom: 44px; }
.feature-detail-list li {
  display: flex; justify-content: space-between;
  padding: 12px 0; border-bottom: 1px solid var(--cream-dark);
  font-size: 12.5px;
}
.feature-detail-list li span:first-child { color: var(--gray-lt); letter-spacing: 0.08em; text-transform: uppercase; font-size: 10px; }
.feature-detail-list li span:last-child { font-weight: 500; }

/* ══════════════════════════════
   VIRTUAL TOUR
══════════════════════════════ */
.tour-section { position: relative; overflow: hidden; padding: 0; }
.tour-bg {
  height: 600px; position: relative;
}
.tour-bg img { filter: brightness(0.45); }
.tour-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(12,11,9,0.7) 0%, rgba(184,69,26,0.25) 100%);
  display: flex; align-items: center;
  padding: 0 72px;
}
.tour-content { max-width: 580px; }
.tour-title {
  font-family: var(--serif);
  font-size: clamp(36px, 5vw, 68px);
  color: var(--cream); font-weight: 700; line-height: 1.1;
  margin-bottom: 24px;
}
.tour-title em { color: var(--gold); font-style: italic; }
.tour-desc { font-size: 15px; font-weight: 300; line-height: 1.75; color: rgba(249,246,240,0.7); margin-bottom: 44px; }
.tour-features { display: flex; gap: 36px; flex-wrap: wrap; margin-bottom: 48px; }
.tour-feat { display: flex; align-items: center; gap: 10px; }
.tour-feat-icon {
  width: 38px; height: 38px; border: 1px solid var(--glass-border);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 15px; color: var(--gold);
  background: var(--glass);
}
.tour-feat-text { font-size: 12px; color: rgba(249,246,240,0.75); letter-spacing: 0.06em; }

/* Play button */
.play-btn {
  width: 72px; height: 72px;
  background: var(--rust); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; color: var(--cream);
  cursor: pointer; transition: all 0.35s var(--ease);
  flex-shrink: 0;
}
.play-btn:hover { background: var(--rust-dark); transform: scale(1.1); }
.play-wrap { display: flex; align-items: center; gap: 20px; }
.play-label { font-size: 12px; letter-spacing: 0.14em; text-transform: uppercase; color: rgba(249,246,240,0.6); }

/* Tour cards strip */
.tour-cards {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px;
}
.tour-card {
  position: relative; height: 300px; overflow: hidden; cursor: pointer; border-radius: 12px;
  display: block; text-decoration: none;
}
.tour-card img { transition: transform 0.8s var(--ease); filter: brightness(0.65); }
.tour-card:hover img { transform: scale(1.08); filter: brightness(0.45); }
.tour-card-info {
  position: absolute; inset: 0; padding: 28px;
  display: flex; flex-direction: column; justify-content: flex-end;
  background: linear-gradient(to top, rgba(12,11,9,0.85) 0%, transparent 55%);
}
.tour-card-num {
  font-family: var(--serif); font-size: 52px; font-weight: 700;
  color: rgba(249,246,240,0.1); line-height: 1;
  position: absolute; top: 16px; right: 24px;
}
.tour-card-tag { font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 8px; }
.tour-card-name { font-family: var(--serif); font-size: 20px; color: var(--cream); font-weight: 600; margin-bottom: 6px; }
.tour-card-count { font-size: 11px; color: rgba(249,246,240,0.5); }
.tour-enter {
  position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity 0.4s var(--ease);
  background: rgba(184,69,26,0.12);
}
.tour-card:hover .tour-enter { opacity: 1; }
.tour-enter-btn {
  padding: 12px 28px; border: 1px solid var(--cream);
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--cream); background: rgba(12,11,9,0.4);
  transition: all 0.3s var(--ease);
}
.tour-enter-btn:hover { background: var(--rust); border-color: var(--rust); }

/* ══════════════════════════════
   ARTIFACT VIEWER
══════════════════════════════ */
.artifact-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
  margin-bottom: 0;
}
.artifact-card {
  position: relative; overflow: hidden;
  background: var(--cream-dark); cursor: pointer;
  border-radius: 12px;
}
.artifact-img { height: 380px; overflow: hidden; position: relative; }
.artifact-img img { transition: transform 0.8s var(--ease); }
.artifact-card:hover .artifact-img img { transform: scale(1.06); }
.artifact-num {
  position: absolute; top: 20px; left: 20px;
  font-family: var(--serif); font-size: 13px;
  color: var(--rust); letter-spacing: 0.08em;
}
.artifact-overlay {
  position: absolute; inset: 0; background: rgba(12,11,9,0.0);
  transition: background 0.4s var(--ease);
  display: flex; align-items: center; justify-content: center;
}
.artifact-card:hover .artifact-overlay { background: rgba(12,11,9,0.35); }
.artifact-view-btn {
  padding: 12px 28px; border: 1px solid var(--cream);
  font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--cream);
  opacity: 0; transform: translateY(10px);
  transition: all 0.35s var(--ease);
}
.artifact-card:hover .artifact-view-btn { opacity: 1; transform: translateY(0); }
.artifact-info { padding: 24px 26px 28px; }
.artifact-era {
  font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--rust); margin-bottom: 8px;
}
.artifact-name {
  font-family: var(--serif); font-size: 20px; font-weight: 600;
  color: var(--black); margin-bottom: 10px; line-height: 1.3;
}
.artifact-origin { font-size: 12.5px; color: var(--gray-lt); margin-bottom: 14px; }
.artifact-footer {
  display: flex; justify-content: space-between; align-items: center;
  padding-top: 14px; border-top: 1px solid var(--cream-dark);
}
.artifact-date { font-size: 11px; color: var(--gray-lt); letter-spacing: 0.06em; }
.artifact-arrow { font-size: 14px; color: var(--rust); transition: transform 0.3s var(--ease); }
.artifact-card:hover .artifact-arrow { transform: translateX(5px); }

/* ══════════════════════════════
   BLOG / ARTICLES
══════════════════════════════ */
.blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; align-items: start; }
.blog-card { overflow:hidden; background:var(--cream); border-radius:12px; display:flex; flex-direction:column; text-decoration:none; color:inherit; transition:transform 0.3s ease, box-shadow 0.3s ease; height:100%; }
.blog-card:hover { transform:translateY(-4px); box-shadow:0 16px 40px rgba(0,0,0,0.1); }
.blog-img { height: 260px; overflow: hidden; position: relative; }
/* first-child removed */
.blog-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--ease); }
.blog-card:hover .blog-img img { transform: scale(1.06); }
.blog-cat {
  position: absolute; top: 20px; left: 20px;
  background: var(--rust); color: var(--cream);
  font-size: 9px; letter-spacing: 0.2em; text-transform: uppercase;
  padding: 6px 14px; border-radius: 999px;
}
.blog-body { padding: 28px 26px 32px; }
.blog-meta { font-size: 10.5px; color: var(--gray-lt); letter-spacing: 0.1em; margin-bottom: 14px; display: flex; gap: 16px; }
.blog-title span { display:inline; }
.blog-title {
  font-family: var(--serif); font-size: 20px; font-weight: 600;
  color: var(--black); line-height: 1.35; margin-bottom: 12px;
  transition: color 0.3s;
}
.blog-card:first-child .blog-title span { display:inline; }
.blog-title { font-size: 26px; }
.blog-card:hover .blog-title span { display:inline; }
.blog-card:hover .blog-title { color: var(--rust); }
.blog-excerpt { font-size: 13px; font-weight: 300; line-height: 1.72; color: var(--gray-lt); margin-bottom: 20px; }
.blog-excerpt { flex:1; } .blog-read {
  font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--rust); display: inline-flex; align-items: center; gap: 8px;
  background: var(--rust); color: var(--cream);
  padding: 9px 20px; border-radius: 999px;
  width: fit-content; transition: background 0.3s var(--ease), gap 0.3s var(--ease);
}
.blog-card:hover .blog-excerpt { flex:1; } .blog-read { gap: 14px; background: var(--rust-dark); }

/* ══════════════════════════════
   AS SEEN IN + EDITOR'S PICKS
══════════════════════════════ */
.as-seen-in {
  background: var(--cream);
  padding: 52px 80px;
  border-top: 1px solid var(--cream-dark);
  border-bottom: 1px solid var(--cream-dark);
}
.asi-heading {
  font-family: var(--sans); font-size: 11px; letter-spacing: 0.3em;
  text-transform: uppercase; color: var(--black); opacity: 0.45;
  font-weight: 700; text-align: center; margin-bottom: 40px;
  white-space: nowrap;
}
.asi-logos-row {
  display: flex; flex-direction: row;
  flex-wrap: nowrap; overflow: hidden;
  align-items: center; justify-content: space-between;
  width: 100%; gap: 0;
}
.asi-logo {
  font-family: var(--serif); font-weight: 700;
  color: var(--black); opacity: 0.32;
  white-space: nowrap !important; flex-shrink: 0;
  letter-spacing: 0.02em; transition: opacity 0.3s;
  font-size: clamp(11px, 1.1vw, 17px);
  display: inline-block;
}
.asi-logo:hover { opacity: 0.7; }
@media(max-width:900px){
  .as-seen-in { padding: 36px 32px; }
  .asi-logos-row { flex-wrap: wrap; justify-content: center; gap: 16px 24px; overflow: visible; }
  .asi-logo { font-size: 13px; }
  .asi-heading { margin-bottom: 24px; }
}

.editors-picks-wrap {
  background: var(--black); padding: 110px 72px;
}
.editors-picks-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.ep-card {
  background: #1a1814; border-radius: 14px;
  overflow: hidden; display: flex; flex-direction: column;
  border: 1px solid rgba(224,154,26,0.12);
  transition: transform 0.35s var(--ease), box-shadow 0.35s var(--ease);
}
.ep-card:hover { transform: translateY(-4px); box-shadow: 0 16px 48px rgba(0,0,0,0.4); }
.ep-card-img { position: relative; height: 220px; overflow: hidden; }
.ep-card-img img { width: 100%; height: 100%; object-fit: cover; object-position: center center; transition: transform 0.7s var(--ease); }
.ep-card:hover .ep-card-img img { transform: scale(1.06); }
.ep-badge {
  position: absolute; top: 12px; left: 12px;
  background: var(--gold); color: var(--black);
  font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  padding: 5px 12px; border-radius: 999px;
}
.ep-card-body { padding: 20px 20px 24px; flex: 1; display: flex; flex-direction: column; }
.ep-cat { font-size: 8.5px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; }
.ep-name { font-family: var(--serif); font-size: 17px; font-weight: 700; color: var(--cream); line-height: 1.3; margin-bottom: 10px; }
.ep-stars { display: flex; align-items: center; gap: 6px; margin-bottom: 10px; }
.ep-stars-icons { color: var(--gold); font-size: 13px; }
.ep-stars-count { font-size: 11px; color: var(--gray-lt); }
.ep-price-row { display: flex; align-items: baseline; gap: 8px; margin-bottom: 16px; }
.ep-price-old { font-size: 12px; color: var(--gray-lt); text-decoration: line-through; }
.ep-price-new { font-family: var(--serif); font-size: 22px; font-weight: 700; color: var(--cream); }
.ep-save { font-size: 11px; font-weight: 700; color: #4ade80; }
.ep-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; padding: 12px; margin-top: auto;
  background: var(--rust); color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  border-radius: 999px; text-decoration: none;
  transition: background 0.25s var(--ease);
}
.ep-btn:hover { background: var(--rust-dark); color: #fff; }

@media(max-width:1024px) {
  .as-seen-in { padding: 24px 40px; gap: 24px; }
  .editors-picks-wrap { padding: 80px 40px; }
  .editors-picks-grid { grid-template-columns: repeat(2,1fr); }
}
@media(max-width:768px) {
  .as-seen-in { padding: 20px; flex-direction: column; align-items: flex-start; gap: 16px; }
  .asi-logos { gap: 20px; }
  .asi-logo { font-size: 11px; }
  .editors-picks-wrap { padding: 56px 20px; }
  .editors-picks-grid { grid-template-columns: 1fr 1fr; gap: 14px; }
  .ep-card-img { height: 160px; }
}
@media(max-width:480px) {
  .editors-picks-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════
   NEWSLETTER
══════════════════════════════ */
.newsletter {
  background: var(--rust);
  padding: 90px 72px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 48px; flex-wrap: wrap;
}
.nl-text .eyebrow { color: rgba(249,246,240,0.7); }
.nl-text .eyebrow::before { background: rgba(249,246,240,0.5); }
.nl-title {
  font-family: var(--serif); font-size: clamp(30px, 4vw, 52px);
  font-weight: 700; color: var(--cream); line-height: 1.15;
}
.nl-title em { color: var(--gold-lt); font-style: italic; }
.nl-sub { font-size: 14px; font-weight: 300; color: rgba(249,246,240,0.7); margin-top: 14px; }
.nl-form { display: flex; gap: 0; flex: 1; max-width: 480px; min-width: 280px; }
.nl-input {
  flex: 1; padding: 18px 24px;
  background: rgba(249,246,240,0.15);
  border: 1px solid rgba(249,246,240,0.3);
  border-right: none;
  border-radius: 999px 0 0 999px;
  font-family: var(--sans); font-size: 13px;
  color: var(--cream); outline: none;
  transition: background 0.3s;
}
.nl-input::placeholder { color: rgba(249,246,240,0.5); }
.nl-input:focus { background: rgba(249,246,240,0.22); }
.nl-submit {
  padding: 18px 32px;
  background: var(--black); color: var(--cream);
  font-size: 10.5px; font-weight: 500; letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 0 999px 999px 0;
  transition: background 0.3s var(--ease);
}
.nl-submit:hover { background: #1a1814; }

/* ══════════════════════════════
   FOOTER
══════════════════════════════ */
footer {
  background: var(--black); color: var(--cream);
  padding: 80px 72px 40px;
  border-top: 1px solid rgba(224,154,26,0.15);
}
.footer-top {
  display: grid; grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 56px; margin-bottom: 64px;
}
.footer-brand .logo { font-family: var(--serif); font-size: 24px; font-weight: 700; letter-spacing: 0.18em; color: var(--gold); text-transform: uppercase; margin-bottom: 18px; }
.footer-brand p { font-size: 13px; font-weight: 300; line-height: 1.78; color: var(--gray-lt); max-width: 280px; }
.footer-socials { display: flex; gap: 12px; margin-top: 28px; }
.social-btn {
  width: 36px; height: 36px; border: 1px solid rgba(224,154,26,0.25);
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  font-size: 13px; color: var(--gray-lt);
  transition: all 0.3s var(--ease);
}
.social-btn:hover { border-color: var(--gold); color: var(--gold); }
.footer-col h4 {
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 24px;
}
.footer-col ul { list-style: none; }
.footer-col ul li { margin-bottom: 12px; }
.footer-col ul a { font-size: 13px; color: var(--gray-lt); transition: color 0.3s; }
.footer-col ul a:hover { color: var(--cream); }
.footer-bottom {
  padding-top: 32px; border-top: 1px solid rgba(249,246,240,0.08);
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 16px;
}
.footer-copy { font-size: 11.5px; color: var(--gray-lt); }
.footer-copy span { color: var(--rust); }
.footer-legal { display: flex; gap: 24px; }
.footer-legal a { font-size: 11px; color: var(--gray-lt); letter-spacing: 0.06em; transition: color 0.3s; }
.footer-legal a:hover { color: var(--cream); }

/* Decorative rule */
.gold-rule { width: 60px; height: 2px; background: var(--gold); margin: 16px 0 48px; }
.gold-rule-center { margin: 16px auto 48px; }

/* Quote block */
.quote-block {
  padding: 80px 72px;
  background: var(--cream-dark);
  text-align: center;
}
.quote-text {
  font-family: var(--serif);
  font-size: clamp(22px, 3vw, 38px);
  font-style: italic; line-height: 1.5;
  color: var(--black); max-width: 800px; margin: 0 auto 24px;
}
.quote-author {
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--rust);
}

/* ══════════════════════════════
   RESPONSIVE
══════════════════════════════ */
@media (max-width: 1024px) {
  nav { padding: 0 32px; }
  .nav-links { gap: 22px; }
  .section { padding: 80px 40px; }
  .hero-content { padding: 0 40px 80px; }
  .stats-bar { padding: 28px 40px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .gallery-card:first-child { grid-row: auto; grid-column: 1 / 3; }
  .feature-split { grid-template-columns: 1fr; }
  .feature-body { padding: 48px 40px; }
  .tour-overlay { padding: 0 40px; }
  .blog-grid { grid-template-columns: 1fr 1fr; }
  /* first-child grid removed */
  .membership { grid-template-columns: 1fr; padding: 80px 40px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; }
  .newsletter { padding: 72px 40px; }
}

@media (max-width: 768px) {
  nav { padding: 0 24px; }
  .nav-links, .nav-btn { display: none; }
  .hamburger { display: flex; }
  .section { padding: 64px 24px; }
  .hero-content { padding: 0 24px 70px; }
  .stats-bar { grid-template-columns: 1fr 1fr; padding: 24px; }
  .gallery-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .gallery-card:first-child { grid-column: auto; }
  .artifact-grid { grid-template-columns: 1fr; }
  .tour-cards { grid-template-columns: 1fr; }
  .blog-grid { grid-template-columns: 1fr; }
  /* first-child auto2 removed */
  .membership { padding: 64px 24px; }
  .newsletter { padding: 64px 24px; flex-direction: column; }
  .nl-form { max-width: 100%; width: 100%; }
  footer { padding: 64px 24px 32px; }
  .footer-top { grid-template-columns: 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .slide-counter { display: none; }
  .hero::before, .hero::after,
  .maison-hero::before, .maison-hero::after { height: 56px; }
  .tour-overlay { padding: 0 24px; }
  .quote-block { padding: 64px 24px; }
}

/* ══════════════════════════════
   NAVBAR DROPDOWN
══════════════════════════════ */
.nav-item { position: relative; }
.nav-item .nav-dropdown {
  position: absolute; top: 100%; left: 50%;
  transform: translateX(-50%);
  background: #fff; border: 1px solid var(--glass-border);
  box-shadow: 0 20px 60px rgba(12,11,9,0.14);
  min-width: 180px; padding: 26px 0 12px; /* padding-top bridges the 18px gap visually */
  margin-top: 0;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity 0.28s var(--ease), transform 0.28s var(--ease);
  transform: translateX(-50%) translateY(-8px);
}
.nav-item:hover .nav-dropdown {
  opacity: 1; visibility: visible; pointer-events: all;
  transform: translateX(-50%) translateY(0);
}
.nav-dropdown::before {
  content: ''; position: absolute; top: -6px; left: 50%;
  transform: translateX(-50%);
  border-left: 6px solid transparent; border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
}
.nav-dropdown a {
  display: block; padding: 10px 22px;
  font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--gray-lt); transition: color 0.2s, background 0.2s;
}
.nav-dropdown a:hover { color: var(--rust); background: rgba(184,69,26,0.04); }
.nav-dropdown a::after { display: none !important; }
.nav-chevron { font-size: 8px; margin-left: 4px; display: inline-block; transition: transform 0.3s; }
.nav-item:hover .nav-chevron { transform: rotate(180deg); }

/* ══════════════════════════════
   ANNOUNCEMENT TICKER
══════════════════════════════ */
.announcement-bar {
  background: var(--black);
  border-top: 1px solid rgba(224,154,26,0.18);
  border-bottom: 1px solid rgba(224,154,26,0.18);
  overflow: hidden; white-space: nowrap;
  padding: 13px 0;
}
.ticker-track {
  display: inline-flex; animation: ticker-scroll 28s linear infinite;
}
.ticker-track:hover { animation-play-state: paused; }
.ticker-item {
  display: inline-flex; align-items: center;
  font-size: 9px; letter-spacing: 0.26em; text-transform: uppercase;
  color: rgba(249,246,240,0.75); padding: 0 18px;
}
.ticker-dot { color: var(--gold); font-size: 14px; padding: 0 4px; }
@keyframes ticker-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ══════════════════════════════
   SHOP OUR PICKS (AFFILIATE)
══════════════════════════════ */
.shop-picks-section {
  padding: 110px 72px; background: var(--cream);
}
.shop-grid {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px;
}
.shop-card {
  background: #fff; position: relative;
  border-radius: 16px;
  border: 1px solid var(--cream-dark);
  overflow: hidden; cursor: pointer;
  box-shadow: 0 2px 16px rgba(12,11,9,0.07);
  transition: box-shadow 0.35s var(--ease), transform 0.35s var(--ease);
  display: flex; flex-direction: column;
}
.shop-card:hover { box-shadow: 0 16px 56px rgba(12,11,9,0.13); transform: translateY(-4px); }
.shop-card-badge {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  background: var(--rust); color: #fff;
  padding: 5px 13px; border-radius: 999px;
}
.shop-card-badge.badge-gold { background: var(--gold); color: #fff; }
.shop-card-badge.badge-teal { background: #2A7F6F; color: #fff; }
.shop-card-img { height: 300px; overflow: hidden; position: relative; }
.shop-card-img img { width:100%; height:100%; object-fit:cover; object-position:center 30%; transition: transform 0.8s var(--ease); display:block; }
.shop-card:hover .shop-card-img img { transform: scale(1.07); }
.shop-card-body { padding: 20px 20px 24px; flex: 1; display: flex; flex-direction: column; }
.shop-card-cat {
  font-size: 8.5px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--rust); margin-bottom: 6px;
}
.shop-card-name {
  font-family: var(--serif); font-size: 18px; font-weight: 700;
  color: var(--black); line-height: 1.3; margin-bottom: 10px;
}
.shop-card-stars { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; }
.shop-card-stars .stars-icons { color: var(--gold); font-size: 14px; letter-spacing: 1px; }
.shop-card-stars .stars-count { font-size: 12px; color: #5a5650; }
.shop-card-pricing { display: flex; align-items: baseline; gap: 10px; margin-bottom: 18px; }
.shop-price-old {
  font-size: 13px; color: var(--gray-lt); text-decoration: line-through;
}
.shop-price-new {
  font-family: var(--serif); font-size: 24px; font-weight: 700; color: var(--black);
}
.shop-price-save, .shop-save { font-size: 12px; font-weight: 700; color: #2A7F6F; }
.shop-amazon-btn {
  display: flex; align-items: center; justify-content: center; gap: 8px;
  width: 100%; padding: 13px 20px; margin-top: auto;
  background: var(--rust); color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  text-align: center; border-radius: 999px;
  transition: background 0.25s var(--ease);
  text-decoration: none;
}
.shop-amazon-btn:hover { background: var(--rust-dark); color: #fff; }
.shop-rating { font-size: 13px; color: var(--gold); margin-bottom: 10px; }
.shop-badge {
  position: absolute; top: 14px; left: 14px; z-index: 2;
  font-size: 9px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
  background: var(--rust); color: #fff;
  padding: 5px 13px; border-radius: 999px;
}

/* ══════════════════════════════
   TESTIMONIALS CAROUSEL
══════════════════════════════ */


.testimonial-slide {
  position: absolute; inset: 0;
  opacity: 0; transition: opacity 0.9s var(--ease);
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  padding-top: 10px;
}
.testimonial-slide.active { opacity: 1; }

/* New card layout */
.testi-card { width: 100%; display: flex; flex-direction: column; align-items: center; }
.testi-avatar-wrap {
  position: relative; z-index: 2; margin-bottom: -36px;
}
.testi-avatar {
  width: 80px; height: 80px; border-radius: 50%;
  overflow: hidden; border: 3px solid var(--cream);
  background: var(--black); flex-shrink: 0;
}
.testi-avatar img {
  width: 80px !important; height: 80px !important;
  max-width: 80px !important; max-height: 80px !important;
  object-fit: cover; object-position: top center; display: block;
  border-radius: 50%;
}
.testi-avatar-placeholder {
  display: flex; align-items: center; justify-content: center;
  font-size: 36px; color: var(--gold);
}
.testi-bubble {
  background: var(--black-soft);
  border: 1px solid rgba(224,154,26,0.15);
  border-radius: 20px;
  padding: 52px 40px 36px;
  width: 100%; position: relative;
}
.testi-name {
  font-family: var(--serif); font-size: 17px; font-weight: 700;
  color: var(--gold); margin-bottom: 4px; letter-spacing: 0.02em;
}
.testi-role {
  font-family: var(--sans); font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--gray-lt); margin-bottom: 20px;
}
.testi-quote-mark {
  font-family: var(--serif); font-size: 52px; color: var(--rust);
  line-height: 0.8; margin-bottom: 16px; opacity: 0.8;
}
.testi-text {
  font-family: var(--serif); font-size: clamp(15px,1.6vw,18px);
  font-style: italic; font-weight: 400; line-height: 1.8; color: rgba(249,246,240,0.9);
  margin-bottom: 24px;
}
.testi-stars { color: var(--gold); font-size: 16px; letter-spacing: 4px; }

.testimonial-dots {
  display: flex; justify-content: center; gap: 10px; margin-top: 24px;
}
.t-dot {
  width: 24px; height: 2px; background: rgba(249,246,240,0.2); cursor: pointer;
  transition: all 0.4s var(--ease);
}
.t-dot.active { background: var(--gold); width: 40px; }

@media(max-width:768px){
  
  
  .testi-bubble { padding: 48px 20px 28px; }
}

/* ══════════════════════════════
   INNER PAGE ENHANCEMENTS
══════════════════════════════ */
/* Social share sidebar */
.ip-share-sidebar {
  position: fixed; left: 24px; top: 50%; transform: translateY(-50%);
  display: flex; flex-direction: column; gap: 10px; z-index: 200;
}
#inner-page:not(.visible) .ip-share-sidebar { display: none; }
.ip-share-btn {
  width: 42px; height: 42px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700; cursor: pointer;
  transition: all 0.3s var(--ease); border: 1.5px solid;
  text-decoration: none;
}
.ip-share-btn.fb { background: transparent; border-color: #1877f2; color: #1877f2; }
.ip-share-btn.fb:hover { background: #1877f2; color: #fff; }
.ip-share-btn.tw { background: transparent; border-color: var(--black); color: var(--black); }
.ip-share-btn.tw:hover { background: var(--black); color: #fff; }
.ip-share-btn.pi { background: transparent; border-color: #e60023; color: #e60023; }
.ip-share-btn.pi:hover { background: #e60023; color: #fff; }
.ip-share-btn.wa { background: transparent; border-color: #25d366; color: #25d366; }
.ip-share-btn.wa:hover { background: #25d366; color: #fff; }

/* Heart / save button */
.ip-heart-btn {
  position: absolute; top: 28px; right: 28px; z-index: 50;
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(12,11,9,0.55); backdrop-filter: blur(8px);
  border: 1.5px solid rgba(249,246,240,0.3);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px; cursor: pointer; transition: all 0.3s var(--ease);
  color: rgba(249,246,240,0.7);
}
.ip-heart-btn.saved { color: var(--rust); border-color: var(--rust); background: rgba(184,69,26,0.2); transform: scale(1.1); }
.ip-heart-btn:hover { border-color: var(--rust); }

/* Drop cap */
.ip-dropcap::first-letter {
  font-family: var(--serif); font-size: 72px; font-weight: 700;
  line-height: 0.82; float: left; margin: 8px 14px 0 0;
  color: var(--rust);
}

/* Comment section */
.ip-comments {
  background: var(--cream-dark); padding: 64px 72px;
}
.ip-comments-title {
  font-family: var(--serif); font-size: 28px; font-weight: 700;
  color: var(--black); margin-bottom: 40px;
}
.ip-comment-form { display: flex; flex-direction: column; gap: 14px; margin-bottom: 48px; }
.ip-comment-form input,
.ip-comment-form textarea {
  padding: 14px 18px; background: var(--cream);
  border: 1px solid var(--cream-dark);
  font-family: var(--sans); font-size: 13.5px;
  color: var(--black); outline: none;
  transition: border-color 0.3s;
}
.ip-comment-form input:focus,
.ip-comment-form textarea:focus { border-color: var(--rust); }
.ip-comment-form textarea { min-height: 120px; resize: vertical; }
.ip-comment-submit {
  padding: 14px 32px; background: var(--rust); color: var(--cream);
  font-size: 10px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase;
  border: none; cursor: pointer; font-family: var(--sans); width: fit-content;
  transition: background 0.3s var(--ease);
}
.ip-comment-submit:hover { background: var(--rust-dark); }
.ip-posted-comments { display: flex; flex-direction: column; gap: 24px; }
.ip-comment-item {
  display: flex; gap: 16px; padding: 20px 24px;
  background: var(--cream); border-left: 3px solid var(--gold);
}
.ip-comment-avatar {
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--rust); color: var(--cream);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--serif); font-size: 18px; font-weight: 700;
  flex-shrink: 0;
}
.ip-comment-content {}
.ip-comment-name { font-weight: 500; font-size: 13px; color: var(--black); margin-bottom: 4px; }
.ip-comment-time { font-size: 10px; color: var(--gray-lt); margin-bottom: 8px; letter-spacing: 0.06em; }
.ip-comment-body { font-size: 13.5px; font-weight: 300; line-height: 1.7; color: #3a3630; }

/* Amazon recs in inner page */
.ip-amazon-recs {
  padding: 72px 72px 80px; background: var(--cream-dark);
}
.ip-amazon-title {
  font-family: var(--serif); font-size: 28px; font-weight: 700;
  color: var(--black); margin-bottom: 40px;
}
.ip-amazon-title em { color: var(--rust); font-style: italic; }
.ip-amazon-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* Inner page newsletter bar */
.ip-newsletter-bar {
  padding: 56px 72px;
  background: var(--rust);
  display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap;
}
.ip-nl-title { font-family: var(--serif); font-size: clamp(22px,3vw,36px); color: var(--cream); font-weight: 700; }
.ip-nl-title em { color: var(--gold-lt); font-style: italic; }
.ip-nl-sub { font-size: 13px; color: rgba(249,246,240,0.7); margin-top: 8px; }
.ip-nl-form { display: flex; gap: 0; flex: 1; max-width: 380px; min-width: 240px; }
.ip-nl-input {
  flex: 1; padding: 15px 20px; background: rgba(249,246,240,0.15);
  border: 1px solid rgba(249,246,240,0.3); border-right: none;
  font-family: var(--sans); font-size: 13px; color: var(--cream); outline: none;
}
.ip-nl-input::placeholder { color: rgba(249,246,240,0.5); }
.ip-nl-btn {
  padding: 15px 24px; background: var(--black); color: var(--cream);
  font-size: 10px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase;
  border: none; cursor: pointer; font-family: var(--sans);
  transition: background 0.3s;
}
.ip-nl-btn:hover { background: #1a1814; }

@media (max-width: 768px) {
  .ip-share-sidebar { display: none; }
  .shop-grid { grid-template-columns: repeat(2,1fr); gap: 16px; }
  .shop-picks-section { padding: 64px 24px; }
  
  .ip-amazon-grid { grid-template-columns: 1fr; }
  .ip-amazon-recs { padding: 56px 24px; }
  .ip-newsletter-bar { padding: 48px 24px; flex-direction: column; }
  .ip-comments { padding: 48px 24px; }
}
@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr; }
}

.cursor { position: fixed; top: 0; left: 0; pointer-events: none; z-index: 9999; }
.cursor-dot {
  position: fixed; width: 6px; height: 6px;
  background: var(--rust); border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.2s, height 0.2s;
}
.cursor-ring { display: none; }

/* ══════════════════════════════
   PAGE TRANSITION SYSTEM
══════════════════════════════ */
#page-curtain {
  position: fixed; inset: 0; z-index: 9000;
  background: var(--black);
  transform: translateY(100%);
  transition: transform 0.65s cubic-bezier(0.76,0,0.24,1);
  pointer-events: none;
}
#page-curtain.rising { transform: translateY(0); pointer-events: all; }
#page-curtain.falling { transform: translateY(-100%); }

#inner-page {
  position: fixed; inset: 0; z-index: 8500;
  background: var(--cream);
  opacity: 0; pointer-events: none;
  transition: opacity 0.5s var(--ease);
  overflow-y: auto;
}
/* Single posts - completely hide SPA overlay and all fixed overlays */
body.single #inner-page,
body.single #page-curtain {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  z-index: -1 !important;
}
body.single .ip-share-sidebar {
  display: none !important;
}
#inner-page.visible { opacity: 1; pointer-events: all; }

.ip-navbar {
  position: sticky; top: 0; z-index: 100;
  height: 64px; padding: 0 56px;
  display: flex; align-items: center; justify-content: space-between;
  background: rgba(249,246,240,0.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--glass-border);
}
.ip-back {
  display: flex; align-items: center; gap: 10px;
  font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--rust); cursor: pointer;
  border: 1px solid var(--rust); padding: 8px 18px;
  transition: all 0.3s var(--ease);
}
.ip-back:hover { background: var(--rust); color: var(--cream); }
.ip-logo {
  font-family: var(--serif); font-size: 16px; font-weight: 700;
  letter-spacing: 0.2em; text-transform: uppercase; color: var(--black);
}
.ip-logo em { color: var(--rust); font-style: normal; }

.ip-hero {
  height: 78vh;
  min-height: 520px;
  max-height: 680px;
  position: relative;
  overflow: hidden;
}
.ip-hero img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.45); transition: transform 8s linear; }
.ip-hero img.zooming { transform: scale(1.05); }
.ip-hero-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(160deg, rgba(12,11,9,0.55) 0%, rgba(12,11,9,0.20) 45%, rgba(12,11,9,0.72) 100%);
  display: flex; flex-direction: column; justify-content: flex-end;
  padding: 60px 72px 90px;
}
.ip-category {
  font-size: 9px; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
  display: flex; align-items: center; gap: 12px;
}
.ip-category::before { content:''; display:block; width:28px; height:1px; background:var(--gold); }
.ip-title {
  font-family: var(--serif);
  font-size: clamp(28px, 4.5vw, 64px);
  font-weight: 700;
  line-height: 1.1;
  max-width: 820px;
  margin-bottom: 20px;
  letter-spacing: -0.01em;
  
}
.ip-title em { color: var(--gold); font-style: italic; }
.ip-tagline { font-size: 15px; font-weight: 300; color: rgba(249,246,240,0.68); max-width: 480px; }

.ip-body { max-width: 860px; margin: 0 auto; padding: 80px 40px 60px; }
.ip-lede {
  font-family: var(--serif); font-size: clamp(20px, 2.2vw, 28px);
  font-weight: 400; font-style: italic; line-height: 1.55;
  color: var(--black); margin-bottom: 48px;
  padding-left: 28px; border-left: 3px solid var(--rust);
}
.ip-text {
  font-size: 15.5px; font-weight: 300; line-height: 1.85;
  color: #3a3630; margin-bottom: 32px;
}
.ip-subhead {
  font-family: var(--serif); font-size: 26px; font-weight: 700;
  color: var(--black); margin: 52px 0 20px;
}
.ip-detail-strip {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px;
  margin: 52px 0;
}
.ip-detail-cell {
  background: var(--cream-dark); padding: 28px 24px;
  text-align: center;
}
.ip-detail-label { font-size: 9px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--rust); margin-bottom: 10px; }
.ip-detail-val { font-family: var(--serif); font-size: 20px; font-weight: 600; color: var(--black); }

.ip-img-full { width: 100%; height: 480px; overflow: hidden; margin: 52px 0; }
.ip-img-full img { transition: transform 0.8s var(--ease); }
.ip-img-full:hover img { transform: scale(1.03); }

.ip-related {
  background: var(--black); padding: 80px 72px;
}
.ip-related-title {
  font-family: var(--serif); font-size: 36px; font-weight: 700;
  color: var(--cream); margin-bottom: 48px;
}
.ip-related-title em { color: var(--gold); font-style: italic; }
.ip-related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 3px; }
.ip-rel-card {
  position: relative; height: 280px; overflow: hidden; cursor: pointer; border-radius: 12px;
}
.ip-rel-card img { transition: transform 0.7s var(--ease); filter: brightness(0.65); }
.ip-rel-card:hover img { transform: scale(1.06); filter: brightness(0.5); }
.ip-rel-info {
  position: absolute; bottom: 0; left: 0; right: 0;
  padding: 24px; background: linear-gradient(to top, rgba(12,11,9,0.88) 0%, transparent 100%);
}
.ip-rel-tag { font-size: 8px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; }
.ip-rel-name { font-family: var(--serif); font-size: 18px; color: var(--cream); font-weight: 600; }
@media (max-width: 768px) {
  .ip-hero-overlay { padding: 0 24px 56px; }
  .ip-navbar { padding: 0 24px; }
  .ip-body { padding: 56px 24px 40px; }
  .ip-related { padding: 56px 24px; }
  .ip-related-grid { grid-template-columns: 1fr; }
  .ip-detail-strip { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════
   MOBILE RESPONSIVE — Full Fix
═══════════════════════════════════════ */
@media (max-width: 1024px) {
  nav { padding: 0 32px; }
  .nav-links { gap: 22px; }
  .section { padding: 80px 40px; }
  .hero-content { padding: 0 40px 80px; }
  .stats-bar { padding: 28px 40px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-template-rows: auto; }
  .gallery-card:first-child { grid-row: auto; grid-column: 1/3; }
  .feature-split { grid-template-columns: 1fr; }
  .feature-body { padding: 48px 40px; }
  .tour-overlay { padding: 0 40px; }
  .blog-grid { grid-template-columns: 1fr 1fr; }
  .blog-card:first-child { grid-column: 1/3; }
  .membership { grid-template-columns: 1fr; padding: 80px 40px; gap: 48px; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 40px; }
  .newsletter { padding: 72px 40px; }
  .shop-grid { grid-template-columns: repeat(2,1fr); }
  .artifact-grid { grid-template-columns: repeat(2,1fr); }
  .tour-cards { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 768px) {
  nav { padding: 0 20px !important; height: 64px !important; }
  .nav-links, .nav-btn { display: none !important; }
  .hamburger { display: flex !important; }
  .section { padding: 56px 20px !important; }
  .hero-content { padding: 0 20px 60px !important; }
  .hero-title { font-size: clamp(30px,9vw,52px) !important; }
  .hero-sub { font-size: 13px; max-width: 100%; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 12px; }
  .btn-primary, .btn-outline { padding: 14px 24px; font-size: 10px; }
  .slide-dots { right: 20px; bottom: 24px; }
  .slide-counter { display: none; }
  .stats-bar { grid-template-columns: 1fr 1fr !important; padding: 20px !important; }
  .stat-num { font-size: 26px; }
  .gallery-grid { grid-template-columns: 1fr !important; grid-template-rows: auto !important; }
  .gallery-card:first-child { grid-column: auto !important; grid-row: auto !important; }
  .gallery-card { min-height: 200px; }
  .feature-split { grid-template-columns: 1fr !important; }
  .feature-img img { min-height: 280px !important; }
  .feature-body { padding: 36px 20px !important; }
  .artifact-grid { grid-template-columns: 1fr !important; }
  .artifact-img { height: 260px; }
  .shop-grid { grid-template-columns: repeat(2,1fr) !important; gap: 12px; }
  .shop-picks-section { padding: 56px 20px !important; }
  .shop-card-img { height: 160px; }
  .tour-bg { height: 400px; }
  .tour-overlay { padding: 0 20px !important; }
  .tour-cards { grid-template-columns: 1fr !important; }
  .tour-card { height: 240px; }
  .blog-grid { grid-template-columns: 1fr !important; }
  .blog-card:first-child { grid-column: auto !important; }
  
  
  .membership { padding: 56px 20px !important; grid-template-columns: 1fr !important; gap: 40px; }
  .mem-card { padding: 20px 16px; flex-wrap: wrap; gap: 12px; }
  .newsletter { padding: 56px 20px !important; flex-direction: column; }
  .nl-form { max-width: 100% !important; width: 100%; }
  footer { padding: 56px 20px 28px !important; }
  .footer-top { grid-template-columns: 1fr !important; gap: 32px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .quote-block { padding: 56px 20px !important; }
  .section-header-flex { flex-direction: column; align-items: flex-start; gap: 16px; margin-bottom: 40px; }
  .ip-share-sidebar { display: none !important; }
  .ip-navbar { padding: 0 20px !important; }
  .ip-hero { min-height: 55vh; height: auto; }
  .ip-hero-overlay { padding: 0 20px 40px !important; }
  .ip-body { padding: 40px 20px 32px !important; }
  .ip-related { padding: 48px 20px !important; }
  .ip-related-grid { grid-template-columns: 1fr !important; }
  .ip-detail-strip { grid-template-columns: 1fr !important; }
  .ip-amazon-grid { grid-template-columns: 1fr !important; }
  .ip-amazon-recs { padding: 40px 20px !important; }
  .ip-newsletter-bar { padding: 40px 20px !important; flex-direction: column; }
  .ip-comments { padding: 40px 20px !important; }
  .ip-nl-form { max-width: 100%; min-width: 0; width: 100%; }
}

@media (max-width: 480px) {
  .shop-grid { grid-template-columns: 1fr !important; }
  .stats-bar { grid-template-columns: 1fr 1fr !important; }
  .hero-actions { width: 100%; }
  .btn-primary, .btn-outline { width: 100%; text-align: center; display: block; }
  .mem-card { flex-direction: column; align-items: flex-start; }
  .mem-price { text-align: left; }
  .footer-legal { flex-direction: column; align-items: center; gap: 8px; }
  .ip-img-full { height: 240px; }
}

/* ── Inner page content wrapper (page.php) ── */
.maison-page-content {
  max-width: 960px;
  margin: 120px auto 80px;
  padding: 0 40px;
  min-height: 60vh;
  color: var(--black);
}
.maison-page-content h1,
.maison-page-content h2,
.maison-page-content h3 {
  font-family: var(--serif);
  color: var(--black);
}
/* When Elementor builds the page, remove the wrapper constraints */
.elementor-page .maison-page-content {
  max-width: 100%;
  margin: 0;
  padding: 0;
}


/* MOBILE RESPONSIVE */
@media(max-width:1024px){nav{padding:0 32px!important}.section{padding:80px 40px}.shop-picks-section{padding:80px 40px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}.gallery-card:first-child{grid-row:auto;grid-column:1/3}.feature-split{grid-template-columns:1fr}.blog-grid{grid-template-columns:1fr 1fr}.blog-card:first-child{grid-column:1/3}.membership{padding:80px 40px}.shop-grid{grid-template-columns:repeat(2,1fr)}.artifact-grid{grid-template-columns:repeat(2,1fr)}.tour-cards{grid-template-columns:repeat(2,1fr)}.footer-top{grid-template-columns:1fr 1fr}.newsletter{padding:72px 40px}}
@media(max-width:768px){nav{padding:0 20px!important;height:64px!important}.nav-links,.nav-btn{display:none!important}.hamburger{display:flex!important}.hero-content{padding:0 20px 60px!important}.hero-title{font-size:clamp(30px,9vw,52px)!important}.hero-sub{font-size:13px!important;max-width:100%}.hero-actions{flex-direction:column;align-items:flex-start;gap:12px}.btn-primary,.btn-outline{padding:14px 24px;font-size:10px}.slide-dots{right:20px!important;bottom:24px!important}.slide-counter{display:none}.stats-bar{grid-template-columns:1fr 1fr!important;padding:20px!important}.stat-num{font-size:26px!important}.section{padding:56px 20px!important}.shop-picks-section{padding:56px 20px!important}.section-header-flex{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:40px!important}.gallery-grid{grid-template-columns:1fr!important;grid-template-rows:auto!important}.gallery-card:first-child{grid-column:auto!important;grid-row:auto!important}.feature-split{grid-template-columns:1fr!important}.feature-body{padding:32px 20px!important}.artifact-grid{grid-template-columns:1fr!important}.shop-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px}.tour-bg{height:auto!important;min-height:540px!important}.tour-overlay{padding:24px 20px!important;align-items:flex-start!important;padding-top:56px!important}.tour-content{max-width:100%!important}.tour-title{font-size:clamp(28px,7vw,44px)!important;margin-bottom:16px!important}.tour-desc{font-size:13px!important;margin-bottom:28px!important;line-height:1.65!important}.tour-features{gap:16px!important;margin-bottom:32px!important;flex-direction:column!important}.tour-feat-text{font-size:11px!important}.play-wrap{gap:14px!important}.play-btn{width:56px!important;height:56px!important;font-size:16px!important}.tour-cards{grid-template-columns:1fr!important}.blog-grid{grid-template-columns:1fr!important}/* first-child auto removed */.membership{padding:56px 20px!important;grid-template-columns:1fr!important;gap:40px}.newsletter{padding:48px 20px!important;flex-direction:column}.nl-form{max-width:100%!important;width:100%}.quote-block{padding:48px 20px!important}footer{padding:48px 20px 28px!important}.footer-top{grid-template-columns:1fr!important;gap:32px}.footer-bottom{flex-direction:column;text-align:center;gap:12px}.ip-share-sidebar{display:none!important}.ip-navbar{padding:0 20px!important}.ip-hero{min-height:100vw!important;height:auto!important;background:#0C0B09!important}.ip-hero img{width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;min-height:100vw!important}.ip-hero-overlay{padding:0 20px 40px!important;background:linear-gradient(to top,rgba(12,11,9,0.92) 0%,rgba(12,11,9,0.60) 50%,rgba(12,11,9,0.25) 100%)!important}.ip-body{padding:40px 20px 32px!important}.ip-related{padding:48px 20px!important}.ip-related-grid{grid-template-columns:1fr!important}.ip-amazon-grid{grid-template-columns:1fr!important}.ip-amazon-recs{padding:40px 20px!important}.ip-newsletter-bar{padding:40px 20px!important;flex-direction:column}.ip-comments{padding:40px 20px!important}}
@media(max-width:480px){.shop-grid{grid-template-columns:1fr!important}.btn-primary,.btn-outline{width:100%;text-align:center;display:block}.mem-card{flex-direction:column}.footer-legal{flex-direction:column;align-items:center;gap:8px}}

.maison-full-page{width:100%;overflow-x:hidden;}
.maison-full-page .mp-hero{width:100%;position:relative;height:70vh;min-height:480px;overflow:hidden;background:#0C0B09;display:flex;align-items:flex-end;}
.maison-full-page .mp-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0.55;}
.maison-full-page .mp-hero-content{position:relative;z-index:2;padding:60px 72px;width:100%;background:linear-gradient(to top,rgba(12,11,9,0.92) 0%,transparent 60%);max-width:1100px;}
.maison-full-page .mp-section{padding:80px 72px;max-width:100%;}.mp-inner{max-width:1100px;margin:0 auto;}
.maison-full-page .mp-section-dark{background:#0C0B09;color:#F9F6F0;}
.maison-full-page .mp-section-cream{background:#F9F6F0;}
.maison-full-page .mp-section-mid{background:#EDE8DF;}
.maison-full-page .mp-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.maison-full-page .mp-grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.maison-full-page .mp-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.maison-full-page .mp-grid-2-lg{display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:start;max-width:1100px;margin:0 auto;}
.maison-full-page .mp-card{background:#fff;border:1px solid #EDE8DF;overflow:hidden;border-radius:12px;}
.maison-full-page .mp-card img{width:100%;height:240px;object-fit:cover;display:block;}
.maison-full-page .mp-card-body{padding:24px;}
.maison-full-page .mp-eyebrow{font-size:9.5px;letter-spacing:0.28em;text-transform:uppercase;color:#B8451A;margin-bottom:14px;display:flex;align-items:center;gap:12px;}
.maison-full-page .mp-eyebrow::before{content:'';display:block;width:28px;height:1px;background:#B8451A;}
.maison-full-page .mp-h1{font-family:'Playfair Display',serif;font-size:clamp(40px,6vw,80px);font-weight:700;color:#F9F6F0;line-height:1.05;margin:0 0 16px;}
.maison-full-page .mp-h1 em{color:#E09A1A;font-style:italic;}
.maison-full-page .mp-h2{font-family:'Playfair Display',serif;font-size:clamp(28px,3.5vw,48px);font-weight:700;color:#0C0B09;line-height:1.1;margin:0 0 20px;}
.maison-full-page .mp-h2-light{color:#F9F6F0;}
.maison-full-page .mp-h2 em{color:#E09A1A;font-style:italic;}
.maison-full-page .mp-h3{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:#0C0B09;margin:0 0 12px;}
.maison-full-page .mp-h3-light{color:#F9F6F0;}
.maison-full-page .mp-p{font-size:15px;line-height:1.85;color:#9A9486;margin-bottom:20px;}
.maison-full-page .mp-p-light{color:rgba(249,246,240,0.65);}
.maison-full-page .mp-p-dark{color:#3a3630;}
.maison-full-page .mp-tag{font-size:9px;letter-spacing:0.22em;text-transform:uppercase;color:#E09A1A;margin-bottom:8px;}
.maison-full-page .mp-btn{display:inline-block;background:#B8451A;color:#F9F6F0;padding:14px 36px;font-size:10.5px;font-weight:500;letter-spacing:0.16em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;transition:background 0.3s;}
.maison-full-page .mp-btn:hover{background:#8F3412;}
.maison-full-page .mp-btn-outline{background:none;border:1.5px solid #B8451A;color:#B8451A;}
.maison-full-page .mp-btn-outline:hover{background:#B8451A;color:#F9F6F0;}
.maison-full-page .mp-divider{width:60px;height:2px;background:#E09A1A;margin:0 0 40px;}
.maison-full-page .mp-stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid rgba(224,154,26,0.15);border-bottom:1px solid rgba(224,154,26,0.15);max-width:1100px;margin:0 auto;}
.maison-full-page .mp-stat{padding:36px 24px;text-align:center;border-right:1px solid rgba(224,154,26,0.15);}
.maison-full-page .mp-stat:last-child{border-right:none;}
.maison-full-page .mp-stat-num{font-family:'Playfair Display',serif;font-size:42px;font-weight:700;color:#E09A1A;line-height:1;margin-bottom:8px;}
.maison-full-page .mp-stat-label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:#9A9486;}
.maison-full-page .mp-img-full{width:100%;height:500px;object-fit:cover;display:block;}
.maison-full-page .mp-img-half{width:100%;height:100%;min-height:400px;object-fit:cover;display:block;}
.maison-full-page .mp-feature-img{position:relative;overflow:hidden;}
.maison-full-page .mp-badge{position:absolute;bottom:28px;left:28px;background:#B8451A;color:#F9F6F0;font-size:9px;letter-spacing:0.18em;text-transform:uppercase;padding:8px 18px;}
.maison-full-page .mp-room-card{position:relative;height:380px;overflow:hidden;cursor:pointer;border-radius:12px;}
.maison-full-page .mp-room-card img{width:100%;height:100%;object-fit:cover;filter:brightness(0.65);transition:transform 0.8s;}
.maison-full-page .mp-room-card:hover img{transform:scale(1.06);}
.maison-full-page .mp-room-overlay{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(12,11,9,0.88) 0%,transparent 55%);}
.maison-full-page .mp-guide-card{background:#fff;border:1px solid #EDE8DF;padding:36px;}
.maison-full-page .mp-guide-num{font-family:'Playfair Display',serif;font-size:52px;font-weight:700;color:#EDE8DF;line-height:1;margin-bottom:16px;}
.maison-full-page .mp-nl-bar{background:#B8451A;padding:72px;display:flex;align-items:center;justify-content:space-between;gap:48px;flex-wrap:wrap;}
.maison-full-page .mp-nl-form{display:flex;max-width:420px;flex:1;min-width:280px;}
.maison-full-page .mp-nl-input{flex:1;padding:16px 20px;background:rgba(249,246,240,0.15);border:1px solid rgba(249,246,240,0.3);border-right:none;font-family:'DM Sans',sans-serif;font-size:13px;color:#F9F6F0;outline:none;}
.maison-full-page .mp-nl-input::placeholder{color:rgba(249,246,240,0.5);}
.maison-full-page .mp-nl-btn{padding:16px 28px;background:#0C0B09;color:#F9F6F0;border:none;font-size:10px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;font-family:'DM Sans',sans-serif;}
.maison-full-page .mp-policy-section{padding:80px 120px;}
.maison-full-page .mp-policy-h2{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:#0C0B09;margin:48px 0 16px;padding-top:16px;border-top:1px solid #EDE8DF;}
.maison-full-page .mp-policy-p{font-size:15px;line-height:1.9;color:#5a5650;margin-bottom:20px;}
.maison-full-page .mp-policy-li{font-size:15px;line-height:1.85;color:#5a5650;margin-bottom:10px;padding-left:20px;position:relative;}
.maison-full-page .mp-policy-li::before{content:'\25C6';position:absolute;left:0;color:#B8451A;font-size:8px;top:6px;}
@media(max-width:1024px){.maison-full-page .mp-section{padding:60px 40px;}.maison-full-page .mp-grid-4{grid-template-columns:1fr 1fr;}.maison-full-page .mp-grid-2-lg{grid-template-columns:1fr;}.maison-full-page .mp-nl-bar{padding:60px 40px;}.maison-full-page .mp-policy-section{padding:60px 40px;}}
@media(max-width:768px){.maison-full-page .mp-section{padding:48px 20px;}.maison-full-page .mp-hero-content{padding:40px 20px;}.maison-full-page .mp-grid-3,.maison-full-page .mp-grid-4,.maison-full-page .mp-grid-2{grid-template-columns:1fr;}.maison-full-page .mp-stat-row{grid-template-columns:1fr 1fr;}.maison-full-page .mp-nl-bar{padding:48px 20px;flex-direction:column;}.maison-full-page .mp-policy-section{padding:48px 20px;}.maison-full-page .mp-room-card{height:260px;}}


/* ==============================
   PAGE ENTRANCE ANIMATION
============================== */
@keyframes pageEntrance {
  from { transform: translateY(22px); }
  to   { transform: translateY(0); }
}
.page-enter { animation: pageEntrance 0.7s cubic-bezier(0,0,0.2,1) both; }
.maison-full-page .mp-hero { animation: pageEntrance 0.75s cubic-bezier(0,0,0.2,1) both; }
.maison-full-page .mp-hero .mp-hero-content { animation: pageEntrance 0.75s cubic-bezier(0,0,0.2,1) 0.18s both; }
.maison-full-page .mp-section:nth-child(2) { animation: pageEntrance 0.7s cubic-bezier(0,0,0.2,1) 0.1s both; }
.maison-full-page .mp-section:nth-child(3) { animation: pageEntrance 0.7s cubic-bezier(0,0,0.2,1) 0.2s both; }
.maison-full-page .mp-section:nth-child(4) { animation: pageEntrance 0.7s cubic-bezier(0,0,0.2,1) 0.3s both; }
.maison-full-page .mp-section:nth-child(n+5) { animation: pageEntrance 0.7s cubic-bezier(0,0,0.2,1) 0.4s both; }

/* ==============================
   INNER PAGE FOOTER
============================== */
.ip-inner-footer {
  background: var(--black); color: var(--cream);
  padding: 64px 72px 36px; width: 100%;
  border-top: 1px solid rgba(224,154,26,0.15);
}
.ip-inner-footer-top {
  display: grid; grid-template-columns: 2fr 1fr 1fr;
  gap: 56px; margin-bottom: 48px;
}
.ip-inner-footer-logo {
  font-family: var(--serif); font-size: 22px; font-weight: 700;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 14px;
}
.ip-inner-footer-logo span { color: var(--rust); }
.ip-inner-footer-desc { font-size: 13px; font-weight: 300; line-height: 1.75; color: var(--gray-lt); max-width: 260px; }
.ip-inner-footer-col h4 {
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 20px;
}
.ip-inner-footer-col ul { list-style: none; }
.ip-inner-footer-col ul li { margin-bottom: 10px; }
.ip-inner-footer-col ul a { font-size: 13px; color: var(--gray-lt); text-decoration: none; transition: color 0.3s; }
.ip-inner-footer-col ul a:hover { color: var(--cream); }
.ip-inner-footer-bottom {
  padding-top: 28px; border-top: 1px solid rgba(249,246,240,0.08);
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 12px;
  font-size: 11.5px; color: var(--gray-lt);
}
.ip-inner-footer-legal { display: flex; gap: 20px; }
.ip-inner-footer-legal a { font-size: 11px; color: var(--gray-lt); text-decoration: none; transition: color 0.3s; }
.ip-inner-footer-legal a:hover { color: var(--cream); }
@media (max-width: 768px) {
  .ip-inner-footer { padding: 48px 20px 28px; }
  .ip-inner-footer-top { grid-template-columns: 1fr; gap: 32px; }
  .ip-inner-footer-bottom { flex-direction: column; text-align: center; }
  .ip-inner-footer-legal { flex-direction: column; align-items: center; gap: 8px; }
}




/* ── AS SEEN IN TICKER ── */

.asi-top {
  display: inline-block;
  font-family: var(--serif); font-size: 22px; font-weight: 700;
  color: var(--cream); padding: 14px 48px;
  background: var(--black);
  border-bottom: 3px solid var(--rust);
  margin-bottom: 28px;
  position: relative;
  top: -1px;
}

.asi-ticker-outer::before,
.asi-ticker-outer::after {
  content: ""; position: absolute; top: 0; bottom: 0;
  width: 80px; z-index: 2; pointer-events: none;
}
.asi-ticker-outer::before { left: 0; background: linear-gradient(to right, var(--cream), transparent); }
.asi-ticker-outer::after  { right: 0; background: linear-gradient(to left,  var(--cream), transparent); }


@keyframes asi-move {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}



@media(max-width:768px){
  
  .asi-top { font-size: 18px; margin-bottom: 20px; }
  
  
  .asi-ticker-outer::before,
  .asi-ticker-outer::after { width: 40px; }
}


/* As Featured In heading on black */
.asi-heading-bar {
  text-align: center;
  padding: 16px 0 0;
}
.asi-heading-bar span {
  font-family: var(--serif); font-size: 22px; font-weight: 700;
  color: var(--cream); display: inline-block;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--rust);
  letter-spacing: 0.02em;
}


@media(max-width:768px){
  
  .asi-heading-bar { padding: 20px 0 0; }
  .asi-heading-bar span { font-size: 18px; }
  
}

.testimonials-section { background: var(--black); padding: 80px 72px 36px; overflow: hidden; }
.testimonials-inner { max-width: 600px; margin: 0 auto; text-align: center; position: relative; min-height: auto; }
.testimonial-slide { position: absolute; inset: 0; opacity: 0; transition: opacity 0.9s var(--ease); display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: 10px; }
.testimonial-slide.active { opacity: 1; }
@media(max-width:768px){ .testimonials-section { padding: 56px 20px 28px; } }

/* ── AS FEATURED IN TICKER ── */
.asi-outer {
  background: var(--cream);
  border-top: 1px solid var(--cream-dark);
  border-bottom: 1px solid var(--cream-dark);
  width: 100%;
  height: 80px;
  overflow: hidden;
  position: relative;
}
.asi-ticker-outer {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
}
.asi-ticker-outer::before,
.asi-ticker-outer::after {
  content: "";
  position: absolute; top: 0; bottom: 0; width: 80px; z-index: 2; pointer-events: none;
}
.asi-ticker-outer::before { left: 0; background: linear-gradient(to right, var(--cream), transparent); }
.asi-ticker-outer::after  { right: 0; background: linear-gradient(to left, var(--cream), transparent); }
.asi-ticker-inner {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  animation: asi-move 28s linear infinite;
  will-change: transform;
}
.asi-ticker-inner:hover { animation-play-state: paused; }
.asi-titem {
  font-family: var(--serif);
  font-size: 17px; font-weight: 700;
  color: rgba(12,11,9,0.3);
  white-space: nowrap;
  margin: 0 32px;
  display: inline-flex; align-items: center; flex-shrink: 0;
  transition: color 0.3s;
  height: 80px;
}
.asi-titem img, .asi-logo-img {
  height: 36px; width: auto; max-width: 130px;
  display: block; object-fit: contain;
  opacity: 1 !important; filter: none !important;
}
@media(max-width:768px){
  .asi-titem img, .asi-logo-img { height: 26px; max-width: 90px; }
}
.asi-titem:hover { opacity: 0.7; }
.asi-titem.italic { font-style: italic; font-size: 20px; }
@media(max-width:768px){
  .asi-outer { height: 60px; }
  .asi-titem { font-size: 14px; margin: 0 20px; line-height: 60px; }
  .asi-titem.italic { font-size: 16px; }
  .asi-ticker-outer::before, .asi-ticker-outer::after { width: 40px; }
}

.asi-titem img {
  height: 36px; width: auto; max-width: 120px; display: block;
  opacity: 1; filter: none;
  object-fit: contain;
}
@media(max-width:768px){ .asi-titem img { height: 26px; max-width: 90px; } }

.asi-logo-img {
  height: 36px; width: auto; max-width: 120px; display: block;
  opacity: 1; filter: none;
  object-fit: contain;
}
@media(max-width:768px){ .asi-logo-img { height: 26px; max-width: 90px; } }





.social-links{display:flex;align-items:center;gap:12px;margin-top:16px;}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid rgba(249,246,240,0.2);color:#F9F6F0;transition:all 0.2s;}.social-icon:hover{background:#E09A1A;border-color:#E09A1A;color:#0C0B09;}

/* ===== CONSOLIDATED MOBILE FIXES ===== */
@media(max-width:768px){
  /* Navbar */
  nav{padding:0 20px!important;height:64px!important}
  .nav-links,.nav-btn{display:none!important}
  .hamburger{display:flex!important}
  
  /* Hero */
  .maison-hero{min-height:100svh}
  .hero-content{padding:0 20px 60px!important}
  .hero-title{font-size:clamp(28px,8vw,48px)!important}
  .hero-sub{font-size:13px!important}
  .hero-actions{flex-direction:column;gap:12px}
  .btn-primary,.btn-outline{padding:14px 24px;font-size:11px;width:100%;text-align:center}
  
  /* Sections */
  .section{padding:56px 20px!important}
  .section-header{margin-bottom:36px}
  .section-title{font-size:clamp(26px,7vw,38px)}
  
  /* Gallery */
  .gallery-grid{grid-template-columns:1fr!important}
  .gallery-card:first-child{grid-column:auto!important;grid-row:auto!important}
  .gallery-card{min-height:220px}
  
  /* Blog */
  .blog-grid{grid-template-columns:1fr!important}
  /* first-child auto removed */
  
  /* Shop */
  .shop-picks-section{padding:56px 20px!important}
  .shop-grid{grid-template-columns:1fr 1fr!important;gap:16px!important}
  .shop-card-img{height:180px}
  
  /* Stats */
  .stats-bar{grid-template-columns:1fr 1fr!important;padding:20px!important}
  
  /* Tour/Style guides */
  .tour-cards{grid-template-columns:1fr!important}
  .tour-section{padding:56px 20px!important}
  
  /* Footer */
  .newsletter{padding:56px 20px!important;flex-direction:column!important}
  .nl-form{max-width:100%;width:100%}
  footer{padding:56px 20px 32px!important}
  .footer-top{grid-template-columns:1fr!important;gap:32px}
  
  /* Category page */
  .cat-wrap{padding:40px 16px!important}
  .cat-grid{grid-template-columns:1fr!important;gap:20px!important}
  
  /* Single post */
  .sng-hero{height:280px!important}
  .sng-body{padding:36px 20px 28px!important}
  .sng-products{padding:36px 20px!important}
  .sng-shop-grid{grid-template-columns:1fr 1fr!important;gap:14px!important}
  .sng-related{padding:40px 20px 48px!important}
  .sng-related-grid{grid-template-columns:1fr!important}
  
  /* Page template (about etc) */
  .art-back-bar{padding:8px 16px!important;top:60px!important}
  .art-hero{height:260px!important}
  .art-hero-content{padding:20px!important}
  .art-hero h1{font-size:clamp(22px,6vw,34px)!important}
  .art-body-wrap{padding:0!important}
  .art-body{padding:40px 20px!important}
  .art-comments{padding:36px 20px!important}
  .art-related{padding:40px 20px!important}
  .art-related-grid{grid-template-columns:1fr!important;gap:16px}
  .art-share-row{gap:6px;flex-wrap:wrap}
  
  /* mp- page sections */
  .mp-section{padding:48px 20px!important}
  .mp-hero-content{padding:36px 20px!important}
  .mp-grid-2,.mp-grid-2-lg,.mp-grid-3,.mp-grid-4{grid-template-columns:1fr!important;gap:24px!important}
  .mp-stat-row{grid-template-columns:1fr 1fr!important}
  .mp-nl-bar{padding:48px 20px!important;flex-direction:column!important}
  .mp-img-full{height:280px}
  .mp-img-half{min-height:240px}
  
  /* Testimonials */
  .testimonials-section{padding:56px 20px 32px!important}
  .testi-track-wrap{max-width:100%!important}
  .testi-bubble{padding:48px 20px 28px!important}
  
  /* Membership */
  .membership{padding:56px 20px!important;grid-template-columns:1fr!important}
  .editors-picks-wrap{padding:56px 20px!important}
  .editors-picks-grid{grid-template-columns:1fr 1fr!important;gap:14px}
}

@media(max-width:480px){
  .shop-grid{grid-template-columns:1fr!important}
  .sng-shop-grid{grid-template-columns:1fr!important}
  .editors-picks-grid{grid-template-columns:1fr!important}
  .stats-bar{grid-template-columns:1fr 1fr!important}
  .mp-stat-row{grid-template-columns:1fr!important}
  .hero-title{font-size:clamp(26px,9vw,42px)!important}
  .art-back-bar .art-share-label{display:none}
}

/* ===== STICKY BAR & HERO MOBILE FIXES ===== */
@media(max-width:768px){
  /* Fix all sticky bars to sit below mobile navbar (64px) */
  .sng-bar{top:60px!important}
  .art-back-bar{top:60px!important}
  
  /* Fix hero images - prevent content overflow */
  .sng-hero{height:auto!important;min-height:300px}
  .sng-hero img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important}
  .sng-hero-grad{position:absolute!important;inset:0!important}
  .sng-hero-content{position:relative!important;z-index:2!important;padding:100px 20px 36px!important}
  
  /* Fix art-hero */
  .art-hero{height:auto!important;min-height:260px}
  .art-hero img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
  .art-hero-content{position:relative!important;z-index:2!important;padding:100px 20px 32px!important}
  
  /* Prevent text from showing above images */
  .sng-bar,.art-back-bar{position:sticky!important;z-index:998!important;background:rgba(249,246,240,.97)!important}
  
  /* Fix related cards image overflow */
  .sng-rel-card-img{aspect-ratio:16/9;overflow:hidden}
  .art-rel-card img{aspect-ratio:16/9;object-fit:cover}
  
  /* Fix share bar overflow on narrow screens */
  .sng-share,.art-share-row{gap:4px}
  .sng-icon,.art-share-btn{width:30px!important;height:30px!important;font-size:10px!important}
  .art-share-article{padding:6px 12px!important;font-size:10px!important}
}

/* Sidebar stays visible inside inner-page overlay */
#inner-page.visible ~ * .g-sidebar,
.g-sidebar { z-index: 9500 !important; }

/* ===== STYLED COMMENTS ===== */
.sng-comments, .art-comments {
  max-width: 860px; margin: 0 auto;
  padding: 64px 40px; background: #F9F6F0;
  border-top: 2px solid var(--cream-dark);
}
.sng-comments h3, .art-comments h3 {
  font-family: var(--serif); font-size: 28px; font-weight: 700;
  color: var(--black); margin-bottom: 40px;
  padding-bottom: 16px; border-bottom: 1px solid var(--cream-dark);
}
/* Comment list items */
.sng-comments .comment, .art-comments .comment {
  display: flex; gap: 20px;
  padding: 28px 0; border-bottom: 1px solid var(--cream-dark);
}
.sng-comments .comment:last-child, .art-comments .comment:last-child { border-bottom: none; }
.sng-comments .comment-author img, .art-comments .comment-author img {
  width: 48px !important; height: 48px !important;
  border-radius: 50% !important; object-fit: cover !important;
  flex-shrink: 0; border: 2px solid var(--cream-dark);
}
.sng-comments .comment-meta, .art-comments .comment-meta {
  margin-bottom: 8px;
}
.sng-comments .comment-author .fn, .art-comments .comment-author .fn {
  font-family: var(--serif); font-size: 16px; font-weight: 700;
  color: var(--black); font-style: normal;
}
.sng-comments .comment-metadata, .art-comments .comment-metadata {
  font-size: 11px; color: var(--gray-lt); letter-spacing: 0.06em;
  text-transform: uppercase; margin-top: 4px;
}
.sng-comments .comment-metadata a, .art-comments .comment-metadata a {
  color: var(--gray-lt); text-decoration: none;
}
.sng-comments .comment-content p, .art-comments .comment-content p {
  font-size: 15px; line-height: 1.75; color: #3C3A37; margin: 0;
}
.sng-comments .reply a, .art-comments .reply a {
  font-size: 11px; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--rust);
  text-decoration: none; margin-top: 10px; display: inline-block;
}
.sng-comments .reply a:hover, .art-comments .reply a:hover { color: var(--black); }

/* Comment Form */
.sng-comments .comment-respond, .art-comments .comment-respond {
  margin-top: 48px;
  padding-top: 40px;
  border-top: 1px solid var(--cream-dark);
}
.sng-comments #reply-title, .art-comments #reply-title {
  font-family: var(--serif); font-size: 24px; font-weight: 700;
  color: var(--black); margin-bottom: 28px; display: block;
}
.sng-comments .logged-in-as, .art-comments .logged-in-as {
  font-size: 13px; color: var(--gray-lt); margin-bottom: 20px;
}
.sng-comments .logged-in-as a, .art-comments .logged-in-as a {
  color: var(--rust); text-decoration: none;
}
.sng-field-label {
  display: block; font-size: 11px; font-weight: 600;
  letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--gray-lt); margin-bottom: 8px;
}
.sng-input, .sng-textarea {
  width: 100%; padding: 14px 16px;
  border: 1px solid #DDD; background: #fff;
  font-family: var(--sans); font-size: 15px;
  color: var(--black); outline: none;
  transition: border 0.2s; margin-bottom: 20px;
  border-radius: 6px; box-sizing: border-box;
}
.sng-input:focus, .sng-textarea:focus {
  border-color: var(--rust); box-shadow: 0 0 0 3px rgba(184,69,26,0.08);
}
.sng-textarea { resize: vertical; min-height: 140px; }
.sng-comments .comment-form-author,
.sng-comments .comment-form-email,
.art-comments .comment-form-author,
.art-comments .comment-form-email { display: inline-block; width: 48%; margin-right: 2%; }
.sng-comments .comment-form-email,
.art-comments .comment-form-email { margin-right: 0; }
.sng-comments #submit, .art-comments #submit,
.sng-submit {
  background: var(--rust); color: #fff;
  border: none; padding: 14px 36px;
  font-family: var(--sans); font-size: 11px;
  font-weight: 700; letter-spacing: 0.12em;
  text-transform: uppercase; cursor: pointer;
  border-radius: 999px; transition: background 0.2s;
}
.sng-comments #submit:hover, .art-comments #submit:hover { background: var(--black); }
/* No comments state */
.sng-comments .comment-respond:first-child { border-top: none; margin-top: 0; padding-top: 0; }
@media(max-width:768px){
  .sng-comments, .art-comments { padding: 40px 20px; }
  .sng-comments .comment-form-author,
  .sng-comments .comment-form-email,
  .art-comments .comment-form-author,
  .art-comments .comment-form-email { width: 100%; margin-right: 0; display: block; }
}
