@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Jost:wght@300;400;500;600&display=swap');

:root {
  --pink: #B38C95;
  --pink-light: #F4EEF0;
  --yellow: #C4A16C;
  --yellow-light: #F5EEE3;
  --dark: #1E1C1B;
  --grey: #706B69;
  --grey-light: #F2EEEA;
  --white: #FBF8F3;
  --border: #DDD5CD;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { font-family: 'Jost', sans-serif; color: var(--dark); background: var(--white); overflow-x: hidden; }
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }

/* ── NAV ── */
.nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 500;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(12px);
  border-bottom: 0.5px solid var(--border);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 5%; height: 64px;
  transition: box-shadow 0.3s;
}
.nav.scrolled { box-shadow: 0 2px 20px rgba(0,0,0,0.06); }
.nav-logo {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.5rem; font-weight: 300; font-style: italic;
  color: var(--dark); letter-spacing: 1px; cursor: pointer;
}
.nav-logo span { color: var(--pink); }
.nav-links { display: flex; gap: 2.5rem; list-style: none; }
.nav-links a {
  font-size: 0.72rem; font-weight: 500;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--grey); transition: color 0.2s;
}
.nav-links a:hover, .nav-links a.active { color: var(--dark); }
.nav-order {
  font-size: 0.72rem; font-weight: 600;
  letter-spacing: 2px; text-transform: uppercase;
  color: var(--white); background: var(--dark);
  padding: 0.55rem 1.4rem; cursor: pointer;
  transition: background 0.2s;
}
.nav-order:hover { background: var(--pink); }
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; }
.hamburger span { display: block; width: 24px; height: 1.5px; background: var(--dark); }

/* ── HERO ── */
.hero {
  min-height: 100vh;
  display: grid; grid-template-columns: 1fr 1fr;
  padding-top: 64px;
}
.hero-left {
  display: flex; flex-direction: column; justify-content: center;
  padding: 6rem 5% 6rem 8%;
  border-right: 0.5px solid var(--border);
}
.hero-eyebrow {
  font-size: 0.68rem; letter-spacing: 4px; text-transform: uppercase;
  color: var(--pink); margin-bottom: 1.5rem;
  display: flex; align-items: center; gap: 0.8rem;
}
.hero-eyebrow::before { content: ''; width: 24px; height: 0.5px; background: var(--pink); }
.hero-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 300; font-style: italic;
  line-height: 1.1; color: var(--dark);
  margin-bottom: 0.6rem;
}
.hero-rule { width: 36px; height: 1.5px; background: var(--yellow); margin-bottom: 1.4rem; }
.hero-sub {
  font-size: 0.88rem; color: var(--grey);
  line-height: 1.85; max-width: 400px; margin-bottom: 2.5rem;
}
.hero-btns { display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
.btn-dark {
  background: var(--dark); color: var(--white);
  padding: 0.75rem 2rem; font-family: 'Jost', sans-serif;
  font-size: 0.72rem; font-weight: 600; letter-spacing: 2px;
  text-transform: uppercase; border: none; cursor: pointer;
  transition: background 0.2s; display: inline-block;
}
.btn-dark:hover { background: var(--pink); }
.btn-text {
  font-size: 0.72rem; font-weight: 500; letter-spacing: 2px;
  text-transform: uppercase; color: var(--pink);
  border-bottom: 0.5px solid var(--pink); padding-bottom: 2px;
  cursor: pointer; transition: opacity 0.2s;
}
.btn-text:hover { opacity: 0.7; }
.hero-stats {
  display: flex; gap: 2.5rem; margin-top: 3.5rem;
  padding-top: 2rem; border-top: 0.5px solid var(--border);
}
.stat-num {
  font-family: 'Cormorant Garamond', serif;
  font-size: 2rem; font-weight: 300; font-style: italic;
  color: var(--pink); line-height: 1;
}
.stat-label {
  font-size: 0.65rem; letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--grey); margin-top: 4px;
}
.hero-right { position: relative; overflow: hidden; }
.hero-right img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 6s ease;
}
.hero-right:hover img { transform: scale(1.04); }
.hero-img-label {
  position: absolute; bottom: 2rem; left: 0;
  background: var(--white);
  font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase;
  color: var(--grey); padding: 0.5rem 1.2rem;
  border-right: 0.5px solid var(--border);
  border-top: 0.5px solid var(--border);
}
.hero-dots {
  position: absolute; bottom: 2rem; right: 2rem;
  display: flex; gap: 6px;
}
.hero-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,0.4);
  border: none; cursor: pointer; transition: background 0.2s; padding: 0;
}
.hero-dot.active { background: var(--white); }

/* ── MARQUEE ── */
.marquee-section {
  border-top: 0.5px solid var(--border);
  border-bottom: 0.5px solid var(--border);
  overflow: hidden; padding: 0;
}
.marquee-row { display: flex; gap: 0; overflow: hidden; position: relative; }
.marquee-row.draggable { overflow-x: auto; scrollbar-width: none; cursor: grab; }
.marquee-row.draggable::-webkit-scrollbar { display: none; }
.marquee-row.draggable:active { cursor: grabbing; }
.marquee-row + .marquee-row { border-top: 0.5px solid var(--border); }
.marquee-track {
  display: flex; gap: 0;
  animation: marqueeLeft 40s linear infinite;
  white-space: nowrap;
}
.marquee-track.reverse { animation: marqueeRight 45s linear infinite; }
.marquee-item {
  width: 220px; height: 220px; flex-shrink: 0;
  overflow: hidden; position: relative; cursor: pointer;
  border-right: 0.5px solid var(--border);
}
.marquee-item img {
  width: 100%; height: 100%; object-fit: contain;
  background: #f7f1e8;
  transition: transform 0.4s ease;
}
.marquee-item:hover img { transform: scale(1.02); }
.marquee-item-over {
  position: absolute; inset: 0;
  background: rgba(26,26,26,0.55);
  opacity: 0; transition: opacity 0.3s;
  display: flex; align-items: center; justify-content: center;
}
.marquee-item:hover .marquee-item-over { opacity: 1; }
.marquee-item-over span {
  color: white; font-size: 0.65rem; letter-spacing: 2px;
  text-transform: uppercase; font-family: 'Jost', sans-serif;
}
@keyframes marqueeLeft {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@keyframes marqueeRight {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}
/* hover-pause intentionally removed — drag handler manages play state */

/* ── SECTIONS ── */
.section { padding: 88px 5%; }
.section-inner { max-width: 1200px; margin: 0 auto; }
.section-eyebrow {
  font-size: 0.65rem; letter-spacing: 4px; text-transform: uppercase;
  color: var(--grey); margin-bottom: 0.8rem;
}
.section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  font-weight: 300; font-style: italic;
  line-height: 1.15; color: var(--dark);
  margin-bottom: 0.6rem;
}
.section-rule { width: 36px; height: 1px; background: var(--yellow); margin-bottom: 1.4rem; }
.section-body { font-size: 0.9rem; color: var(--grey); line-height: 1.85; }

/* ── ABOUT STRIP ── */
.about-strip { display: grid; grid-template-columns: 1fr 1fr; border-top: 0.5px solid var(--border); }
.about-img { height: 540px; overflow: hidden; }
.about-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s; }
.about-img:hover img { transform: scale(1.03); }
.about-text {
  padding: 5rem 6%; display: flex; flex-direction: column;
  justify-content: center; border-left: 0.5px solid var(--border);
}
.about-quote {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem; font-style: italic; font-weight: 300;
  color: var(--dark); line-height: 1.5; margin-bottom: 1.5rem;
}
.about-quote::before { content: '\201C'; color: var(--pink); font-size: 3rem; line-height: 0; vertical-align: -0.5rem; margin-right: 0.2rem; }

/* ── GALLERY ── */
.gallery-bg { background: var(--grey-light); }
.gallery-filters {
  display: flex; gap: 0; flex-wrap: wrap;
  border: 0.5px solid var(--border);
  margin-bottom: 2.5rem; width: fit-content;
}
.filter-btn {
  padding: 0.55rem 1.2rem;
  font-family: 'Jost', sans-serif;
  font-size: 0.68rem; font-weight: 500;
  letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--grey); background: var(--white);
  border: none; border-right: 0.5px solid var(--border);
  cursor: pointer; transition: all 0.2s;
}
.filter-btn:last-child { border-right: none; }
.filter-btn.active, .filter-btn:hover {
  background: var(--dark); color: var(--white);
}
.masonry { columns: 3; column-gap: 1px; }
.masonry-item {
  break-inside: avoid; margin-bottom: 1px;
  position: relative; cursor: pointer; overflow: hidden;
}
.masonry-item img { width: 100%; display: block; transition: transform 0.5s ease; }
.masonry-item:hover img { transform: scale(1.05); }
.masonry-over {
  position: absolute; inset: 0;
  background: rgba(26,26,26,0.7);
  opacity: 0; transition: opacity 0.3s;
  display: flex; flex-direction: column;
  justify-content: flex-end; padding: 1.5rem;
}
.masonry-item:hover .masonry-over { opacity: 1; }
.masonry-over h3 {
  font-family: 'Cormorant Garamond', serif;
  color: white; font-size: 1.1rem; font-weight: 300;
  font-style: italic; margin-bottom: 0.25rem;
}
.masonry-over p { color: rgba(255,255,255,0.65); font-size: 0.72rem; letter-spacing: 1px; text-transform: uppercase; }
.cake-tag {
  position: absolute; top: 1rem; left: 1rem;
  background: var(--white);
  font-size: 0.6rem; font-weight: 600;
  letter-spacing: 1.5px; text-transform: uppercase;
  color: var(--dark); padding: 0.25rem 0.7rem;
}

/* ── LIGHTBOX ── */
.lightbox {
  display: none; position: fixed; inset: 0; z-index: 900;
  background: rgba(26,26,26,0.95);
  align-items: center; justify-content: center; padding: 2rem;
}
.lightbox.open { display: flex; }
.lb-inner {
  max-width: 960px; width: 100%;
  display: grid; grid-template-columns: 1.2fr 1fr;
  background: var(--white);
  animation: lbIn 0.3s ease;
}
@keyframes lbIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.lb-img { width: 100%; height: 560px; object-fit: cover; display: block; }
.lb-details { padding: 3rem 2.5rem; display: flex; flex-direction: column; justify-content: center; border-left: 0.5px solid var(--border); }
.lb-tag { font-size: 0.62rem; letter-spacing: 2px; text-transform: uppercase; color: var(--pink); margin-bottom: 1rem; }
.lb-title { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-weight: 300; font-style: italic; color: var(--dark); margin-bottom: 0.6rem; }
.lb-rule { width: 28px; height: 1px; background: var(--yellow); margin-bottom: 1.2rem; }
.lb-desc { font-size: 0.88rem; color: var(--grey); line-height: 1.8; margin-bottom: 2rem; }
.lb-close {
  position: absolute; top: 1.5rem; right: 1.5rem;
  width: 36px; height: 36px; background: var(--white);
  border: 0.5px solid var(--border); color: var(--dark);
  font-size: 1rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.2s;
}
.lb-close:hover { background: var(--dark); color: var(--white); }
.lb-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 40px; height: 40px; background: var(--white);
  border: 0.5px solid var(--border); color: var(--dark);
  font-size: 1.2rem; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.2s;
}
.lb-nav:hover { background: var(--dark); color: var(--white); }
.lb-prev { left: -56px; }
.lb-next { right: -56px; }

/* ── TESTIMONIALS ── */
.testi-section { background: var(--dark); }
.testi-card {
  border-left: 2px solid var(--yellow);
  padding: 2rem 2.5rem;
  background: rgba(255,255,255,0.04);
}
.testi-text {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem; font-style: italic; font-weight: 300;
  color: var(--white); line-height: 1.75; margin-bottom: 1.2rem;
}
.testi-author { font-size: 0.68rem; letter-spacing: 2px; text-transform: uppercase; color: var(--grey); }
.testi-author span { color: var(--yellow); margin-right: 0.5rem; }
.testi-nav { display: flex; gap: 0.5rem; margin-top: 2rem; }
.testi-btn {
  width: 36px; height: 36px; border: 0.5px solid rgba(255,255,255,0.2);
  background: transparent; color: var(--white); cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem; transition: all 0.2s;
}
.testi-btn:hover { background: var(--pink); border-color: var(--pink); }
.testi-dots { display: flex; gap: 6px; align-items: center; margin-top: 1.5rem; }
.testi-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,0.2); border: none; cursor: pointer; padding: 0; transition: background 0.2s; }
.testi-dot.active { background: var(--yellow); }

/* ── OCCASIONS ── */
.occ-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border: 0.5px solid var(--border); }
.occ-card {
  padding: 2rem 1.5rem; border-right: 0.5px solid var(--border);
  border-bottom: 0.5px solid var(--border);
  transition: all 0.3s; cursor: default; background: var(--white);
}
.occ-card:hover { background: var(--pink-light); }
.occ-card:nth-child(4n) { border-right: none; }
.occ-icon { font-size: 1.8rem; margin-bottom: 0.8rem; }
.occ-title { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; font-style: italic; font-weight: 400; margin-bottom: 0.4rem; color: var(--dark); }
.occ-desc { font-size: 0.78rem; color: var(--grey); line-height: 1.6; }

/* ── FLAVOURS ── */
.flavour-grid { display: flex; flex-wrap: wrap; gap: 0; border: 0.5px solid var(--border); width: fit-content; }
.flavour-item {
  padding: 0.6rem 1.2rem;
  font-size: 0.78rem; color: var(--dark);
  border-right: 0.5px solid var(--border);
  border-bottom: 0.5px solid var(--border);
  transition: all 0.2s; cursor: default;
  letter-spacing: 0.5px;
}
.flavour-item:hover { background: var(--pink); color: var(--white); }

/* ── HOW IT WORKS ── */
.steps-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; border: 0.5px solid var(--border); }
.step-card {
  padding: 2.5rem 1.8rem; border-right: 0.5px solid var(--border);
  transition: background 0.3s;
}
.step-card:last-child { border-right: none; }
.step-card:hover { background: var(--grey-light); }
.step-num { font-family: 'Cormorant Garamond', serif; font-size: 3rem; font-weight: 300; color: var(--border); line-height: 1; margin-bottom: 1rem; }
.step-title { font-family: 'Cormorant Garamond', serif; font-size: 1.05rem; font-style: italic; color: var(--dark); margin-bottom: 0.5rem; }
.step-body { font-size: 0.8rem; color: var(--grey); line-height: 1.75; }

/* ── TICKER ── */
.ticker-bar { background: var(--pink); padding: 0.8rem 0; overflow: hidden; border-top: 0.5px solid rgba(255,255,255,0.2); }
.ticker-track { display: flex; gap: 3rem; animation: marqueeLeft 28s linear infinite; white-space: nowrap; }
.ticker-track span { color: rgba(255,255,255,0.9); font-size: 0.7rem; font-weight: 500; letter-spacing: 2.5px; text-transform: uppercase; }
.ticker-track span::before { content: '✦  '; color: var(--yellow); }

/* ── PAGE BANNER ── */
.page-banner {
  padding: 120px 5% 60px; background: var(--white);
  border-bottom: 0.5px solid var(--border);
}

/* ── ORDER PAGE ── */
.order-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 0; border: 0.5px solid var(--border); }
.order-left { padding: 4rem 3.5rem; border-right: 0.5px solid var(--border); }
.order-right { padding: 4rem 3.5rem; }
.order-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.5rem,4vw,4rem); font-weight: 300; font-style: italic; color: var(--dark); line-height: 1.1; margin-bottom: 0.6rem; }
.order-sub { font-size: 0.68rem; letter-spacing: 3px; text-transform: uppercase; color: var(--grey); margin-bottom: 1.8rem; }
.contact-item { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem 0; border-bottom: 0.5px solid var(--border); }
.contact-icon { font-size: 1rem; flex-shrink: 0; margin-top: 2px; }
.contact-label { font-size: 0.65rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--grey); margin-bottom: 3px; }
.contact-val { font-size: 0.88rem; color: var(--dark); }
.form-group { margin-bottom: 1.2rem; }
.form-group label { display: block; font-size: 0.65rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--grey); margin-bottom: 0.4rem; }
.form-group input, .form-group select, .form-group textarea {
  width: 100%; border: 0.5px solid var(--border);
  padding: 0.75rem 1rem; font-family: 'Jost', sans-serif;
  font-size: 0.88rem; color: var(--dark);
  background: var(--white); outline: none;
  transition: border-color 0.2s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus { border-color: var(--dark); }
.form-group textarea { min-height: 100px; resize: vertical; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.btn-submit {
  width: 100%; background: var(--dark); color: var(--white);
  border: none; padding: 1rem; font-family: 'Jost', sans-serif;
  font-size: 0.72rem; font-weight: 600; letter-spacing: 2px;
  text-transform: uppercase; cursor: pointer; transition: background 0.2s;
}
.btn-submit:hover { background: var(--pink); }
.form-sent { display: none; text-align: center; padding: 3rem 1rem; }
.form-sent h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.8rem; font-style: italic; color: var(--dark); margin-bottom: 0.8rem; }
.form-sent p { font-size: 0.88rem; color: var(--grey); line-height: 1.8; }

/* ── STORY PAGE ── */
.story-grid { display: grid; grid-template-columns: 1fr 1fr; }
.story-img { height: 600px; overflow: hidden; }
.story-img img { width: 100%; height: 100%; object-fit: cover; }
.story-text { padding: 5rem 6%; border-left: 0.5px solid var(--border); display: flex; flex-direction: column; justify-content: center; }
.story-body { font-size: 0.92rem; color: var(--grey); line-height: 1.95; margin-bottom: 1.2rem; }

/* ── FAQ ── */
.faq-item { border-bottom: 0.5px solid var(--border); }
.faq-q {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1.5rem 0; cursor: pointer;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.1rem; font-style: italic; color: var(--dark);
  transition: color 0.2s;
}
.faq-q:hover { color: var(--pink); }
.faq-icon { font-size: 1.2rem; color: var(--grey); transition: transform 0.3s; flex-shrink: 0; }
.faq-item.open .faq-icon { transform: rotate(45deg); color: var(--pink); }
.faq-a { display: none; padding: 0 0 1.5rem; font-size: 0.88rem; color: var(--grey); line-height: 1.85; max-width: 680px; }
.faq-item.open .faq-a { display: block; }

/* ── FOOTER ── */
.footer {
  background: var(--dark); padding: 3rem 5%;
  display: grid; grid-template-columns: 1fr 1fr 1fr;
  gap: 2rem; border-top: 0.5px solid rgba(255,255,255,0.1);
}
.footer-logo { font-family: 'Cormorant Garamond', serif; font-size: 1.4rem; font-style: italic; font-weight: 300; color: var(--white); margin-bottom: 0.5rem; }
.footer-tagline { font-size: 0.7rem; letter-spacing: 1.5px; text-transform: uppercase; color: rgba(255,255,255,0.35); }
.footer-links-title { font-size: 0.65rem; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.35); margin-bottom: 1rem; }
.footer-links { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }
.footer-links a { font-size: 0.82rem; color: rgba(255,255,255,0.6); transition: color 0.2s; }
.footer-links a:hover { color: var(--white); }
.footer-bottom {
  grid-column: 1/-1; padding-top: 2rem;
  border-top: 0.5px solid rgba(255,255,255,0.1);
  display: flex; justify-content: space-between; align-items: center;
}
.footer-copy { font-size: 0.7rem; color: rgba(255,255,255,0.25); }
.footer-insta { font-size: 0.7rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--pink); }

/* ── WHATSAPP ── */
.wa-float {
  position: fixed; bottom: 24px; right: 24px; z-index: 998;
  width: 54px; height: 54px; background: #25D366;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  box-shadow: 0 4px 20px rgba(37,211,102,0.4); text-decoration: none;
  transition: all 0.3s; animation: waPulse 3s ease-in-out infinite;
}
.wa-float:hover { transform: scale(1.1); }
.wa-tooltip {
  position: absolute; right: 64px;
  background: var(--dark); color: var(--white);
  font-family: 'Jost', sans-serif; font-size: 0.7rem;
  letter-spacing: 1px; text-transform: uppercase;
  padding: 0.4rem 0.8rem; white-space: nowrap;
  opacity: 0; pointer-events: none; transition: opacity 0.2s;
}
.wa-float:hover .wa-tooltip { opacity: 1; }
@keyframes waPulse {
  0%,100% { box-shadow: 0 4px 20px rgba(37,211,102,0.4); }
  50% { box-shadow: 0 4px 30px rgba(37,211,102,0.6), 0 0 0 8px rgba(37,211,102,0.1); }
}

/* ── CTA STRIP ── */
.cta-strip {
  background: var(--pink-light);
  border-top: 0.5px solid var(--border);
  border-bottom: 0.5px solid var(--border);
  padding: 4rem 5%; text-align: center;
}
.cta-strip h2 { font-family: 'Cormorant Garamond', serif; font-size: 2.2rem; font-style: italic; font-weight: 300; color: var(--dark); margin-bottom: 0.8rem; }
.cta-strip p { font-size: 0.88rem; color: var(--grey); margin-bottom: 1.8rem; }

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; }
  .hero-right { height: 55vw; }
  .hero-left { padding: 5rem 5% 3rem; border-right: none; border-bottom: 0.5px solid var(--border); }
  .about-strip { grid-template-columns: 1fr; }
  .about-img { height: 300px; }
  .about-text { border-left: none; border-top: 0.5px solid var(--border); }
  .masonry { columns: 2; }
  .steps-grid { grid-template-columns: 1fr 1fr; }
  .occ-grid { grid-template-columns: 1fr 1fr; }
  .occ-card:nth-child(2n) { border-right: none; }
  .occ-card:nth-child(4n) { border-right: 0.5px solid var(--border); }
  .order-grid { grid-template-columns: 1fr; }
  .order-left { border-right: none; border-bottom: 0.5px solid var(--border); }
  .story-grid { grid-template-columns: 1fr; }
  .story-img { height: 300px; }
  .story-text { border-left: none; border-top: 0.5px solid var(--border); }
  .footer { grid-template-columns: 1fr; }
  .lb-inner { grid-template-columns: 1fr; }
  .lb-img { height: 300px; }
  .lb-prev, .lb-next { display: none; }
}
@media (max-width: 600px) {
  .nav-links { display: none; }
  .nav-links.open { display: flex; flex-direction: column; position: fixed; top: 64px; left: 0; right: 0; z-index: 9999; background: var(--white); padding: 1.5rem 5%; gap: 1.2rem; border-bottom: 0.5px solid var(--border); box-shadow: 0 10px 30px rgba(0,0,0,0.15); }
  .hamburger { display: flex; }
  .nav-order { display: none; }
  .masonry { columns: 1; }
  .steps-grid { grid-template-columns: 1fr; }
  .occ-grid { grid-template-columns: 1fr 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .marquee-item { width: 160px; height: 160px; }
  .hero-content { padding: 90px 6% 60px !important; }
  .hero-title-new { font-size: 3.2rem !important; line-height: 1 !important; }
  .hero-sub-new { font-size: 0.88rem !important; margin-bottom: 1.8rem !important; }
  .hero-scroll { display: none; }
  .section { padding: 56px 5%; }
  .about-big-quote { font-size: 1.6rem !important; }
  .pink-statement { padding: 3rem 6% !important; }
  .ps-quote { font-size: 1.5rem !important; }
  .feat-main { min-height: 260px !important; }
  .feat-sm { min-height: 200px !important; }
  .occ-card { padding: 1.2rem 1rem; }
  .step-card { padding: 1.5rem 1.2rem; }
  .footer { padding: 2rem 5%; }
}


/* v6 benchmark-informed homepage additions */
.trust-strip-v6 { display:grid; grid-template-columns:repeat(4,1fr); border-top:0.5px solid var(--border); border-bottom:0.5px solid var(--border); background:var(--white); }
.trust-item-v6 { padding:1.4rem 5vw; border-right:0.5px solid var(--border); }
.trust-item-v6:last-child { border-right:none; }
.trust-item-v6 span { display:block; font-size:0.62rem; letter-spacing:2.5px; text-transform:uppercase; color:var(--grey); margin-bottom:0.4rem; }
.trust-item-v6 strong { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:300; font-style:italic; color:var(--dark); }
.journeys-v6 { padding:5rem 5%; background:var(--grey-light); border-top:0.5px solid var(--border); border-bottom:0.5px solid var(--border); }
.journeys-v6-head { max-width:720px; margin-bottom:2.5rem; }
.journeys-v6-head h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.4rem,5vw,4.6rem); font-weight:300; font-style:italic; line-height:1; color:var(--dark); margin-bottom:1rem; }
.journeys-v6-head p { font-size:0.9rem; color:var(--grey); line-height:1.8; }
.journey-grid-v6 { display:grid; grid-template-columns:repeat(3,1fr); border:0.5px solid var(--border); background:var(--white); }
.journey-card-v6 { display:flex; min-height:300px; flex-direction:column; justify-content:space-between; padding:2rem; border-right:0.5px solid var(--border); text-decoration:none; color:var(--dark); transition:background 0.25s ease, transform 0.25s ease; }
.journey-card-v6:last-child { border-right:none; }
.journey-card-v6:hover { background:var(--pink-light); transform:translateY(-2px); }
.journey-card-v6 span { font-family:'Cormorant Garamond',serif; font-size:2.4rem; color:var(--pink); }
.journey-card-v6 h3 { font-family:'Cormorant Garamond',serif; font-size:1.75rem; font-weight:300; font-style:italic; margin-bottom:0.8rem; }
.journey-card-v6 p { color:var(--grey); font-size:0.86rem; line-height:1.75; margin-bottom:1.5rem; }
.journey-card-v6 strong { font-size:0.68rem; letter-spacing:2px; text-transform:uppercase; color:var(--pink); }
@media (max-width:900px) { .trust-strip-v6 { grid-template-columns:repeat(2,1fr); } .trust-item-v6:nth-child(2) { border-right:none; } .trust-item-v6:nth-child(n+3) { border-top:0.5px solid var(--border); } .journey-grid-v6 { grid-template-columns:1fr; } .journey-card-v6 { border-right:none; border-bottom:0.5px solid var(--border); min-height:240px; } .journey-card-v6:last-child { border-bottom:none; } }
@media (max-width:600px) { .trust-strip-v6 { grid-template-columns:1fr; } .trust-item-v6 { border-right:none; border-top:0.5px solid var(--border); } .journeys-v6 { padding:4rem 5%; } }

/* v7 premium homepage rebuild */
.home-v7-body { background:#fbf7f1; color:#241917; }
.nav-v7 { background:rgba(251,247,241,0.95); border-bottom:1px solid rgba(36,25,23,0.08); }
.nav-v7 .nav-order { background:#241917; border-radius:999px; padding:0.7rem 1.35rem; }
.nav-v7 .nav-order:hover { background:#b86a42; }
.couture-hero-v7 { min-height:100vh; padding:110px 5% 54px; display:grid; grid-template-columns:0.95fr 1.05fr; gap:5vw; align-items:center; background:radial-gradient(circle at 15% 20%, #fff3e2 0, transparent 34%), linear-gradient(135deg,#fbf7f1 0%,#f6ece2 100%); position:relative; overflow:hidden; }
.couture-hero-v7::after { content:""; position:absolute; width:480px; height:480px; border:1px solid rgba(184,106,66,0.18); border-radius:50%; right:-170px; top:70px; }
.eyebrow-v7 { font-size:0.68rem; letter-spacing:4px; text-transform:uppercase; color:#b86a42; margin-bottom:1rem; font-weight:600; }
.hero-copy-v7 { position:relative; z-index:2; max-width:680px; }
.hero-copy-v7 h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(4rem,8vw,8.4rem); font-weight:300; font-style:italic; line-height:0.9; letter-spacing:-0.055em; color:#241917; margin-bottom:1.5rem; }
.hero-intro-v7 { max-width:520px; color:#725e58; font-size:1rem; line-height:1.9; margin-bottom:2.2rem; }
.hero-actions-v7 { display:flex; gap:1rem; flex-wrap:wrap; align-items:center; }
.btn-gold-v7 { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0.95rem 1.6rem; background:#b86a42; color:#fff; border:1px solid #b86a42; border-radius:999px; font-size:0.7rem; letter-spacing:2px; text-transform:uppercase; font-weight:600; transition:all 0.25s ease; }
.btn-gold-v7:hover { background:#241917; border-color:#241917; color:#fff; transform:translateY(-2px); }
.btn-line-v7 { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0.95rem 1.3rem; border:1px solid rgba(36,25,23,0.2); color:#241917; border-radius:999px; font-size:0.7rem; letter-spacing:2px; text-transform:uppercase; font-weight:600; transition:all 0.25s ease; }
.btn-line-v7:hover { border-color:#241917; background:#fff; transform:translateY(-2px); }
.btn-line-v7.dark { border-color:rgba(255,255,255,0.28); color:#fff; background:transparent; }
.btn-line-v7.light { border-color:rgba(255,255,255,0.36); color:#fff; background:transparent; }
.hero-proof-v7 { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; max-width:520px; margin-top:3rem; padding-top:1.6rem; border-top:1px solid rgba(36,25,23,0.12); }
.hero-proof-v7 strong { display:block; font-family:'Cormorant Garamond',serif; font-size:2.2rem; line-height:1; color:#b86a42; font-weight:300; }
.hero-proof-v7 span { display:block; margin-top:0.3rem; font-size:0.66rem; letter-spacing:1.8px; text-transform:uppercase; color:#7f6c66; }
.hero-art-v7 { position:relative; z-index:2; min-height:680px; }
.hero-art-v7 button { appearance:none; border:0; background:transparent; padding:0; cursor:pointer; overflow:hidden; box-shadow:0 26px 70px rgba(36,25,23,0.16); }
.hero-art-v7 img { width:100%; height:100%; object-fit:cover; transition:transform 0.7s ease; }
.hero-art-v7 button:hover img { transform:scale(1.05); }
.hero-feature-v7 { position:absolute; left:9%; top:0; width:62%; height:560px; border-radius:46% 46% 2rem 2rem; }
.hero-feature-v7 span { position:absolute; left:24px; bottom:24px; background:rgba(251,247,241,0.9); padding:0.65rem 1rem; border-radius:999px; font-size:0.66rem; letter-spacing:2px; text-transform:uppercase; color:#241917; }
.hero-tile-v7 { position:absolute; border-radius:1.4rem; }
.hero-tile-v7.one { right:2%; top:76px; width:34%; height:230px; }
.hero-tile-v7.two { right:14%; bottom:70px; width:32%; height:270px; }
.hero-tile-v7.three { left:0; bottom:18px; width:30%; height:220px; }
.hero-badge-v7 { position:absolute; right:0; bottom:0; background:#241917; color:#fff; padding:1rem 1.2rem; border-radius:999px; font-size:0.68rem; letter-spacing:2px; text-transform:uppercase; box-shadow:0 16px 40px rgba(36,25,23,0.2); }
.luxury-strip-v7 { display:grid; grid-template-columns:repeat(4,1fr); background:#241917; color:#fff; border-top:1px solid rgba(255,255,255,0.08); border-bottom:1px solid rgba(255,255,255,0.08); }
.luxury-strip-v7 div { padding:2rem 2vw; border-right:1px solid rgba(255,255,255,0.1); }
.luxury-strip-v7 div:last-child { border-right:none; }
.luxury-strip-v7 span { display:block; color:#b86a42; font-family:'Cormorant Garamond',serif; font-size:2rem; margin-bottom:0.8rem; }
.luxury-strip-v7 strong { display:block; font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-style:italic; font-weight:300; margin-bottom:0.55rem; }
.luxury-strip-v7 p { color:rgba(255,255,255,0.58); font-size:0.78rem; line-height:1.7; }
.signature-v7, .order-path-v7, .process-v7 { padding:7rem 5%; background:#fbf7f1; }
.section-head-v7 { max-width:780px; margin-bottom:3rem; }
.section-head-v7.centre { text-align:center; margin-left:auto; margin-right:auto; }
.section-head-v7 h2, .brand-story-v7 h2, .wall-copy-v7 h2, .final-cta-v7 h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.8rem,5.6vw,5.6rem); font-weight:300; font-style:italic; line-height:0.95; letter-spacing:-0.04em; color:#241917; margin-bottom:1rem; }
.section-head-v7 p, .story-copy-v7 p, .wall-copy-v7 p { color:#725e58; line-height:1.85; max-width:620px; }
.signature-grid-v7 { display:grid; grid-template-columns:1.1fr 0.9fr 0.9fr; grid-template-rows:320px 320px; gap:1rem; }
.sig-card-v7 { position:relative; overflow:hidden; border-radius:1.4rem; background:#241917; color:#fff; min-height:280px; box-shadow:0 18px 50px rgba(36,25,23,0.1); }
.sig-card-v7.large { grid-row:1/3; }
.sig-card-v7.wide { grid-column:2/4; }
.sig-card-v7 img { width:100%; height:100%; object-fit:cover; opacity:0.88; transition:transform 0.7s ease, opacity 0.35s ease; }
.sig-card-v7:hover img { transform:scale(1.05); opacity:0.7; }
.sig-card-v7 div { position:absolute; inset:auto 0 0 0; padding:1.5rem; background:linear-gradient(transparent,rgba(0,0,0,0.78)); }
.sig-card-v7 span { display:block; font-size:0.66rem; letter-spacing:2.4px; text-transform:uppercase; color:#f4d5b8; margin-bottom:0.55rem; }
.sig-card-v7 strong { display:block; font-family:'Cormorant Garamond',serif; font-weight:300; font-style:italic; font-size:1.55rem; line-height:1.15; }
.brand-story-v7 { display:grid; grid-template-columns:0.85fr 1.15fr; min-height:640px; background:#2a1d1a; color:#fff; }
.story-copy-v7 { padding:6rem 6vw; display:flex; flex-direction:column; justify-content:center; }
.story-copy-v7 h2 { color:#fff; }
.story-copy-v7 p { color:rgba(255,255,255,0.66); margin-bottom:2rem; }
.story-image-v7 { min-height:520px; overflow:hidden; }
.story-image-v7 img { width:100%; height:100%; object-fit:cover; }
.path-grid-v7 { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.path-card-v7 { display:flex; flex-direction:column; justify-content:space-between; min-height:360px; padding:2rem; border:1px solid rgba(36,25,23,0.1); border-radius:1.4rem; background:#fff; color:#241917; transition:all 0.25s ease; }
.path-card-v7.featured { background:#b86a42; color:#fff; transform:translateY(-18px); box-shadow:0 22px 60px rgba(184,106,66,0.22); }
.path-card-v7:hover { transform:translateY(-8px); box-shadow:0 18px 50px rgba(36,25,23,0.1); }
.path-card-v7.featured:hover { transform:translateY(-24px); }
.path-card-v7 span { font-family:'Cormorant Garamond',serif; font-size:3rem; color:#b86a42; }
.path-card-v7.featured span { color:#fff3e2; }
.path-card-v7 h3 { font-family:'Cormorant Garamond',serif; font-size:2rem; font-style:italic; font-weight:300; line-height:1.05; margin:1rem 0; }
.path-card-v7 p { color:#725e58; line-height:1.8; font-size:0.88rem; }
.path-card-v7.featured p { color:rgba(255,255,255,0.78); }
.path-card-v7 strong { margin-top:2rem; font-size:0.68rem; letter-spacing:2.2px; text-transform:uppercase; }
.gallery-wall-v7 { display:grid; grid-template-columns:0.38fr 0.62fr; gap:3rem; padding:7rem 5%; background:#fff; }
.wall-copy-v7 { position:sticky; top:100px; align-self:start; }
.wall-copy-v7 p { margin-bottom:2rem; }
.wall-grid-v7 { display:grid; grid-template-columns:repeat(3,1fr); gap:0.8rem; }
.wall-grid-v7 button { border:0; padding:0; background:#eee; height:260px; border-radius:1rem; overflow:hidden; cursor:pointer; }
.wall-grid-v7 button:nth-child(2), .wall-grid-v7 button:nth-child(5) { height:360px; }
.wall-grid-v7 img { width:100%; height:100%; object-fit:cover; transition:transform 0.55s ease; }
.wall-grid-v7 button:hover img { transform:scale(1.06); }
.testimonial-v7 { padding:8rem 8%; text-align:center; background:#b86a42; color:#fff; }
.testimonial-v7 p { font-family:'Cormorant Garamond',serif; font-size:clamp(2.4rem,5vw,5rem); line-height:1.1; font-style:italic; font-weight:300; max-width:980px; margin:0 auto 1.4rem; }
.testimonial-v7 span { font-size:0.68rem; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,0.72); }
.process-grid-v7 { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(36,25,23,0.12); border-left:1px solid rgba(36,25,23,0.12); }
.process-grid-v7 div { padding:2rem; min-height:270px; background:#fff; border-right:1px solid rgba(36,25,23,0.12); border-bottom:1px solid rgba(36,25,23,0.12); }
.process-grid-v7 span { font-family:'Cormorant Garamond',serif; font-size:3.2rem; color:#e8d7c8; }
.process-grid-v7 h3 { font-family:'Cormorant Garamond',serif; font-size:1.55rem; font-style:italic; font-weight:300; margin:0.8rem 0; }
.process-grid-v7 p { color:#725e58; font-size:0.84rem; line-height:1.75; }
.final-cta-v7 { padding:7rem 5%; text-align:center; background:#241917; color:#fff; }
.final-cta-v7 h2 { color:#fff; max-width:940px; margin-left:auto; margin-right:auto; }
.centre-actions-v7 { justify-content:center; margin-top:2rem; }
@media (max-width:1050px) {
  .couture-hero-v7 { grid-template-columns:1fr; padding-top:96px; }
  .hero-art-v7 { min-height:620px; }
  .luxury-strip-v7 { grid-template-columns:repeat(2,1fr); }
  .signature-grid-v7 { grid-template-columns:1fr 1fr; grid-template-rows:auto; }
  .sig-card-v7.large, .sig-card-v7.wide { grid-column:auto; grid-row:auto; }
  .sig-card-v7 { height:360px; }
  .brand-story-v7, .gallery-wall-v7 { grid-template-columns:1fr; }
  .wall-copy-v7 { position:static; }
  .process-grid-v7 { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px) {
  .couture-hero-v7 { padding:90px 5% 38px; }
  .hero-copy-v7 h1 { font-size:3.8rem; }
  .hero-proof-v7 { grid-template-columns:1fr; gap:0.8rem; }
  .hero-art-v7 { min-height:500px; }
  .hero-feature-v7 { left:0; width:76%; height:420px; }
  .hero-tile-v7.one { width:38%; height:170px; right:0; top:46px; }
  .hero-tile-v7.two { width:42%; height:180px; right:0; bottom:44px; }
  .hero-tile-v7.three { display:none; }
  .hero-badge-v7 { left:0; right:auto; bottom:0; }
  .luxury-strip-v7, .path-grid-v7, .wall-grid-v7, .process-grid-v7 { grid-template-columns:1fr; }
  .luxury-strip-v7 div { border-right:none; border-bottom:1px solid rgba(255,255,255,0.1); }
  .signature-v7, .order-path-v7, .process-v7, .gallery-wall-v7 { padding:4.5rem 5%; }
  .signature-grid-v7 { grid-template-columns:1fr; }
  .sig-card-v7 { height:320px; }
  .path-card-v7.featured, .path-card-v7.featured:hover { transform:none; }
  .brand-story-v7 { min-height:auto; }
  .story-copy-v7 { padding:4.5rem 5%; }
  .story-image-v7 { min-height:340px; }
  .wall-grid-v7 button, .wall-grid-v7 button:nth-child(2), .wall-grid-v7 button:nth-child(5) { height:280px; }
  .testimonial-v7, .final-cta-v7 { padding:5rem 5%; }
}

/* v8 royal editorial homepage */
.home-v8-body { background:linear-gradient(180deg,#fcf8f4 0%, #f6f1eb 100%); color:var(--dark); }
.nav-royal { background:rgba(251,248,243,0.94); border-bottom:1px solid rgba(30,28,27,0.08); }
.nav-royal .nav-logo { letter-spacing:0.03em; }
.nav-royal .nav-logo span { color:var(--yellow); }
.nav-royal .nav-order { background:var(--dark); border-radius:999px; padding:0.7rem 1.35rem; }
.nav-royal .nav-order:hover { background:#6e6967; }
.royal-hero { min-height:100vh; padding:104px 5% 54px; display:grid; grid-template-columns:0.92fr 1.08fr; gap:4vw; align-items:center; position:relative; }
.royal-hero::before { content:""; position:absolute; inset:0; background:radial-gradient(circle at 82% 22%, rgba(196,161,108,0.14), transparent 24%), radial-gradient(circle at 15% 15%, rgba(179,140,149,0.1), transparent 26%); pointer-events:none; }
.royal-copy { position:relative; z-index:1; max-width:650px; }
.eyebrow-royal { font-size:0.68rem; letter-spacing:4px; text-transform:uppercase; color:var(--yellow); margin-bottom:1rem; font-weight:600; }
.royal-copy h1 { font-family:'Cormorant Garamond',serif; font-size:clamp(4rem,8vw,8rem); font-weight:300; line-height:0.88; letter-spacing:-0.055em; margin-bottom:1.4rem; }
.royal-intro { max-width:520px; font-size:1rem; line-height:1.9; color:var(--grey); margin-bottom:2rem; }
.royal-btns { gap:1rem; }
.royal-promise { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; margin-top:3rem; padding-top:1.4rem; border-top:1px solid rgba(30,28,27,0.1); }
.royal-promise strong { display:block; font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:400; color:var(--dark); }
.royal-promise span { display:block; margin-top:0.25rem; font-size:0.67rem; line-height:1.6; letter-spacing:1.6px; text-transform:uppercase; color:var(--grey); }
.royal-editorial { position:relative; min-height:700px; z-index:1; }
.royal-editorial button { appearance:none; border:0; padding:0; background:transparent; cursor:pointer; }
.royal-editorial img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.7s ease, filter 0.4s ease; }
.royal-editorial button:hover img { transform:scale(1.04); filter:saturate(1.04); }
.editorial-main { position:absolute; inset:0 20% 6% 8%; overflow:hidden; border-radius:34px; box-shadow:0 24px 80px rgba(30,28,27,0.14); }
.editorial-label { position:absolute; left:24px; bottom:24px; background:rgba(251,248,243,0.92); color:var(--dark); padding:0.75rem 1rem; border-radius:999px; font-size:0.65rem; letter-spacing:2px; text-transform:uppercase; }
.editorial-side { position:absolute; overflow:hidden; border-radius:28px; box-shadow:0 18px 60px rgba(30,28,27,0.14); }
.editorial-side-a { width:28%; height:220px; right:3%; top:5%; }
.editorial-side-b { width:28%; height:280px; right:0; bottom:14%; }
.hero-note-card { position:absolute; left:0; bottom:0; width:240px; padding:1.2rem 1.2rem 1.25rem; border-radius:24px; background:rgba(255,255,255,0.82); backdrop-filter:blur(10px); box-shadow:0 20px 50px rgba(30,28,27,0.08); }
.hero-note-card span { display:block; font-size:0.62rem; letter-spacing:2px; text-transform:uppercase; color:var(--yellow); margin-bottom:0.45rem; }
.hero-note-card p { font-family:'Cormorant Garamond',serif; font-size:1.28rem; line-height:1.15; color:var(--dark); }
.royal-trust-strip { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgba(30,28,27,0.08); border-bottom:1px solid rgba(30,28,27,0.08); background:rgba(255,255,255,0.4); }
.royal-trust-strip div { padding:1.6rem 1.4rem; border-right:1px solid rgba(30,28,27,0.08); }
.royal-trust-strip div:last-child { border-right:none; }
.royal-trust-strip span { display:block; font-family:'Cormorant Garamond',serif; font-size:1.8rem; color:var(--yellow); margin-bottom:0.5rem; }
.royal-trust-strip p { color:var(--grey); font-size:0.82rem; line-height:1.75; }
.section-head-v8 { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:2rem; }
.section-head-v8.left { display:block; max-width:720px; }
.section-head-v8.centre { display:block; text-align:center; }
.section-head-v8 h2, .atelier-copy h2, .final-cta-v8 h2 { font-family:'Cormorant Garamond',serif; font-size:clamp(2.8rem,5.6vw,5.4rem); font-weight:300; line-height:0.95; letter-spacing:-0.045em; color:var(--dark); margin-bottom:0.8rem; }
.section-head-v8 p, .atelier-copy p { color:var(--grey); line-height:1.85; max-width:620px; }
.text-link-v8 { font-size:0.72rem; letter-spacing:2px; text-transform:uppercase; color:var(--dark); border-bottom:1px solid rgba(30,28,27,0.3); padding-bottom:2px; white-space:nowrap; }
.royal-marquee-wrap { padding:5rem 0 1rem; }
.marquee-royal { background:transparent; border-top:1px solid rgba(30,28,27,0.08); border-bottom:1px solid rgba(30,28,27,0.08); }
.marquee-royal .marquee-row + .marquee-row { border-top:1px solid rgba(30,28,27,0.08); }
.marquee-royal .marquee-item { width:260px; height:260px; border-right:1px solid rgba(30,28,27,0.08); }
.marquee-royal .marquee-item-over { background:linear-gradient(to top, rgba(24,23,22,0.74), rgba(24,23,22,0.22)); opacity:1; align-items:flex-end; justify-content:flex-start; padding:1rem; }
.marquee-royal .marquee-item-over span { opacity:0; transform:translateY(6px); transition:all 0.25s ease; }
.marquee-royal .marquee-item:hover .marquee-item-over span { opacity:1; transform:translateY(0); }
.house-codes { padding:5.5rem 5% 2rem; }
.codes-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:2.4rem; }
.codes-grid article { background:rgba(255,255,255,0.66); border:1px solid rgba(30,28,27,0.08); border-radius:22px; padding:1.8rem; min-height:250px; box-shadow:0 10px 28px rgba(30,28,27,0.04); }
.codes-grid span { display:block; font-family:'Cormorant Garamond',serif; font-size:2.6rem; color:var(--yellow); margin-bottom:1rem; }
.codes-grid h3 { font-family:'Cormorant Garamond',serif; font-size:1.7rem; font-weight:400; line-height:1.05; margin-bottom:0.7rem; }
.codes-grid p { font-size:0.85rem; line-height:1.8; color:var(--grey); }
.royal-gallery-section { padding:5.5rem 5%; }
.royal-gallery-grid { display:grid; grid-template-columns:repeat(12, 1fr); grid-auto-rows:120px; gap:14px; }
.royal-card { border:0; padding:0; background:#fff; position:relative; overflow:hidden; border-radius:26px; cursor:pointer; box-shadow:0 14px 40px rgba(30,28,27,0.08); text-align:left; }
.royal-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.7s ease; }
.royal-card:hover img { transform:scale(1.05); }
.royal-card::after { content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(14,13,12,0.72), rgba(14,13,12,0.12)); }
.royal-card-meta { position:absolute; left:18px; top:16px; z-index:1; background:rgba(255,255,255,0.88); border-radius:999px; padding:0.45rem 0.75rem; font-size:0.6rem; letter-spacing:1.7px; text-transform:uppercase; color:var(--dark); }
.royal-card-copy { position:absolute; left:18px; right:18px; bottom:18px; z-index:1; color:#fff; }
.royal-card-copy strong { display:block; font-family:'Cormorant Garamond',serif; font-size:1.55rem; font-weight:400; line-height:1.02; margin-bottom:0.3rem; }
.royal-card-copy small { font-size:0.62rem; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,0.75); }
.royal-card-1 { grid-column:span 4; grid-row:span 3; }
.royal-card-2 { grid-column:span 4; grid-row:span 2; }
.royal-card-3 { grid-column:span 4; grid-row:span 4; }
.royal-card-4 { grid-column:span 6; grid-row:span 3; }
.royal-marquee-wrap.alt { padding-top:0.5rem; }
.atelier-section { padding:5.5rem 5%; display:grid; grid-template-columns:1.02fr 0.98fr; gap:2rem; align-items:center; }
.atelier-image { min-height:620px; border-radius:32px; overflow:hidden; box-shadow:0 18px 50px rgba(30,28,27,0.1); }
.atelier-image img { width:100%; height:100%; object-fit:cover; }
.atelier-copy { padding:2rem 2rem 2rem 1rem; }
.atelier-links { display:flex; gap:1rem; align-items:center; flex-wrap:wrap; margin-top:1.6rem; }
.royal-route-section { padding:2rem 5% 5.5rem; }
.route-grid-v8 { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }
.route-card-v8 { background:rgba(255,255,255,0.72); border:1px solid rgba(30,28,27,0.08); border-radius:24px; padding:2rem; min-height:260px; box-shadow:0 10px 30px rgba(30,28,27,0.05); transition:transform 0.25s ease, box-shadow 0.25s ease; }
.route-card-v8:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(30,28,27,0.08); }
.route-card-v8 span { display:block; font-family:'Cormorant Garamond',serif; font-size:2.8rem; color:var(--yellow); margin-bottom:1rem; }
.route-card-v8 h3 { font-family:'Cormorant Garamond',serif; font-size:1.8rem; font-weight:400; line-height:1.02; margin-bottom:0.8rem; color:var(--dark); }
.route-card-v8 p { color:var(--grey); font-size:0.86rem; line-height:1.8; }
.route-card-v8.featured { background:linear-gradient(145deg, #262322 0%, #3a3533 100%); }
.route-card-v8.featured h3, .route-card-v8.featured p { color:#f2ece5; }
.route-card-v8.featured span { color:#d7bf95; }
.final-cta-v8 { padding:6rem 5% 7rem; text-align:center; background:linear-gradient(180deg,#272423 0%, #1e1c1b 100%); color:#fff; }
.final-cta-v8 h2 { color:#fff; max-width:900px; margin:0 auto 1rem; }
.final-cta-v8 .eyebrow-royal { color:#d7bf95; }
.lb-actions-v8 { display:flex; gap:1rem; flex-wrap:wrap; margin-top:1.2rem; }
@media (max-width:1100px) {
  .royal-hero, .atelier-section { grid-template-columns:1fr; }
  .royal-editorial { min-height:620px; }
  .royal-trust-strip, .codes-grid, .route-grid-v8 { grid-template-columns:repeat(2,1fr); }
  .royal-gallery-grid { grid-template-columns:repeat(8,1fr); }
  .royal-card-1, .royal-card-2, .royal-card-3, .royal-card-4 { grid-column:span 4; }
}
@media (max-width:700px) {
  .royal-hero { padding:90px 5% 38px; }
  .royal-copy h1 { font-size:3.8rem; }
  .royal-promise, .royal-trust-strip, .codes-grid, .route-grid-v8 { grid-template-columns:1fr; }
  .royal-editorial { min-height:520px; }
  .editorial-main { inset:0 12% 0 0; }
  .editorial-side-a { width:34%; height:150px; top:16px; right:0; }
  .editorial-side-b { width:38%; height:190px; right:0; bottom:12%; }
  .hero-note-card { width:180px; padding:0.9rem; }
  .hero-note-card p { font-size:1rem; }
  .marquee-royal .marquee-item { width:210px; height:220px; }
  .royal-gallery-grid { grid-template-columns:1fr; grid-auto-rows:auto; }
  .royal-card-1, .royal-card-2, .royal-card-3, .royal-card-4 { grid-column:auto; grid-row:auto; min-height:320px; }
  .atelier-image { min-height:360px; }
}

/* v9 lighter quiet royal overrides */
:root {
  --pink: #C8A7B2;
  --pink-light: #FBF1F5;
  --yellow: #D3B27E;
  --yellow-light: #FAF3E8;
  --dark: #26211F;
  --grey: #807976;
  --grey-light: #F2EEEA;
  --white: #FBF8F3;
  --border: #E8E1DA;
}
.home-v9-body { background:linear-gradient(180deg,#fffdfa 0%, #faf8f5 42%, #fffdfb 100%); color:var(--dark); }
.home-v9-body .nav-royal { background:rgba(255,253,250,0.96); border-bottom:1px solid rgba(38,33,31,0.06); }
.home-v9-body .nav-royal .nav-order { background:linear-gradient(180deg,#f6efe6 0%, #ecdcc6 100%); color:var(--dark); border:1px solid rgba(38,33,31,0.08); }
.home-v9-body .nav-royal .nav-order:hover { background:linear-gradient(180deg,#f8f2ea 0%, #f1e3d1 100%); }
.home-v9-body .royal-hero { min-height:100vh; padding:104px 5% 64px; grid-template-columns:0.86fr 1.14fr; gap:4.5vw; }
.home-v9-body .royal-hero::before { background:radial-gradient(circle at 82% 18%, rgba(211,178,126,0.12), transparent 26%), radial-gradient(circle at 16% 14%, rgba(200,167,178,0.14), transparent 28%), linear-gradient(180deg, rgba(255,255,255,0.6), rgba(255,255,255,0)); }
.home-v9-body .royal-copy h1 { font-size:clamp(4.2rem,8vw,8.6rem); line-height:0.87; letter-spacing:-0.06em; }
.home-v9-body .royal-intro { max-width:540px; color:#7f7673; }
.home-v9-body .btn-dark { background:#f5eee6; color:var(--dark); border:1px solid rgba(38,33,31,0.08); box-shadow:0 10px 24px rgba(38,33,31,0.04); }
.home-v9-body .btn-dark:hover { background:#efe2d0; }
.home-v9-body .btn-text { color:var(--dark); }
.home-v9-body .royal-promise { border-top:1px solid rgba(38,33,31,0.08); }
.home-v9-body .royal-promise strong { color:#342d2b; }
.home-v9-body .royal-editorial-v9 { min-height:760px; }
.home-v9-body .editorial-main-v9 { inset:4% 18% 8% 10%; border-radius:34px; background:#fff; box-shadow:0 24px 80px rgba(38,33,31,0.08); }
.home-v9-body .editorial-main-v9 img,
.home-v9-body .editorial-shot img,
.home-v9-body .marquee-royal .marquee-item img,
.home-v9-body .royal-card img,
.home-v9-body .screen-shell img,
.home-v9-body .atelier-image img { filter:brightness(1.08) contrast(1.04) saturate(1.05); }
.home-v9-body .editorial-label { background:rgba(255,255,255,0.88); box-shadow:0 10px 24px rgba(38,33,31,0.06); }
.home-v9-body .editorial-shot { background:#fff; padding:10px; border-radius:26px; box-shadow:0 18px 44px rgba(38,33,31,0.08); }
.home-v9-body .editorial-shot img { border-radius:18px; }
.home-v9-body .shot-a { width:23%; height:180px; right:6%; top:5%; transform:rotate(2deg); }
.home-v9-body .shot-b { width:24%; height:235px; right:2%; top:31%; transform:rotate(-3deg); }
.home-v9-body .shot-c { width:21%; height:160px; right:14%; bottom:7%; transform:rotate(5deg); }
.home-v9-body .shot-d { width:19%; height:150px; left:0; top:11%; transform:rotate(-5deg); }
.home-v9-body .shot-e { width:19%; height:170px; left:4%; bottom:2%; transform:rotate(4deg); }
.home-v9-body .hero-note-card-v9 { left:auto; right:20%; bottom:-10px; width:260px; background:rgba(255,255,255,0.78); border:1px solid rgba(38,33,31,0.06); }
.home-v9-body .hero-note-card-v9 p { font-size:1.36rem; }
.home-v9-body .screen-poetry-section { padding:1.5rem 5% 3rem; }
.home-v9-body .screen-wall { display:grid; grid-template-columns:repeat(12, 1fr); grid-auto-rows:120px; gap:16px; }
.home-v9-body .screen-card { border:0; background:transparent; padding:0; cursor:pointer; text-align:left; }
.home-v9-body .screen-shell { height:100%; background:rgba(255,255,255,0.92); border:1px solid rgba(38,33,31,0.08); border-radius:26px; padding:12px; box-shadow:0 14px 36px rgba(38,33,31,0.05); transition:transform 0.25s ease, box-shadow 0.25s ease; overflow:hidden; }
.home-v9-body .screen-card:hover .screen-shell { transform:translateY(-6px); box-shadow:0 20px 44px rgba(38,33,31,0.08); }
.home-v9-body .screen-shell img { width:100%; height:calc(100% - 54px); object-fit:cover; border-radius:16px; }
.home-v9-body .screen-meta { padding:0.55rem 0.2rem 0.1rem; }
.home-v9-body .screen-meta span { display:block; font-size:0.58rem; letter-spacing:2px; text-transform:uppercase; color:var(--yellow); margin-bottom:0.3rem; }
.home-v9-body .screen-meta strong { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:500; color:var(--dark); }
.home-v9-body .screen-card-1 { grid-column:span 3; grid-row:span 3; }
.home-v9-body .screen-card-2 { grid-column:span 3; grid-row:span 2; }
.home-v9-body .screen-card-3 { grid-column:span 2; grid-row:span 2; }
.home-v9-body .screen-card-4 { grid-column:span 4; grid-row:span 3; }
.home-v9-body .screen-card-5 { grid-column:span 2; grid-row:span 2; }
.home-v9-body .screen-card-6 { grid-column:span 3; grid-row:span 2; }
.home-v9-body .royal-trust-strip { background:rgba(255,255,255,0.72); }
.home-v9-body .marquee-royal { border-top:1px solid rgba(38,33,31,0.06); border-bottom:1px solid rgba(38,33,31,0.06); }
.home-v9-body .marquee-royal .marquee-row + .marquee-row { border-top:1px solid rgba(38,33,31,0.06); }
.home-v9-body .marquee-royal .marquee-item { width:280px; height:260px; border-right:1px solid rgba(38,33,31,0.06); background:rgba(255,255,255,0.7); }
.home-v9-body .marquee-royal .marquee-item-over { background:linear-gradient(to top, rgba(255,255,255,0.08), rgba(255,255,255,0)); }
.home-v9-body .marquee-royal .marquee-item-over span { color:#fff; background:rgba(38,33,31,0.45); backdrop-filter:blur(8px); padding:0.5rem 0.8rem; border-radius:999px; }
.home-v9-body .house-codes { padding-top:4.5rem; }
.home-v9-body .codes-grid article,
.home-v9-body .route-card-v8,
.home-v9-body .royal-card,
.home-v9-body .hero-note-card,
.home-v9-body .atelier-image,
.home-v9-body .screen-shell { box-shadow:0 12px 34px rgba(38,33,31,0.05); }
.home-v9-body .royal-gallery-section { padding-top:4.5rem; }
.home-v9-body .royal-card::after { background:linear-gradient(to top, rgba(38,33,31,0.48), rgba(38,33,31,0.03)); }
.home-v9-body .atelier-section { padding-top:4.5rem; }
.home-v9-body .route-card-v8.featured { background:linear-gradient(180deg,#f8f2ea 0%, #f6eef5 100%); border-color:rgba(38,33,31,0.06); }
.home-v9-body .route-card-v8.featured h3, .home-v9-body .route-card-v8.featured p { color:var(--dark); }
.home-v9-body .route-card-v8.featured span { color:var(--pink); }
.home-v9-body .final-cta-v8 { background:linear-gradient(180deg,#fbf6f0 0%, #f6eff6 100%); color:var(--dark); border-top:1px solid rgba(38,33,31,0.06); }
.home-v9-body .final-cta-v8 h2 { color:var(--dark); }
.home-v9-body .final-cta-v8 .eyebrow-royal { color:var(--pink); }
.home-v9-body .footer { background:#fffdfa; border-top:1px solid rgba(38,33,31,0.06); }
.home-v9-body .lb-inner { background:#fffdfb; }
@media (max-width:1100px) {
  .home-v9-body .royal-hero { grid-template-columns:1fr; }
  .home-v9-body .royal-editorial-v9 { min-height:640px; }
  .home-v9-body .screen-wall { grid-template-columns:repeat(8,1fr); }
  .home-v9-body .screen-card-1, .home-v9-body .screen-card-2, .home-v9-body .screen-card-3, .home-v9-body .screen-card-4, .home-v9-body .screen-card-5, .home-v9-body .screen-card-6 { grid-column:span 4; }
}
@media (max-width:700px) {
  .home-v9-body .royal-hero { padding:90px 5% 42px; }
  .home-v9-body .royal-copy h1 { font-size:4rem; }
  .home-v9-body .royal-editorial-v9 { min-height:540px; }
  .home-v9-body .editorial-main-v9 { inset:0 10% 18% 0; }
  .home-v9-body .shot-a { width:34%; height:120px; right:0; top:2%; }
  .home-v9-body .shot-b { width:34%; height:150px; right:0; top:28%; }
  .home-v9-body .shot-c { width:34%; height:120px; right:2%; bottom:10%; }
  .home-v9-body .shot-d { width:30%; height:120px; left:2%; top:2%; }
  .home-v9-body .shot-e { display:none; }
  .home-v9-body .hero-note-card-v9 { right:12%; width:180px; }
  .home-v9-body .screen-wall { grid-template-columns:1fr; grid-auto-rows:auto; }
  .home-v9-body .screen-card-1, .home-v9-body .screen-card-2, .home-v9-body .screen-card-3, .home-v9-body .screen-card-4, .home-v9-body .screen-card-5, .home-v9-body .screen-card-6 { grid-column:auto; grid-row:auto; }
  .home-v9-body .screen-shell { min-height:320px; }
  .home-v9-body .screen-shell img { height:250px; }
  .home-v9-body .marquee-royal .marquee-item { width:220px; height:220px; }
}

/* v10 flagship brighter luxury overrides */
.home-v10-body {
  background:
    radial-gradient(circle at 10% 12%, rgba(232, 198, 209, 0.14), transparent 22%),
    radial-gradient(circle at 88% 14%, rgba(216, 190, 146, 0.14), transparent 24%),
    linear-gradient(180deg, #fffefd 0%, #fffaf6 38%, #fffdfa 100%);
  color: var(--dark);
}
.home-v10-body .nav-royal {
  background: rgba(255,255,253,0.92);
  border-bottom: 1px solid rgba(38,33,31,0.05);
}
.home-v10-body .nav-royal .nav-order {
  background: linear-gradient(180deg,#fff7ef 0%,#f5e9dc 100%);
  color: var(--dark);
  border: 1px solid rgba(38,33,31,0.06);
  box-shadow: 0 8px 20px rgba(38,33,31,0.04);
}
.home-v10-body .royal-hero {
  grid-template-columns: 0.78fr 1.22fr;
  min-height: 96vh;
  padding: 98px 5% 56px;
}
.home-v10-body .royal-copy h1 {
  font-size: clamp(4.4rem,8.2vw,8.8rem);
  line-height: 0.86;
}
.home-v10-body .royal-intro {
  color: #7f7772;
  max-width: 520px;
}
.home-v10-body .btn-dark {
  background: linear-gradient(180deg,#fff8f0 0%,#f2e4d7 100%);
  color: var(--dark);
  border: 1px solid rgba(38,33,31,0.06);
}
.home-v10-body .btn-text {
  color: #5d5552;
}
.home-v10-body .royal-promise {
  margin-top: 2.2rem;
}
.home-v10-body .royal-editorial-v10 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(10, 60px);
  gap: 14px;
  min-height: 700px;
  align-items: stretch;
}
.home-v10-body .hero-tile-v10 {
  border: 0;
  background: rgba(255,255,255,0.9);
  padding: 10px;
  border-radius: 26px;
  overflow: hidden;
  cursor: pointer;
  box-shadow: 0 14px 34px rgba(38,33,31,0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.home-v10-body .hero-tile-v10:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(38,33,31,0.08);
}
.home-v10-body .hero-tile-v10 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 18px;
  filter: brightness(1.1) contrast(1.04) saturate(1.08);
}
.home-v10-body .tile-main { grid-column: 3 / span 6; grid-row: 2 / span 7; position: relative; }
.home-v10-body .tile-a { grid-column: 1 / span 2; grid-row: 1 / span 3; }
.home-v10-body .tile-b { grid-column: 9 / span 3; grid-row: 1 / span 3; }
.home-v10-body .tile-c { grid-column: 10 / span 3; grid-row: 4 / span 3; }
.home-v10-body .tile-d { grid-column: 1 / span 2; grid-row: 4 / span 3; }
.home-v10-body .tile-e { grid-column: 1 / span 3; grid-row: 7 / span 3; }
.home-v10-body .tile-f { grid-column: 9 / span 2; grid-row: 7 / span 2; }
.home-v10-body .tile-g { grid-column: 11 / span 2; grid-row: 7 / span 3; }
.home-v10-body .hero-note-card-v10 {
  grid-column: 3 / span 4;
  grid-row: 9 / span 2;
  position: relative;
  width: auto;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(38,33,31,0.05);
  backdrop-filter: blur(8px);
  box-shadow: 0 12px 32px rgba(38,33,31,0.05);
}
.home-v10-body .hero-note-card-v10 p { font-size: 1.28rem; }
.home-v10-body .screen-poetry-section,
.home-v10-body .royal-gallery-section,
.home-v10-body .house-codes,
.home-v10-body .atelier-section,
.home-v10-body .royal-route-section { padding-top: 4rem; }
.home-v10-body .screen-wall {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-auto-rows: 220px;
  gap: 1px;
  background: rgba(38,33,31,0.06);
  border-radius: 24px;
  overflow: hidden;
}
.home-v10-body .screen-card { background: #fff; border: 0; padding: 0; cursor: pointer; text-align: left; }
.home-v10-body .screen-shell {
  height: 100%;
  background: #fff;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  position: relative;
}
.home-v10-body .screen-card:hover .screen-shell { transform: none; box-shadow: none; }
.home-v10-body .screen-shell img {
  width: 100%; height: 100%; object-fit: cover;
  filter: brightness(1.12) contrast(1.02) saturate(1.06);
}
.home-v10-body .screen-meta {
  position: absolute;
  inset: auto 0 0 0;
  padding: 14px 16px;
  background: linear-gradient(to top, rgba(255,255,255,0.92), rgba(255,255,255,0.3), transparent);
}
.home-v10-body .screen-meta span {
  display: inline-block;
  background: rgba(255,255,255,0.96);
  color: var(--dark);
  padding: 0.4rem 0.6rem;
  border-radius: 2px;
  font-size: 0.62rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  margin-bottom: 0.4rem;
}
.home-v10-body .screen-meta strong {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 500;
  color: #2f2a28;
  text-shadow: 0 1px 1px rgba(255,255,255,0.45);
}
.home-v10-body .screen-card-1 { grid-row: span 2; }
.home-v10-body .screen-card-2 { grid-row: span 1; }
.home-v10-body .screen-card-3 { grid-row: span 2; }
.home-v10-body .screen-card-4 { grid-row: span 2; }
.home-v10-body .screen-card-5 { grid-row: span 1; }
.home-v10-body .screen-card-6 { grid-row: span 2; }
.home-v10-body .marquee-royal {
  background: linear-gradient(180deg, rgba(255,255,255,0.5), rgba(255,255,255,0.3));
}
.home-v10-body .marquee-royal .marquee-item {
  width: 290px;
  height: 250px;
  background: rgba(255,255,255,0.9);
}
.home-v10-body .marquee-royal .marquee-item img {
  filter: brightness(1.13) contrast(1.04) saturate(1.08);
}
.home-v10-body .marquee-track { animation-duration: 180s !important; }
.home-v10-body .marquee-track.reverse { animation-duration: 180s !important; }
.home-v10-body .royal-trust-strip {
  background: rgba(255,255,255,0.78);
}
.home-v10-body .codes-grid article,
.home-v10-body .route-card-v8,
.home-v10-body .royal-card,
.home-v10-body .atelier-image {
  background: rgba(255,255,255,0.86);
  border-color: rgba(38,33,31,0.05);
}
.home-v10-body .royal-card::after {
  background: linear-gradient(to top, rgba(42,36,33,0.4), rgba(42,36,33,0.04));
}
.home-v10-body .route-card-v8.featured {
  background: linear-gradient(180deg,#fff8ef 0%,#f9eef4 100%);
}
.home-v10-body .final-cta-v8 {
  background: linear-gradient(180deg,#fffaf4 0%,#fff6fa 100%);
  border-top: 1px solid rgba(38,33,31,0.05);
}
.home-v10-body .footer {
  background: #fffdfa;
}
@media (max-width: 1100px) {
  .home-v10-body .royal-hero { grid-template-columns: 1fr; }
  .home-v10-body .royal-editorial-v10 { grid-template-columns: repeat(8,1fr); grid-template-rows: repeat(12, 52px); min-height: auto; }
  .home-v10-body .tile-main { grid-column: 2 / span 5; grid-row: 2 / span 6; }
  .home-v10-body .tile-a { grid-column: 1 / span 2; grid-row: 1 / span 3; }
  .home-v10-body .tile-b { grid-column: 7 / span 2; grid-row: 1 / span 3; }
  .home-v10-body .tile-c { grid-column: 7 / span 2; grid-row: 4 / span 3; }
  .home-v10-body .tile-d { grid-column: 1 / span 2; grid-row: 4 / span 3; }
  .home-v10-body .tile-e { grid-column: 1 / span 3; grid-row: 8 / span 3; }
  .home-v10-body .tile-f { grid-column: 6 / span 3; grid-row: 8 / span 2; }
  .home-v10-body .tile-g { grid-column: 5 / span 4; grid-row: 10 / span 2; }
  .home-v10-body .hero-note-card-v10 { grid-column: 2 / span 4; grid-row: 11 / span 2; }
  .home-v10-body .screen-wall { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .home-v10-body .royal-copy h1 { font-size: 4.1rem; }
  .home-v10-body .royal-editorial-v10 { grid-template-columns: repeat(2,1fr); grid-template-rows: auto; gap: 10px; }
  .home-v10-body .tile-main,
  .home-v10-body .tile-a,
  .home-v10-body .tile-b,
  .home-v10-body .tile-c,
  .home-v10-body .tile-d,
  .home-v10-body .tile-e,
  .home-v10-body .tile-f,
  .home-v10-body .tile-g,
  .home-v10-body .hero-note-card-v10 { grid-column: auto; grid-row: auto; }
  .home-v10-body .tile-main { min-height: 320px; }
  .home-v10-body .hero-tile-v10 { min-height: 140px; }
  .home-v10-body .screen-wall { grid-template-columns: 1fr; grid-auto-rows: 260px; }
  .home-v10-body .marquee-royal .marquee-item { width: 220px; height: 210px; }
}

/* v11 flagship gallery rebuild */
.gallery-v11-body {
  background:
    radial-gradient(circle at 12% 10%, rgba(231,199,209,0.12), transparent 20%),
    radial-gradient(circle at 88% 8%, rgba(214,188,147,0.12), transparent 22%),
    linear-gradient(180deg,#fffefd 0%,#fbf8f4 38%,#fffdfb 100%);
}
.gallery-v11-body .nav-royal {
  background: rgba(255,255,253,0.94);
  border-bottom: 1px solid rgba(38,33,31,0.05);
}
.gallery-v11-body .gallery-banner-v11 {
  padding-top: 108px;
  padding-bottom: 24px;
  background: transparent;
}
.gallery-v11-body .page-banner .section-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(3.2rem,6vw,5.6rem);
  font-style: normal;
  font-weight: 300;
  line-height: 0.95;
}
.gallery-v11-body .page-banner .section-body {
  max-width: 640px;
  color: #7d7672;
}
.gallery-marquee-top {
  padding: 0 5% 1.2rem;
}
.gallery-marquee-shell {
  overflow: hidden;
  border-radius: 22px;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(38,33,31,0.05);
  box-shadow: 0 12px 32px rgba(38,33,31,0.04);
}
.gallery-v11-body .gallery-marquee-top .marquee-row {
  background: transparent;
}
.gallery-v11-body .gallery-marquee-top .marquee-item {
  width: 220px;
  height: 150px;
  border-right: 1px solid rgba(38,33,31,0.04);
  background: rgba(255,255,255,0.9);
}
.gallery-v11-body .gallery-marquee-top .marquee-item img {
  filter: brightness(1.12) contrast(1.04) saturate(1.08);
}
.gallery-v11-body .gallery-marquee-top .marquee-item-over {
  background: linear-gradient(to top, rgba(30,26,25,0.26), rgba(30,26,25,0));
}
.gallery-section-v11 {
  background: transparent !important;
  padding-top: 1.4rem;
}
.gallery-controls-v11 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  margin-bottom: 1.8rem;
}
.gallery-controls-copy {
  font-size: 0.82rem;
  color: #7d7672;
  margin-bottom: 0.9rem;
}
.gallery-v11-body .gallery-filters {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  border: none;
  margin-bottom: 0;
}
.gallery-v11-body .filter-btn {
  border: 1px solid rgba(38,33,31,0.08);
  border-radius: 999px;
  padding: 0.7rem 1rem;
  background: rgba(255,255,255,0.92);
  color: #6d6662;
}
.gallery-v11-body .filter-btn:last-child {
  border-right: 1px solid rgba(38,33,31,0.08);
}
.gallery-v11-body .filter-btn.active,
.gallery-v11-body .filter-btn:hover {
  background: #2c2624;
  color: #fff;
}
.gallery-order-btn {
  white-space: nowrap;
}
.gallery-grid-v11 {
  display: grid !important;
  columns: unset !important;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 86px;
  gap: 16px;
}
.gallery-card-v11 {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
}
.gallery-card-media-v11 {
  position: relative;
  height: 100%;
  overflow: hidden;
  border-radius: 24px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 12px 30px rgba(38,33,31,0.05);
}
.gallery-card-media-v11 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(1.13) contrast(1.04) saturate(1.08);
  transition: transform 0.5s ease;
}
.gallery-card-v11:hover img {
  transform: scale(1.04);
}
.gallery-card-media-v11::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(37,32,30,0.36), rgba(37,32,30,0.04) 45%, transparent 72%);
}
.gallery-card-tag-v11 {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  display: inline-block;
  background: rgba(255,255,255,0.95);
  color: #2d2725;
  border: 1px solid rgba(38,33,31,0.06);
  border-radius: 999px;
  padding: 0.35rem 0.65rem;
  font-size: 0.58rem;
  font-weight: 600;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  line-height: 1;
}
.gallery-card-copy-v11 {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  color: #fff;
}
.gallery-card-copy-v11 strong {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.55rem;
  font-weight: 400;
  line-height: 0.96;
  margin-bottom: 0.25rem;
}
.gallery-card-copy-v11 small {
  display: inline-block;
  font-size: 0.6rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.84);
}
.gallery-card-v11-1 { grid-column: span 4; grid-row: span 4; }
.gallery-card-v11-2 { grid-column: span 4; grid-row: span 3; }
.gallery-card-v11-3 { grid-column: span 4; grid-row: span 5; }
.gallery-card-v11-4 { grid-column: span 3; grid-row: span 3; }
.gallery-card-v11-5 { grid-column: span 5; grid-row: span 4; }
.gallery-card-v11-6 { grid-column: span 4; grid-row: span 3; }
.gallery-cta-v11 {
  background: linear-gradient(180deg,#fffaf4 0%,#fff5fa 100%);
  border-top: 1px solid rgba(38,33,31,0.05);
}
@media (max-width: 1100px) {
  .gallery-grid-v11 {
    grid-template-columns: repeat(8, 1fr);
    grid-auto-rows: 84px;
  }
  .gallery-card-v11-1,
  .gallery-card-v11-2,
  .gallery-card-v11-3,
  .gallery-card-v11-4,
  .gallery-card-v11-5,
  .gallery-card-v11-6 { grid-column: span 4; }
}
@media (max-width: 700px) {
  .gallery-v11-body .gallery-banner-v11 {
    padding-top: 92px;
  }
  .gallery-v11-body .gallery-marquee-top .marquee-item {
    width: 180px;
    height: 130px;
  }
  .gallery-controls-v11 {
    align-items: stretch;
  }
  .gallery-grid-v11 {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
  .gallery-card-v11-1,
  .gallery-card-v11-2,
  .gallery-card-v11-3,
  .gallery-card-v11-4,
  .gallery-card-v11-5,
  .gallery-card-v11-6 { grid-column: auto; grid-row: auto; }
  .gallery-card-media-v11 {
    min-height: 320px;
  }
}

/* v12 homepage flagship rebuild */
.home-v12-body {
  background: linear-gradient(180deg, #fffdfa 0%, #fbf7f1 44%, #fffdfb 100%);
  color: var(--dark);
}
.home-v12-body .nav-royal {
  background: rgba(255,253,250,0.94);
  border-bottom: 1px solid rgba(38,33,31,0.06);
}
.home-v12-body .nav-royal .nav-order {
  background: linear-gradient(180deg,#fff7ef 0%,#f1e4d4 100%);
  color: var(--dark);
  border: 1px solid rgba(38,33,31,0.06);
  box-shadow: 0 8px 20px rgba(38,33,31,0.04);
}
.hero-v12 {
  position: relative;
  min-height: 100vh;
  padding-top: 86px;
  overflow: hidden;
}
.hero-v12-bg,
.hero-v12-sheen {
  position: absolute;
  inset: 0;
}
.hero-v12-bg {
  background: #f5f0eb;
}
.hero-v12-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.05);
  transition: opacity 0.8s ease, transform 3.5s ease;
}
.hero-v12-slide.active {
  opacity: 1;
  transform: scale(1);
}
.hero-v12-sheen {
  background:
    linear-gradient(90deg, rgba(255,251,247,0.84) 0%, rgba(255,251,247,0.58) 32%, rgba(255,251,247,0.18) 58%, rgba(255,251,247,0.42) 100%),
    radial-gradient(circle at 18% 18%, rgba(231,200,209,0.18), transparent 24%),
    radial-gradient(circle at 84% 18%, rgba(214,188,147,0.16), transparent 22%);
}
.hero-v12-inner {
  position: relative;
  z-index: 1;
  min-height: calc(100vh - 86px);
  display: flex;
  align-items: center;
  padding: 0 5%;
}
.hero-v12-card {
  max-width: 580px;
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(38,33,31,0.06);
  backdrop-filter: blur(12px);
  border-radius: 30px;
  padding: 2.1rem 2rem;
  box-shadow: 0 18px 48px rgba(38,33,31,0.08);
}
.hero-v12-card h1 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(4.2rem,7.6vw,8rem);
  line-height: 0.88;
  font-weight: 300;
  letter-spacing: -0.06em;
  margin-bottom: 1rem;
}
.hero-v12-intro {
  max-width: 500px;
  color: #766e69;
  line-height: 1.85;
  font-size: 0.98rem;
}
.hero-v12-actions {
  display: flex;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin-top: 1.5rem;
  align-items: center;
}
.hero-v12-actions.centre {
  justify-content: center;
}
.home-v12-body .btn-dark {
  background: linear-gradient(180deg,#fff7ef 0%,#f1e4d4 100%);
  color: var(--dark);
  border: 1px solid rgba(38,33,31,0.06);
}
.home-v12-body .btn-dark:hover {
  background: linear-gradient(180deg,#fffaf4 0%,#f5e8d7 100%);
}
.home-v12-body .btn-text {
  color: #5f5753;
}
.hero-v12-socials {
  display: flex;
  gap: 0.7rem;
  flex-wrap: wrap;
  margin-top: 1.1rem;
}
.hero-v12-socials a {
  display: inline-flex;
  align-items: center;
  padding: 0.62rem 0.9rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.82);
  border: 1px solid rgba(38,33,31,0.07);
  color: var(--dark);
  font-size: 0.7rem;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}
.hero-v12-nowshowing {
  display: flex;
  gap: 0.8rem;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 1.4rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(38,33,31,0.08);
}
.hero-v12-tag {
  display: inline-block;
  padding: 0.36rem 0.65rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.88);
  border: 1px solid rgba(38,33,31,0.06);
  font-size: 0.58rem;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}
.hero-v12-nowshowing strong {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 400;
  color: var(--dark);
}
.hero-v12-view {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--dark);
  font-size: 0.68rem;
  letter-spacing: 1.7px;
  text-transform: uppercase;
  padding-bottom: 2px;
  border-bottom: 1px solid rgba(38,33,31,0.22);
  cursor: pointer;
}
.section-head-v12 {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 1.8rem;
}
.section-head-v12.compact {
  padding: 0 5%;
  margin-bottom: 1rem;
}
.section-head-v12 h2,
.home-story-copy-v12 h2,
.final-cta-v12 h2 {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(2.7rem,5.4vw,4.9rem);
  line-height: 0.95;
  font-weight: 300;
  letter-spacing: -0.045em;
  color: var(--dark);
  margin-bottom: 0.6rem;
}
.section-head-v12 p,
.home-story-copy-v12 p,
.final-cta-v12 p {
  color: #776f6b;
  line-height: 1.8;
  max-width: 650px;
}
.marquee-top-v12 {
  padding: 2rem 0 0.6rem;
}
.marquee-v12-shell {
  border-top: 1px solid rgba(38,33,31,0.06);
  border-bottom: 1px solid rgba(38,33,31,0.06);
  background: rgba(255,255,255,0.42);
}
.home-v12-body .marquee-royal .marquee-item {
  width: 270px;
  height: 240px;
  background: rgba(255,255,255,0.82);
  border-right: 1px solid rgba(38,33,31,0.06);
}
.home-v12-body .marquee-royal .marquee-item img {
  filter: brightness(1.13) contrast(1.04) saturate(1.08);
}
.home-signature-v12 {
  padding-top: 3.4rem;
  background: transparent;
}
.home-signature-grid-v12 {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 92px;
  gap: 16px;
}
.home-signature-card-v12 {
  border: 0;
  background: transparent;
  padding: 0;
  text-align: left;
  cursor: pointer;
}
.home-signature-media-v12 {
  position: relative;
  height: 100%;
  overflow: hidden;
  border-radius: 24px;
  background: rgba(255,255,255,0.92);
  box-shadow: 0 14px 34px rgba(38,33,31,0.05);
}
.home-signature-media-v12 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  filter: brightness(1.12) contrast(1.04) saturate(1.08);
  transition: transform 0.5s ease;
}
.home-signature-card-v12:hover img {
  transform: scale(1.04);
}
.home-signature-media-v12::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(35,31,29,0.42), rgba(35,31,29,0.06) 45%, transparent 72%);
}
.home-signature-tag-v12 {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 1;
  display: inline-block;
  padding: 0.36rem 0.65rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.94);
  border: 1px solid rgba(38,33,31,0.06);
  color: var(--dark);
  font-size: 0.58rem;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}
.home-signature-copy-v12 {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 1;
  color: #fff;
}
.home-signature-copy-v12 strong {
  display: block;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.48rem;
  font-weight: 400;
  line-height: 0.98;
  margin-bottom: 0.2rem;
}
.home-signature-copy-v12 small {
  font-size: 0.6rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.84);
}
.home-card-v12-1 { grid-column: span 5; grid-row: span 4; }
.home-card-v12-2 { grid-column: span 3; grid-row: span 4; }
.home-card-v12-3 { grid-column: span 4; grid-row: span 4; }
.home-card-v12-4 { grid-column: span 4; grid-row: span 3; }
.home-card-v12-5 { grid-column: span 4; grid-row: span 3; }
.home-card-v12-6 { grid-column: span 4; grid-row: span 3; }
.home-story-v12 {
  padding: 4rem 5% 4.5rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  align-items: center;
}
.home-story-image-v12 {
  min-height: 540px;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(38,33,31,0.06);
}
.home-story-image-v12 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: brightness(1.08) contrast(1.03) saturate(1.06);
}
.home-story-copy-v12 {
  padding: 1rem 0.5rem;
}
.home-story-links-v12 {
  display: flex;
  gap: 0.9rem;
  flex-wrap: wrap;
  margin-top: 1.4rem;
}
.final-cta-v12 {
  padding: 5.2rem 5% 6rem;
  background: linear-gradient(180deg,#fffaf4 0%,#fff6fa 100%);
  border-top: 1px solid rgba(38,33,31,0.05);
  text-align: center;
}
.final-cta-inner-v12 {
  max-width: 860px;
  margin: 0 auto;
}
.final-cta-v12 h2 {
  margin-bottom: 0.8rem;
}
@media (max-width: 1100px) {
  .home-signature-grid-v12 {
    grid-template-columns: repeat(8, 1fr);
  }
  .home-card-v12-1,
  .home-card-v12-2,
  .home-card-v12-3,
  .home-card-v12-4,
  .home-card-v12-5,
  .home-card-v12-6 { grid-column: span 4; }
  .home-story-v12 {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 700px) {
  .hero-v12 {
    min-height: auto;
    padding-top: 78px;
  }
  .hero-v12-inner {
    min-height: auto;
    padding: 1rem 5% 2rem;
  }
  .hero-v12-card {
    padding: 1.4rem 1.2rem;
    border-radius: 22px;
  }
  .hero-v12-card h1 {
    font-size: 4rem;
  }
  .hero-v12-intro {
    font-size: 0.92rem;
  }
  .section-head-v12,
  .section-head-v12.compact {
    display: block;
  }
  .section-head-v12 .btn-dark,
  .section-head-v12 .text-link-v8 {
    margin-top: 1rem;
    display: inline-block;
  }
  .home-v12-body .marquee-royal .marquee-item {
    width: 220px;
    height: 200px;
  }
  .home-signature-grid-v12 {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
  .home-card-v12-1,
  .home-card-v12-2,
  .home-card-v12-3,
  .home-card-v12-4,
  .home-card-v12-5,
  .home-card-v12-6 { grid-column: auto; grid-row: auto; }
  .home-signature-media-v12 {
    min-height: 320px;
  }
  .home-story-v12 {
    padding: 3.2rem 5% 3.6rem;
  }
  .home-story-image-v12 {
    min-height: 340px;
  }
}

/* v13 refined flagship homepage */
.home-v12-body {
  background:
    radial-gradient(circle at 12% 10%, rgba(235,228,223,0.6), transparent 25%),
    radial-gradient(circle at 88% 8%, rgba(243,232,236,0.55), transparent 24%),
    linear-gradient(180deg, #fffdfa 0%, #faf6f1 46%, #fffdfb 100%);
}
.home-v12-body .nav-royal {
  background: rgba(255,253,250,0.9);
  backdrop-filter: blur(10px);
}
.hero-v12 {
  min-height: 92vh;
}
.hero-v12-slide {
  background-size: cover;
  background-position: center center;
  opacity: 0;
  transform: scale(1.02);
  transition: opacity 0.9s ease, transform 4.6s ease;
}
.hero-v12-slide.active {
  transform: scale(1);
}
.hero-v12-sheen {
  background:
    linear-gradient(90deg, rgba(255,252,249,0.84) 0%, rgba(255,252,249,0.64) 28%, rgba(255,252,249,0.18) 55%, rgba(255,252,249,0.45) 100%),
    linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.04));
}
.hero-v12-card {
  max-width: 620px;
  background: rgba(255,255,255,0.66);
  border: 1px solid rgba(69,61,57,0.07);
  border-radius: 34px;
  padding: 2.2rem 2.1rem 1.8rem;
  box-shadow: 0 22px 60px rgba(38,33,31,0.07);
  position: relative;
}
.hero-v12-card::before {
  content: "";
  position: absolute;
  inset: 14px;
  border: 1px solid rgba(211,178,126,0.18);
  border-radius: 24px;
  pointer-events: none;
}
.hero-v12-card > * {
  position: relative;
  z-index: 1;
}
.hero-v12-card h1 {
  font-size: clamp(4.4rem,7.4vw,7.8rem);
  letter-spacing: -0.055em;
}
.hero-v12-intro {
  max-width: 470px;
}
.hero-v13-rail {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 1.3rem;
}
.hero-v13-preview {
  border: 1px solid rgba(69,61,57,0.08);
  background: rgba(255,255,255,0.82);
  border-radius: 18px;
  padding: 8px;
  cursor: pointer;
  text-align: left;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.hero-v13-preview:hover,
.hero-v13-preview.active {
  transform: translateY(-2px);
  border-color: rgba(211,178,126,0.35);
  box-shadow: 0 10px 24px rgba(38,33,31,0.06);
}
.hero-v13-preview img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
  display: block;
  filter: brightness(1.08) contrast(1.03) saturate(1.06);
}
.hero-v13-preview span {
  display: block;
  margin-top: 0.45rem;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1rem;
  line-height: 1;
  color: var(--dark);
}
.marquee-top-v12 {
  padding-top: 1.4rem;
}
.home-v12-body .marquee-v12-shell {
  background: rgba(255,255,255,0.55);
}
.home-v12-body .marquee-royal .marquee-item {
  width: 250px;
  height: 220px;
}
.home-v12-body .marquee-track { animation-duration: 100s; }
.home-v12-body .marquee-track.reverse { animation-duration: 115s; }
.home-signature-v12 {
  padding-top: 2.8rem;
}
.home-signature-grid-v12 {
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 96px;
  gap: 14px;
}
.home-card-v12-1 { grid-column: span 6; grid-row: span 5; }
.home-card-v12-2 { grid-column: span 3; grid-row: span 5; }
.home-card-v12-3 { grid-column: span 3; grid-row: span 5; }
.home-card-v12-4 { grid-column: span 12; grid-row: span 3; }
.home-signature-tag-v12 {
  border-radius: 3px;
  padding: 0.38rem 0.58rem;
}
.home-signature-copy-v12 strong {
  font-size: 1.7rem;
}
.home-story-v12 {
  padding-top: 3.4rem;
}
.home-story-image-v12 {
  min-height: 500px;
}
@media (max-width: 1100px) {
  .hero-v13-rail {
    grid-template-columns: repeat(2, 1fr);
  }
  .home-card-v12-1,
  .home-card-v12-2,
  .home-card-v12-3,
  .home-card-v12-4 { grid-column: span 4; }
}
@media (max-width: 700px) {
  .hero-v12 {
    min-height: auto;
  }
  .hero-v12-card {
    padding: 1.4rem 1.1rem 1.2rem;
    border-radius: 24px;
  }
  .hero-v12-card::before {
    inset: 10px;
    border-radius: 18px;
  }
  .hero-v13-rail {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
  .hero-v13-preview span {
    font-size: 0.92rem;
  }
  .home-signature-grid-v12 {
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
  .home-card-v12-1,
  .home-card-v12-2,
  .home-card-v12-3,
  .home-card-v12-4 { grid-column: auto; grid-row: auto; }
  .home-signature-media-v12 {
    min-height: 310px;
  }
}

/* ============================================================
   MOBILE HERO FIX — stack image above text, no overlap
   ============================================================ */
@media (max-width: 768px) {
  /* Hero becomes vertical stack */
  .hero-v12 {
    min-height: auto;
    display: flex;
    flex-direction: column;
  }

  /* Background images become a proper top image block */
  .hero-v12-bg {
    position: relative;
    height: 52vw;
    min-height: 220px;
    max-height: 320px;
    width: 100%;
    flex-shrink: 0;
  }

  /* Sheen/overlay reduced on mobile */
  .hero-v12-sheen {
    background: linear-gradient(
      to bottom,
      rgba(255,252,249,0.15) 0%,
      rgba(255,252,249,0.85) 100%
    );
  }

  /* Inner text block sits BELOW image on clean background */
  .hero-v12-inner {
    position: relative;
    background: #FFFDFB;
    padding: 1.8rem 5% 2.2rem;
    min-height: auto;
    display: block;
  }

  /* Card styling reset for mobile */
  .hero-v12-card {
    background: transparent;
    box-shadow: none;
    border-radius: 0;
    padding: 0;
    max-width: 100%;
  }

  .hero-v12-card h1 {
    font-size: clamp(2.2rem, 8vw, 3rem);
    line-height: 1.05;
  }

  .hero-v12-intro {
    font-size: 0.88rem;
    max-width: 100%;
  }

  /* Preview rail hides on very small screens */
  .hero-v13-rail { display: none; }

  /* Now showing strip smaller */
  .hero-v12-nowshowing {
    font-size: 0.7rem;
    padding: 0.6rem 0;
  }

  /* WA float — move out of the way on mobile */
  .wa-float {
    bottom: 16px;
    right: 16px;
    padding: 10px 14px;
    font-size: 0.6rem;
  }

  /* Socials row wraps */
  .hero-v12-socials {
    flex-wrap: wrap;
    gap: 0.6rem;
  }
}


/* ============================================================
   MOBILE FIXES + ANIMATION REFINEMENTS
   ============================================================ */

/* Smoother mobile feel — avoid forcing every element to animate */
@media (prefers-reduced-motion: no-preference) {
  a, button, .nav, .hero-v12-slide, .strip-expand, .fc-i { transition-duration: 0.35s !important; }
}
/* But keep instant things instant */
.marquee-track { transition: none !important; }
.strip-expand  { transition: max-height 0.5s cubic-bezier(.4,0,.2,1) !important; }
/* fc-i transition handled per-page */

@media (max-width: 768px) {

  /* --- HERO: image stays, text box stacks below --- */
  .hero-v12 {
    min-height: auto;
    display: flex;
    flex-direction: column;
  }
  .hero-v12-bg {
    position: relative !important;
    height: 56vw;
    min-height: 240px;
    max-height: 340px;
    width: 100%;
    flex-shrink: 0;
  }
  .hero-v12-sheen {
    background: linear-gradient(
      to bottom,
      transparent 60%,
      rgba(251,248,243,0.95) 100%
    ) !important;
  }
  .hero-v12-inner {
    position: relative !important;
    background: #FBF8F3;
    padding: 1.6rem 5% 2rem;
    min-height: auto;
  }
  .hero-v12-card {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    max-width: 100%;
  }
  .hero-v12-card h1 {
    font-size: clamp(2rem, 7vw, 2.8rem);
    line-height: 1.05;
  }
  .hero-v12-intro { font-size: 0.86rem; }

  /* Hide second marquee on mobile */
  .marquee-top-v12:last-of-type,
  .home-marquee-v12:nth-of-type(2) { display: none !important; }

  /* Hide signature grid — too heavy on mobile */
  .home-signature-v12,
  .home-signature-grid-v12,
  [class*="home-signature"] { display: none !important; }

  /* Preview thumbnail rail — hide on mobile */
  .hero-v13-rail { display: none !important; }

  /* WA float — smaller, out of the way */
  .wa-float {
    bottom: 16px;
    right: 16px;
    padding: 10px 14px;
    font-size: 0.58rem;
  }
  .wa-tooltip { display: none; }

  /* Hero socials — wrap cleanly */
  .hero-v12-socials { flex-wrap: wrap; gap: 0.5rem; }

  /* Gallery grid handled by gallery.html inline styles */
  .fc-b { padding: 1rem 0.9rem !important; }
  .fc-bn { font-size: 1rem !important; }

  /* Occasions strips — stack photo above text */
  .strip.odd, .strip.even { grid-template-columns: 1fr !important; }
  .strip-img { height: 200px !important; order: 1 !important; }
  .strip-text { order: 2 !important; padding: 1.4rem 1.2rem !important; }
  .strip-expand-inner { grid-template-columns: 1fr !important; padding: 1.5rem 5% !important; }
  .exp-left { padding-right: 0 !important; border-right: none !important; border-bottom: 1px solid rgba(255,255,255,.1); padding-bottom: 1.2rem; margin-bottom: 1.2rem; }
  .exp-right { padding-left: 0 !important; }
  .strip.open .strip-expand { max-height: 800px !important; }

  /* Story chapters — stack on mobile */
  .chapter-inner { grid-template-columns: 1fr !important; }
  .chapter.flip .chapter-inner { direction: ltr !important; }
  .chapter-img { height: 240px !important; }
  .chapter-text { padding: 1.8rem 0 !important; }

  /* General section padding reduced */
  .o-section, .g-ctrl { padding-left: 4% !important; padding-right: 4% !important; }
}

.marquee-item { cursor: pointer; }
.marquee-item:hover .marquee-item-over { opacity: 1 !important; }


/* Mobile polish: reduce cropping and make fixed WhatsApp less intrusive */
@media (max-width: 768px) {
  .wa-float { width: 46px !important; height: 46px !important; padding: 0 !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  .wa-float svg { width: 22px !important; height: 22px !important; }
  .masonry-item img, .gallery-card-media-v11 img, .home-signature-media-v12 img, .marquee-item img { object-position: center center; }
}

/* Back to top arrow */
.back-top {
  position: fixed;
  right: 22px;
  bottom: 88px;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(196,161,108,.55);
  background: rgba(30,28,27,.78);
  color: #F8E8C8;
  z-index: 650;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .28s ease, transform .28s ease, visibility .28s ease, background .2s ease, border-color .2s ease;
  box-shadow: 0 12px 30px rgba(30,28,27,.18);
  backdrop-filter: blur(10px);
  border-radius: 999px;
}
.back-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.back-top:hover { background: #C4A16C; color: #1E1C1B; border-color: #C4A16C; }
.back-top.show { opacity: 1; visibility: visible; transform: translateY(0); }
.back-top.scrolling { opacity: 0; visibility: hidden; transform: translateY(12px); }
.back-top:hover { background: var(--yellow-light); }
@media (max-width: 768px) {
  .back-top { right: 16px; bottom: 72px; width: 40px; height: 40px; }
}

/* Final no-crop polish for uploaded cake set */
.marquee-item { background:#f7f1e8; }
.marquee-item img,
.fc-f img { object-fit: contain !important; object-position: center center !important; }
@media (max-width: 768px) {
  .back-top { right: 16px; bottom: 74px; width: 42px; height: 42px; font-size: 1.25rem; }
}


/* Final patch: classy back-to-top that hides while scrolling and returns after scroll stops */
.back-top {
  right: 22px !important;
  bottom: 88px !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(196,161,108,.5) !important;
  background: rgba(251,248,243,.88) !important;
  color: #26211F !important;
  box-shadow: 0 10px 28px rgba(38,33,31,.14) !important;
  backdrop-filter: blur(12px) !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.45rem !important;
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(12px) scale(.96) !important;
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease, background .18s ease !important;
}
.back-top.show:not(.scrolling) {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(0) scale(1) !important;
}
.back-top.scrolling {
  opacity: 0 !important;
  visibility: hidden !important;
  transform: translateY(12px) scale(.96) !important;
}
.back-top:hover { background: #F5E6CC !important; border-color: rgba(196,161,108,.8) !important; }
@media (max-width: 768px) {
  .back-top { right: 16px !important; bottom: 76px !important; width: 40px !important; height: 40px !important; }
}


/* Gallery likes */
.fc-like { position:absolute; top:10px; right:10px; z-index:5; width:34px; height:34px; border-radius:999px; border:1px solid rgba(30,28,27,.12); background:rgba(251,248,243,.88); color:#8B6914; font-size:1.1rem; line-height:1; display:flex; align-items:center; justify-content:center; cursor:pointer; box-shadow:0 8px 20px rgba(30,28,27,.08); transition:transform .18s ease, background .18s ease; }
.fc-like:hover { transform:scale(1.06); background:#F5E6CC; }
.fc-like.liked { color:#B38C95; background:#fff; }

.t-item.active-review { outline:2px solid #C4A16C; outline-offset:3px; }


/* Clean final back to top behaviour */
.back-top { right:22px !important; bottom:88px !important; width:42px !important; height:42px !important; border-radius:999px !important; border:1px solid rgba(196,161,108,.45) !important; background:rgba(251,248,243,.92) !important; color:#26211F !important; box-shadow:0 10px 28px rgba(38,33,31,.12) !important; backdrop-filter:blur(12px) !important; font-family:'Cormorant Garamond',serif !important; font-size:1.35rem !important; opacity:0 !important; visibility:hidden !important; transform:translateY(10px) scale(.98) !important; transition:opacity .2s ease, transform .2s ease, visibility .2s ease, background .18s ease !important; }
.back-top.show:not(.scrolling) { opacity:1 !important; visibility:visible !important; transform:translateY(0) scale(1) !important; }
.back-top.scrolling { opacity:0 !important; visibility:hidden !important; transform:translateY(10px) scale(.98) !important; }
.back-top:hover { background:#F5E6CC !important; }
@media (max-width:768px){ .back-top { right:16px !important; bottom:74px !important; width:40px !important; height:40px !important; } }


/* Patch: gallery like button stays outside the flipping card */
.fc{position:relative}
.fc > .fc-like{position:absolute;top:10px;right:10px;z-index:30;width:34px;height:34px;border-radius:999px;border:1px solid rgba(30,28,27,.12);background:rgba(251,248,243,.94);color:#8B6914;font-size:1.08rem;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 8px 20px rgba(30,28,27,.08);transition:transform .18s ease,background .18s ease;pointer-events:auto}
.fc > .fc-like:hover{transform:scale(1.06);background:#F5E6CC}
.fc > .fc-like.liked{color:#B38C95;background:#fff}
.fc > .fc-like:focus{outline:2px solid rgba(196,161,108,.7);outline-offset:2px}
@media(max-width:560px){.fc > .fc-like{top:8px;right:8px;width:32px;height:32px}}

/* Patch: back to top should not flicker while scrolling */
.back-top{right:22px!important;bottom:88px!important;width:42px!important;height:42px!important;border-radius:999px!important;border:1px solid rgba(196,161,108,.45)!important;background:rgba(251,248,243,.94)!important;color:#26211F!important;box-shadow:0 10px 28px rgba(38,33,31,.12)!important;backdrop-filter:blur(12px)!important;font-family:'Cormorant Garamond',serif!important;font-size:1.2rem!important;opacity:0!important;visibility:hidden!important;transform:translateY(10px) scale(.98)!important;transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .18s ease!important}
.back-top.show:not(.scrolling){opacity:1!important;visibility:visible!important;transform:translateY(0) scale(1)!important}
.back-top.scrolling{opacity:0!important;visibility:hidden!important;transform:translateY(10px) scale(.98)!important}
.back-top:hover{background:#F5E6CC!important}
@media(max-width:768px){.back-top{right:16px!important;bottom:74px!important;width:40px!important;height:40px!important}}


/* Final repair patch */
.back-top{position:fixed!important;right:22px!important;bottom:88px!important;width:42px!important;height:42px!important;border-radius:999px!important;border:1px solid rgba(196,161,108,.48)!important;background:rgba(251,248,243,.96)!important;color:#26211F!important;box-shadow:0 10px 28px rgba(38,33,31,.14)!important;z-index:2000!important;display:flex!important;align-items:center!important;justify-content:center!important;font-family:'Cormorant Garamond',serif!important;font-size:1.25rem!important;cursor:pointer!important;opacity:0!important;visibility:hidden!important;transform:translateY(10px) scale(.98)!important;transition:opacity .2s ease,transform .2s ease,visibility .2s ease,background .18s ease!important}
.back-top.show:not(.scrolling){opacity:1!important;visibility:visible!important;transform:translateY(0) scale(1)!important}
.back-top.scrolling{opacity:0!important;visibility:hidden!important;transform:translateY(10px) scale(.98)!important}
.back-top:hover{background:#F5E6CC!important}
@media(max-width:768px){.back-top{right:16px!important;bottom:74px!important;width:40px!important;height:40px!important}}

/* Final polish patch: align home story buttons and even testimonial cards */
.home-story-links-v12 {
  align-items: stretch;
}
.home-story-links-v12 a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  box-sizing: border-box;
}
.home-story-links-v12 .btn-text {
  padding: 0.75rem 2rem;
  border: 1px solid transparent;
  border-bottom: 1px solid rgba(184,106,66,0.45);
  line-height: 1;
}
.t-grid {
  align-items: stretch;
}
.t-item {
  height: 580px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #EEE7DF;
}
.t-item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #111;
}
.t-item.active-review {
  transform: scale(1.035);
}
@media(max-width:900px){
  .t-item { height: 560px; }
}
@media(max-width:560px){
  .home-story-links-v12 {
    align-items: stretch;
  }
  .home-story-links-v12 a {
    width: 100%;
  }
  .t-item { height: 620px; }
}


/* Patch: smoother marquee drag and stronger mobile tap targets */
.marquee-row { touch-action: pan-y; overscroll-behavior-x: contain; }
.marquee-track { will-change: transform; }
.hero-v12-bg { cursor: pointer; }
.hero-v12-nowshowing { cursor: pointer; }
@media (max-width: 768px) {
  .hero-v12-nowshowing {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.8rem 0;
  }
  .hero-v12-view {
    min-height: 42px;
    padding-inline: 0.9rem;
  }
  .marquee-item { -webkit-tap-highlight-color: transparent; }
}


/* Final polish: back to top, marquee touch, selected cake landing */
.back-top{position:fixed!important;right:22px!important;bottom:88px!important;width:42px!important;height:42px!important;border-radius:999px!important;border:1px solid rgba(196,161,108,.48)!important;background:rgba(251,248,243,.96)!important;color:#26211F!important;box-shadow:0 10px 28px rgba(38,33,31,.14)!important;z-index:2000!important;display:flex!important;align-items:center!important;justify-content:center!important;font-family:'Cormorant Garamond',serif!important;font-size:1.25rem!important;cursor:pointer!important;opacity:0!important;visibility:hidden!important;transform:translateY(10px) scale(.98)!important;transition:opacity .18s ease,transform .18s ease,visibility .18s ease,background .18s ease!important;-webkit-tap-highlight-color:transparent!important}
.back-top.show:not(.scrolling){opacity:1!important;visibility:visible!important;transform:translateY(0) scale(1)!important}
.back-top.scrolling{opacity:0!important;visibility:hidden!important;transform:translateY(10px) scale(.98)!important}
.back-top:hover{background:#F5E6CC!important}
.marquee-row{touch-action:pan-y!important;overscroll-behavior-x:contain!important;cursor:grab}
.marquee-track{will-change:transform;transform:translate3d(0,0,0)}
.marquee-item img{-webkit-user-drag:none;user-select:none}
@media(max-width:768px){.back-top{right:16px!important;bottom:74px!important;width:40px!important;height:40px!important}}

/* Patch: cleaner review panel and CTA wording polish */
.t-pull{position:relative !important;top:auto !important;}
.t-banner{padding-bottom:1.7rem !important;}
.t-screens{padding-top:1.2rem !important;}

/* Final Cakes by Nazaria polish */
.fc.liked-card{order:initial!important}
.fc-bn{font-size:1.28rem!important;font-weight:600!important;color:#1E1C1B!important;letter-spacing:.02em!important}
.fc-bt{color:#6F4E37!important;font-weight:700!important}
.fc-loved-badge{background:#F8DDE5!important;border:1px solid rgba(196,61,75,.18)!important;color:#7A3D48!important;box-shadow:0 8px 20px rgba(122,61,72,.12)!important}
@media(max-width:560px){.fc-bn{font-size:1.18rem!important}}

/* v23 mobile stability patch */
html { overflow-x: hidden; }
body { min-width: 0; }
.nav { transform: translateZ(0); -webkit-transform: translateZ(0); }
.nav-logo, .nav-order, .hamburger, .nav-links a { -webkit-tap-highlight-color: transparent; }
@media (max-width: 900px) {
  .nav-links { display: none; }
  .nav-links.open {
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 64px;
    left: 0;
    right: 0;
    z-index: 9999;
    background: var(--white);
    padding: 1.25rem 5% calc(1.25rem + env(safe-area-inset-bottom));
    gap: 1rem;
    border-bottom: 0.5px solid var(--border);
    box-shadow: 0 12px 30px rgba(30,28,27,0.12);
  }
  .hamburger { display: flex; }
  .nav-order { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}

/* v24 smooth interaction patch: keeps page and image openings soft on web and mobile */
html { scroll-behavior: smooth; }
.lightbox {
  display: flex !important;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 280ms cubic-bezier(.22,1,.36,1), visibility 0s linear 280ms;
}
.lightbox.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transition: opacity 280ms cubic-bezier(.22,1,.36,1), visibility 0s linear 0s;
}
.lightbox .lb-inner {
  animation: none !important;
  opacity: 0;
  transform: translateY(14px) scale(.985);
  transition: opacity 340ms cubic-bezier(.22,1,.36,1), transform 340ms cubic-bezier(.22,1,.36,1);
  will-change: transform, opacity;
}
.lightbox.open .lb-inner {
  opacity: 1;
  transform: translateY(0) scale(1);
}
.lb-img {
  transition: opacity 220ms cubic-bezier(.22,1,.36,1), transform 320ms cubic-bezier(.22,1,.36,1);
  will-change: opacity, transform;
}
.lightbox.lb-swapping .lb-img {
  opacity: .25;
  transform: scale(.992);
}
@media (max-width: 560px) {
  .lightbox { padding: 1rem; }
  .lightbox .lb-inner { transform: translateY(10px) scale(.99); }
  .lightbox.open .lb-inner { transform: translateY(0) scale(1); }
}

/* v48 validation cleanup */
.hamburger{
  appearance:none;
  -webkit-appearance:none;
  background:transparent;
  border:0;
  font:inherit;
}
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}


/* === v52 independent fixed testimonial strip ===
   The old .t-pull pane is hidden. This new strip is fixed to the viewport,
   so it cannot scroll with the screenshots section. */
body.testimonials-page .t-pull{
  display:none!important;
}
body.testimonials-page .fixed-review-strip{
  position:fixed!important;
  top:64px!important;
  left:0!important;
  right:0!important;
  z-index:2147482500!important;
  width:100%!important;
  margin:0!important;
  padding:1.05rem 6% 1.05rem!important;
  background:#FBF8F3!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  text-align:center!important;
  transform:none!important;
  pointer-events:none!important;
}
body.testimonials-page .fixed-review-label{
  font-size:.54rem!important;
  letter-spacing:.24em!important;
  text-transform:uppercase!important;
  color:#A8895B!important;
  font-weight:600!important;
  margin-bottom:.45rem!important;
}
body.testimonials-page .fixed-review-quote{
  font-family:'Cormorant Garamond',serif!important;
  font-size:clamp(1.35rem,2.35vw,2.15rem)!important;
  font-weight:300!important;
  font-style:italic!important;
  color:#1E1C1B!important;
  line-height:1.18!important;
  max-width:860px!important;
  margin:0 auto .55rem!important;
}
body.testimonials-page .fixed-review-source{
  font-size:.56rem!important;
  letter-spacing:.2em!important;
  text-transform:uppercase!important;
  color:#A8895B!important;
}
body.testimonials-page .t-banner{
  padding-bottom:8.5rem!important;
}
body.testimonials-page .t-screens{
  padding-top:1.45rem!important;
}
@media(max-width:560px){
  body.testimonials-page .fixed-review-strip{
    top:64px!important;
    padding:.9rem 1rem!important;
  }
  body.testimonials-page .fixed-review-quote{
    font-size:1.2rem!important;
    line-height:1.18!important;
  }
  body.testimonials-page .t-banner{
    padding-bottom:10.25rem!important;
  }
}


/* === v53 reduce testimonial empty space === */
body.testimonials-page .t-banner{
  padding-top:3.2rem!important;
  padding-bottom:5.2rem!important;
}
body.testimonials-page .t-screens{
  padding-top:.75rem!important;
}
body.testimonials-page .fixed-review-strip{
  padding:.82rem 6% .78rem!important;
}
body.testimonials-page .fixed-review-label{
  margin-bottom:.28rem!important;
}
body.testimonials-page .fixed-review-quote{
  margin-bottom:.35rem!important;
}
@media(max-width:560px){
  body.testimonials-page .t-banner{
    padding-bottom:6.8rem!important;
  }
  body.testimonials-page .t-screens{
    padding-top:.6rem!important;
  }
  body.testimonials-page .fixed-review-strip{
    padding:.72rem 1rem .68rem!important;
  }
}


/* === v54 homepage featured cake controls === */
.hero-v12-nowshowing{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:.8rem!important;
  align-items:center!important;
}
.hero-v12-tag,
a.hero-v12-tag{
  text-decoration:none!important;
  color:var(--dark)!important;
  white-space:nowrap!important;
  flex-shrink:0!important;
}
.hero-v12-nowshowing strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.hero-v12-view{
  white-space:nowrap!important;
  flex-shrink:0!important;
}
@media(max-width:560px){
  .hero-v12-nowshowing{
    grid-template-columns:1fr!important;
    gap:.55rem!important;
    align-items:start!important;
  }
  .hero-v12-tag,
  a.hero-v12-tag{
    width:max-content!important;
    max-width:100%!important;
  }
  .hero-v12-nowshowing strong{
    white-space:normal!important;
    line-height:1.15!important;
  }
  .hero-v12-view{
    width:max-content!important;
    padding-top:.2rem!important;
  }
}


/* === v56 homepage hero action correction === */
.hero-v12-nowshowing{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:.8rem!important;
  align-items:center!important;
}
.hero-v12-tag,
a.hero-v12-tag{
  text-decoration:none!important;
  color:var(--dark)!important;
  white-space:nowrap!important;
  flex-shrink:0!important;
}
.hero-v12-nowshowing strong{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.hero-v12-view{
  white-space:nowrap!important;
  flex-shrink:0!important;
}
@media(max-width:560px){
  .hero-v12-nowshowing{
    grid-template-columns:1fr!important;
    gap:.55rem!important;
    align-items:start!important;
  }
  .hero-v12-tag,
  a.hero-v12-tag{
    width:max-content!important;
    max-width:100%!important;
  }
  .hero-v12-nowshowing strong{
    white-space:normal!important;
    line-height:1.15!important;
  }
  .hero-v12-view{
    width:max-content!important;
    padding-top:.2rem!important;
  }
}


/* === v57 homepage now-showing cursor fix === */
.hero-v12-nowshowing{
  cursor:default!important;
}
.hero-v12-nowshowing strong{
  cursor:default!important;
}
.hero-v12-tag,
a.hero-v12-tag,
.hero-v12-view{
  cursor:pointer!important;
}


/* === v58 mobile gallery centering fix === */
@media(max-width:560px){
  .g-grid{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:1rem!important;
    padding-right:1rem!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:.85rem!important;
    overflow:hidden!important;
  }
  .g-grid .fc{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .g-grid .fc-f,
  .g-grid .fc-b{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .g-grid .fc-f img{
    width:100%!important;
    max-width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    display:block!important;
  }
  .fc > .fc-like{
    right:.45rem!important;
  }
}
@media(max-width:380px){
  .g-grid{
    padding-left:.75rem!important;
    padding-right:.75rem!important;
    gap:.65rem!important;
  }
}


/* === v59 gallery full-cake image fit ===
   Show the full cake image inside each Gallery card instead of cropping it. */
.g-grid .fc-f{
  background:#FBF8F3!important;
}
.g-grid .fc-f img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  display:block!important;
  background:#FBF8F3!important;
}
@media(max-width:560px){
  .g-grid{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100vw!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:.85rem!important;
    padding-right:.85rem!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:.75rem!important;
    overflow:hidden!important;
  }
  .g-grid .fc{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
  }
  .g-grid .fc-f,
  .g-grid .fc-b{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .g-grid .fc-f img{
    object-fit:contain!important;
    object-position:center center!important;
  }
  .fc > .fc-like{
    right:.4rem!important;
  }
}
@media(max-width:380px){
  .g-grid{
    padding-left:.65rem!important;
    padding-right:.65rem!important;
    gap:.6rem!important;
  }
}


/* === v60 gallery heart visibility fix ===
   Keep like buttons fully visible, especially on the first row. */
.g-grid{
  overflow:visible!important;
}
.g-grid .fc{
  overflow:visible!important;
  padding-top:.45rem!important;
}
.g-grid .fc-f,
.g-grid .fc-b{
  overflow:hidden!important;
}
.fc > .fc-like{
  z-index:80!important;
  top:.1rem!important;
  right:.55rem!important;
}
@media(max-width:560px){
  .g-grid{
    overflow:visible!important;
  }
  .g-grid .fc{
    overflow:visible!important;
    padding-top:.4rem!important;
  }
  .fc > .fc-like{
    z-index:90!important;
    top:.08rem!important;
    right:.4rem!important;
  }
}


/* === v62 safe public like counter hide ===
   Keep the heart and love bubbles. Hide only public number text. */
.fc > .fc-like{
  min-width:42px!important;
  width:42px!important;
  height:38px!important;
  padding:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:1rem!important;
  line-height:1!important;
  overflow:visible!important;
}
.fc > .fc-like .like-count,
.fc > .fc-like [data-like-count],
.fc > .fc-like small{
  display:none!important;
}
.fc > .fc-like.liked,
.fc > .fc-like.is-liked,
.fc > .fc-like[aria-pressed="true"]{
  color:#C43D4B!important;
}
/* Keep love bubble above the heart badge and frame */
.love-bubble{
  display:block!important;
  position:absolute!important;
  z-index:9999!important;
  pointer-events:none!important;
}
.g-grid,
.g-grid .fc{
  overflow:visible!important;
}
.g-grid .fc-f,
.g-grid .fc-b{
  overflow:hidden!important;
}


/* === v62 testimonial mobile gap tighten === */
body.testimonials-page .fixed-review-strip{
  padding:.72rem 6% .66rem!important;
}
body.testimonials-page .fixed-review-label{
  margin-bottom:.2rem!important;
}
body.testimonials-page .fixed-review-quote{
  margin-bottom:.25rem!important;
}
body.testimonials-page .t-banner{
  padding-bottom:4.3rem!important;
}
body.testimonials-page .t-screens{
  padding-top:.35rem!important;
}
@media(max-width:560px){
  body.testimonials-page .fixed-review-strip{
    padding:.58rem .95rem .55rem!important;
  }
  body.testimonials-page .fixed-review-label{
    font-size:.48rem!important;
    margin-bottom:.16rem!important;
  }
  body.testimonials-page .fixed-review-quote{
    font-size:1.05rem!important;
    line-height:1.12!important;
    margin-bottom:.18rem!important;
  }
  body.testimonials-page .fixed-review-source{
    font-size:.48rem!important;
  }
  body.testimonials-page .t-banner{
    padding-bottom:5.2rem!important;
  }
  body.testimonials-page .t-screens{
    padding-top:.25rem!important;
  }
}


/* === v63 body-layer love bubbles ===
   Love bubbles are now drawn on the page layer, so the first row/frame cannot clip them. */
.body-love-bubble{
  position:fixed!important;
  z-index:2147482000!important;
  color:#C43D4B!important;
  font-size:1.15rem!important;
  line-height:1!important;
  pointer-events:none!important;
  animation:bodyLoveRise 980ms ease-out forwards!important;
  text-shadow:0 8px 22px rgba(196,61,75,.18)!important;
}
@keyframes bodyLoveRise{
  0%{opacity:0;transform:translate(-50%,0) scale(.72)}
  14%{opacity:1}
  100%{opacity:0;transform:translate(calc(-50% + var(--x,0px)),-76px) scale(1.28)}
}


/* === v64 testimonial intro shade refinement ===
   Remove the heavy full-width shaded intro band and keep only a neat intro note. */
body.testimonials-page .t-banner{
  background:#FBF8F3!important;
  padding-top:2.4rem!important;
  padding-bottom:1.05rem!important;
}
body.testimonials-page .t-banner p{
  max-width:470px!important;
  margin:0!important;
  color:#706B69!important;
  line-height:1.65!important;
}
body.testimonials-page .t-banner .section-eyebrow,
body.testimonials-page .t-banner h1,
body.testimonials-page .t-banner .section-rule{
  display:none!important;
}
body.testimonials-page .t-screens{
  background:#FBF8F3!important;
  padding-top:.35rem!important;
}
body.testimonials-page .fixed-review-strip{
  background:#FBF8F3!important;
}
@media(max-width:560px){
  body.testimonials-page .t-banner{
    padding-top:1.7rem!important;
    padding-bottom:.75rem!important;
  }
  body.testimonials-page .t-banner p{
    max-width:92vw!important;
    font-size:.78rem!important;
  }
  body.testimonials-page .t-screens{
    padding-top:.25rem!important;
  }
}


/* === v67 clickable cursor, copy code and selected review cleanup === */
.fc{
  cursor:default!important;
}
.fc.flipped{
  cursor:default!important;
}
.fc .fc-f{
  cursor:pointer!important;
}
.fc.flipped .fc-b{
  cursor:default!important;
}
.fc a,
.fc button,
.fc .fc-like,
.fc .fc-copy-code,
.fc .fc-flip-back{
  cursor:pointer!important;
}
.fc-b{
  position:relative!important;
}
.fc-flip-back{
  position:absolute!important;
  top:.65rem!important;
  right:.65rem!important;
  width:30px!important;
  height:30px!important;
  border-radius:999px!important;
  border:1px solid rgba(30,28,27,.12)!important;
  background:rgba(255,255,255,.72)!important;
  color:#1E1C1B!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:1rem!important;
  line-height:1!important;
  box-shadow:0 8px 18px rgba(30,28,27,.08)!important;
}
.fc-copy-code{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  margin:.25rem auto .15rem!important;
  padding:.48rem .72rem!important;
  border-radius:999px!important;
  border:1px solid rgba(196,161,108,.34)!important;
  background:#FBF8F3!important;
  color:#8B6914!important;
  font-size:.52rem!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  font-family:'Jost',sans-serif!important;
}
.fc-copy-code.copied{
  background:#F5E6CC!important;
  color:#1E1C1B!important;
}
.t-item::after,
.t-item.active-review::after{
  content:none!important;
  display:none!important;
}
.t-item.active-review .t-select,
.t-item .t-select,
.t-item [class*="select"],
.t-item [class*="Select"]{
  display:none!important;
}


/* === v68 full flipped-card back restore ===
   Keep copy code and cursor behaviour, but make the back fill the whole card. */
.fc{
  position:relative!important;
  cursor:default!important;
}
.fc-i{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
.fc-f,
.fc-b{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  backface-visibility:hidden!important;
  -webkit-backface-visibility:hidden!important;
}
.fc-b{
  background:#F5E6CC!important;
  transform:rotateY(180deg)!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:center!important;
  padding:1.35rem!important;
  gap:.42rem!important;
  text-align:center!important;
  cursor:default!important;
}
.fc.flipped .fc-b{
  cursor:default!important;
}
.fc.flipped .fc-b a,
.fc.flipped .fc-b button,
.fc-copy-code,
.fc-flip-back{
  cursor:pointer!important;
}
.fc-flip-back{
  position:absolute!important;
  top:.7rem!important;
  right:.7rem!important;
  z-index:5!important;
}
.fc-copy-code{
  flex:0 0 auto!important;
}
@media(max-width:560px){
  .fc-i{
    position:absolute!important;
    inset:0!important;
  }
  .fc-b{
    padding:1rem!important;
    gap:.34rem!important;
  }
  .fc-flip-back{
    top:.55rem!important;
    right:.55rem!important;
  }
}

/* === v69 remove testimonial Select overlay text === */
.t-item-over,
.t-item-over span,
.t-item .t-item-over,
.t-item:hover .t-item-over,
.t-item.active-review .t-item-over{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}


/* === v71 lightbox Cake Code copy === */
.lb-title.lb-code-copy,
#lbTitle{
  cursor:pointer!important;
}
.lb-title.lb-code-copy:hover,
.lb-title.lb-code-copy:focus{
  color:#8B6914!important;
}
.lb-title.lb-code-copy.copied{
  color:#8B6914!important;
}
.lb-copy-hint{
  appearance:none!important;
  -webkit-appearance:none!important;
  border:0!important;
  background:transparent!important;
  color:#A8895B!important;
  font-family:'Jost',sans-serif!important;
  font-size:.56rem!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  padding:.1rem 0 .6rem!important;
  margin:-.2rem 0 .35rem!important;
  border-bottom:1px solid rgba(196,161,108,.35)!important;
  cursor:pointer!important;
}
.lb-copy-hint:hover,
.lb-copy-hint:focus{
  color:#1E1C1B!important;
}


/* === v73 gallery remove repeated top intro === */
.g-banner #gHeroText{
  display:none!important;
}
.g-banner{
  padding-bottom:2.3rem!important;
}


/* === v76 mobile popup optimisation without changing header image shape ===
   Keep header/top images in the same shape and size system as before.
   Only improve mobile popup/lightbox cropping and scroll behaviour. */
@media(max-width:768px){
  .lightbox{
    align-items:flex-start!important;
    justify-content:center!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:calc(64px + .75rem) .9rem 1rem!important;
  }
  .lb-inner{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:520px!important;
    max-height:none!important;
    margin:0 auto!important;
    overflow:visible!important;
  }
  .lb-img{
    width:100%!important;
    height:auto!important;
    max-height:46vh!important;
    min-height:220px!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#FBF8F3!important;
  }
  .lb-details{
    padding:1.05rem 1rem 1.25rem!important;
    border-left:0!important;
    border-top:.5px solid var(--border)!important;
    justify-content:flex-start!important;
  }
  .lb-title{
    font-size:1.45rem!important;
    margin-bottom:.35rem!important;
  }
  .lb-desc{
    font-size:.8rem!important;
    line-height:1.55!important;
    margin-bottom:1rem!important;
  }
  .lb-close{
    position:fixed!important;
    top:.85rem!important;
    right:.85rem!important;
    z-index:1005!important;
  }
  .lb-prev{
    left:.65rem!important;
  }
  .lb-next{
    right:.65rem!important;
  }
  .lb-nav{
    top:34vh!important;
    transform:translateY(-50%)!important;
  }
  .fc-b{
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
}
@media(max-width:420px){
  .lb-img{
    max-height:42vh!important;
    min-height:200px!important;
  }
  .lb-details{
    padding:.9rem .85rem 1rem!important;
  }
}


/* === v81 mobile hero rebuild from raw images ===
   Uses standardised portrait canvases generated from the raw cake files.
   This keeps the mobile hero shape consistent without cutting the cakes. */
@media (max-width: 768px) {
  .hero-v12 {
    min-height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    background: #FBF8F3 !important;
  }
  .hero-v12-bg {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    flex: 0 0 auto !important;
    background: #FBF8F3 !important;
    overflow: hidden !important;
  }
  .hero-v12-slide {
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    transform: none !important;
    transition: opacity 0.55s ease !important;
  }
  .hero-v12-slide.active {
    transform: none !important;
  }
  .hero-v12-sheen {
    display: none !important;
  }
  .hero-v12-inner {
    min-height: auto !important;
    display: block !important;
    position: relative !important;
    padding: 1.2rem 5% 2rem !important;
    background: #FBF8F3 !important;
  }
  .hero-v12-card {
    max-width: 100% !important;
    margin: 0 auto !important;
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    padding: 0 !important;
    backdrop-filter: none !important;
  }
  .hero-v12-card h1 {
    font-size: clamp(2.7rem, 11.6vw, 4.2rem) !important;
    line-height: 0.95 !important;
  }
  .hero-v12-intro {
    max-width: 100% !important;
    font-size: 0.88rem !important;
  }
  .hero-v12-nowshowing {
    gap: 0.75rem !important;
    padding-top: 1rem !important;
  }
}
@media (max-width: 420px) {
  .hero-v12-bg {
    aspect-ratio: 4 / 5 !important;
  }
}


/* === v82 final mobile polish pass ===
   Mobile pass across homepage, gallery and lightbox. Desktop is left alone. */
@media(max-width:768px){
  html, body{
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  /* Homepage: keep the rebuilt mobile hero stable and centred */
  .hero-v12{
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    background:#FBF8F3!important;
  }
  .hero-v12-bg{
    width:100%!important;
    max-width:100%!important;
    aspect-ratio:4 / 5!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    background:#FBF8F3!important;
    overflow:hidden!important;
  }
  .hero-v12-slide{
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    transform:none!important;
  }
  .hero-v12-slide.active{
    transform:none!important;
  }
  .hero-v12-inner{
    width:100%!important;
    max-width:100%!important;
    padding:1.15rem 5% 2rem!important;
    background:#FBF8F3!important;
  }
  .hero-v12-card{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto!important;
    background:transparent!important;
    box-shadow:none!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
  }
  .hero-v12-card h1{
    font-size:clamp(2.45rem, 11vw, 4rem)!important;
    line-height:.96!important;
    max-width:100%!important;
  }
  .hero-v12-intro{
    font-size:.88rem!important;
    line-height:1.75!important;
    max-width:100%!important;
  }
  .hero-v12-nowshowing{
    width:100%!important;
    max-width:100%!important;
    grid-template-columns:1fr!important;
    gap:.55rem!important;
    align-items:start!important;
    padding-top:1rem!important;
  }
  .hero-v12-nowshowing strong{
    white-space:normal!important;
    line-height:1.15!important;
  }
  .hero-v12-tag,
  a.hero-v12-tag,
  .hero-v12-view{
    width:max-content!important;
    max-width:100%!important;
  }

  /* Gallery: centre two columns, keep full cakes visible, prevent right overflow */
  .g-ctrl,
  .g-banner,
  .g-grid{
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  .g-grid{
    display:grid!important;
    grid-template-columns:repeat(2, minmax(0, 1fr))!important;
    gap:.72rem!important;
    padding-left:.75rem!important;
    padding-right:.75rem!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:visible!important;
  }
  .g-grid .fc{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  .g-grid .fc-f,
  .g-grid .fc-b{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
  }
  .g-grid .fc-f{
    background:#FBF8F3!important;
  }
  .g-grid .fc-f img{
    width:100%!important;
    height:100%!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block!important;
    background:#FBF8F3!important;
  }
  .fc > .fc-like{
    top:.12rem!important;
    right:.35rem!important;
    z-index:95!important;
  }
  .fc-b{
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }

  /* Lightbox: no top cut, full cake image, scrollable details */
  .lightbox{
    align-items:flex-start!important;
    justify-content:center!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:calc(64px + .75rem) .85rem 1.2rem!important;
  }
  .lb-inner{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    max-width:520px!important;
    max-height:none!important;
    margin:0 auto!important;
    overflow:visible!important;
  }
  .lb-img{
    width:100%!important;
    height:auto!important;
    max-height:44vh!important;
    min-height:200px!important;
    object-fit:contain!important;
    object-position:center center!important;
    background:#FBF8F3!important;
  }
  .lb-details{
    padding:1rem .95rem 1.2rem!important;
    border-left:0!important;
    border-top:.5px solid var(--border)!important;
    justify-content:flex-start!important;
  }
  .lb-title{
    font-size:1.45rem!important;
    margin-bottom:.35rem!important;
  }
  .lb-desc{
    font-size:.8rem!important;
    line-height:1.55!important;
    margin-bottom:1rem!important;
  }
  .lb-close{
    position:fixed!important;
    top:.85rem!important;
    right:.85rem!important;
    z-index:1005!important;
  }
  .lb-prev{
    left:.6rem!important;
  }
  .lb-next{
    right:.6rem!important;
  }
  .lb-nav{
    top:34vh!important;
    transform:translateY(-50%)!important;
  }

  /* Floating buttons: reduce overlap with mobile browser bar */
  .wa-float{
    right:16px!important;
    bottom:84px!important;
    width:56px!important;
    height:56px!important;
    padding:0!important;
    border-radius:999px!important;
  }
  .wa-float span,
  .wa-tooltip{
    display:none!important;
  }
  .back-top{
    right:18px!important;
    bottom:150px!important;
  }
}

@media(max-width:420px){
  .g-grid{
    gap:.62rem!important;
    padding-left:.62rem!important;
    padding-right:.62rem!important;
  }
  .hero-v12-card h1{
    font-size:clamp(2.35rem, 10.5vw, 3.7rem)!important;
  }
  .lb-img{
    max-height:42vh!important;
    min-height:190px!important;
  }
}


/* === v83 mobile hero full-width image fix ===
   Home hero images now use the real cake photos at full mobile width.
   This keeps the whole cake visible without cropping while removing the boxed look. */
@media (max-width: 768px) {
  .hero-v12-bg {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    line-height: 0 !important;
  }
  .hero-v12-slide {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    display: none !important;
    opacity: 1 !important;
    transform: none !important;
    background-image: none !important;
    background: transparent !important;
  }
  .hero-v12-slide.active {
    display: block !important;
    opacity: 1 !important;
  }
  .hero-v12-mobile-img {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
    object-position: center top !important;
    background: transparent !important;
  }
}


/* === v84 back-to-top reliability pass ===
   Keeps the control clickable above story and mobile browser overlays. */
.back-top{
  pointer-events:auto!important;
  z-index:2147483000!important;
}
@media(max-width:768px){
  .back-top{
    right:16px!important;
    bottom:78px!important;
  }
}


/* === v85 mobile hero uses edited full-banner image canvases ===
   Use the prepared mobile hero image files so the banner fills edge to edge
   while keeping the full cake visible and avoiding any crop on mobile. */
.hero-v12-mobile-img{
  display:none!important;
}
@media (max-width: 768px) {
  .hero-v12-bg {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #FBF8F3 !important;
    line-height: 0 !important;
  }
  .hero-v12-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: none !important;
    opacity: 1 !important;
    transform: none !important;
    background-image: none !important;
    background: transparent !important;
  }
  .hero-v12-slide.active {
    display: block !important;
    opacity: 1 !important;
  }
  .hero-v12-mobile-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: transparent !important;
  }
}


/* === v88 pink back-to-top restore ===
   Mobile and desktop: hide while scrolling, show after scrolling stops. */
.back-top{
  position:fixed!important;
  right:22px!important;
  bottom:88px!important;
  width:48px!important;
  height:48px!important;
  border-radius:999px!important;
  border:1px solid rgba(218,119,156,.45)!important;
  background:linear-gradient(180deg,#FFDDEA 0%,#F8AFC9 100%)!important;
  color:#3A222B!important;
  box-shadow:0 14px 34px rgba(218,119,156,.28),0 6px 18px rgba(38,33,31,.12)!important;
  z-index:2147483000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:'Cormorant Garamond',Georgia,serif!important;
  font-size:1.45rem!important;
  font-weight:700!important;
  line-height:1!important;
  cursor:pointer!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(12px) scale(.96)!important;
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease,background .18s ease,box-shadow .18s ease!important;
  -webkit-tap-highlight-color:transparent!important;
}
.back-top.show:not(.scrolling){
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0) scale(1)!important;
}
.back-top.scrolling{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(12px) scale(.96)!important;
}
.back-top:hover,
.back-top:focus-visible{
  background:linear-gradient(180deg,#FFE9F1 0%,#F5A2C0 100%)!important;
  box-shadow:0 16px 40px rgba(218,119,156,.36),0 8px 22px rgba(38,33,31,.14)!important;
  outline:none!important;
}
@media(max-width:768px){
  .back-top{
    right:16px!important;
    bottom:150px!important;
    width:46px!important;
    height:46px!important;
    font-size:1.38rem!important;
  }
}


/* v90 Our Story back-to-top fix: visible after small story scroll, not only at the end */
.back-top.cbn-story-ready {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
  z-index: 12000 !important;
}
body:has(.credits-viewport) .back-top {
  border-color: rgba(196,161,108,.62) !important;
  background: rgba(30,28,27,.78) !important;
  color: #F7E6C6 !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.24) !important;
}
body:has(.credits-viewport) .back-top:hover {
  background: #C4A16C !important;
  color: #1E1C1B !important;
}


/* === v91 mobile polish, hero edge cleanup, back-to-top all pages === */
@media (max-width: 768px) {
  .hero-v12-bg {
    position: relative !important;
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    background: #FBF8F3 !important;
    line-height: 0 !important;
  }
  .hero-v12-slide {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    display: none !important;
    opacity: 1 !important;
    transform: none !important;
    background-image: none !important;
    background: transparent !important;
  }
  .hero-v12-slide.active {
    display: block !important;
  }
  .hero-v12-mobile-img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    background: #FBF8F3 !important;
  }
  .wa-float {
    bottom: 112px !important;
    right: 18px !important;
  }
}

.back-top {
  position: fixed !important;
  right: 22px !important;
  bottom: 96px !important;
  width: 46px !important;
  height: 46px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(196,161,108,.54) !important;
  background: rgba(251,248,243,.94) !important;
  color: #2B2421 !important;
  box-shadow: 0 12px 30px rgba(38,33,31,.16) !important;
  backdrop-filter: blur(12px) !important;
  z-index: 2147483000 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 1.42rem !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(12px) scale(.96) !important;
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease, background .18s ease, box-shadow .18s ease !important;
  -webkit-tap-highlight-color: transparent !important;
}
.back-top.show:not(.scrolling),
.back-top.cbn-story-ready:not(.scrolling) {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateY(0) scale(1) !important;
}
.back-top.scrolling {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(12px) scale(.96) !important;
}
.back-top:hover,
.back-top:focus-visible {
  background: #F5E6CC !important;
  border-color: rgba(196,161,108,.85) !important;
  outline: none !important;
}
body:has(.credits-viewport) .back-top {
  border-color: rgba(196,161,108,.68) !important;
  background: rgba(30,28,27,.82) !important;
  color: #F7E6C6 !important;
  box-shadow: 0 12px 32px rgba(0,0,0,.24) !important;
}
body:has(.credits-viewport) .back-top:hover,
body:has(.credits-viewport) .back-top:focus-visible {
  background: #C4A16C !important;
  color: #1E1C1B !important;
}
@media (max-width: 768px) {
  .back-top {
    right: 18px !important;
    bottom: 178px !important;
    width: 44px !important;
    height: 44px !important;
    font-size: 1.34rem !important;
  }
}


/* === v94 repair: restore working image paths, full gallery, no-crop cards === */
.gallery-card-media-v11,
.home-signature-media-v12 {
  background:#FBF8F3!important;
}
.gallery-card-media-v11 img,
.home-signature-media-v12 img {
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#FBF8F3!important;
}
@media(max-width:768px){
  .wa-float{ bottom:104px!important; right:18px!important; }
}


/* === v95 thin consistent image frames and cleaner home/gallery cards === */
.gallery-card-media-v11,
.home-signature-media-v12,
.home-story-image-v12 {
  background: #FBF8F3 !important;
  border: 1px solid rgba(223, 214, 205, 0.95) !important;
  box-shadow: none !important;
}
.gallery-card-media-v11,
.home-signature-media-v12 {
  padding: 4px !important;
}
.home-story-image-v12 {
  padding: 6px !important;
}
.gallery-card-media-v11 img,
.home-signature-media-v12 img,
.home-story-image-v12 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #FBF8F3 !important;
  border-radius: 20px !important;
  filter: none !important;
}
.gallery-card-media-v11::after,
.home-signature-media-v12::after {
  background: linear-gradient(to top, rgba(37, 32, 30, 0.18), rgba(37, 32, 30, 0.02) 40%, transparent 68%) !important;
}


/* === v96 restore homepage shuffle, reduce top-heavy image feel, keep full image visible === */
.gallery-card-media-v11 img,
.home-signature-media-v12 img,
.home-story-image-v12 img,
.marquee-item img {
  object-position: center 58% !important;
}
@media (max-width: 768px) {
  .wa-float {
    bottom: 112px !important;
    right: 18px !important;
  }
}


/* === v97 targeted polish: mobile WhatsApp lower, page gaps tighter === */
@media (max-width: 768px) {
  .wa-float {
    bottom: 92px !important;
    right: 18px !important;
  }
}


/* === v98 duplicate cleanup, warmer footer, lower mobile WhatsApp === */
.footer {
  background: #2B2422 !important;
  border-top: 1px solid rgba(196,161,108,.14) !important;
}
.footer-logo { color: #F6EFE6 !important; }
.footer-tagline,
.footer-links-title { color: rgba(255,255,255,.42) !important; }
.footer-links a { color: rgba(255,255,255,.76) !important; }
.footer-links a:hover { color: #FFFFFF !important; }
.footer-copy { color: rgba(255,255,255,.34) !important; }
.footer-insta { color: #D7B37A !important; }
@media (max-width: 768px) {
  .wa-float {
    bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important;
    right: 16px !important;
  }
}


/* === v99 clear footer recolor and zero-crop image safeguard === */
.footer,
body .footer,
.home-v9-body .footer,
.home-v10-body .footer,
.home-v12-body .footer,
.gallery-v11-body .footer,
.faq-tight .footer,
.order-tight .footer,
.testimonials-page .footer {
  background: #F5EEE5 !important;
  border-top: 1px solid rgba(46, 38, 34, 0.12) !important;
}
.footer-logo,
body .footer-logo,
.home-v9-body .footer-logo,
.home-v10-body .footer-logo,
.home-v12-body .footer-logo,
.gallery-v11-body .footer-logo,
.faq-tight .footer-logo,
.order-tight .footer-logo,
.testimonials-page .footer-logo {
  color: #2E2622 !important;
}
.footer-tagline,
.footer-links-title {
  color: rgba(46, 38, 34, 0.62) !important;
}
.footer-links a {
  color: rgba(46, 38, 34, 0.86) !important;
}
.footer-links a:hover {
  color: #B07A2A !important;
}
.footer-bottom {
  border-top: 1px solid rgba(46, 38, 34, 0.12) !important;
}
.footer-copy {
  color: rgba(46, 38, 34, 0.68) !important;
}
.footer-insta {
  color: #B07A2A !important;
}
.gallery-card-media-v11,
.home-signature-media-v12,
.home-story-image-v12 {
  box-sizing: border-box !important;
  padding: 8px !important;
}
.gallery-card-media-v11 img,
.home-signature-media-v12 img,
.home-story-image-v12 img {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center center !important;
}


/* === v103 warm brand base, flavour cleanup and safe top spacing === */
.final-cta-v12,
.home-v12-body .final-cta-v12,
.home-v12-body .final-cta-v8,
.home-v9-body .final-cta-v8,
section.final-cta-v12 {
  background: linear-gradient(180deg, #FBF7F1 0%, #F1E2CF 100%) !important;
  background-color: #F1E2CF !important;
  border-top: 1px solid rgba(46, 38, 34, 0.08) !important;
}
.footer,
body .footer,
.home-v9-body .footer,
.home-v10-body .footer,
.home-v12-body .footer,
.gallery-v11-body .footer,
.faq-tight .footer,
.order-tight .footer,
.testimonials-page .footer {
  background: linear-gradient(180deg, #302521 0%, #211916 100%) !important;
  background-color: #211916 !important;
  border-top: 1px solid rgba(215, 179, 122, 0.18) !important;
}
.footer-logo,
body .footer-logo { color: #F8EFE2 !important; }
.footer-tagline,
.footer-links-title { color: rgba(248, 239, 226, 0.56) !important; }
.footer-links a { color: rgba(248, 239, 226, 0.84) !important; }
.footer-links a:hover { color: #D7B37A !important; }
.footer-bottom { border-top: 1px solid rgba(248, 239, 226, 0.11) !important; }
.footer-copy { color: rgba(248, 239, 226, 0.44) !important; }
.footer-insta { color: #D7B37A !important; }
.home-v12-body { background: #FBF8F3 !important; }
.flavour-card::after { display: none !important; content: none !important; }
.hero-v12-slide,
.hero-v12-bg {
  background-color: #FBF8F3 !important;
  background-position: center top !important;
  background-size: contain !important;
}
.hero-v12-mobile-img,
.hero-v12-frame-img,
.hero-v12-slide img,
.home-signature-media-v12 img,
.home-story-image-v12 img,
.gallery-card-media-v11 img,
.g-grid .fc-f img {
  object-position: center top !important;
}


/* === v104 flavour fun, image balance and safer popups === */
#heroBackgrounds,
.hero-v12-bg {
  overflow: hidden !important;
  background: #FBF8F3 !important;
}
.hero-v12-slide {
  background-repeat: no-repeat !important;
  background-size: cover !important;
  background-position: center 42% !important;
}
.hero-v12-mobile-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center 42% !important;
  background: #FBF8F3 !important;
}
.gallery-card-media-v11,
.home-signature-media-v12,
.home-story-image-v12,
.g-grid .fc-f {
  background: #FBF8F3 !important;
  border: 1px solid rgba(223, 214, 205, 0.9) !important;
  box-shadow: none !important;
  padding: 4px !important;
  box-sizing: border-box !important;
}
.gallery-card-media-v11 img,
.home-signature-media-v12 img,
.home-story-image-v12 img,
.g-grid .fc-f img,
.marquee-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center 48% !important;
  background: #FBF8F3 !important;
  transform: none !important;
}
.lightbox {
  align-items: center !important;
  justify-content: center !important;
}
.lightbox .lb-inner {
  width: min(1160px, 92vw) !important;
  max-height: min(88vh, 920px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr) !important;
  overflow: hidden !important;
  background: #FBF8F3 !important;
}
.lb-img {
  width: 100% !important;
  height: min(78vh, 760px) !important;
  max-height: none !important;
  min-height: 420px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #FBF8F3 !important;
}
.lb-details {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  min-height: 0 !important;
  overflow: auto !important;
  -webkit-overflow-scrolling: touch !important;
}
@media (max-width: 980px) {
  .lightbox {
    align-items: flex-start !important;
    padding: calc(64px + .8rem) .9rem 1.1rem !important;
    overflow-y: auto !important;
  }
  .lightbox .lb-inner {
    width: 100% !important;
    max-width: 560px !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
  }
  .lb-img {
    height: auto !important;
    max-height: 48vh !important;
    min-height: 220px !important;
  }
  .lb-details {
    border-left: 0 !important;
    border-top: .5px solid var(--border) !important;
  }
}
@media (max-width: 768px) {
  .hero-v12-slide {
    background-size: contain !important;
    background-position: center center !important;
  }
  .hero-v12-mobile-img {
    object-fit: contain !important;
    object-position: center center !important;
  }
}


/* === v105 targeted repair: restore hero, clean flavours, safer image frames === */
.home-v12-body .hero-v12-bg,
#heroBackgrounds {
  height: min(72vh, 760px) !important;
  min-height: 520px !important;
  overflow: hidden !important;
  background: #FBF8F3 !important;
}
.home-v12-body .hero-v12-slide {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
.home-v12-body .hero-v12-mobile-img {
  display: none !important;
}
@media (max-width: 768px) {
  .home-v12-body .hero-v12-bg,
  #heroBackgrounds {
    width: 100% !important;
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    min-height: 0 !important;
  }
  .home-v12-body .hero-v12-slide {
    background-size: cover !important;
    background-position: center center !important;
  }
  .home-v12-body .hero-v12-mobile-img {
    display: none !important;
  }
}
.gallery-card-media-v11,
.home-signature-media-v12,
.home-story-image-v12,
.g-grid .fc-f,
.fc-f {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  background: #FBF8F3 !important;
  border: 1px solid rgba(223, 214, 205, 0.9) !important;
  box-shadow: none !important;
  padding: 4px !important;
  box-sizing: border-box !important;
}
.gallery-card-media-v11::before,
.home-signature-media-v12::before,
.home-story-image-v12::before,
.g-grid .fc-f::before,
.fc-f::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background-image: var(--card-bg) !important;
  background-size: cover !important;
  background-position: center center !important;
  filter: blur(18px) saturate(1.08) brightness(1.05) !important;
  transform: scale(1.12) !important;
  opacity: .34 !important;
  z-index: 0 !important;
  pointer-events: none !important;
}
.gallery-card-media-v11 img,
.home-signature-media-v12 img,
.home-story-image-v12 img,
.g-grid .fc-f img,
.fc-f img {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
  transform: none !important;
  filter: none !important;
}
.gallery-card-media-v11::after,
.home-signature-media-v12::after {
  z-index: 2 !important;
  opacity: .18 !important;
}
.gallery-card-tag-v11,
.gallery-card-copy-v11,
.home-signature-tag-v12,
.home-signature-copy-v12 {
  z-index: 3 !important;
}
.lightbox {
  align-items: center !important;
  justify-content: center !important;
}
.lightbox .lb-inner {
  width: min(1160px, 92vw) !important;
  max-height: min(88vh, 920px) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, .92fr) !important;
  overflow: hidden !important;
  background: #FBF8F3 !important;
}
.lb-img {
  width: 100% !important;
  height: min(78vh, 760px) !important;
  max-height: none !important;
  min-height: 420px !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #FBF8F3 !important;
}
.lb-details {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  overflow: auto !important;
}
@media (max-width: 980px) {
  .lightbox {
    align-items: flex-start !important;
    padding: calc(64px + .8rem) .9rem 1.1rem !important;
    overflow-y: auto !important;
  }
  .lightbox .lb-inner {
    width: 100% !important;
    max-width: 560px !important;
    max-height: none !important;
    grid-template-columns: 1fr !important;
  }
  .lb-img {
    height: auto !important;
    max-height: 48vh !important;
    min-height: 220px !important;
  }
  .lb-details {
    border-left: 0 !important;
    border-top: .5px solid var(--border) !important;
  }
}
.final-cta-v12,
.home-v12-body .final-cta-v12,
section.final-cta-v12 {
  background: linear-gradient(180deg, #FBF7F1 0%, #EEE0CC 100%) !important;
  background-color: #EEE0CC !important;
}
.footer,
body .footer,
.home-v12-body .footer,
.gallery-v11-body .footer,
.faq-tight .footer,
.order-tight .footer,
.testimonials-page .footer {
  background: linear-gradient(180deg, #312521 0%, #211916 100%) !important;
  background-color: #211916 !important;
}


/* === v106 hero: full top-to-next-section cover and no studio wording === */
.home-v12-body .hero-v12,
.home-v12-body .hero-v12-wrap,
.home-v12-body .hero-v12-bg,
#heroBackgrounds {
  margin-top: 0 !important;
}
.home-v12-body .hero-v12 {
  padding-top: 0 !important;
  min-height: 100vh !important;
  display: grid !important;
  align-items: stretch !important;
}
.home-v12-body .hero-v12-wrap {
  min-height: 100vh !important;
  height: 100vh !important;
}
.home-v12-body .hero-v12-bg,
#heroBackgrounds {
  height: 100vh !important;
  min-height: 100vh !important;
  width: 100% !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}
.home-v12-body .hero-v12-slide {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}
@media (max-width: 768px) {
  .home-v12-body .hero-v12,
  .home-v12-body .hero-v12-wrap,
  .home-v12-body .hero-v12-bg,
  #heroBackgrounds {
    min-height: 100svh !important;
    height: 100svh !important;
    aspect-ratio: auto !important;
  }
  .home-v12-body .hero-v12-slide {
    background-size: cover !important;
    background-position: center center !important;
  }
}


/* === v108 homepage intro card balanced border spacing === */
.home-v12-body .hero-v12-card,
.home-v12-body .home-hero-card,
.home-v12-body .intro-card,
.home-v12-body .hero-card,
.home-v12-body [class*="hero"][class*="card"] {
  padding-bottom: clamp(1.1rem, 2.4vw, 2rem) !important;
}

.home-v12-body .hero-v12-card > *:last-child,
.home-v12-body .home-hero-card > *:last-child,
.home-v12-body .intro-card > *:last-child,
.home-v12-body .hero-card > *:last-child,
.home-v12-body [class*="hero"][class*="card"] > *:last-child {
  margin-bottom: 0 !important;
}

.home-v12-body .hero-v12-card .hero-v12-footer,
.home-v12-body .home-hero-card .hero-v12-footer,
.home-v12-body [class*="hero"][class*="card"] .hero-v12-footer {
  margin-top: clamp(1.1rem, 2.2vw, 1.8rem) !important;
  padding-top: clamp(.8rem, 1.4vw, 1.2rem) !important;
}

@media (max-width: 768px) {
  .home-v12-body .hero-v12-card,
  .home-v12-body .home-hero-card,
  .home-v12-body .intro-card,
  .home-v12-body .hero-card,
  .home-v12-body [class*="hero"][class*="card"] {
    padding-bottom: 1.05rem !important;
  }
}


/* === v109 gallery cards fit image height, no forced empty frame === */
.gallery-card-v11,
.fc {
  height: auto !important;
  min-height: 0 !important;
}
.gallery-card-media-v11,
.g-grid .fc-f,
.fc-f {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  padding: 4px !important;
  display: block !important;
  background: #FBF8F3 !important;
}
.gallery-card-media-v11::before,
.g-grid .fc-f::before,
.fc-f::before {
  opacity: 0 !important;
  display: none !important;
}
.gallery-card-media-v11 img,
.g-grid .fc-f img,
.fc-f img {
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #FBF8F3 !important;
  transform: none !important;
}
.g-grid .fc {
  padding-bottom: 0 !important;
  aspect-ratio: auto !important;
  display: block !important;
  overflow: hidden !important;
}
.g-grid .fc .fc-i {
  position: relative !important;
  inset: auto !important;
  height: auto !important;
  display: block !important;
}
.g-grid .fc .fc-t {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  padding: .9rem .95rem 1rem !important;
  background: linear-gradient(180deg, rgba(251,248,243,.96) 0%, rgba(246,239,230,.96) 100%) !important;
  color: #2E2622 !important;
}
.g-grid .fc .fc-t .fc-name,
.g-grid .fc .fc-t .fc-category,
.g-grid .fc .fc-t .fc-action {
  color: #2E2622 !important;
  text-shadow: none !important;
}
.g-grid .fc .fc-t .fc-category,
.g-grid .fc .fc-t .fc-action {
  opacity: .68 !important;
}
@media (max-width: 768px) {
  .gallery-card-media-v11,
  .g-grid .fc-f,
  .fc-f {
    padding: 3px !important;
  }
}


/* === v110 desktop hero slight zoom step back, keep full cover === */
.home-v12-body .hero-v12-slide {
  overflow: hidden !important;
}
@media (min-width: 769px) {
  .home-v12-body .hero-v12-slide .hero-v12-mobile-img {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: scale(0.975) !important;
    transform-origin: center center !important;
    opacity: 1 !important;
    background: transparent !important;
    pointer-events: none !important;
  }
}
@media (max-width: 768px) {
  .home-v12-body .hero-v12-slide .hero-v12-mobile-img {
    display: none !important;
  }
}


/* === v110 final no-crop gallery and lighter flavour colours === */
.home-v12-body .marquee-royal .marquee-item,
.home-v12-body .marquee-royal .marquee-item img,
.gallery-marquee-top .marquee-item,
.gallery-marquee-top .marquee-item img {
  background:#FBF8F3 !important;
  object-fit:contain !important;
  object-position:center center !important;
}
.home-signature-grid-v12 {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  gap:18px !important;
  align-items:start !important;
}
.home-signature-card-v12,
.home-card-v12-1,
.home-card-v12-2,
.home-card-v12-3,
.home-card-v12-4,
.home-card-v12-5,
.home-card-v12-6,
.gallery-card-v11,
.gallery-card-v11-1,
.gallery-card-v11-2,
.gallery-card-v11-3,
.gallery-card-v11-4,
.gallery-card-v11-5,
.gallery-card-v11-6,
.g-grid .fc {
  grid-column:auto !important;
  grid-row:auto !important;
  height:auto !important;
  min-height:0 !important;
  align-self:start !important;
}
.home-signature-media-v12,
.gallery-card-media-v11,
.g-grid .fc-f,
.fc-f {
  position:relative !important;
  height:auto !important;
  min-height:0 !important;
  overflow:hidden !important;
  padding:4px !important;
  border-radius:24px !important;
  border:1px solid rgba(223,214,205,.95) !important;
  background:#FBF8F3 !important;
  box-shadow:none !important;
  aspect-ratio:auto !important;
}
.home-signature-media-v12::before,
.home-signature-media-v12::after,
.gallery-card-media-v11::before,
.gallery-card-media-v11::after,
.g-grid .fc-f::before,
.g-grid .fc-f::after,
.fc-f::before,
.fc-f::after {
  display:none !important;
  opacity:0 !important;
  content:none !important;
}
.home-signature-media-v12 img,
.gallery-card-media-v11 img,
.g-grid .fc-f img,
.fc-f img,
.home-story-image-v12 img,
.lb-img,
.about-img img,
.story-img img,
.strip-img img {
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  display:block !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#FBF8F3 !important;
  transform:none !important;
  filter:none !important;
}
.home-story-image-v12,
.about-img,
.story-img,
.strip-img {
  background:#FBF8F3 !important;
}
.gallery-grid-v11 {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  gap:18px !important;
}
.g-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
}
.g-grid .fc {
  padding-bottom:0 !important;
  aspect-ratio:auto !important;
  overflow:visible !important;
}
.g-grid .fc .fc-i {
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  display:block !important;
}
.g-grid .fc .fc-f {
  position:relative !important;
  inset:auto !important;
  width:100% !important;
  height:auto !important;
}
.g-grid .fc .fc-b {
  position:absolute !important;
  inset:0 !important;
}
.lightbox .lb-inner {
  background:#FBF8F3 !important;
}
.lb-img {
  min-height:0 !important;
}
@media (max-width:1100px) {
  .home-signature-grid-v12,
  .gallery-grid-v11,
  .g-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:700px) {
  .home-signature-grid-v12,
  .gallery-grid-v11,
  .g-grid {
    grid-template-columns:1fr !important;
  }
}

/* === v111 gallery card repair: no empty space under images, same card size, no image cropping === */
.gallery-card-v11,
.home-signature-card-v12,
.g-grid .fc {
  display: flex !important;
  flex-direction: column !important;
  align-self: start !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(223,214,205,.95) !important;
  border-radius: 24px !important;
  background: #FBF8F3 !important;
  box-shadow: none !important;
}

.gallery-card-media-v11,
.home-signature-media-v12,
.g-grid .fc-f,
.fc-f {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 12px !important;
  aspect-ratio: 4 / 4.2 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #FBF8F3 !important;
  overflow: hidden !important;
  box-shadow: none !important;
}

.gallery-card-media-v11::after,
.home-signature-media-v12::after,
.g-grid .fc-f::after,
.fc-f::after {
  display: none !important;
  opacity: 0 !important;
  content: none !important;
}

.gallery-card-media-v11 img,
.home-signature-media-v12 img,
.g-grid .fc-f img,
.fc-f img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #FBF8F3 !important;
  transform: none !important;
  filter: none !important;
}

.gallery-card-copy-v11,
.home-signature-copy-v12 {
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  padding: 0 16px 16px !important;
  color: #2E2622 !important;
  background: #FBF8F3 !important;
}

.gallery-card-copy-v11 strong,
.home-signature-copy-v12 strong {
  color: #2E2622 !important;
  margin-bottom: .2rem !important;
}

.gallery-card-copy-v11 small,
.home-signature-copy-v12 small {
  color: rgba(46,38,34,.72) !important;
}

.gallery-card-tag-v11,
.home-signature-tag-v12 {
  top: 12px !important;
  left: 12px !important;
}

.g-grid {
  grid-auto-rows: auto !important;
}

.g-grid .fc {
  aspect-ratio: auto !important;
}

.g-grid .fc .fc-i {
  position: relative !important;
  inset: auto !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

.g-grid .fc .fc-t {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  padding: 0 16px 16px !important;
  background: #FBF8F3 !important;
  color: #2E2622 !important;
  text-align: left !important;
}

.g-grid .fc .fc-t .fc-name {
  display: block !important;
  color: #2E2622 !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-size: 1.6rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  margin: 0 0 .2rem !important;
  text-shadow: none !important;
}

.g-grid .fc .fc-t .fc-category,
.g-grid .fc .fc-t .fc-action {
  display: block !important;
  color: rgba(46,38,34,.72) !important;
  font-size: .62rem !important;
  letter-spacing: 1.7px !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

.g-grid .fc .fc-t .fc-category {
  margin: 0 0 .55rem !important;
}

.g-grid .fc .fc-b {
  position: absolute !important;
  inset: 0 !important;
}

@media (max-width: 700px) {
  .gallery-card-media-v11,
  .home-signature-media-v12,
  .g-grid .fc-f,
  .fc-f {
    aspect-ratio: 4 / 4.4 !important;
    padding: 10px !important;
  }
}

/* v111.1 keep homepage and featured gallery captions over image while preserving no-crop framing */
.gallery-card-copy-v11,
.home-signature-copy-v12 {
  position: absolute !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  padding: 0 !important;
  background: transparent !important;
  color: #fff !important;
}

.gallery-card-copy-v11 strong,
.home-signature-copy-v12 strong {
  color: #fff !important;
}

.gallery-card-copy-v11 small,
.home-signature-copy-v12 small {
  color: rgba(255,255,255,.9) !important;
}

/* v112 gallery layout fix: cards should size to their own content, no fake empty lower area */
.g-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: 18px !important;
}

.g-grid .fc {
  flex: 0 0 calc((100% - 36px) / 3) !important;
  width: calc((100% - 36px) / 3) !important;
  max-width: calc((100% - 36px) / 3) !important;
  min-width: 0 !important;
  align-self: flex-start !important;
  height: auto !important;
}

@media (max-width: 1100px) {
  .g-grid .fc {
    flex-basis: calc((100% - 18px) / 2) !important;
    width: calc((100% - 18px) / 2) !important;
    max-width: calc((100% - 18px) / 2) !important;
  }
}

@media (max-width: 700px) {
  .g-grid .fc {
    flex-basis: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}


/* v113 home favourite cards and headings */
.home-signature-grid-v12 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
}

.home-signature-card-v12 {
  width: 100% !important;
}

.home-signature-media-v12 {
  position: relative !important;
  aspect-ratio: 0.9 !important;
  padding: 10px !important;
  overflow: hidden !important;
}

.home-signature-media-v12 img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.home-signature-copy-v12 {
  position: absolute !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 14px !important;
  z-index: 3 !important;
  padding: 0 !important;
  background: transparent !important;
  color: #ffffff !important;
}

.home-signature-copy-v12 strong,
.home-signature-copy-v12 small {
  color: #ffffff !important;
  text-shadow: 0 1px 8px rgba(20, 15, 12, 0.28) !important;
}

@media (max-width: 980px) {
  .home-signature-grid-v12 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .home-signature-grid-v12 {
    grid-template-columns: 1fr !important;
  }
}

/* v115 home customer favourites restyle: borderless editorial layout */
.home-signature-v12 .section-head-v12 {
  margin-bottom: 24px !important;
}

.home-signature-grid-v12 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 26px !important;
  align-items: end !important;
}

.home-signature-card-v12 {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  appearance: none !important;
  text-align: left !important;
  cursor: pointer !important;
}

.home-signature-card-v12:focus-visible {
  outline: 2px solid rgba(194, 156, 95, 0.85) !important;
  outline-offset: 6px !important;
}

.home-signature-media-v12 {
  position: relative !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 420px !important;
  padding: 18px 18px 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  background: linear-gradient(180deg, #f5f1eb 0%, #f1ebe2 100%) !important;
  box-shadow: 0 18px 44px rgba(47, 37, 29, 0.08) !important;
}

.home-card-v12-1 .home-signature-media-v12 {
  min-height: 430px !important;
  border-radius: 34px !important;
}

.home-card-v12-2 {
  padding-top: 24px !important;
}

.home-card-v12-2 .home-signature-media-v12 {
  min-height: 468px !important;
  border-radius: 140px 140px 34px 34px !important;
}

.home-card-v12-3 .home-signature-media-v12 {
  min-height: 412px !important;
  border-radius: 34px 60px 34px 60px !important;
}

.home-signature-media-v12::before {
  content: '' !important;
  position: absolute !important;
  inset: auto 0 0 0 !important;
  height: 42% !important;
  background: linear-gradient(180deg, rgba(20, 15, 12, 0) 0%, rgba(20, 15, 12, 0.2) 100%) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.home-signature-media-v12::after {
  display: none !important;
}

.home-signature-media-v12 img {
  position: relative !important;
  z-index: 0 !important;
  width: 100% !important;
  height: calc(100% - 8px) !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  transform: none !important;
  filter: none !important;
}

.home-signature-tag-v12 {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 3 !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: #5d4a35 !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 8px 18px rgba(47, 37, 29, 0.08) !important;
}

.home-signature-copy-v12 {
  position: absolute !important;
  left: 18px !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 3 !important;
  padding: 0 !important;
  background: transparent !important;
}

.home-signature-copy-v12 strong,
.home-signature-copy-v12 small {
  color: #ffffff !important;
  text-shadow: 0 2px 12px rgba(20, 15, 12, 0.35) !important;
}

@media (max-width: 980px) {
  .home-signature-grid-v12 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }

  .home-card-v12-2 {
    padding-top: 0 !important;
  }

  .home-signature-media-v12,
  .home-card-v12-1 .home-signature-media-v12,
  .home-card-v12-2 .home-signature-media-v12,
  .home-card-v12-3 .home-signature-media-v12 {
    min-height: 420px !important;
    border-radius: 28px !important;
  }
}

@media (max-width: 640px) {
  .home-signature-grid-v12 {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .home-signature-media-v12,
  .home-card-v12-1 .home-signature-media-v12,
  .home-card-v12-2 .home-signature-media-v12,
  .home-card-v12-3 .home-signature-media-v12 {
    min-height: 360px !important;
    padding: 16px 16px 0 !important;
    border-radius: 24px !important;
  }
}

/* v116 customer favourites: same layout, no borders */
.home-signature-grid-v12 {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: start !important;
}

.home-signature-card-v12 {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.home-card-v12-2 {
  padding-top: 0 !important;
}

.home-signature-media-v12,
.home-card-v12-1 .home-signature-media-v12,
.home-card-v12-2 .home-signature-media-v12,
.home-card-v12-3 .home-signature-media-v12 {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 28px !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

.home-signature-media-v12::before,
.home-signature-media-v12::after {
  display: none !important;
  content: none !important;
}

.home-signature-media-v12 img {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #FBF8F3 !important;
  transform: none !important;
  filter: none !important;
}

.home-signature-copy-v12 {
  position: absolute !important;
  left: 16px !important;
  right: 16px !important;
  bottom: 16px !important;
  z-index: 3 !important;
  padding: 0 !important;
  background: transparent !important;
}

.home-signature-copy-v12 strong,
.home-signature-copy-v12 small {
  color: #ffffff !important;
  text-shadow: 0 1px 8px rgba(20, 15, 12, 0.24) !important;
}

@media (max-width: 980px) {
  .home-signature-grid-v12 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .home-signature-grid-v12 {
    grid-template-columns: 1fr !important;
  }
}

/* v116 no-crop gallery balance fix: keep gallery and section images centred without touching the homepage hero */
.home-signature-media-v12,
.home-story-image-v12,
.gallery-card-media-v11,
.g-grid .fc-f,
.fc-f,
.marquee-item,
.gallery-marquee-top .marquee-item,
.home-v12-body .marquee-royal .marquee-item,
.strip-img {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FBF8F3 !important;
}

.home-signature-media-v12 img,
.home-story-image-v12 img,
.gallery-card-media-v11 img,
.g-grid .fc-f img,
.fc-f img,
.marquee-item img,
.gallery-marquee-top .marquee-item img,
.home-v12-body .marquee-royal .marquee-item img,
.strip-img img,
.lb-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  transform-origin: center center !important;
  filter: none !important;
  background: #FBF8F3 !important;
}

.strip:hover .strip-img img,
.home-signature-card-v12:hover img,
.marquee-item:hover img,
.gallery-card-v11:hover img,
.fc:hover .fc-f img {
  transform: none !important;
}


/* v127: same-height gallery cards only */
.g-grid { align-items: stretch !important; }
.g-grid .fc { align-self: stretch !important; }


/* v128 targeted mobile header and homepage marquee restore */
@media (max-width: 768px) {
  .nav,
  .nav.nav-royal,
  .nav.nav-unified {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 64px !important;
    min-height: 64px !important;
    z-index: 2147482000 !important;
    background: rgba(251,248,243,.98) !important;
  }
  .nav > a:first-child,
  .nav.nav-royal > a:first-child,
  .nav.nav-unified > a:first-child {
    display: inline-flex !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    line-height: 0 !important;
  }
  .nav > a:first-child img,
  .nav.nav-royal > a:first-child img,
  .nav.nav-unified > a:first-child img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 54px !important;
    width: auto !important;
    max-width: 190px !important;
  }
  .hamburger,
  .nav.nav-royal .hamburger,
  .nav.nav-unified .hamburger {
    display: flex !important;
  }
  .marquee-top-v12,
  .home-v12-body .marquee-top-v12,
  .home-marquee-v12,
  .home-v12-body .home-marquee-v12,
  .marquee-royal .marquee-row,
  .home-v12-body .marquee-royal .marquee-row {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .marquee-top-v12 {
    display: block !important;
  }
}


/* === v129 mobile homepage repair and strict gallery recategorisation support === */
@media (max-width: 768px) {
  body.home-v12-body { padding-top: 64px !important; }

  body.home-v12-body .nav,
  body.home-v12-body .nav.nav-unified,
  body.home-v12-body .nav.nav-royal {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: 64px !important;
    min-height: 64px !important;
    transform: none !important;
    z-index: 999999 !important;
  }

  body.home-v12-body .nav > a:first-child,
  body.home-v12-body .nav > a:first-child img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.home-v12-body .nav > a:first-child img {
    height: 54px !important;
    width: auto !important;
    max-width: 190px !important;
  }

  body.home-v12-body .hero-v12 {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    height: auto !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
    background: #FBF8F3 !important;
    overflow: visible !important;
  }

  body.home-v12-body .hero-v12-bg,
  body.home-v12-body #heroBackgrounds {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    height: min(72vh, 620px) !important;
    min-height: 420px !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    background: #FBF8F3 !important;
    overflow: hidden !important;
    z-index: 0 !important;
  }

  body.home-v12-body .hero-v12-slide {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    opacity: 0 !important;
    visibility: hidden !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: center center !important;
    transition: opacity .45s ease !important;
  }

  body.home-v12-body .hero-v12-slide.active {
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.home-v12-body .hero-v12-slide .hero-v12-mobile-img {
    display: block !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
  }

  body.home-v12-body .hero-v12-inner {
    display: block !important;
    position: relative !important;
    min-height: auto !important;
    height: auto !important;
    padding: 1.25rem 5% 2rem !important;
    background: #FBF8F3 !important;
    z-index: 1 !important;
  }

  body.home-v12-body .hero-v12-sheen { display: none !important; }

  body.home-v12-body .marquee-top-v12,
  body.home-v12-body .marquee-top-v12:last-of-type,
  body.home-v12-body section.marquee-top-v12,
  body.home-v12-body .home-marquee-v12,
  body.home-v12-body .home-marquee-v12:nth-of-type(2) {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.home-v12-body .marquee-v12-shell,
  body.home-v12-body .marquee-section,
  body.home-v12-body .marquee-royal {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
  }

  body.home-v12-body .marquee-royal .marquee-row,
  body.home-v12-body .marquee-v12-shell .marquee-row {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    min-height: 170px !important;
    overflow: hidden !important;
  }

  body.home-v12-body .marquee-royal .marquee-track,
  body.home-v12-body .marquee-v12-shell .marquee-track {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.home-v12-body .marquee-royal .marquee-item {
    width: 165px !important;
    height: 170px !important;
    min-width: 165px !important;
    display: block !important;
  }

  body.home-v12-body .wa-float {
    right: 16px !important;
    bottom: 16px !important;
    width: 46px !important;
    height: 46px !important;
    z-index: 999998 !important;
  }

  body.home-v12-body .back-top {
    right: 16px !important;
    bottom: 74px !important;
    width: 40px !important;
    height: 40px !important;
    z-index: 999997 !important;
  }
}

/* === v131 mobile stability fix: no page shake, full mobile hero cake, reliable back-to-top === */
@media (max-width: 768px) {
  html, body {
    overflow-x: hidden !important;
    scroll-behavior: auto !important;
  }

  /* Keep the whole cake visible in the mobile homepage hero. Desktop remains unchanged. */
  body.home-v12-body .hero-v12-bg,
  body.home-v12-body #heroBackgrounds {
    overflow: hidden !important;
    background: #FBF8F3 !important;
    contain: layout paint !important;
  }
  body.home-v12-body .hero-v12-slide {
    transform: none !important;
    transition: none !important;
    animation: none !important;
    background-size: contain !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-color: #FBF8F3 !important;
  }
  body.home-v12-body .hero-v12-mobile-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #FBF8F3 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }

  /* Stop mobile tap/scroll flicker from fixed controls and animated overlays. */
  .wa-float,
  .back-top,
  .hero-v12-slide,
  .hero-v12-mobile-img,
  .marquee-track {
    -webkit-backface-visibility: hidden !important;
    backface-visibility: hidden !important;
    will-change: auto !important;
  }

  .wa-float {
    right: 16px !important;
    bottom: calc(18px + env(safe-area-inset-bottom)) !important;
    width: 46px !important;
    height: 46px !important;
    z-index: 2147483000 !important;
  }
  .back-top {
    position: fixed !important;
    right: 16px !important;
    bottom: calc(78px + env(safe-area-inset-bottom)) !important;
    width: 42px !important;
    height: 42px !important;
    z-index: 2147482999 !important;
    transition: opacity .12s ease, visibility .12s ease, background .12s ease !important;
    transform: none !important;
  }
  .back-top.show,
  .back-top.show:not(.scrolling),
  .back-top.cbn-story-ready,
  .back-top.cbn-story-ready:not(.scrolling) {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: none !important;
  }
  .back-top.scrolling {
    transform: none !important;
  }
}
