/* ═══════════════════════════════════════════════════════════
   CHLOE NAIL SPA — HOMEPAGE
   Clean, luxury, beige/champagne — no dark sections
   ═══════════════════════════════════════════════════════════ */

:root {
  --ch-ink: #2D241D;
  --ch-ink-soft: #5A4A3F;
  --ch-ink-muted: rgba(45, 36, 29, 0.62);
  --ch-bg: #F6EFE6;
  --ch-bg-2: #EFE5D7;
  --ch-bg-3: #E8D9C5;
  --ch-cream: #FBF6EF;
  --ch-gold: #B58B65;
  --ch-gold-light: #C9A582;
  --ch-line: rgba(149, 110, 78, 0.18);
  --ch-shadow: 0 24px 60px rgba(91, 65, 41, 0.10);
  --ch-shadow-soft: 0 14px 36px rgba(91, 65, 41, 0.08);
}

/* ═══ HERO — Two column, beige, full bleed image ═══ */
.ch-hero {
  position: relative;
  min-height: calc(100vh - 92px);
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 0;
  align-items: stretch;
  background: linear-gradient(135deg, var(--ch-cream) 0%, var(--ch-bg) 50%, var(--ch-bg-2) 100%);
  overflow: hidden;
  border-bottom: 1px solid var(--ch-line);
}

.ch-hero-content {
  padding: clamp(56px, 8vw, 110px) clamp(28px, 5vw, 88px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  z-index: 2;
}

.ch-hero-kicker {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--ch-gold);
  margin: 0 0 28px;
}

.ch-hero-title {
  font-family: 'Bodoni Moda', 'Cormorant Garamond', serif;
  font-size: clamp(3rem, 6.5vw, 6.2rem);
  font-weight: 400;
  line-height: 0.98;
  letter-spacing: -0.01em;
  color: var(--ch-ink);
  margin: 0 0 32px;
}

.ch-hero-title em {
  font-style: italic;
  font-weight: 400;
  color: var(--ch-gold);
}

.ch-hero-intro {
  font-family: 'Jost', sans-serif;
  font-size: clamp(1rem, 1.2vw, 1.18rem);
  font-weight: 300;
  line-height: 1.85;
  color: var(--ch-ink-muted);
  max-width: 480px;
  margin: 0 0 40px;
}

.ch-hero-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 56px;
}

.ch-hero-meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--ch-ink-muted);
  padding-top: 32px;
  border-top: 1px solid var(--ch-line);
  width: 100%;
  max-width: 480px;
}

.ch-hero-image {
  position: relative;
  overflow: hidden;
  background: var(--ch-bg-3);
}

.ch-hero-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ═══ BUTTONS ═══ */
.ch-btn-primary,
.ch-btn-ghost,
.ch-btn-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 16px 32px;
  border-radius: 999px;
  text-decoration: none;
  transition: all 0.3s ease;
  cursor: pointer;
  border: 1px solid transparent;
  white-space: nowrap;
}

.ch-btn-primary {
  background: var(--ch-ink) !important;
  color: var(--ch-cream) !important;
  border-color: var(--ch-ink) !important;
}

.ch-btn-primary:hover {
  background: #1B1410 !important;
  color: var(--ch-cream) !important;
  transform: translateY(-1px);
  box-shadow: var(--ch-shadow-soft);
}

.ch-btn-ghost {
  background: transparent !important;
  color: var(--ch-ink) !important;
  border-color: rgba(45, 36, 29, 0.35) !important;
}

.ch-btn-ghost:hover {
  background: rgba(45, 36, 29, 0.05) !important;
  border-color: var(--ch-ink) !important;
}

.ch-btn-outline {
  background: transparent !important;
  color: var(--ch-ink) !important;
  border-color: var(--ch-ink) !important;
  padding: 14px 28px;
  font-size: 0.74rem;
  margin-top: 24px;
}

.ch-btn-outline:hover {
  background: var(--ch-ink) !important;
  color: var(--ch-cream) !important;
}

/* Hide sticky book on desktop — only show on mobile */
@media (min-width: 901px) {
  .sticky-book {
    display: none !important;
  }
}

/* ═══ EYEBROW LABEL ═══ */
.ch-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--ch-gold);
  margin: 0 0 20px;
}

/* ═══ INTRO SECTION ═══ */
.ch-intro {
  background: var(--ch-cream);
  padding: clamp(72px, 9vw, 120px) clamp(24px, 5vw, 72px);
}

.ch-intro-inner {
  max-width: 940px;
  margin: 0 auto;
  text-align: center;
}

.ch-intro-heading {
  font-family: 'Bodoni Moda', serif;
  font-size: clamp(2.2rem, 4.2vw, 3.6rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--ch-ink);
  margin: 0 0 28px;
}

.ch-intro-heading em {
  font-style: italic;
  color: var(--ch-gold);
}

.ch-intro-text {
  font-family: 'Jost', sans-serif;
  font-size: clamp(1rem, 1.2vw, 1.15rem);
  font-weight: 300;
  line-height: 1.95;
  color: var(--ch-ink-muted);
  max-width: 680px;
  margin: 0 auto;
}

/* ═══ TREATMENTS GRID ═══ */
.ch-treatments {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--ch-line);
  border-top: 1px solid var(--ch-line);
  border-bottom: 1px solid var(--ch-line);
}

.ch-treatment {
  display: block;
  padding: clamp(40px, 5vw, 64px) clamp(28px, 3.5vw, 48px);
  background: var(--ch-bg);
  text-decoration: none;
  color: var(--ch-ink);
  transition: background 0.4s ease;
  min-height: 280px;
}

.ch-treatment-feature {
  background: var(--ch-bg-2);
}

.ch-treatment:hover {
  background: var(--ch-bg-3);
}

.ch-treatment-num {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.3em;
  color: var(--ch-gold);
  margin-bottom: 36px;
}

.ch-treatment h3 {
  font-family: 'Bodoni Moda', serif;
  font-size: clamp(1.5rem, 2vw, 2rem);
  font-weight: 400;
  line-height: 1.15;
  color: var(--ch-ink);
  margin: 0 0 16px;
}

.ch-treatment p {
  font-family: 'Jost', sans-serif;
  font-size: 0.96rem;
  font-weight: 300;
  line-height: 1.75;
  color: var(--ch-ink-muted);
  margin: 0;
}

/* ═══ GALLERY PREVIEW ═══ */
.ch-preview {
  display: grid;
  grid-template-columns: 0.85fr 1fr 0.7fr;
  gap: 28px;
  padding: clamp(80px, 10vw, 130px) clamp(24px, 5vw, 72px);
  background: var(--ch-cream);
  max-width: 1480px;
  margin: 0 auto;
  align-items: center;
}

.ch-preview-copy {
  padding: 24px 12px;
}

.ch-preview-copy h2 {
  font-family: 'Bodoni Moda', serif;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ch-ink);
  margin: 0 0 24px;
}

.ch-preview-copy h2 em {
  font-style: italic;
  color: var(--ch-gold);
}

.ch-preview-copy p {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ch-ink-muted);
  margin: 0;
}

.ch-preview-tall img {
  width: 100%;
  height: 100%;
  min-height: 600px;
  max-height: 720px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: var(--ch-shadow);
}

.ch-preview-stack {
  display: grid;
  gap: 24px;
}

.ch-preview-stack img {
  width: 100%;
  height: 100%;
  min-height: 280px;
  max-height: 340px;
  object-fit: cover;
  border-radius: 14px;
  box-shadow: var(--ch-shadow-soft);
}

/* ═══ EXPERIENCE SECTION ═══ */
.ch-experience {
  display: grid;
  grid-template-columns: 0.9fr 1fr;
  gap: 0;
  align-items: stretch;
  background: var(--ch-bg);
  border-top: 1px solid var(--ch-line);
}

.ch-experience-image {
  min-height: 560px;
  overflow: hidden;
  background: var(--ch-bg-3);
}

.ch-experience-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ch-experience-copy {
  padding: clamp(56px, 7vw, 96px) clamp(28px, 5vw, 80px);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ch-experience-copy h2 {
  font-family: 'Bodoni Moda', serif;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ch-ink);
  margin: 0 0 24px;
}

.ch-experience-copy h2 em {
  font-style: italic;
  color: var(--ch-gold);
}

.ch-experience-copy p {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.9;
  color: var(--ch-ink-muted);
  margin: 0 0 32px;
  max-width: 520px;
}

.ch-bullets {
  list-style: none;
  padding: 0;
  margin: 0 0 32px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.ch-bullets li {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ch-ink);
  padding: 10px 18px;
  background: var(--ch-cream);
  border: 1px solid var(--ch-line);
  border-radius: 999px;
}

/* ═══ BOOKING CTA ═══ */
.ch-booking {
  background: linear-gradient(135deg, var(--ch-bg-2) 0%, var(--ch-bg-3) 100%);
  padding: clamp(80px, 10vw, 140px) clamp(24px, 5vw, 72px);
  text-align: center;
  border-top: 1px solid var(--ch-line);
  border-bottom: 1px solid var(--ch-line);
}

.ch-booking-inner {
  max-width: 720px;
  margin: 0 auto;
}

.ch-booking-inner h2 {
  font-family: 'Bodoni Moda', serif;
  font-size: clamp(2.4rem, 5vw, 4rem);
  font-weight: 400;
  line-height: 1.05;
  letter-spacing: -0.01em;
  color: var(--ch-ink);
  margin: 0 0 24px;
}

.ch-booking-inner h2 em {
  font-style: italic;
  color: var(--ch-gold);
}

.ch-booking-inner p {
  font-family: 'Jost', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.85;
  color: var(--ch-ink-muted);
  margin: 0 0 36px;
}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ═══════════════════════════════════════════════════════════ */

@media (max-width: 1100px) {
  .ch-treatments {
    grid-template-columns: repeat(2, 1fr);
  }

  .ch-preview {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 80px 28px;
  }

  .ch-preview-tall img {
    min-height: 480px;
  }

  .ch-preview-stack {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .ch-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .ch-hero-content {
    padding: 88px 24px 56px;
    order: 2;
  }

  .ch-hero-image {
    order: 1;
    min-height: 60vh;
    max-height: 70vh;
  }

  .ch-experience {
    grid-template-columns: 1fr;
  }

  .ch-experience-image {
    min-height: 360px;
  }

  .ch-experience-copy {
    padding: 56px 24px;
  }
}

@media (max-width: 640px) {
  .ch-treatments {
    grid-template-columns: 1fr;
  }

  .ch-treatment {
    min-height: 220px;
  }

  .ch-preview-stack {
    grid-template-columns: 1fr;
  }

  .ch-hero-actions {
    flex-direction: column;
    width: 100%;
  }

  .ch-hero-actions .ch-btn-primary,
  .ch-hero-actions .ch-btn-ghost {
    width: 100%;
  }

  .ch-hero-meta {
    font-size: 0.72rem;
  }
}

/* ═══════════════════════════════════════════════════════════
   OVERRIDES — Neutralise old conflicting styles
   ═══════════════════════════════════════════════════════════ */

/* Make sure no old hero styles bleed through */
.ch-hero,
.ch-hero * {
  background-color: revert;
}

/* Old footer iframe — ensure it loads as expected */
.footer-map-v44 iframe {
  width: 100%;
  height: 280px;
  border: 0;
}


/* ═══════════════════════════════════════════════════════════
   V58 — HOMEPAGE STOCK VIDEO COVER HERO
   Restores the elegant full-cover front page feel with text over image/video.
   Uses the external stock manicure video previously selected for the homepage; poster image remains as fallback.
   ═══════════════════════════════════════════════════════════ */
.ch-hero.ch-hero-video-cover {
  min-height: calc(100vh - 92px);
  display: flex;
  align-items: center;
  justify-content: center;
  isolation: isolate;
  background: #2d241d;
  overflow: hidden;
  border-bottom: 0;
}

.ch-hero-video-cover .ch-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  background: #2d241d;
}

.ch-hero-video-cover .ch-hero-poster,
.ch-hero-video-cover .ch-hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.ch-hero-video-cover .ch-hero-poster {
  transform: scale(1.02);
  filter: saturate(.94) brightness(.86);
}

.ch-hero-video-cover .ch-hero-video {
  z-index: 1;
  filter: saturate(.94) brightness(.9);
}

.ch-hero-video-cover .ch-hero-video-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(circle at 50% 43%, rgba(255, 247, 238, .22) 0%, rgba(255, 247, 238, .08) 34%, rgba(45, 36, 29, .34) 68%, rgba(33, 24, 18, .62) 100%),
    linear-gradient(180deg, rgba(25, 18, 13, .28) 0%, rgba(25, 18, 13, .18) 42%, rgba(25, 18, 13, .58) 100%);
  pointer-events: none;
}

.ch-hero-video-cover .ch-hero-cover-content {
  position: relative;
  z-index: 3;
  width: min(920px, calc(100% - 48px));
  min-height: calc(100vh - 92px);
  padding: clamp(110px, 16vh, 180px) 0 clamp(74px, 11vh, 120px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  background: transparent !important;
}

.ch-hero-video-cover .ch-hero-kicker,
.ch-hero-video-cover .ch-hero-meta,
.ch-hero-video-cover .ch-hero-intro {
  color: rgba(255, 248, 240, .82);
  text-shadow: 0 2px 22px rgba(0,0,0,.25);
}

.ch-hero-video-cover .ch-hero-kicker {
  color: rgba(255, 248, 240, .78);
  margin-bottom: 24px;
}

.ch-hero-video-cover .ch-hero-title {
  color: #fff8f0;
  max-width: 940px;
  text-shadow: 0 8px 42px rgba(0,0,0,.28);
}

.ch-hero-video-cover .ch-hero-title em {
  color: #ead3bd;
}

.ch-hero-video-cover .ch-hero-intro {
  max-width: 560px;
  margin-bottom: 34px;
}

.ch-hero-video-cover .ch-hero-actions {
  justify-content: center;
  margin-bottom: 42px;
}

.ch-hero-video-cover .ch-btn-primary {
  background: #fff8f0 !important;
  color: #2d241d !important;
  border-color: rgba(255, 248, 240, .9) !important;
}

.ch-hero-video-cover .ch-btn-primary:hover {
  background: #ffffff !important;
  color: #1b1410 !important;
}

.ch-hero-video-cover .ch-btn-ghost {
  color: #fff8f0 !important;
  border-color: rgba(255, 248, 240, .58) !important;
  background: rgba(255, 248, 240, .06) !important;
  backdrop-filter: blur(10px);
}

.ch-hero-video-cover .ch-btn-ghost:hover {
  color: #fff8f0 !important;
  border-color: rgba(255, 248, 240, .9) !important;
  background: rgba(255, 248, 240, .12) !important;
}

.ch-hero-video-cover .ch-hero-meta {
  border-top-color: rgba(255, 248, 240, .28);
  align-items: center;
  max-width: 620px;
  padding-top: 26px;
}

@media (max-width: 900px) {
  .ch-hero.ch-hero-video-cover {
    min-height: 86vh;
  }
  .ch-hero-video-cover .ch-hero-cover-content {
    min-height: 86vh;
    width: min(100% - 36px, 620px);
    padding: 112px 0 78px;
    order: initial;
  }
  .ch-hero-video-cover .ch-hero-title {
    font-size: clamp(3.25rem, 15vw, 5.2rem);
  }
  .ch-hero-video-cover .ch-hero-intro {
    font-size: 1rem;
    line-height: 1.75;
  }
  .ch-hero-video-cover .ch-hero-media {
    order: initial;
    min-height: 0;
    max-height: none;
  }
}

@media (max-width: 640px) {
  .ch-hero.ch-hero-video-cover {
    min-height: 82vh;
  }
  .ch-hero-video-cover .ch-hero-cover-content {
    min-height: 82vh;
    width: calc(100% - 32px);
    padding: 104px 0 72px;
  }
  .ch-hero-video-cover .ch-hero-title {
    font-size: clamp(3rem, 16vw, 4.4rem);
    line-height: .96;
  }
  .ch-hero-video-cover .ch-hero-actions {
    width: min(100%, 340px);
    margin-bottom: 34px;
  }
  .ch-hero-video-cover .ch-hero-meta {
    font-size: .66rem;
    letter-spacing: .12em;
  }
}


/* ═══════════════════════════════════════════════════════════
   V59 — SOFT EDITORIAL FRAME FOR VIDEO HERO COPY
   A light glass frame keeps the wording premium and readable
   without hiding the stock manicure video.
   ═══════════════════════════════════════════════════════════ */
.ch-hero-video-cover .ch-hero-cover-content::before {
  content: "";
  position: absolute;
  inset: clamp(86px, 13vh, 142px) clamp(14px, 4vw, 58px) clamp(54px, 9vh, 92px);
  border: 1px solid rgba(255, 248, 240, .34);
  border-radius: clamp(28px, 4vw, 54px);
  background: linear-gradient(180deg, rgba(255, 248, 240, .15), rgba(255, 248, 240, .07));
  -webkit-backdrop-filter: blur(12px) saturate(1.05);
  backdrop-filter: blur(12px) saturate(1.05);
  box-shadow: 0 34px 90px rgba(22, 14, 9, .18), inset 0 1px 0 rgba(255,255,255,.22);
  z-index: -1;
  pointer-events: none;
}

.ch-hero-video-cover .ch-hero-cover-content::after {
  content: "";
  position: absolute;
  width: min(180px, 26vw);
  height: 1px;
  top: clamp(110px, 16vh, 172px);
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, rgba(255,248,240,.62), transparent);
  z-index: -1;
}

@media (max-width: 640px) {
  .ch-hero-video-cover .ch-hero-cover-content::before {
    inset: 84px 0 50px;
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(255, 248, 240, .13), rgba(255, 248, 240, .06));
  }
}


/* ═══════════════════════════════════════════════════════════
   V61 — SMALLER HOME HERO GLASS FRAME
   The v60 frame was still tied to the full hero content area. This version
   wraps only the wording/CTA in a compact glass card, so it is visibly smaller.
   ═══════════════════════════════════════════════════════════ */
.ch-hero-video-cover .ch-hero-cover-content {
  width: min(100% - 48px, 920px) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.ch-hero-video-cover .ch-hero-cover-content::before,
.ch-hero-video-cover .ch-hero-cover-content::after {
  display: none !important;
  content: none !important;
}

.ch-hero-video-cover .ch-hero-glass-card {
  width: min(100%, 620px);
  margin: 0 auto;
  padding: clamp(28px, 4.2vw, 46px) clamp(24px, 4.4vw, 54px) clamp(24px, 3.8vw, 40px);
  border: 1px solid rgba(255, 248, 240, .28);
  border-radius: clamp(22px, 2.8vw, 34px);
  background: linear-gradient(180deg, rgba(255, 248, 240, .115), rgba(255, 248, 240, .045));
  -webkit-backdrop-filter: blur(10px) saturate(1.03);
  backdrop-filter: blur(10px) saturate(1.03);
  box-shadow: 0 22px 68px rgba(22, 14, 9, .14), inset 0 1px 0 rgba(255,255,255,.18);
  text-align: center;
}

.ch-hero-video-cover .ch-hero-glass-card::before {
  content: "";
  display: block;
  width: min(132px, 34%);
  height: 1px;
  margin: 0 auto 18px;
  background: linear-gradient(90deg, transparent, rgba(255,248,240,.54), transparent);
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-kicker {
  margin-bottom: 14px !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-title {
  max-width: 620px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  font-size: clamp(3.65rem, 6.2vw, 6rem) !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-intro {
  max-width: 480px !important;
  margin: 18px auto 26px !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-actions {
  margin-bottom: 26px !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-meta {
  max-width: 500px !important;
  padding-top: 18px !important;
  gap: 6px !important;
}

@media (max-width: 900px) {
  .ch-hero-video-cover .ch-hero-cover-content {
    width: min(100% - 36px, 680px) !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card {
    width: min(100%, 560px);
    padding: 28px 28px 26px;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-title {
    font-size: clamp(3.05rem, 12vw, 4.45rem) !important;
  }
}

@media (max-width: 640px) {
  .ch-hero.ch-hero-video-cover {
    min-height: 78vh !important;
  }
  .ch-hero-video-cover .ch-hero-cover-content {
    min-height: 78vh !important;
    width: calc(100% - 28px) !important;
    padding: 92px 0 58px !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card {
    width: min(100%, 390px);
    padding: 20px 18px 18px;
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(255, 248, 240, .10), rgba(255, 248, 240, .04));
    -webkit-backdrop-filter: blur(8px) saturate(1.02);
    backdrop-filter: blur(8px) saturate(1.02);
  }
  .ch-hero-video-cover .ch-hero-glass-card::before {
    width: 96px;
    margin-bottom: 12px;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-kicker {
    font-size: .62rem !important;
    margin-bottom: 9px !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-title {
    font-size: clamp(2.45rem, 12.6vw, 3.55rem) !important;
    line-height: .98 !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-intro {
    font-size: .9rem !important;
    line-height: 1.55 !important;
    margin: 12px auto 18px !important;
    max-width: 300px !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-actions {
    width: min(100%, 292px) !important;
    margin: 0 auto 16px !important;
    gap: 9px !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-actions a {
    min-height: 42px !important;
    padding: 12px 18px !important;
    font-size: .7rem !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-meta {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   V62 — SHORTER, LIGHTER HOME HERO GLASS CARD
   Reduces the frame height and tightens wording/buttons so the video breathes.
   ═══════════════════════════════════════════════════════════ */
.ch-hero-video-cover .ch-hero-glass-card {
  width: min(100%, 560px) !important;
  padding: clamp(18px, 2.4vw, 28px) clamp(22px, 3.2vw, 38px) clamp(18px, 2.2vw, 26px) !important;
  border-radius: clamp(18px, 2.2vw, 28px) !important;
  background: linear-gradient(180deg, rgba(255, 248, 240, .095), rgba(255, 248, 240, .035)) !important;
  box-shadow: 0 16px 48px rgba(22, 14, 9, .11), inset 0 1px 0 rgba(255,255,255,.16) !important;
}

.ch-hero-video-cover .ch-hero-glass-card::before {
  width: min(96px, 26%) !important;
  margin-bottom: 10px !important;
  opacity: .78 !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-kicker {
  font-size: .66rem !important;
  letter-spacing: .18em !important;
  margin-bottom: 8px !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-title {
  max-width: 520px !important;
  font-size: clamp(2.9rem, 5.05vw, 4.85rem) !important;
  line-height: .98 !important;
  letter-spacing: -.045em !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-intro {
  max-width: 405px !important;
  margin: 12px auto 18px !important;
  font-size: .98rem !important;
  line-height: 1.5 !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-actions {
  margin-bottom: 16px !important;
  gap: 10px !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-actions a {
  min-height: 42px !important;
  padding: 12px 22px !important;
  font-size: .72rem !important;
  letter-spacing: .16em !important;
}

.ch-hero-video-cover .ch-hero-glass-card .ch-hero-meta {
  max-width: 430px !important;
  padding-top: 12px !important;
  font-size: .64rem !important;
  line-height: 1.5 !important;
}

@media (max-width: 900px) {
  .ch-hero-video-cover .ch-hero-glass-card {
    width: min(100%, 500px) !important;
    padding: 20px 22px 18px !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-title {
    font-size: clamp(2.55rem, 10vw, 3.8rem) !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-intro {
    margin: 10px auto 16px !important;
  }
}

@media (max-width: 640px) {
  .ch-hero.ch-hero-video-cover {
    min-height: 74vh !important;
  }
  .ch-hero-video-cover .ch-hero-cover-content {
    min-height: 74vh !important;
    padding: 88px 0 46px !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card {
    width: min(100%, 335px) !important;
    padding: 15px 15px 14px !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(255, 248, 240, .085), rgba(255, 248, 240, .032)) !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card::before {
    width: 72px !important;
    margin-bottom: 7px !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-kicker {
    font-size: .56rem !important;
    margin-bottom: 6px !important;
    letter-spacing: .15em !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-title {
    font-size: clamp(2.05rem, 10.5vw, 2.95rem) !important;
    line-height: .98 !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-intro {
    font-size: .82rem !important;
    line-height: 1.42 !important;
    margin: 8px auto 12px !important;
    max-width: 270px !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-actions {
    width: min(100%, 250px) !important;
    margin: 0 auto !important;
    gap: 7px !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-actions a {
    min-height: 38px !important;
    padding: 10px 16px !important;
    font-size: .64rem !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   V67 — homepage contact behaviour
   Desktop keeps address and clickable phone numbers for trust/SEO.
   Mobile hides address text but shows the primary phone number in the call button.
   ═══════════════════════════════════════════════════════════ */
.ch-hero-video-cover .ch-hero-meta a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(255, 248, 240, .28);
  transition: border-color .25s ease, opacity .25s ease;
}
.ch-hero-video-cover .ch-hero-meta a:hover,
.ch-hero-video-cover .ch-hero-meta a:focus-visible {
  border-bottom-color: rgba(255, 248, 240, .72);
  opacity: .9;
}
.ch-mobile-call-link {
  display: none !important;
}

@media (max-width: 900px) {
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-meta {
    display: none !important;
  }
  .ch-hero-video-cover .ch-desktop-service-link {
    display: none !important;
  }
  .ch-hero-video-cover .ch-mobile-call-link {
    display: inline-flex !important;
  }
}


/* V67 — show phone number clearly on mobile hero */
@media (max-width: 900px) {
  .ch-hero-video-cover .ch-mobile-call-link {
    letter-spacing: .08em !important;
    white-space: nowrap !important;
  }
}
@media (max-width: 380px) {
  .ch-hero-video-cover .ch-mobile-call-link {
    font-size: .58rem !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}


/* V68 — show compact address on mobile hero without making the card busy */
.ch-mobile-address-link {
  display: none !important;
}
@media (max-width: 900px) {
  .ch-hero-video-cover .ch-mobile-address-link {
    display: block !important;
    margin: 10px auto 0 !important;
    max-width: 250px !important;
    font-size: .58rem !important;
    line-height: 1.35 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    color: rgba(255, 248, 240, .84) !important;
  }
  .ch-hero-video-cover .ch-mobile-address-link a {
    color: inherit !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(255, 248, 240, .20) !important;
  }
  .ch-hero-video-cover .ch-hero-glass-card .ch-hero-actions {
    margin-bottom: 0 !important;
  }
}
@media (max-width: 380px) {
  .ch-hero-video-cover .ch-mobile-address-link {
    max-width: 220px !important;
    font-size: .54rem !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   V70 — CLEAN EDITORIAL HOMEPAGE, NO VIDEO
   Inspired by simple luxury retail scrolling: clear text, calm image,
   easy CTAs and readable mobile spacing.
   ═══════════════════════════════════════════════════════════ */
.home-v70-page {
  --v70-ink: #241c17;
  --v70-text: #463a32;
  --v70-muted: rgba(70,58,50,.72);
  --v70-soft: #fbf6ef;
  --v70-cream: #f4e9dc;
  --v70-card: #fffaf4;
  --v70-line: rgba(88,63,46,.14);
  --v70-blush: #ead0c7;
  --v70-blush-strong: #e3b7aa;
  --v70-shadow: 0 24px 70px rgba(70,47,32,.10);
  background: var(--v70-soft) !important;
  color: var(--v70-ink) !important;
  font-family: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-weight: 400;
  overflow: hidden;
}

.home-v70-page a { color: inherit; }
.home-v70-page p { color: var(--v70-muted); }

.home-v70-hero {
  background: linear-gradient(180deg, #fffaf4 0%, #f6eadf 100%) !important;
  padding: clamp(28px, 4vw, 58px) clamp(18px, 4vw, 54px) clamp(42px, 6vw, 86px);
  border-bottom: 1px solid var(--v70-line);
}

.home-v70-shell {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  gap: clamp(22px, 3.8vw, 44px);
}

.home-v70-copy {
  text-align: center;
  max-width: 850px;
  margin: 0 auto;
}

.home-v70-kicker {
  margin: 0 0 14px !important;
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: .77rem !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  color: rgba(88,63,46,.66) !important;
}

.home-v70-copy h1 {
  margin: 0 auto 18px !important;
  color: var(--v70-ink) !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-weight: 500 !important;
  font-size: clamp(3.1rem, 7vw, 6.8rem) !important;
  line-height: .95 !important;
  letter-spacing: .01em !important;
  text-wrap: balance;
}

.home-v70-lead {
  max-width: 650px;
  margin: 0 auto !important;
  font-size: clamp(1rem, 1.2vw, 1.18rem) !important;
  line-height: 1.75 !important;
  color: rgba(48,38,32,.72) !important;
  text-wrap: pretty;
}

.home-v70-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  max-width: 850px;
  width: 100%;
  margin: 0 auto;
}

.home-v70-action {
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  border: 1px solid rgba(88,63,46,.12);
  background: #f4d8cf;
  color: var(--v70-ink) !important;
  font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: .9rem !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.home-v70-action:hover,
.home-v70-action:focus-visible {
  background: #efc8bd;
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(77,52,36,.09);
  outline: none;
}

.home-v70-action-primary {
  background: var(--v70-blush-strong) !important;
  border-color: rgba(88,63,46,.16) !important;
}

.home-v70-image-card {
  position: relative;
  margin: 0 auto !important;
  width: min(100%, 1180px);
  border-radius: 0;
  overflow: hidden;
  background: #eadacd;
  box-shadow: var(--v70-shadow);
}

.home-v70-image-card img {
  width: 100%;
  height: clamp(420px, 58vw, 650px);
  object-fit: cover;
  object-position: center;
  display: block;
}

.home-v70-image-card figcaption {
  position: absolute;
  left: clamp(16px, 3vw, 34px);
  bottom: clamp(16px, 3vw, 34px);
  padding: 12px 16px;
  background: rgba(255,250,244,.88);
  color: rgba(36,28,23,.82);
  font-family: 'Montserrat', sans-serif;
  font-size: .78rem;
  line-height: 1.45;
  letter-spacing: .05em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
  max-width: min(520px, calc(100% - 32px));
}

.home-v70-image-card figcaption a { text-decoration: underline; text-underline-offset: 3px; }

.home-v70-statement {
  padding: clamp(64px, 10vw, 130px) clamp(24px, 6vw, 82px);
  background: var(--v70-card);
}

.home-v70-statement-inner {
  max-width: 880px;
  margin: 0 auto;
}

.home-v70-statement h2,
.home-v70-section-head h2,
.home-v70-split h2,
.home-v70-booking h2 {
  color: var(--v70-ink) !important;
  font-family: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size: clamp(2.6rem, 5.4vw, 5.7rem) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: .14em !important;
  text-transform: uppercase !important;
  margin: 0 0 28px !important;
  text-wrap: balance;
}

.home-v70-statement p:not(.home-v70-kicker),
.home-v70-section-head p:not(.home-v70-kicker),
.home-v70-split p,
.home-v70-booking p {
  max-width: 690px;
  font-size: clamp(1.03rem, 1.25vw, 1.2rem) !important;
  line-height: 1.8 !important;
  color: rgba(48,38,32,.72) !important;
  margin: 0 0 18px !important;
}

.home-v70-treatments {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--v70-line);
  border-top: 1px solid var(--v70-line);
  border-bottom: 1px solid var(--v70-line);
}

.home-v70-treatment {
  display: block;
  min-height: 260px;
  padding: clamp(30px, 4vw, 54px);
  background: #f6eadf;
  color: var(--v70-ink) !important;
  text-decoration: none !important;
  transition: background .25s ease;
}

.home-v70-treatment:hover { background: #fffaf4; }
.home-v70-treatment span {
  display: block;
  margin-bottom: 34px;
  font-family: 'Montserrat', sans-serif;
  color: rgba(88,63,46,.50);
  font-size: .78rem;
}
.home-v70-treatment h3 {
  margin: 0 0 12px !important;
  color: var(--v70-ink) !important;
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: clamp(1.9rem, 2.4vw, 2.6rem) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
}
.home-v70-treatment p {
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: 1.65 !important;
}

.home-v70-lookbook {
  padding: clamp(64px, 9vw, 120px) clamp(18px, 5vw, 72px);
  background: #fffaf4;
}
.home-v70-section-head {
  max-width: 980px;
  margin: 0 auto clamp(30px, 5vw, 56px);
  text-align: center;
}
.home-v70-section-head p:not(.home-v70-kicker) { margin-left: auto !important; margin-right: auto !important; }
.home-v70-look-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.28fr 1fr 1fr;
  grid-auto-rows: minmax(230px, 19vw);
  gap: 18px;
}
.home-v70-look {
  position: relative;
  overflow: hidden;
  background: #eadacd;
  text-decoration: none !important;
  min-height: 220px;
}
.home-v70-look-large { grid-row: span 2; }
.home-v70-look img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease;
}
.home-v70-look:hover img { transform: scale(1.035); }
.home-v70-look span {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 14px;
  width: fit-content;
  max-width: calc(100% - 28px);
  padding: 9px 12px;
  background: rgba(255,250,244,.88);
  color: var(--v70-ink);
  font-family: 'Montserrat', sans-serif;
  font-size: .74rem;
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.home-v70-split {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(28px, 5vw, 70px);
  align-items: center;
  padding: clamp(64px, 9vw, 118px) clamp(24px, 6vw, 86px);
  background: #f6eadf;
}
.home-v70-split-copy { max-width: 580px; justify-self: end; }
.home-v70-split-image { overflow: hidden; background: #eadacd; box-shadow: var(--v70-shadow); }
.home-v70-split-image img { width: 100%; height: clamp(360px, 42vw, 560px); object-fit: cover; display: block; }
.home-v70-link {
  display: inline-flex;
  margin-top: 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid currentColor;
  color: var(--v70-ink) !important;
  font-family: 'Montserrat', sans-serif;
  font-size: .86rem;
  font-weight: 500;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.home-v70-booking {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 30px;
  align-items: center;
  padding: clamp(58px, 8vw, 100px) clamp(24px, 6vw, 86px);
  background: #fffaf4;
  border-top: 1px solid var(--v70-line);
}
.home-v70-booking > div:first-child { max-width: 780px; }
.home-v70-booking a { color: inherit !important; text-decoration: underline; text-underline-offset: 4px; }
.home-v70-booking-actions {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.home-v70-booking-actions .home-v70-action { min-width: 170px; text-decoration: none !important; }

@media (max-width: 1100px) {
  .home-v70-treatments { grid-template-columns: repeat(2, 1fr); }
  .home-v70-look-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 300px; }
  .home-v70-look-large { grid-column: span 2; grid-row: span 1; }
  .home-v70-split { grid-template-columns: 1fr; }
  .home-v70-split-copy { justify-self: start; }
}

@media (max-width: 900px) {
  .home-v70-hero { padding: 26px 18px 46px; }
  .home-v70-copy h1 { font-size: clamp(3.1rem, 14vw, 5.2rem) !important; }
  .home-v70-actions { gap: 10px; }
  .home-v70-action { min-height: 54px; font-size: .82rem !important; letter-spacing: .1em !important; }
  .home-v70-image-card img { height: clamp(360px, 76vw, 540px); }
  .home-v70-image-card figcaption { position: static; max-width: none; background: #fffaf4; padding: 14px 16px; }
  .home-v70-statement h2,
  .home-v70-section-head h2,
  .home-v70-split h2,
  .home-v70-booking h2 {
    font-size: clamp(2.15rem, 9vw, 3.55rem) !important;
    letter-spacing: .11em !important;
  }
  .home-v70-booking { grid-template-columns: 1fr; }
  .home-v70-booking-actions { justify-content: stretch; }
  .home-v70-booking-actions .home-v70-action { flex: 1 1 160px; }
}

@media (max-width: 640px) {
  .home-v70-shell { gap: 20px; }
  .home-v70-copy { text-align: left; }
  .home-v70-copy h1 { margin-left: 0 !important; font-size: clamp(2.9rem, 14.5vw, 4.6rem) !important; }
  .home-v70-lead { margin-left: 0 !important; font-size: 1rem !important; line-height: 1.65 !important; }
  .home-v70-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
  .home-v70-action { min-height: 48px; font-size: .72rem !important; letter-spacing: .08em !important; padding: 0 8px; }
  .home-v70-image-card img { height: 410px; object-position: center; }
  .home-v70-statement { padding: 58px 22px; }
  .home-v70-statement-inner { margin: 0; }
  .home-v70-statement p:not(.home-v70-kicker),
  .home-v70-section-head p:not(.home-v70-kicker),
  .home-v70-split p,
  .home-v70-booking p {
    font-size: 1rem !important;
    line-height: 1.7 !important;
  }
  .home-v70-treatments { grid-template-columns: 1fr; }
  .home-v70-treatment { min-height: auto; padding: 28px 22px; }
  .home-v70-treatment span { margin-bottom: 20px; }
  .home-v70-lookbook { padding: 58px 18px; }
  .home-v70-section-head { text-align: left; margin-bottom: 24px; }
  .home-v70-look-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 230px; gap: 10px; }
  .home-v70-look-large { grid-column: span 2; }
  .home-v70-look span { font-size: .62rem; left: 10px; bottom: 10px; right: 10px; padding: 7px 9px; }
  .home-v70-split { padding: 58px 22px; gap: 24px; }
  .home-v70-split-image img { height: 390px; }
  .home-v70-booking { padding: 58px 22px 112px; }
  .home-v70-booking-actions { display: grid; grid-template-columns: 1fr; }
}

@media (max-width: 380px) {
  .home-v70-action { font-size: .65rem !important; letter-spacing: .06em !important; }
  .home-v70-image-card img { height: 360px; }
}


/* =======================================================
   v71 homepage refresh
   Cleaner desktop front page inspired by contained-media salon sites.
   Keeps video optional and contained in a frame for better readability.
   ======================================================= */
.home-v71-page{background:#fbf7f1;color:#2f241d;}
.home-v71-shell{max-width:1360px;margin:0 auto;padding:42px 32px 0;}
.home-v71-action-strip{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;margin:8px 0 34px;}
.home-v71-pill{display:inline-flex;align-items:center;justify-content:center;min-width:132px;padding:14px 24px;border:1px solid rgba(81,62,48,.14);background:#ead9cf;color:#2f241d;text-decoration:none;font:500 .82rem/1 'Montserrat',sans-serif;letter-spacing:.18em;text-transform:uppercase;transition:.25s ease;}
.home-v71-pill-primary{background:#dcc0b3;}
.home-v71-pill:hover{transform:translateY(-1px);background:#e3cec2;}
.home-v71-hero-grid{display:grid;grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);gap:42px;align-items:center;padding:12px 0 72px;}
.home-v71-copy{max-width:560px;}
.home-v71-kicker{font:500 .77rem/1.5 'Montserrat',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#9c7b62;margin:0 0 16px;}
.home-v71-copy h1,.home-v71-section-head h2,.home-v71-editorial-copy h2,.home-v71-colour-card h2,.home-v71-book-card h2{font-family:'Cormorant Garamond','Bodoni Moda',serif;font-weight:400;line-height:1.02;letter-spacing:.01em;color:#241915;margin:0 0 18px;}
.home-v71-copy h1{font-size:clamp(3rem,5vw,4.7rem);max-width:10ch;}
.home-v71-lead,.home-v71-section-head p,.home-v71-editorial-copy p,.home-v71-service-card p,.home-v71-colour-card p,.home-v71-book-card p,.home-v71-promise-card p{font:300 1.03rem/1.78 'Jost',sans-serif;color:rgba(47,36,29,.76);margin:0;}
.home-v71-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 28px;}
.home-v71-actions-compact{margin-top:24px;margin-bottom:0;}
.home-v71-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;border-radius:999px;text-decoration:none;border:1px solid rgba(47,36,29,.16);font:500 .8rem/1 'Montserrat',sans-serif;letter-spacing:.18em;text-transform:uppercase;transition:.25s ease;}
.home-v71-btn-primary{background:#2d211c;color:#fbf7f1;border-color:#2d211c;}
.home-v71-btn-primary:hover{background:#1f1612;color:#fbf7f1;transform:translateY(-1px);}
.home-v71-btn-secondary{background:transparent;color:#2d211c;}
.home-v71-btn-secondary:hover{background:rgba(45,33,28,.04);border-color:#2d211c;}
.home-v71-meta{display:flex;flex-direction:column;gap:8px;padding-top:22px;border-top:1px solid rgba(81,62,48,.12);font:400 .88rem/1.7 'Jost',sans-serif;color:rgba(47,36,29,.76);}
.home-v71-meta strong{font-weight:500;color:#2d211c;margin-right:6px;}
.home-v71-meta a,.home-v71-book-card a{color:#2d211c;text-decoration:none;}
.home-v71-media-card{margin:0;}
.home-v71-media-frame{position:relative;border-radius:26px;overflow:hidden;background:#e7d8cd;box-shadow:0 26px 60px rgba(78,58,43,.12);aspect-ratio:16/11;}
.home-v71-video,.home-v71-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.home-v71-video{z-index:2;background:#e7d8cd;}
.home-v71-poster{z-index:1;}
.home-v71-media-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,247,240,.04),rgba(47,36,29,.08));z-index:3;pointer-events:none;}
.home-v71-media-card figcaption{padding:16px 8px 0;font:400 .9rem/1.65 'Jost',sans-serif;color:rgba(47,36,29,.68);max-width:42rem;}
.home-v71-promise{padding:84px 32px;background:#fffdf9;border-top:1px solid rgba(81,62,48,.08);}
.home-v71-section-head{max-width:760px;margin:0 auto 34px;text-align:center;}
.home-v71-section-head-left{text-align:left;margin:0 0 24px;}
.home-v71-section-head h2,.home-v71-editorial-copy h2,.home-v71-colour-card h2,.home-v71-book-card h2{font-size:clamp(2.2rem,3.4vw,3.3rem);}
.home-v71-promise-grid{max-width:1360px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.home-v71-promise-card,.home-v71-service-card,.home-v71-colour-card,.home-v71-book-card{background:#f7efe7;border:1px solid rgba(81,62,48,.09);border-radius:22px;padding:28px;}
.home-v71-promise-card h3,.home-v71-service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.85rem;font-weight:500;line-height:1.1;color:#241915;margin:0 0 12px;}
.home-v71-editorial{max-width:1360px;margin:0 auto;padding:88px 32px;display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);gap:32px;align-items:center;}
.home-v71-text-link{display:inline-block;margin-top:20px;color:#2d211c;text-decoration:none;font:500 .8rem/1 'Montserrat',sans-serif;letter-spacing:.18em;text-transform:uppercase;}
.home-v71-editorial-grid{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:repeat(2,minmax(180px,1fr));gap:18px;}
.home-v71-editorial-grid img{width:100%;height:100%;object-fit:cover;border-radius:22px;display:block;box-shadow:0 14px 34px rgba(78,58,43,.08);}
.home-v71-editorial-grid img:first-child{grid-row:1 / span 2;}
.home-v71-services{max-width:1360px;margin:0 auto;padding:0 32px 88px;}
.home-v71-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.home-v71-service-card{text-decoration:none;color:inherit;transition:.24s ease;}
.home-v71-service-card:hover{transform:translateY(-2px);background:#f3e9df;}
.home-v71-service-card span{display:block;margin-bottom:18px;font:500 .74rem/1 'Montserrat',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#9c7b62;}
.home-v71-colour-booking{max-width:1360px;margin:0 auto;padding:0 32px 96px;display:grid;grid-template-columns:1fr 1fr;gap:24px;}
@media (max-width: 1100px){.home-v71-hero-grid,.home-v71-editorial{grid-template-columns:1fr;}.home-v71-copy{max-width:none;}.home-v71-copy h1{max-width:12ch;}.home-v71-promise-grid,.home-v71-service-grid,.home-v71-colour-booking{grid-template-columns:1fr 1fr;}}
@media (max-width: 900px){.home-v71-shell{padding:24px 20px 0;}.home-v71-action-strip{justify-content:flex-start;gap:12px;margin-bottom:22px;}.home-v71-pill{min-width:auto;flex:1 1 calc(33.333% - 8px);padding:13px 16px;font-size:.72rem;letter-spacing:.12em;}.home-v71-hero-grid{gap:24px;padding-bottom:50px;}.home-v71-copy h1{font-size:clamp(2.4rem,10.8vw,3.4rem);max-width:11ch;}.home-v71-lead,.home-v71-section-head p,.home-v71-editorial-copy p,.home-v71-service-card p,.home-v71-colour-card p,.home-v71-book-card p,.home-v71-promise-card p{font-size:.98rem;line-height:1.7;}.home-v71-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;}.home-v71-btn{width:100%;padding:15px 18px;font-size:.74rem;letter-spacing:.14em;}.home-v71-media-frame{aspect-ratio:4/5;}.home-v71-promise,.home-v71-editorial,.home-v71-services,.home-v71-colour-booking{padding-left:20px;padding-right:20px;}.home-v71-promise{padding-top:68px;}.home-v71-promise-grid,.home-v71-service-grid,.home-v71-colour-booking{grid-template-columns:1fr;}.home-v71-editorial-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;}.home-v71-editorial-grid img:first-child{grid-row:auto;grid-column:1 / -1;aspect-ratio:4/4.8;}.home-v71-editorial-grid img{aspect-ratio:1/1.15;}.home-v71-section-head h2,.home-v71-editorial-copy h2,.home-v71-colour-card h2,.home-v71-book-card h2{font-size:clamp(2rem,8vw,2.5rem);} }
@media (max-width: 640px){.home-v71-pill{flex:1 1 100%;}.home-v71-actions{grid-template-columns:1fr;}.home-v71-meta{font-size:.84rem;}.home-v71-media-card figcaption{font-size:.86rem;}.home-v71-promise-card,.home-v71-service-card,.home-v71-colour-card,.home-v71-book-card{padding:22px;}}


/* =======================================================
   v72 careful review fixes
   - desktop front page less busy and more premium
   - video is contained like a salon editorial frame, not full-page
   - mobile hides the heavy video and uses the poster image for clarity
   - removes technical-looking homepage wording
   ======================================================= */
.home-v71-page{background:#fbf7f1!important;}
.home-v71-shell{max-width:1240px!important;padding:34px 28px 0!important;}
.home-v71-action-strip{margin:4px auto 28px!important;max-width:620px!important;gap:12px!important;}
.home-v71-pill{min-width:128px!important;padding:13px 22px!important;border-radius:0!important;background:#ead7cc!important;border-color:rgba(62,45,36,.12)!important;color:#2b201a!important;font-size:.76rem!important;letter-spacing:.17em!important;}
.home-v71-pill-primary{background:#d8b8aa!important;}
.home-v71-hero-grid{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;gap:44px!important;padding:6px 0 62px!important;}
.home-v71-copy{max-width:500px!important;}
.home-v71-copy h1{font-size:clamp(2.7rem,4.1vw,4.15rem)!important;line-height:1.04!important;max-width:11.4ch!important;margin-bottom:18px!important;}
.home-v71-lead{font-size:1rem!important;line-height:1.72!important;max-width:31rem!important;}
.home-v71-actions{margin:26px 0 24px!important;}
.home-v71-btn{padding:14px 24px!important;font-size:.76rem!important;letter-spacing:.16em!important;}
.home-v71-meta{padding-top:18px!important;font-size:.86rem!important;line-height:1.55!important;}
.home-v71-media-frame{border-radius:0!important;aspect-ratio:16/10.4!important;box-shadow:0 24px 54px rgba(78,58,43,.11)!important;background:#e8d7ca url('/images/about-header.jpg') center/cover no-repeat!important;}
.home-v71-media-frame::before{content:'';position:absolute;inset:18px;border:1px solid rgba(255,255,255,.55);z-index:4;pointer-events:none;}
.home-v71-media-frame::after{background:linear-gradient(180deg,rgba(255,247,240,.02),rgba(47,36,29,.08))!important;}
.home-v71-video{filter:saturate(.94) contrast(.98) brightness(1.04)!important;opacity:.94!important;}
.home-v71-video:not(.is-loaded){background:transparent!important;}
.home-v71-media-card figcaption{max-width:none!important;padding:13px 0 0!important;font-size:.86rem!important;color:rgba(47,36,29,.58)!important;text-align:center!important;}
.home-v71-promise{padding:70px 28px!important;}
.home-v71-section-head{margin-bottom:30px!important;}
.home-v71-section-head h2,.home-v71-editorial-copy h2,.home-v71-colour-card h2,.home-v71-book-card h2{font-size:clamp(2.05rem,3vw,2.9rem)!important;line-height:1.06!important;}
.home-v71-promise-grid,.home-v71-service-grid{gap:18px!important;}
.home-v71-promise-card,.home-v71-service-card,.home-v71-colour-card,.home-v71-book-card{border-radius:0!important;padding:26px!important;background:#f8efe7!important;}
.home-v71-editorial{max-width:1240px!important;padding:76px 28px!important;gap:34px!important;}
.home-v71-editorial-grid{gap:14px!important;}
.home-v71-editorial-grid img{border-radius:0!important;box-shadow:none!important;}
.home-v71-services{max-width:1240px!important;padding:0 28px 76px!important;}
.home-v71-colour-booking{max-width:1240px!important;padding:0 28px 86px!important;}
@media (max-width:900px){
  .home-v71-shell{padding:20px 18px 0!important;}
  .home-v71-action-strip{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;max-width:none!important;margin:0 0 18px!important;}
  .home-v71-pill{min-width:0!important;flex:initial!important;padding:12px 8px!important;font-size:.68rem!important;letter-spacing:.11em!important;}
  .home-v71-hero-grid{grid-template-columns:1fr!important;gap:20px!important;padding-bottom:44px!important;}
  .home-v71-copy h1{font-size:clamp(2.15rem,9.2vw,2.9rem)!important;max-width:12ch!important;line-height:1.05!important;}
  .home-v71-lead{font-size:.96rem!important;line-height:1.62!important;}
  .home-v71-actions{grid-template-columns:1fr 1fr!important;margin:22px 0 18px!important;}
  .home-v71-btn{padding:14px 14px!important;font-size:.7rem!important;letter-spacing:.11em!important;}
  .home-v71-meta{font-size:.8rem!important;gap:6px!important;}
  .home-v71-media-frame{aspect-ratio:4/3.35!important;border-radius:0!important;}
  .home-v71-video{display:none!important;}
  .home-v71-media-frame::before{inset:12px!important;}
  .home-v71-media-card figcaption{display:none!important;}
  .home-v71-promise,.home-v71-editorial,.home-v71-services,.home-v71-colour-booking{padding-left:18px!important;padding-right:18px!important;}
  .home-v71-promise{padding-top:56px!important;padding-bottom:56px!important;}
  .home-v71-section-head{text-align:left!important;margin-bottom:22px!important;}
  .home-v71-section-head h2,.home-v71-editorial-copy h2,.home-v71-colour-card h2,.home-v71-book-card h2{font-size:clamp(1.9rem,8vw,2.35rem)!important;}
  .home-v71-promise-grid,.home-v71-service-grid,.home-v71-colour-booking{grid-template-columns:1fr!important;gap:14px!important;}
  .home-v71-promise-card,.home-v71-service-card,.home-v71-colour-card,.home-v71-book-card{padding:22px!important;}
  .home-v71-editorial{padding-top:60px!important;padding-bottom:60px!important;grid-template-columns:1fr!important;gap:24px!important;}
  .home-v71-editorial-grid{grid-template-columns:1fr 1fr!important;gap:10px!important;}
  .home-v71-editorial-grid img:first-child{grid-column:1/-1!important;aspect-ratio:4/3.6!important;}
  .home-v71-editorial-grid img{aspect-ratio:1/1.12!important;}
}
@media (max-width:520px){
  .home-v71-action-strip{grid-template-columns:1fr 1fr 1fr!important;}
  .home-v71-actions{grid-template-columns:1fr!important;}
  .home-v71-copy h1{font-size:2.12rem!important;}
}


/* =======================================================
   v73 homepage polish
   Full-width media at top, cleaner intro card below, works on desktop/mobile.
   ======================================================= */
.home-v73-page{background:#fbf7f1;color:#2e241d;}
.home-v73-shell{max-width:1380px;margin:0 auto;padding:34px 28px 0;}
.home-v73-action-strip{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin:0 0 24px;}
.home-v73-pill{display:inline-flex;align-items:center;justify-content:center;min-width:132px;padding:14px 22px;border:1px solid rgba(82,62,48,.14);background:#ead9cf;color:#2e241d;text-decoration:none;font:500 .8rem/1 'Montserrat',sans-serif;letter-spacing:.18em;text-transform:uppercase;transition:.25s ease;}
.home-v73-pill-primary{background:#dcc0b3;}
.home-v73-pill:hover{background:#e3cec2;transform:translateY(-1px);}
.home-v73-media-shell{margin-bottom:26px;}
.home-v73-media-frame{position:relative;overflow:hidden;background:#e7d7ca;border-radius:0;aspect-ratio:16/9.2;box-shadow:0 28px 70px rgba(76,57,43,.12);}
.home-v73-media-frame::before{content:'';position:absolute;inset:18px;border:1px solid rgba(255,255,255,.56);z-index:3;pointer-events:none;}
.home-v73-poster,.home-v73-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.home-v73-poster{z-index:1;}
.home-v73-video{z-index:2;opacity:0;transition:opacity .45s ease;filter:saturate(.94) contrast(.98) brightness(1.03);background:transparent;}
.home-v73-video.is-ready{opacity:1;}
.home-v73-media-frame::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(255,248,242,.02),rgba(46,36,29,.08));}
.home-v73-intro-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;background:#f5eee6;border:1px solid rgba(82,62,48,.10);padding:34px 36px;box-shadow:0 16px 40px rgba(76,57,43,.06);}
.home-v73-intro-copy{max-width:820px;}
.home-v73-kicker{font:500 .77rem/1.45 'Montserrat',sans-serif;letter-spacing:.24em;text-transform:uppercase;color:#9c7b62;margin:0 0 14px;}
.home-v73-intro-card h1,.home-v73-section-head h2,.home-v73-editorial-copy h2,.home-v73-card h2{font-family:'Cormorant Garamond','Bodoni Moda',serif;font-weight:400;letter-spacing:.01em;line-height:1.02;color:#241915;margin:0 0 16px;}
.home-v73-intro-card h1{font-size:clamp(2.6rem,4.2vw,4.1rem);max-width:14ch;}
.home-v73-lead,.home-v73-section-head p,.home-v73-card p,.home-v73-service-card p,.home-v73-editorial-copy p{font:400 1.02rem/1.76 'Jost',sans-serif;color:rgba(46,36,29,.76);margin:0;}
.home-v73-intro-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;align-self:center;}
.home-v73-intro-actions-compact{justify-content:flex-start;margin-top:22px;}
.home-v73-btn{display:inline-flex;align-items:center;justify-content:center;padding:15px 26px;border-radius:999px;border:1px solid rgba(46,36,29,.16);text-decoration:none;font:500 .78rem/1 'Montserrat',sans-serif;letter-spacing:.16em;text-transform:uppercase;transition:.25s ease;}
.home-v73-btn-primary{background:#2d211c;color:#fbf7f1;border-color:#2d211c;}
.home-v73-btn-primary:hover{background:#1f1612;color:#fbf7f1;transform:translateY(-1px);}
.home-v73-btn-secondary{background:transparent;color:#2d211c;}
.home-v73-btn-secondary:hover{background:rgba(45,33,28,.05);border-color:#2d211c;}
.home-v73-meta{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:12px 26px;padding-top:18px;border-top:1px solid rgba(82,62,48,.10);font:400 .92rem/1.6 'Jost',sans-serif;color:rgba(46,36,29,.76);}
.home-v73-meta a,.home-v73-card a{color:#2d211c;text-decoration:none;}
.home-v73-promise,.home-v73-services,.home-v73-editorial,.home-v73-colour-booking{max-width:1380px;margin:0 auto;padding-left:28px;padding-right:28px;}
.home-v73-promise{padding-top:78px;padding-bottom:28px;}
.home-v73-section-head{max-width:760px;margin:0 auto 28px;text-align:center;}
.home-v73-section-head-left{text-align:left;margin:0 0 24px;}
.home-v73-section-head h2,.home-v73-editorial-copy h2,.home-v73-card h2{font-size:clamp(2.1rem,3.3vw,3.15rem);}
.home-v73-promise-grid,.home-v73-service-grid,.home-v73-colour-booking{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.home-v73-card,.home-v73-service-card{background:#f7efe7;border:1px solid rgba(82,62,48,.09);padding:28px;color:inherit;text-decoration:none;}
.home-v73-card h3,.home-v73-service-card h3{font-family:'Cormorant Garamond',serif;font-size:1.86rem;font-weight:500;line-height:1.08;color:#241915;margin:0 0 10px;}
.home-v73-services{padding-top:26px;padding-bottom:82px;}
.home-v73-service-card span{display:block;margin-bottom:18px;font:500 .74rem/1 'Montserrat',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#9c7b62;}
.home-v73-service-card:hover{background:#f2e8df;transform:translateY(-1px);transition:.24s ease;}
.home-v73-editorial{padding-top:0;padding-bottom:82px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px;align-items:center;}
.home-v73-text-link{display:inline-block;margin-top:20px;font:500 .8rem/1 'Montserrat',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#2d211c;text-decoration:none;}
.home-v73-editorial-grid{display:grid;grid-template-columns:1.08fr .92fr;grid-template-rows:repeat(2,minmax(180px,1fr));gap:16px;}
.home-v73-editorial-grid img{width:100%;height:100%;object-fit:cover;display:block;box-shadow:0 14px 34px rgba(76,57,43,.08);}
.home-v73-editorial-grid img:first-child{grid-row:1 / span 2;}
.home-v73-colour-booking{padding-bottom:96px;grid-template-columns:1fr 1fr;}
.home-v73-card-feature{padding:30px;}
@media (max-width: 1024px){.home-v73-intro-card{grid-template-columns:1fr;align-items:start;}.home-v73-intro-actions{justify-content:flex-start;}.home-v73-promise-grid,.home-v73-service-grid{grid-template-columns:1fr 1fr;}.home-v73-editorial{grid-template-columns:1fr;}.home-v73-colour-booking{grid-template-columns:1fr 1fr;}}
@media (max-width: 900px){.home-v73-shell{padding:18px 18px 0;}.home-v73-action-strip{gap:10px;justify-content:flex-start;margin-bottom:16px;}.home-v73-pill{flex:1 1 calc(33.333% - 8px);min-width:0;padding:12px 10px;font-size:.69rem;letter-spacing:.11em;}.home-v73-media-frame{aspect-ratio:4/5.1;}.home-v73-media-frame::before{inset:12px;}.home-v73-video{opacity:0 !important;} .home-v73-intro-card{padding:24px 22px;gap:18px;}.home-v73-intro-card h1{font-size:clamp(2.05rem,8.6vw,2.85rem);max-width:12ch;}.home-v73-lead,.home-v73-section-head p,.home-v73-card p,.home-v73-service-card p,.home-v73-editorial-copy p{font-size:.98rem;line-height:1.68;}.home-v73-intro-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;}.home-v73-btn{width:100%;padding:14px 16px;font-size:.71rem;letter-spacing:.11em;}.home-v73-meta{font-size:.84rem;gap:8px 0;flex-direction:column;}.home-v73-promise,.home-v73-services,.home-v73-editorial,.home-v73-colour-booking{padding-left:18px;padding-right:18px;}.home-v73-promise{padding-top:56px;}.home-v73-section-head{text-align:left;margin-bottom:22px;}.home-v73-section-head h2,.home-v73-editorial-copy h2,.home-v73-card h2{font-size:clamp(1.95rem,7.8vw,2.45rem);}.home-v73-promise-grid,.home-v73-service-grid,.home-v73-colour-booking{grid-template-columns:1fr;gap:14px;}.home-v73-card,.home-v73-service-card{padding:22px;}.home-v73-editorial{padding-bottom:60px;gap:24px;}.home-v73-editorial-grid{grid-template-columns:1fr 1fr;gap:10px;}.home-v73-editorial-grid img:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:4/4.7;}.home-v73-editorial-grid img{aspect-ratio:1/1.15;}}
@media (max-width: 560px){.home-v73-pill{flex:1 1 100%;}.home-v73-intro-actions{grid-template-columns:1fr;}}


/* =======================================================
   v74 clean Oblique-inspired homepage
   Previous stock video restored, but the layout stays clean: video first, copy below.
   ======================================================= */
.home-v74-page{background:#fbf7f1;color:#2d241e;overflow:hidden;}
.home-v74-hero{background:#27302b;padding:0;}
.home-v74-media{position:relative;width:100%;height:min(68vh,760px);min-height:520px;background:#d8c7bb;overflow:hidden;}
.home-v74-poster,.home-v74-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block;}
.home-v74-poster{z-index:1;}
.home-v74-video{z-index:2;opacity:0;transition:opacity .45s ease;filter:saturate(.92) contrast(.98) brightness(1.04);}
.home-v74-video.is-ready{opacity:1;}
.home-v74-media::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,rgba(22,24,20,.05),rgba(22,24,20,.12));}
.home-v74-intro{background:#27302b;padding:58px 32px 72px;}
.home-v74-intro-card{max-width:1080px;margin:0 auto;background:rgba(255,250,244,.18);border:1px solid rgba(255,250,244,.20);padding:52px 56px;color:#fffaf4;box-shadow:0 28px 80px rgba(9,12,9,.18);}
.home-v74-kicker{font:500 .76rem/1.45 'Montserrat',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#cdbba8;margin:0 0 18px;}
.home-v74-intro h1,.home-v74-section-head h2,.home-v74-latest-copy h2,.home-v74-panel h2{font-family:'Cormorant Garamond','Bodoni Moda',serif;font-weight:400;letter-spacing:.015em;line-height:1.04;margin:0 0 18px;}
.home-v74-intro h1{font-size:clamp(3rem,5.6vw,5.2rem);max-width:12ch;color:#fffaf4;}
.home-v74-intro p,.home-v74-section-head p,.home-v74-feature-grid p,.home-v74-latest-copy p,.home-v74-panel p{font:400 1.06rem/1.78 'Jost',sans-serif;margin:0;color:rgba(255,250,244,.82);max-width:700px;}
.home-v74-actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0 28px;}
.home-v74-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 25px;border-radius:999px;border:1px solid currentColor;text-decoration:none;font:500 .78rem/1 'Montserrat',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:inherit;transition:.25s ease;}
.home-v74-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.08);}
.home-v74-btn-primary{background:#fffaf4;color:#27302b;border-color:#fffaf4;}
.home-v74-btn-primary:hover{background:#efe2d6;color:#27302b;}
.home-v74-contact{display:flex;gap:10px 28px;flex-wrap:wrap;padding-top:22px;border-top:1px solid rgba(255,250,244,.18);font:400 .95rem/1.65 'Jost',sans-serif;color:rgba(255,250,244,.78);}
.home-v74-contact a{color:#fffaf4;text-decoration:none;}
.home-v74-experts,.home-v74-services,.home-v74-latest,.home-v74-split{max-width:1320px;margin:0 auto;padding-left:32px;padding-right:32px;}
.home-v74-experts{padding-top:86px;padding-bottom:70px;}
.home-v74-section-head{max-width:820px;margin:0 auto 34px;text-align:center;}
.home-v74-section-head h2,.home-v74-latest-copy h2,.home-v74-panel h2{font-size:clamp(2.2rem,3.5vw,3.4rem);color:#241915;}
.home-v74-section-head p,.home-v74-feature-grid p,.home-v74-latest-copy p,.home-v74-panel p{color:rgba(45,36,30,.74);}
.home-v74-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.home-v74-feature-grid article,.home-v74-panel{background:#f5eee7;border:1px solid rgba(82,62,48,.09);padding:30px;}
.home-v74-feature-grid span{display:block;margin-bottom:18px;font:500 .74rem/1 'Montserrat',sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#9c7b62;}
.home-v74-feature-grid h3{font-family:'Cormorant Garamond',serif;font-size:1.95rem;font-weight:500;line-height:1.08;color:#241915;margin:0 0 10px;}
.home-v74-latest{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:34px;align-items:center;padding-top:10px;padding-bottom:82px;}
.home-v74-text-link{display:inline-block;margin-top:22px;font:500 .8rem/1 'Montserrat',sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#2d211c;text-decoration:none;}
.home-v74-look-grid{display:grid;grid-template-columns:1.12fr .88fr;grid-template-rows:repeat(2,minmax(190px,1fr));gap:14px;}
.home-v74-look-grid a{position:relative;display:block;overflow:hidden;color:#2d211c;text-decoration:none;background:#eadbd0;}
.home-v74-look-grid a:first-child{grid-row:1/span 2;}
.home-v74-look-grid img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease;}
.home-v74-look-grid a:hover img{transform:scale(1.025);}
.home-v74-look-grid span{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(255,250,244,.86);padding:10px 12px;font:500 .76rem/1 'Montserrat',sans-serif;letter-spacing:.12em;text-transform:uppercase;text-align:center;}
.home-v74-split{display:grid;grid-template-columns:1fr 1fr;gap:20px;padding-bottom:96px;}
.home-v74-panel{padding:34px;}
.home-v74-panel .home-v74-btn{margin-top:24px;color:#2d241e;}
.home-v74-panel .home-v74-btn-primary{color:#fffaf4;background:#2d211c;border-color:#2d211c;}
.home-v74-panel-book{background:#efe2d7;}
@media(max-width:1024px){.home-v74-media{height:58vh;min-height:460px}.home-v74-latest{grid-template-columns:1fr}.home-v74-feature-grid{grid-template-columns:1fr 1fr}.home-v74-split{grid-template-columns:1fr 1fr}}
@media(max-width:900px){.home-v74-media{height:auto;min-height:0;aspect-ratio:4/4.85}.home-v74-video{display:block;object-position:center center;filter:saturate(.92) contrast(.98) brightness(1.06)}.home-v74-intro{padding:40px 16px 52px}.home-v74-intro-card{padding:34px 26px}.home-v74-intro h1{font-size:clamp(2.25rem,10vw,3.1rem);max-width:11ch}.home-v74-intro p,.home-v74-section-head p,.home-v74-feature-grid p,.home-v74-latest-copy p,.home-v74-panel p{font-size:.99rem;line-height:1.68}.home-v74-actions{display:grid;grid-template-columns:1fr;gap:10px}.home-v74-btn{width:100%;min-height:50px;font-size:.72rem;letter-spacing:.12em}.home-v74-contact{flex-direction:column;gap:6px;font-size:.88rem}.home-v74-experts,.home-v74-latest,.home-v74-split{padding-left:18px;padding-right:18px}.home-v74-experts{padding-top:58px;padding-bottom:54px}.home-v74-section-head{text-align:left;margin-bottom:24px}.home-v74-section-head h2,.home-v74-latest-copy h2,.home-v74-panel h2{font-size:clamp(2rem,8.4vw,2.55rem)}.home-v74-feature-grid,.home-v74-split{grid-template-columns:1fr;gap:14px}.home-v74-feature-grid article,.home-v74-panel{padding:24px}.home-v74-latest{padding-bottom:58px;gap:24px}.home-v74-look-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto;gap:10px}.home-v74-look-grid a:first-child{grid-row:auto;grid-column:1/-1;aspect-ratio:4/4.4}.home-v74-look-grid a{aspect-ratio:1/1.1}.home-v74-look-grid span{font-size:.66rem;letter-spacing:.09em;left:10px;right:10px;bottom:10px;padding:8px 9px}}
@media(max-width:520px){.home-v74-intro-card{padding:30px 22px}.home-v74-media{aspect-ratio:4/5.15}.home-v74-look-grid{grid-template-columns:1fr}.home-v74-look-grid a,.home-v74-look-grid a:first-child{grid-column:auto;aspect-ratio:4/3.8}}


/* =======================================================
   v75 homepage cleanup after desktop review
   Goal: video full-width and clean, no huge dark/green text block.
   ======================================================= */
.home-v74-page{background:#fffaf4!important;color:#2d241e!important;overflow:hidden!important;}
.home-v74-hero{background:#fffaf4!important;padding:0 0 0!important;}
.home-v74-media{height:min(62vh,680px)!important;min-height:440px!important;background:#eadbd0!important;box-shadow:none!important;}
.home-v74-poster,.home-v74-video{object-position:center center!important;}
.home-v74-video{filter:saturate(.92) contrast(.98) brightness(1.08)!important;}
.home-v74-media::after{background:linear-gradient(180deg,rgba(20,16,12,.04),rgba(20,16,12,.10))!important;}
.home-v74-intro{background:#fffaf4!important;padding:48px 28px 68px!important;}
.home-v74-intro-card{max-width:1080px!important;margin:0 auto!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;color:#2d241e!important;text-align:center!important;}
.home-v74-kicker{color:#9c7b62!important;font-size:.74rem!important;letter-spacing:.18em!important;margin-bottom:14px!important;}
.home-v74-intro h1{font-size:clamp(2.8rem,4.6vw,4.8rem)!important;line-height:1.02!important;max-width:12ch!important;margin:0 auto 18px!important;color:#2d241e!important;}
.home-v74-intro p{font-size:1.06rem!important;line-height:1.72!important;color:rgba(45,36,30,.72)!important;max-width:680px!important;margin:0 auto!important;}
.home-v74-actions{justify-content:center!important;margin:30px auto 22px!important;gap:12px!important;}
.home-v74-btn{color:#2d241e!important;border-color:rgba(45,36,30,.26)!important;background:transparent!important;border-radius:999px!important;min-width:145px!important;}
.home-v74-btn:hover{background:rgba(45,36,30,.045)!important;transform:translateY(-1px)!important;}
.home-v74-btn-primary{background:#2d211c!important;color:#fffaf4!important;border-color:#2d211c!important;}
.home-v74-btn-primary:hover{background:#1e1511!important;color:#fffaf4!important;}
.home-v74-contact{justify-content:center!important;border-top:1px solid rgba(45,36,30,.10)!important;color:rgba(45,36,30,.68)!important;padding-top:18px!important;margin:0 auto!important;max-width:820px!important;}
.home-v74-contact a{color:#2d241e!important;}
.home-v74-experts,.home-v74-latest,.home-v74-split{max-width:1220px!important;}
.home-v74-experts{padding-top:76px!important;padding-bottom:62px!important;border-top:1px solid rgba(45,36,30,.08)!important;}
.home-v74-section-head{max-width:740px!important;}
.home-v74-section-head h2,.home-v74-latest-copy h2,.home-v74-panel h2{font-size:clamp(2rem,3vw,3rem)!important;line-height:1.05!important;color:#2d241e!important;}
.home-v74-section-head p,.home-v74-feature-grid p,.home-v74-latest-copy p,.home-v74-panel p{font-size:1rem!important;line-height:1.72!important;color:rgba(45,36,30,.72)!important;}
.home-v74-feature-grid{gap:16px!important;}
.home-v74-feature-grid article,.home-v74-panel{background:#f7efe7!important;border:1px solid rgba(82,62,48,.08)!important;padding:28px!important;box-shadow:none!important;}
.home-v74-feature-grid h3{font-size:1.78rem!important;}
.home-v74-latest{padding-top:0!important;padding-bottom:76px!important;gap:30px!important;}
.home-v74-look-grid{gap:12px!important;}
.home-v74-look-grid span{background:rgba(255,250,244,.90)!important;color:#2d241e!important;}
.home-v74-split{gap:16px!important;padding-bottom:88px!important;}
.home-v74-panel-book{background:#f1e5da!important;}
@media(max-width:1024px){.home-v74-media{height:56vh!important;min-height:420px!important}.home-v74-intro{padding:44px 24px 60px!important}.home-v74-latest{grid-template-columns:1fr!important}.home-v74-feature-grid,.home-v74-split{grid-template-columns:1fr 1fr!important}}
@media(max-width:900px){.home-v74-media{height:auto!important;min-height:0!important;aspect-ratio:4/4.85!important}.home-v74-intro{padding:34px 18px 52px!important}.home-v74-intro-card{text-align:left!important}.home-v74-intro h1{font-size:clamp(2.18rem,9.4vw,3rem)!important;max-width:11ch!important;margin-left:0!important;margin-right:0!important}.home-v74-intro p{font-size:.98rem!important;line-height:1.65!important;margin-left:0!important;margin-right:0!important}.home-v74-actions{display:grid!important;grid-template-columns:1fr!important;margin:24px 0 18px!important}.home-v74-btn{width:100%!important;min-width:0!important}.home-v74-contact{justify-content:flex-start!important;align-items:flex-start!important;flex-direction:column!important;gap:6px!important;font-size:.87rem!important;margin-left:0!important}.home-v74-experts,.home-v74-latest,.home-v74-split{padding-left:18px!important;padding-right:18px!important}.home-v74-experts{padding-top:54px!important;padding-bottom:52px!important}.home-v74-section-head{text-align:left!important;margin-bottom:22px!important}.home-v74-feature-grid,.home-v74-split{grid-template-columns:1fr!important;gap:14px!important}.home-v74-feature-grid article,.home-v74-panel{padding:22px!important}.home-v74-latest{gap:22px!important;padding-bottom:56px!important}.home-v74-look-grid{grid-template-columns:1fr 1fr!important;grid-template-rows:auto!important;gap:10px!important}.home-v74-look-grid a:first-child{grid-row:auto!important;grid-column:1/-1!important;aspect-ratio:4/4.25!important}.home-v74-look-grid a{aspect-ratio:1/1.1!important}.home-v74-look-grid span{font-size:.66rem!important;letter-spacing:.08em!important}}
@media(max-width:520px){.home-v74-media{aspect-ratio:4/5.1!important}.home-v74-look-grid{grid-template-columns:1fr!important}.home-v74-look-grid a,.home-v74-look-grid a:first-child{grid-column:auto!important;aspect-ratio:4/3.85!important}}


/* =======================================================
   v75 mobile homepage like reference
   - mobile hero overlay bar with menu / call / brand / book
   - calmer card below hero
   ======================================================= */
.home-v75-mobile-topbar{display:none;}
@media (max-width: 900px){
  .home-index-v75 .nav:not(.menu-open){position:absolute !important;top:0;left:0;right:0;background:transparent !important;border-bottom:none !important;backdrop-filter:none !important;box-shadow:none !important;z-index:40 !important;}
  .home-index-v75 .nav:not(.menu-open) .nav-container{min-height:0 !important;padding:0 !important;}
  .home-index-v75 .nav:not(.menu-open) .nav-left,
  .home-index-v75 .nav:not(.menu-open) .nav-right,
  .home-index-v75 .nav:not(.menu-open) .nav-logo,
  .home-index-v75 .nav:not(.menu-open) .nav-toggle{opacity:0 !important;visibility:hidden !important;pointer-events:none !important;height:0 !important;width:0 !important;overflow:hidden !important;}

  .home-v74-hero{padding-top:0 !important;}
  .home-v74-media{aspect-ratio:4/5.05 !important; position:relative;}
  .home-v75-mobile-topbar{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;position:absolute;top:18px;left:0;right:0;z-index:6;padding:14px 20px;background:rgba(32,36,33,.54);backdrop-filter:blur(8px);}
  .home-v75-menu-trigger,.home-v75-phone-link{appearance:none;border:none;background:none;color:#fffaf4;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;text-decoration:none;padding:0;}
  .home-v75-grid-icon{display:block;width:22px;height:22px;background-image:radial-gradient(circle,currentColor 2px,transparent 2.5px);background-size:8px 8px;background-position:0 0;color:#fffaf4;}
  .home-v75-phone-icon{font-size:1.5rem;line-height:1;color:#fffaf4;transform:translateY(-1px);}
  .home-v75-brand{display:flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;color:#fffaf4;min-width:0;}
  .home-v75-brand img{width:30px;height:30px;object-fit:contain;filter:brightness(0) invert(1);opacity:.95;}
  .home-v75-brand span{font-family:'Cormorant Garamond','Bodoni Moda',serif;font-size:1.95rem;line-height:1;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .home-v75-book-pill{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:1px solid rgba(255,250,244,.74);border-radius:999px;color:#fffaf4;text-decoration:none;font:500 .92rem/1 'Montserrat',sans-serif;letter-spacing:.08em;background:rgba(255,255,255,.03);}
  .home-v74-poster,.home-v74-video{object-position:center center !important;}
  .home-v74-intro{background:#4e554e !important;padding:0 16px 54px !important;}
  .home-v74-intro-card{max-width:none !important;margin:-2px auto 0 !important;background:rgba(255,255,255,.09) !important;border:1px solid rgba(255,255,255,.10) !important;box-shadow:none !important;padding:28px 24px !important;color:#fffaf4 !important;}
  .home-v74-kicker{color:rgba(255,250,244,.72) !important;margin-bottom:16px !important;}
  .home-v74-intro h1{font-size:clamp(2.65rem,11vw,3.5rem) !important;line-height:1.06 !important;color:#fffaf4 !important;max-width:11.5ch !important;margin-bottom:16px !important;}
  .home-v74-intro p{color:rgba(255,250,244,.88) !important;font-size:1rem !important;line-height:1.72 !important;}
  .home-v74-actions{margin:26px 0 22px !important;}
  .home-v74-contact{color:rgba(255,250,244,.78) !important;border-top:1px solid rgba(255,255,255,.14) !important;padding-top:18px !important;font-size:.9rem !important;}
  .home-v74-contact a{color:#fffaf4 !important;}
}
@media (max-width: 560px){
  .home-v75-mobile-topbar{grid-template-columns:auto auto 1fr auto;gap:10px;padding:12px 14px;}
  .home-v75-brand img{width:24px;height:24px;}
  .home-v75-brand span{font-size:1.46rem;}
  .home-v75-book-pill{min-height:42px;padding:0 18px;font-size:.83rem;}
  .home-v74-media{aspect-ratio:4/5.7 !important;}
}


/* =======================================================
   v76: simplify block under homepage video
   Keep only address, phone and clean actions.
   ======================================================= */
.home-v76-contact-intro{padding:42px 28px 56px !important;}
.home-v76-contact-card{max-width:980px !important;text-align:center !important;}
.home-v76-contact-card .home-v74-kicker{margin-bottom:18px !important;}
.home-v76-contact-lines{display:flex;align-items:center;justify-content:center;gap:12px 28px;flex-wrap:wrap;margin:0 auto 28px;padding-bottom:24px;border-bottom:1px solid rgba(45,36,30,.10);}
.home-v76-contact-lines a{color:#2d241e;text-decoration:none;}
.home-v76-address{font:400 1.08rem/1.55 'Jost',sans-serif;color:rgba(45,36,30,.76) !important;}
.home-v76-phone{font:500 1.08rem/1.55 'Jost',sans-serif;color:#2d241e !important;}
.home-v76-phone-secondary{color:rgba(45,36,30,.72) !important;}
.home-v76-actions{justify-content:center !important;margin:0 auto !important;}
@media(max-width:900px){
  .home-v76-contact-intro{background:#4e554e !important;padding:0 16px 48px !important;}
  .home-v76-contact-card{padding:26px 22px !important;text-align:left !important;background:rgba(255,255,255,.09) !important;border:1px solid rgba(255,255,255,.10) !important;}
  .home-v76-contact-card .home-v74-kicker{color:rgba(255,250,244,.70) !important;margin-bottom:16px !important;}
  .home-v76-contact-lines{display:block;border-bottom:1px solid rgba(255,255,255,.14);padding-bottom:18px;margin-bottom:22px;}
  .home-v76-contact-lines a{display:block;color:#fffaf4 !important;}
  .home-v76-address{font-size:.98rem !important;line-height:1.6 !important;margin-bottom:10px;color:rgba(255,250,244,.86) !important;}
  .home-v76-phone{font-size:1.04rem !important;line-height:1.45 !important;margin-bottom:4px;}
  .home-v76-actions{display:grid !important;grid-template-columns:1fr !important;gap:10px !important;}
}


/* =======================================================
   v77 tested homepage media fix
   Uses local hero.mp4 so the homepage is real motion, not a static external poster.
   ======================================================= */
.home-v74-video{opacity:0!important;transition:opacity .45s ease!important;}
.home-v74-video.is-ready{opacity:1!important;}
.home-v74-poster{opacity:1!important;transition:opacity .45s ease!important;}
.home-v74-media.has-video .home-v74-poster{opacity:0!important;}
.home-v74-media{background:#eadbd0!important;}
.home-v74-media::after{z-index:3!important;pointer-events:none;}
@media(max-width:900px){
  .home-v74-video{display:block!important;opacity:0!important;}
  .home-v74-video.is-ready{opacity:1!important;}
  .home-v74-media.has-video .home-v74-poster{opacity:0!important;}
  .home-v74-media{aspect-ratio:4/5.55!important;}
  .home-v74-poster,.home-v74-video{object-position:center center!important;}
}
/* Desktop image polish: keep homepage picture blocks calm and aligned */
.home-v74-look-grid a{background:#eadbd0!important;box-shadow:none!important;}
.home-v74-look-grid img{filter:saturate(.96) contrast(.99) brightness(1.02)!important;}
.home-v74-look-grid span{backdrop-filter:blur(8px)!important;}
@media(min-width:901px){
  .home-v74-look-grid{grid-template-rows:repeat(2,220px)!important;}
  .home-v74-look-grid a:first-child{min-height:454px!important;}
}
